OSDN Git Service

add fixes for new hp/ux patch
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-10-04  Bruce Korb  <bkorb@gnu.org>
2
3         * fixinc/inclhack.def(hpux11_abs):  use format fix
4         * fixinc/fixincl.x: regenerate
5         * fixinc/tests/base/stdlib.h: accommodate new fix test
6
7 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
8
9         * c-common.c (cb_register_builtins):  Use really_no_inline.
10
11 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
12
13         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
14         copied instruction if the note is not loop invariant.
15
16 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
17
18         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
19
20 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
21
22         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
23         and -mhp-ld options to list of options.  Add -mgnu-ld
24         and -mhp-ld option descriptions.
25
26 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
27
28         * fixinc/inclhack.def (hpux11_abs):  New.
29         (stdio_va_list): change __va_list__ to __gnuc_va_list.
30         * fixinc/fixincl.x: Rebuild.
31
32 2002-10-04  Roger Sayle  <roger@eyesopen.com>
33
34         * config/i386/i386.h (processor_costs): Add new fields fadd,
35         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
36         (RTX_COSTS): Use these fields to determine the RTX costs
37         of floating point addition/subtraction, multiplication,
38         division, fabs, negation and square root respectively.
39         * config/i386/i386.c (size_cost): Provide instruction sizes
40         for these new fields.
41         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
42         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
43         counts for these new fields for all x86 processor variants.
44
45 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
46
47         * mips.c (mips_const_double_ok): Delete unused variable.
48
49         * gengtype.c (rtx_next): Change type to int.
50
51 2002-10-04  Andreas Jaeger  <aj@suse.de>
52
53         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
54
55 2002-10-04  Richard Henderson  <rth@redhat.com>
56
57         * real.h (SIGNIFICAND_BITS): Add one more word.
58         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
59         * real.c (times_pten): New.
60         (real_to_decimal, real_from_string): Use it.
61         (sticky_rshift_significand): Use & to find modulus.
62         (rshift_significand, lshift_significand): Likewise.
63         (do_divide): Apply sticky bit after normalization.
64         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
65
66 2002-10-03  Andreas Jaeger  <aj@suse.de>
67
68         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
69         to unsigned long, adjust printf format string.
70         (output_mangled_typename): Likewise.
71
72 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
73
74         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
75         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
76         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
77         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
78         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
79         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
80         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
81         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
82
83 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
84
85         * doc/invoke.texi (-Wabi): Document mangling bug.
86
87 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
88
89         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
90         name for the tbtab label that depends on the function asm name.
91         Don't output tbtab label unless optional_tbtab.
92         (output_mi_thunk): Formatting.
93
94 2002-10-03  Richard Henderson  <rth@redhat.com>
95
96         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
97         * config/m68k/m68k.c (override_options): ... here.
98         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
99         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
100         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
101         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
102
103 2002-10-03  Richard Henderson  <rth@redhat.com>
104
105         * real.h (struct real_value): Use ENUM_BITFIELD.
106
107 2002-10-03  Richard Henderson  <rth@redhat.com>
108
109         * config/i960/i960.md (call, call_value): Use emit_call_insn.
110
111 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
112
113         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
114
115 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
116
117         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
118         * config/pa/pa.h (MASK_GNU_LD): New.
119         (TARGET_GNU_LD): New.
120         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
121         on gnu-ld and MASK_GNU_LD.
122         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
123
124 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
125
126         * i386.c (athlon_cost): Fix the move costs.
127
128 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
129
130         * final.c (final): Use symbol name as function name for profiling.
131         * profile.c (get_exec_counts): Likewise.
132         (branch_prob): Likewise.
133
134 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
135
136         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
137
138 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
139
140         * gcc.c (print_multi_os_directory): New variable.
141         (option_map): Support --print-multi-os-directory.
142         (struct prefix_list): Add os_multilib field.
143         (multilib_os_dir): New variable.
144         (static_specs): Add multilib_options.
145         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
146         subdirs if non-zero.
147         (read_specs, execute): Update callers.
148         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
149         pass 1 as multilib option.
150         (display_help): Include --print-multi-os-directory.
151         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
152         (process_command): Update callers.  Handle --print-multi-os-directory.
153         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
154         set.
155         (main): Update find_a_file and add_prefix callers.
156         Handle print_multi_os_directory.
157         (struct mdswitchstr): New.
158         (mdswitches, n_mdswitches): New variables.
159         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
160         present on the command line nor their mutually incompatible
161         switches.
162         (default_arg): Optimize.
163         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
164         array.
165         (print_multilib_info): Only print GCC multilib dir name, not OS
166         multilib dirname.
167         * genmultilib: Add osdirnames parameter.  Output multilib_options
168         variable.  If osdirnames is specified, output dirnames as
169         dirname:osdirname.
170         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
171         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
172         to compute libgcc_s soname and install path.
173         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
174         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
175         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
176         argument.
177
178         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
179         (SHLIB_SLIBDIR_SUFFIXES): Remove.
180         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
181         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
182         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
183         and -m64.
184         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
185         (SHLIB_SLIBDIR_SUFFIXES): Remove.
186         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
187         (STARTFILE_ARCH_SPEC): Remove.
188         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
189         (SHLIB_SLIBDIR_SUFFIXES): Remove.
190         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
191         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
192         (SHLIB_SLIBDIR_SUFFIXES): Remove.
193
194 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
195
196         * predict.c (choose_function_section): Avoid choice for linkonce functions.
197
198 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
199
200         * i386.md (lea to mul peep2): Fix condition.
201
202 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
203
204         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
205         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
206
207 2002-10-02  Richard Henderson  <rth@redhat.com>
208
209         PR opt/7124
210         * config/i386/i386.c (ix86_register_move_cost): Increase cost
211         for secondary_memory_needed pairs.
212
213 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
214
215         * doc/vms.texi: Blow away false include file section.
216
217 2002-10-02  Roger Sayle  <roger@eyesopen.com>
218
219         PR optimization/6627
220         * toplev.c (force_align_functions_log): New global variable.
221         * flags.h (force_align_functions_log): Add extern prototype.
222         * varasm.c (assemble_start_function): Use it to force minimum
223         function alignment.
224         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
225         minimum function alignment to one byte.
226         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
227         the least significant bit of vtable member function pointers.
228         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
229         here from cp/cp-tree.h.
230
231 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
232
233         * i386.c (print_operand_address): Use RIP addressing for offsetted
234         label refs too.
235
236 2002-09-30  David S. Miller  <davem@redhat.com>
237
238         PR middle-end/7151
239         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
240         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
241
242 2002-10-01  Roger Sayle  <roger@eyesopen.com>
243
244         * unroll.c (loop_iterations): Revert 2002-09-08 change.
245
246 2002-10-01  Richard Henderson  <rth@redhat.com>
247
248         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
249         (real_to_hexadecimal): Likewise.
250         * print-rtl.c (print_rtx): If we are linked with real.c, don't
251         dump the XWINT fields of a floating point CONST_DOUBLE.
252
253 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
254
255         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
256
257 2002-10-01  Richard Henderson  <rth@redhat.com>
258
259         * calls.c (precompute_register_parameters): Force non-legitimate
260         constants into pseudos.
261
262 2002-10-01  Nick Clifton  <nickc@redhat.com>
263
264         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
265         to assembler template.
266
267 2002-10-01  Richard Henderson  <rth@redhat.com>
268
269         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
270         for TLS debug info to !DECL_EXTERNAL.
271
272 2002-10-01  Matt Thomas  <matt@3am-software.com>
273             Jason Thorpe  <thorpej@wasabisystems.com>
274
275         * config.gcc (vax-*-netbsdelf*): Enable configuration.
276         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
277         if not already defined.
278         * config/vax/elf.h: New file.
279         * config/vax/netbsd-elf.h: New file.
280         * config/vax/vax.c: Include "debug.h".
281         (vax_output_function_prologue): Add dwarf2 support.  Use
282         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
283         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
284         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
285         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
286         (VAX_ISTREAM_SYNC): Remove.
287         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
288         (JUMP_TABLES_IN_TEXT_SECTION): Define.
289         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
290         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
291         and assemble_name.
292         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
293         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
294         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
295         (INCOMING_RETURN_ADDR_RTX): Define.
296         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
297         (VUNSPEC_SYNC_ISTREAM): Define.
298         (blockage): Use VUNSPEC_BLOCKAGE.
299         (sync_istream): New insn.
300
301 2002-10-01  Richard Henderson  <rth@redhat.com>
302
303         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
304         (*call_value_pop, call, call_value): Add dwarf2 EH support.
305         (*call): New insn.
306
307 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
308
309         PR c/8083
310         * c-typeck.c (build_c_cast): Warn about type punning which breaks
311         type based aliasing.
312
313 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
314
315         * stor-layout.c (update_alignment_for_field): New function.
316         (place_union_field): Use it.
317         (place_field): Likewise.
318
319 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
320
321         PR other/8077
322         * gcc.c (cc1_options): Add space on -auxbase-strip.
323
324 2002-10-01  Jim Wilson  <wilson@redhat.com>
325
326         * config/v850/v850.h (EPILOGUE_USES): Define.
327
328 2002-09-30  Andrew Haley  <aph@redhat.com>
329
330         * flow.c (insn_dead_p): When using non-call-exceptions, don't
331         eliminate insns that may trap.
332         * cse.c (insn_live_p): Likewise.
333
334 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
335
336         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
337         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
338         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
339         * config/mips/mips.md: Apply same renaming here.
340
341 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
342
343         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
344         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
345         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
346         * config/mips/mips.md (define_attr cpu): Remove r4320.
347         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
348
349 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
350
351         * config/mips/mips.c (mips16_strings): New variable.
352         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
353         symbol in mips16_strings.  Free the list.
354         (mips_encode_section_info): Keep track of local strings.
355
356 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
357
358         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
359         (sordered_df, sordered_sf): Remove.
360         * config/mips/mips.c (get_float_compare_codes): New fn.
361         (gen_int_relational, gen_conditional_move): Use it.
362
363 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
364
365         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
366         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
367         * config/mips/mips.c (fcc_register_operand): New function.
368         (mips_emit_fcc_reload): New function, extracted from reload_incc.
369         (override_options): Allow TFmode values in float registers
370         if ISA_HAS_8CC.
371         * cnfig/mips/mips.md (reload_incc): Change destination prediate
372         to fcc_register_operand.  Remove misleading source constraint.
373         Use mips_emit_fcc_reload.
374         (reload_outcc): Duplicate reload_incc.
375
376 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
377
378         * longlong.h: Partially synchronize with GMP-4.1 version:
379         Use i370 definitions also for s390.
380         Add generic definition of umul_ppmm in terms of smul_ppmm.
381         [s390] (umul_ppmm): Remove.
382         [s390] (smul_ppmm): Fix incorrect assembler constraints.
383         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
384
385 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
386
387         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
388         Add new RL_REGS register class.
389         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
390         Call xtensa_preferred_reload_class for both input and output reloads.
391         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
392         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
393         instead of either AR_REGS or GR_REGS classes.
394         (xtensa_secondary_reload_class): Use new RL_REGS class.
395         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
396
397 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
398
399         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
400         (pa_strip_name_encoding): Strip '@' and '*', in that order.
401         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
402         there is a '*' prefix in NAME.
403
404 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
405
406         * reload.c (push_reload): Handle subregs and secondary memory.
407         * reload1.c (gen_reload): Likewise.
408
409         * jump.c (reg_or_subregno): New function.
410         * rtl.h (reg_or_subregno): Declare
411         * unroll.c (find_splittable_givs): Handle subregs.
412
413 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
414
415         * store-layout.c (finish_record_layout): Add free_p parameter.
416         (layout_type): Pass it.
417         * tree.h (finish_record_layout): Update prototype.
418
419 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
420
421         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
422
423         * gcse.c (cprop_jump): Check that the register has not
424         been modified
425         (cprop_jump): Likewise.
426
427 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
428
429         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
430         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
431         that we have a SImode access, and only then if reload hasn't completed;
432         for all other cases, use LO_REGS.
433
434 2002-09-29  Richard Henderson  <rth@redhat.com>
435
436         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
437
438 2002-09-29  Richard Henderson  <rth@redhat.com>
439
440         PR c/8002
441         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
442         for CONST_INT.
443
444 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
445
446         * real.h (ibm_extended_format): Declare.
447         * real.c (encode_ibm_extended, decode_ibm_extended): New
448         functions.
449
450 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
451
452         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
453
454         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
455
456 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
457
458         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
459
460 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
461
462         * builtins.def: Fix comment formatting.
463         * c-common.def: Likewise.
464         * cfgcleanup.c: Likewise.
465         * combine.c: Likewise.
466         * gengtype.c: Likewise.
467         * params.def: Likewise.
468         * predict.def: Likewise.
469         * rtl.def: Likewise.
470         * stab.def: Likewise.
471         * stor-layout.c: Likewise.
472         * tree.def: Likewise.
473         * config/darwin.c: Likewise.
474         * config/darwin.h: Likewise.
475         * config/dbxcoff.h: Likewise.
476         * config/elfos.h: Likewise.
477         * config/fp-bit.c: Likewise.
478         * config/freebsd-spec.h: Likewise.
479         * config/interix.h: Likewise.
480         * config/libgloss.h: Likewise.
481         * config/linux-aout.h: Likewise.
482         * config/linux.h: Likewise.
483         * config/lynx-ng.h: Likewise.
484         * config/lynx.h: Likewise.
485         * config/netbsd-aout.h: Likewise.
486         * config/netbsd.h: Likewise.
487         * config/netware.h: Likewise.
488         * config/psos.h: Likewise.
489         * config/ptx4.h: Likewise.
490
491 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
492
493         * ChangeLog.4: Fix typos.
494         * ChangeLog.6: Likewise.
495         * FSFChangeLog.10: Likewise.
496         * genattrtab.c: Fix comment typos.
497         * haifa-sched.c: Likewise.
498         * real.c: Likewise.
499         * tree.h: Likewise.
500         * config/arm/arm.c: Likewise.
501         * config/arm/crti.asm: Likewise.
502         * config/arm/crtn.asm: Likewise.
503         * config/frv/frv.c: Likewise.
504         * config/frv/frv.md: Likewise.
505         * config/h8300/h8300.md: Likewise.
506         * config/i386/rtemself.h: Likewise.
507         * config/ia64/unwind-ia64.c: Likewise.
508         * config/ip2k/ip2k.h: Likewise.
509         * config/m88k/m88k.c: Likewise.
510         * config/m88k/m88k.md: Likewise.
511         * config/mips/sr71k.md: Likewise.
512         * config/mmix/mmix.c: Likewise.
513         * config/rs6000/rs6000.c: Likewise.
514         * config/sh/sh.md: Likewise.
515
516 2002-09-26  Theodore A. Roth  <troth@verinet.com>
517
518         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
519         * config/avr/avr.md: Ditto.
520
521 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
522
523         PR preprocessor/8055
524         * cppmacro.c (stringify_arg): Do not overflow the buffer
525         with the terminating NUL when the argument to be stringified
526         has no tokens.
527
528 2002-09-27  Richard Henderson  <rth@redhat.com>
529
530         * unroll.c (simplify_cmp_and_jump_insns): New.
531         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
532         instead of expand_simple_foo.
533
534 2002-09-27  Richard Henderson  <rth@redhat.com>
535
536         PR optimization/7520
537         * cfganal.c (flow_active_insn_p): New.
538         (forwarder_block_p): Use it.
539
540 2002-09-27  Richard Henderson  <rth@redhat.com>
541
542         * emit-rtl.c (active_insn_p): Revert last change.
543
544 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
545
546         * doc/extend.texi (tls_model): Document.
547         * varasm.c (decl_tls_model): New.
548         * c-common.c (handle_tls_model_attribute): New.
549         (c_common_attribute_table): Add tls_model.
550         * config/alpha/alpha.c (alpha_encode_section_info): Use
551         decl_tls_model.
552         * flags.h (enum tls_model, flag_tls_default): Move...
553         * tree.h (enum tls_model, flag_tls_default): ...here.
554         (decl_tls_model): New prototype.
555         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
556         * config/i386/i386.c (ix86_encode_section_info): Likewise.
557         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
558         Allow !flag_pic.
559
560 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
561
562         * LANGUAGES: Follow spelling conventions.
563         * rtl.def: Likewise.
564         * sbitmap.c: Likewise.
565         * sched-int.h: Likewise.
566         * sched-rgn.c: Likewise.
567         * sibcall.c: Likewise.
568         * simplify-rtx.c: Likewise.
569         * ssa.c: Likewise.
570         * stab.def: Likewise.
571         * stmt.c: Likewise.
572         * stor-layout.c: Likewise.
573         * target.h: Likewise.
574         * timevar.c: Likewise.
575         * toplev.c: Likewise.
576         * tree-dump.c: Likewise.
577         * tree-inline.c: Likewise.
578         * tree.c: Likewise.
579         * tree.def: Likewise.
580         * tree.h: Likewise.
581         * unroll.c: Likewise.
582         * varasm.c: Likewise.
583         * vmsdbgout.c: Likewise.
584         * treelang/treelang.texi: Likewise.
585         * treelang/treetree.c: Likewise.
586
587 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
588
589         * config/h8300/h8300.c (compute_saved_regs): Use a macro
590         instead of a hard register number.
591         (get_shift_alg): Use an enumerated type instead of numbers.
592         (h8300_shift_needs_scratch_p): Likewise.
593
594 2002-09-26  David S. Miller  <davem@redhat.com>
595
596         PR optimization/7335
597         * calls.c (emit_library_call_value_1): Passing args by reference
598         converts a CONST function into a PURE one.
599
600 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
601
602         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
603         text_section.
604         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
605         text section.
606         * config/rs6000/rs6000.c (rs6000_override_options): Allow
607         function-sections and data-sections functionality on AIX.
608
609 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
610             Dale Johannesen  <dalej@apple.com>
611
612         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
613         in RTL for sub-word loads from memory.
614
615 2002-09-26  Richard Henderson  <rth@redhat.com>
616
617         PR c/7160
618         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
619         on call insns.
620
621 2002-09-26  Richard Henderson  <rth@redhat.com>
622
623         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
624
625 2002-09-26  Chris Lattner  <sabre@nondot.org>
626
627         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
628         handling undefined values.
629
630 2002-09-26  Richard Henderson  <rth@redhat.com>
631
632         PR opt/7520
633         * emit-rtl.c (active_insn_p): Consider a clobber of the
634         function return value to be active even after reload.
635
636 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
637
638         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
639         by absolute loop increment, not loop increment.
640
641 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
642
643         * c-common.h: Follow spelling conventions.
644         * cpplex.c: Likewise.
645         * cpplib.h: Likewise.
646         * gthr-dce.h: Likewise.
647         * gthr-posix.h: Likewise.
648         * optabs.c: Likewise.
649         * output.h: Likewise.
650         * profile.c: Likewise.
651         * protoize.c: Likewise.
652         * ra-rewrite.c: Likewise.
653         * real.c: Likewise.
654         * recog.c: Likewise.
655         * reg-stack.c: Likewise.
656         * regclass.c: Likewise.
657         * regmove.c: Likewise.
658         * reload.c: Likewise.
659         * reload.h: Likewise.
660         * reload1.c: Likewise.
661         * reorg.c: Likewise.
662         * resource.c: Likewise.
663         * rtl.h: Likewise.
664         * rtlanal.c: Likewise.
665
666 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
667
668         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
669         for symbol address.
670
671 2002-09-24  Eric Christopher  <echristo@redhat.com>
672
673         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
674         * config/mips/elf64.h: Ditto.
675
676 2002-09-24  Eric Christopher  <echristo@redhat.com>
677
678         * except.c (expand_builtin_extract_return_address): Handle case
679         where Pmode != ptr_mode.
680
681 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
682
683         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
684
685 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
686
687         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
688
689 2002-09-26  Igor Shevlyakov <igor@microunity.com>
690
691         * combine.c (simplify_set): Don't call to force_to_mode if size
692         of integer type is larger than HOST_BITS_PER_WIDE_INT.
693
694 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
695
696         * Makefile.in (qmtest-g++): Fix file path.
697
698 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
699
700         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
701         A + (-const) on RTX level, even for unsigned types.
702
703 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
704
705         * reload.c (dup_replacements): New function.
706         (find_reloads): Use it to duplicate replacements at the top level
707         of match_dup operands.
708
709 2002-09-26  Miles Bader  <miles@gnu.org>
710
711         * v850.md ("length"): Change default value to 4.
712
713 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
714
715         * ChangeLog.1: Follow spelling conventions.
716         * ChangeLog.4: Likewise.
717         * ChangeLog.6: Likewise.
718         * FSFChangeLog.11: Likewise.
719         * doc/cpp.texi: Likewise.
720         * doc/invoke.texi: Likewise.
721         * doc/tm.texi: Likewise.
722
723 2002-09-26  Nick Clifton  <nickc@redhat.com>
724
725         * config.gcc: Add x prefix to v850e case for handling
726         --with-cpu=v850e.
727
728 2002-09-25  David S. Miller  <davem@redhat.com>
729
730         PR target/7842
731         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
732         extend.
733
734 2002-09-25  Richard Henderson  <rth@redhat.com>
735
736         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
737         fp CONST_DOUBLE; use real_identical.
738
739 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
740
741         * doc/invoke.texi: Add more -Wabi examples.
742
743 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
744
745         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
746
747 2002-09-24  Denis Chertykov  <denisc@overta.ru>
748
749         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
750         cases of optimizing "add sp,w" to "inc sp".
751
752 2002-09-24  Adam Nemet  <anemet@lnxw.com>
753
754         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
755         epilogue for naked functions.
756
757 2002-09-24  Adam Nemet  <anemet@lnxw.com>
758             Nick Clifton  <nickc@redhat.com>
759
760         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
761         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
762         is defined.
763
764 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
765
766         * config/s390/s390.c (preferred_la_operand_p): New function.
767         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
768         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
769         ("*la_64_cc", "*la_31_cc", splitters): ... these.
770         ("*la_31"): Deactivate for TARGET_64BIT.
771         ("*la_31_and", "*la_31_and_cc"): New.
772
773 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
774
775         * real.h (real_value): Make `exp' explicitly signed.
776
777 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
778
779         * config/elfos.h: Follow spelling conventions.
780         * config/alpha/alpha.h: Likewise.
781         * config/arc/arc.h: Likewise.
782         * config/arm/arm.md: Likewise.
783         * config/avr/avr.h: Likewise.
784         * config/cris/cris.md: Likewise.
785         * config/d30v/d30v.h: Likewise.
786         * config/frv/frv.c: Likewise.
787         * config/frv/frv.h: Likewise.
788         * config/h8300/h8300.c: Likewise.
789         * config/h8300/h8300.h: Likewise.
790         * config/h8300/h8300.md: Likewise.
791         * config/i386/cygwin.h: Likewise.
792         * config/i386/i386.h: Likewise.
793         * config/i386/sysv3.h: Likewise.
794         * config/i960/i960.h: Likewise.
795         * config/ia64/ia64.h: Likewise.
796         * config/ia64/ia64.md: Likewise.
797         * config/ip2k/ip2k.h: Likewise.
798         * config/m32r/m32r.h: Likewise.
799         * config/m68k/m68k.h: Likewise.
800         * config/m88k/m88k.h: Likewise.
801         * config/mcore/mcore.c: Likewise.
802         * config/mcore/mcore.h: Likewise.
803         * config/mcore/mcore.md: Likewise.
804         * config/mips/mips.h: Likewise.
805         * config/mmix/mmix.h: Likewise.
806         * config/mmix/mmix.md: Likewise.
807         * config/ns32k/netbsd.h: Likewise.
808         * config/ns32k/ns32k.h: Likewise.
809         * config/ns32k/ns32k.md: Likewise.
810         * config/pa/pa.h: Likewise.
811         * config/romp/romp.h: Likewise.
812         * config/rs6000/rs6000.h: Likewise.
813         * config/rs6000/rs6000.md: Likewise.
814         * config/sparc/sparc.h: Likewise.
815         * config/stormy16/stormy-abi: Likewise.
816         * config/stormy16/stormy16.h: Likewise.
817         * config/vax/vax.h: Likewise.
818
819 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
820
821         * version.c (version_string): Now const char[].
822         * version.h: Update to match.
823
824 2002-09-23  Richard Henderson  <rth@redhat.com>
825
826         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
827         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
828         (TARGET_SWITCHES): Don't reference them.
829         * config/i386/i386.c (override_options): Use target_flags_explicit
830         to examine bits set by the user.
831
832 2002-09-23  Dale Johannesen  <dalej@apple.com>
833
834         * dbxout.c (dbxout_parms):  Set current_sym_code for params
835         passed on stack by invisible reference.
836
837 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
838
839         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
840         at least one byte of space.
841
842 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
843
844         * c-common.h (flag_abi_version): Fix typo in comment.
845         * doc/invoke.texi (flag_abi_version): Document default value.
846
847 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
848
849         * doc/extend.texi (Extended Asm): Clarify that overlap between
850         asm-declared register variables used in an asm and the asm clobber
851         list is not allowed.
852         * stmt.c (decl_conflicts_with_clobbers_p): New function.
853         (expand_asm_operands): Keep track of clobbered registers.  Call
854         decl_conflicts_with_clobbers_p for each input and output operand.
855         If no conflicts found before, also do conflict sanity check when
856         emitting clobbers.
857
858 2002-09-23  Richard Henderson  <rth@redhat.com>
859
860         * c-common.c (cpp_define_data_format): Remove.
861         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
862         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
863         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
864         * doc/cpp.texi: Don't document them either.
865         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
866         __LONG_LONG_MAX__): Document.
867         (__TARGET_FLOAT_FORMAT__): Remove.
868
869 2002-09-23  Richard Henderson  <rth@redhat.com>
870
871         * real.c (do_multiply): Normalize U before addition.
872
873 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
874
875         * c-common.c (flag_abi_version): New variable.
876         * c-common.h (flag_abi_version): Declare it.
877         * c-opts.c (missing_arg): Add -fabi-version.
878         (c_common_decode_option): Process -fabi-version.
879         * doc/invoke.texi (-fabi-version): Document it.
880         (-Wabi): Add information about bit-fields in unions.
881
882 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
883
884         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
885         unless -fno-pic or -fno-PIC is specified.
886
887 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
888
889         * c-common.c (preprocessing_trad_p): Define.
890         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
891         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
892         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
893         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
894         * pa-linux.h (CPP_PREDEFINES): Delete.
895         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
896         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
897         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
898         (TARGET_OS_CPP_BUILTINS): Define.
899         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
900         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
901         (SUBTARGET_SWITCHES): Provide default definition.
902         (TARGET_OPTIONS): Reformat.  Use N_() macro.
903         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
904         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
905         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
906         (TARGET_CPU_CPP_BUILTINS): Define.
907         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
908         * doc/invoke.texi (msio, mwsio): Document new hppa options.
909         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
910         preprocessing_trad_p().
911
912 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
913
914         * doc/install.texi: Document behavior of --with-headers and
915         --with-libs when arguments are omitted.
916
917 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
918
919         * dbxout.c: Follow spelling conventions.
920         * defaults.h: Likewise.
921         * df.c: Likewise.
922         * diagnostic.h: Likewise.
923         * doloop.c: Likewise.
924         * dwarf2out.c: Likewise.
925         * dwarfout.c: Likewise.
926         * emit-rtl.c: Likewise.
927         * except.c: Likewise.
928         * explow.c: Likewise.
929         * expmed.c: Likewise.
930         * expr.c: Likewise.
931         * expr.h: Likewise.
932         * flags.h: Likewise.
933         * flow.c: Likewise.
934         * fold-const.c: Likewise.
935         * function.c: Likewise.
936         * function.h: Likewise.
937         * gcc.c: Likewise.
938         * gcov-io.h: Likewise.
939         * gcov.c: Likewise.
940         * gcse.c: Likewise.
941         * genattrtab.c: Likewise.
942         * genconfig.c: Likewise.
943         * genrecog.c: Likewise.
944         * ggc-page.c: Likewise.
945         * ggc.h: Likewise.
946         * global.c: Likewise.
947         * gthr-win32.h: Likewise.
948         * integrate.c: Likewise.
949         * jump.c: Likewise.
950         * langhooks.c: Likewise.
951         * langhooks.h: Likewise.
952         * line-map.h: Likewise.
953         * local-alloc.c: Likewise.
954         * longlong.h: Likewise.
955         * loop.c: Likewise.
956         * loop.h: Likewise.
957
958 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
959
960         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
961
962 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
963
964         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
965         for -Os/TARGET_64BIT too.
966
967 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
968
969         * ChangeLog: Follow spelling conventions.
970         * ChangeLog.0: Likewise.
971         * ChangeLog.1: Likewise.
972         * ChangeLog.2: Likewise.
973         * ChangeLog.3: Likewise.
974         * ChangeLog.4: Likewise.
975         * ChangeLog.5: Likewise.
976         * ChangeLog.6: Likewise.
977         * FSFChangeLog.10: Likewise.
978         * FSFChangeLog.11: Likewise.
979         * alias.c: Likewise.
980         * basic-block.h: Likewise.
981         * c-aux-info.c: Likewise.
982         * c-common.c: Likewise.
983         * c-common.h: Likewise.
984         * c-decl.c: Likewise.
985         * c-format.c: Likewise.
986         * c-semantics.c: Likewise.
987         * c-typeck.c: Likewise.
988         * calls.c: Likewise.
989         * cfganal.c: Likewise.
990         * cfgloop.c: Likewise.
991         * collect2.c: Likewise.
992         * combine.c: Likewise.
993         * conflict.c: Likewise.
994         * cppexp.c: Likewise.
995         * cppfiles.c: Likewise.
996         * cpphash.h: Likewise.
997         * cppinit.c: Likewise.
998         * cpplex.c: Likewise.
999         * cpplib.c: Likewise.
1000         * cpplib.h: Likewise.
1001         * cppmacro.c: Likewise.
1002         * cse.c: Likewise.
1003
1004 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
1005
1006         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
1007         LINK_SPEC.
1008         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
1009         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
1010         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
1011
1012 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
1013
1014         PR opt/7930
1015         * cse.c (fold_rtx): Calculate old_cost before we fold each
1016         operand.
1017
1018 2002-09-21  Richard Henderson  <rth@redhat.com>
1019
1020         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
1021         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
1022         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
1023         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
1024         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
1025         * doc/cpp.texi: Don't document them.
1026
1027 2002-09-21  Richard Henderson  <rth@redhat.com>
1028
1029         * c-common.c (builtin_define_float_constants): Use real_format
1030         to get the floating-point parameters.
1031
1032 2002-09-21  Richard Henderson  <rth@redhat.com>
1033
1034         * real.c (struct real_format): Move to real.h.
1035         (real_format_for_mode): Rename from fmt_for_mode; update all users;
1036         initialize with ieee defaults.
1037         (real_to_target_fmt, real_from_target_fmt): New.
1038         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
1039         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
1040         ieee_quad_format, i370_single_format, i370_double_format,
1041         c4x_single_format, c4x_extended_format): Rename from s/_format//.
1042         (ieee_quad_format): Fix emin.
1043         (format_for_size, init_real_once): Remove.
1044         * real.h (struct real_format): Move from real.c.
1045         (real_format_for_mode): Declare.
1046         (real_to_target_fmt, real_from_target_fmt): Declare.
1047         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
1048         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
1049         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
1050         i370_single_format, i370_double_format, c4x_single_format,
1051         c4x_extended_format): Declare.
1052         * toplev.c (do_compile): Don't call init_real_once.
1053
1054         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
1055         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
1056
1057         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
1058         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
1059         * config/alpha/alpha.c (override_options): Set real_format_for_mode
1060         for VAX, if enabled.
1061
1062         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
1063         for C4X.
1064
1065         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
1066         * config/i370/i370.c (override_options): New.
1067         * config/i370/i370-protos.h: Update.
1068
1069         * config/i386/i386.c (override_options): Set real_format_for_mode
1070         for Intel 80-bit extended.
1071         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
1072
1073         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
1074         (OVERRIDE_OPTIONS): Move code...
1075         * config/i960/i960.c (i960_initialize): ... here.  Set
1076         real_format_for_mode for Intel 80-bit extended.
1077
1078         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
1079         for Intel 80-bit extended, if enabled.
1080
1081         * config/m68k/m68k.c (override_options): Set real_format_for_mode
1082         for Motorola 96-bit extended.
1083
1084         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
1085         * config/vax/vax.c (override_options): New.
1086         * config/vax/vax-protos.h: Update.
1087
1088 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
1089
1090         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
1091         #if TARGET_MACHO.
1092
1093         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
1094         insns.  Supply missing clobber of scratch reg.
1095
1096 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
1097
1098         * config/m32r/m32r.c: Follow spelling conventions.
1099         * config/m32r/m32r.h: Likewise.
1100         * config/m32r/m32r.md: Likewise.
1101         * config/m68k/m68k.c: Likewise.
1102         * config/m88k/m88k.c: Likewise.
1103         * config/mcore/mcore.c: Likewise.
1104         * config/mips/mips.c: Likewise.
1105         * config/mips/mips.h: Likewise.
1106         * config/mmix/mmix.c: Likewise.
1107         * config/mn10200/mn10200.c: Likewise.
1108         * config/ns32k/ns32k.h: Likewise.
1109         * config/pa/pa.c: Likewise.
1110         * config/pa/pa64-linux.h: Likewise.
1111         * config/pdp11/pdp11.h: Likewise.
1112         * config/romp/romp.c: Likewise.
1113         * config/romp/romp.h: Likewise.
1114         * config/rs6000/eabi.asm: Likewise.
1115         * config/rs6000/linux64.h: Likewise.
1116         * config/rs6000/rs6000.c: Likewise.
1117         * config/rs6000/rs6000.h: Likewise.
1118         * config/rs6000/rs6000.md: Likewise.
1119         * config/rs6000/sysv4.h: Likewise.
1120         * config/rs6000/xcoff.h: Likewise.
1121
1122 2002-09-20  Jim Wilson  <wilson@redhat.com>
1123
1124         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
1125
1126 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
1127
1128         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
1129         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
1130         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
1131         (legitimate_address_p): Likewise.
1132         (legitimize_address): Use @gotntpoff and @indntpoff.
1133         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
1134         (output_addr_const_extra): Likewise.
1135
1136 2002-09-20  Jim Wilson  <wilson@redhat.com>
1137
1138         * combine.c (try_combine): When split an instruction pair, where the
1139         first has a sign_extend src, verify that the src and dest modes match.
1140
1141 2002-09-20  Richard Henderson  <rth@redhat.com>
1142
1143         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
1144         (override_options): Do not initialize them.
1145         (mips_const_double_ok): Allow no fp constants except zero,
1146         and not even that for mips16.
1147         (const_float_1_operand): Use dconst1.
1148         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
1149         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
1150         Don't allow arbitrary constants; fix predicates and C constraint.
1151
1152 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
1153
1154         * cppmacro.c: Don't warn about function-like macros without
1155         '(' during pre-expansion.
1156
1157 2002-09-20  Jim Wilson  <wilson@redhat.com>
1158
1159         * config/v850/v850.c (current_function_anonymous_args): Delete.
1160         (expand_prologue): Use current_function_args_info.anonymous_args.
1161         (expand_epilogue): Delete use of current_function_anonymous_args.
1162         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
1163         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
1164         (current_function_anonymous_args): Delete extern declaration.
1165         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
1166
1167 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
1168
1169         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
1170         to load_macho_picbase.
1171         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
1172         (load_macho_picbase): Take the symbol to use as a parameter.
1173         (macho_correct_pic): New insn.
1174         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
1175
1176         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
1177         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
1178         (CAN_ELIMINATE): Likewise.
1179         (INITIAL_ELIMINATION_OFFSET): Likewise.
1180         (TOC_REGISTER): Likewise.
1181
1182 2002-09-20  Richard Henderson  <rth@redhat.com>
1183
1184         * real.c (real_hash): New.
1185         * real.h: Declare it.
1186         * cse.c (canon_hash): Use it.
1187         * cselib.c (hash_rtx): Likewise.
1188         * emit-rtl.c (const_double_htab_hash): Likewise.
1189         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
1190         * varasm.c (struct rtx_const): Reduce vector size; separate
1191         integer and fp vectors.
1192         (HASHBITS): Remove.
1193         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
1194         take modulus MAX_HASH_TABLE.
1195         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
1196         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
1197         (SYMHASH): Don't use HASHBITS.
1198         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
1199         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
1200         (simplify_subtraction): Fix kind comparison.
1201         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
1202         Use a union to pun integer array.
1203         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
1204         only hash two words of integral CONST_DOUBLE.
1205
1206 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
1207
1208         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
1209         (STARTFILE_PREFIX_SPEC): New.
1210         (LINK_SPEC): Modify.
1211         (LIB_SPEC): Modify.
1212         (LIBGCC_SPEC): New.
1213
1214 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
1215
1216         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
1217         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
1218
1219 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
1220
1221         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
1222         Add clobber of the condition code register.
1223
1224 2002-09-20  Richard Henderson  <rth@redhat.com>
1225
1226         * real.c (do_fix_trunc): Static.
1227         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
1228         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
1229         encode_i370_single, encode_i370_double, encode_c4x_single,
1230         encode_c4x_extended): Add default abort case.
1231
1232 2002-09-20  Richard Henderson  <rth@redhat.com>
1233
1234         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
1235         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
1236         (struct realvaluetype): Remove.
1237         (REAL_VALUE_TYPE): Use struct real_value.
1238         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
1239         (test_real_width): New.
1240         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
1241         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
1242         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
1243         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
1244         real_to_integer, real_to_integer2, real_to_decimal,
1245         real_to_hexadecimal, real_from_string, real_from_integer,
1246         real_inf, real_nan, real_2expN, real_convert, real_to_target,
1247         real_from_target): Likewise.
1248         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
1249         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
1250
1251 2002-09-20  Richard Henderson  <rth@redhat.com>
1252
1253         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
1254         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
1255         * defaults.h: ... here.
1256         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
1257         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
1258         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
1259         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
1260
1261 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
1262
1263         * config/mmix/mmix.md ("negdf2"): Rewrite.
1264         ("*expanded_negdf2"): New.
1265
1266 2002-09-19  Jim Wilson  <wilson@redhat.com>
1267
1268         * combine.c (simplify_set): When optimizing a subreg src with a
1269         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
1270
1271 2002-09-19  Dale Johannesen <dalej@apple.com>
1272         * combine.c (make_extraction): Don't create
1273         invalid subreg.
1274
1275 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
1276
1277         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
1278         and STRICT_LOW_PART within SET_DEST.
1279         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
1280         splitters, replacing pre-reload splitters.
1281         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
1282         "*zero_extendqihi2_31"): New insns.
1283         ("*zero_extendqihi2_64"): Do not clobber CC.
1284
1285 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
1286
1287         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
1288         (DTORS_SECTION_ASM_OP): Ditto.
1289         (READONLY_DATA_SECTION_ASM_OP): Moved.
1290         (DATA_SECTION_ASM_OP): New.
1291         (SDATA_SECTION_ASM_OP): New.
1292         (BSS_SECTION_ASM_OP): New.
1293         (SBSS_SECTION_ASM_OP): New.
1294         (TEXT_SECTION_ASM_OP): New.
1295
1296 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
1297
1298         * config/fp-bit.c: Follow spelling conventions.
1299         * config/d30v/d30v.c: Likewise.
1300         * config/d30v/d30v.h: Likewise.
1301         * config/fr30/fr30.c: Likewise.
1302         * config/fr30/fr30.h: Likewise.
1303         * config/fr30/fr30.md: Likewise.
1304         * config/frv/frv.c: Likewise.
1305         * config/frv/frv.h: Likewise.
1306         * config/h8300/h8300.c: Likewise.
1307         * config/h8300/lib1funcs.asm: Likewise.
1308         * config/i370/i370.c: Likewise.
1309         * config/i386/i386.h: Likewise.
1310         * config/i386/i386.md: Likewise.
1311         * config/i386/pentium.md: Likewise.
1312         * config/i386/winnt.c: Likewise.
1313         * config/i960/i960.c: Likewise.
1314         * config/ia64/ia64.h: Likewise.
1315         * config/ip2k/ip2k.c: Likewise.
1316         * config/ip2k/ip2k.h: Likewise.
1317         * config/ip2k/ip2k.md: Likewise.
1318         * config/ip2k/libgcc.S: Likewise.
1319
1320 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
1321
1322         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
1323         (GOTOFF_P): Extend to allow gotoff plus constant.
1324
1325 2002-09-18  Richard Henderson  <rth@redhat.com>
1326
1327         * ifcvt.c (noce_process_if_block): Correctly detect X modified
1328         with INSN_B before COND_EARLIEST.  Don't check A and B for
1329         modification in condition range.  Reorder INSN_B for A==B properly.
1330         (if_convert): Iterate until no matches for a block.
1331
1332 2002-09-18  Richard Henderson  <rth@redhat.com>
1333
1334         * calls.c (store_one_arg): Rename default_align to parm_align;
1335         always adjust parm_align for downward padding.
1336
1337 2002-09-18  Richard Henderson  <rth@redhat.com>
1338
1339         * toplev.c (backend_init): Move init_real_once invocation ...
1340         (do_compile): ... here.
1341
1342 2002-09-18  Richard Henderson  <rth@redhat.com>
1343
1344         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
1345         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
1346
1347 2002-09-18  Richard Henderson  <rth@redhat.com>
1348
1349         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
1350
1351 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
1352
1353         * config/rs6000/rs6000.md: (floatdisf2): Rename to
1354         floatdisf2_internal1.
1355         (floatdisf2): New define_expand.
1356         (floatdisf2_internal2): Likewise.
1357
1358 2002-09-18  Richard Henderson  <rth@redhat.com>
1359
1360         * real.c (sticky_rshift_significand): Collect sticky as
1361         unsigned long, not bool.
1362
1363 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
1364
1365         * config/s390/s390.c (s390_address_cost): New function.
1366         config/s390/s390-protos.h (s390_address_cost): Add prototype.
1367         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
1368         (RTX_COST): Use COSTS_N_INSNS.
1369
1370 2002-09-18  Douglas Rupp  <rupp@gnat.com>
1371             Donn Terry  <donnte@microsoft.com>
1372
1373         * stor-layout.c (place_field): Handle alignment of whole
1374         structures when MSVC compatible bitfields are involved.
1375         Change method of computing location of MS bitfields to
1376         be compatible with #pragma pack(n).
1377
1378         * tree.h (record_layout_info): Add new field
1379         remaining_in_alignment.
1380
1381         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
1382         (pragma pack): Add paragraph on MSVC bit-field packing.
1383
1384 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
1385
1386         PR optimization/7967
1387         * arm.md (ne_zeroextractsi): Add clobber of the condition code
1388         register.
1389
1390 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
1391
1392         * config/s390/s390.c: Follow spelling conventions.
1393         * config/sh/lib1funcs.asm: Likewise.
1394         * config/sh/sh.c: Likewise.
1395         * config/sh/sh.h: Likewise.
1396         * config/sparc/sparc.c: Likewise.
1397         * config/sparc/sparc.h: Likewise.
1398         * config/sparc/sparc.md: Likewise.
1399         * config/stormy16/stormy16.c: Likewise.
1400         * config/stormy16/stormy16.h: Likewise.
1401         * config/v850/v850.c: Likewise.
1402         * config/v850/v850.h: Likewise.
1403         * config/vax/vax.c: Likewise.
1404         * config/vax/vax.h: Likewise.
1405
1406 2002-09-18  Nick Clifton  <nickc@redhat.com>
1407
1408         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
1409         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
1410         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
1411
1412 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
1413
1414         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
1415         statement that the only translation is to en_UK.
1416
1417 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
1418
1419         * config/alpha/alpha.c: Follow spelling conventions.
1420         * config/alpha/alpha.h: Likewise.
1421         * config/alpha/alpha.md: Likewise.
1422         * config/arc/arc.h: Likewise.
1423         * config/arm/arm.c: Likewise.
1424         * config/arm/arm.h: Likewise.
1425         * config/arm/arm.md: Likewise.
1426         * config/arm/pe.c: Likewise.
1427         * config/arm/unknown-elf.h: Likewise.
1428         * config/avr/avr.c: Likewise.
1429         * config/avr/avr.h: Likewise.
1430         * config/c4x/c4x.c: Likewise.
1431         * config/cris/cris.c: Likewise.
1432         * config/cris/cris.h: Likewise.
1433
1434 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
1435
1436         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
1437         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
1438         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
1439
1440 2002-09-17  Dale Johannesen  <dalej@apple.com>
1441
1442         * cfgcleanup.c (try_forward_edges):  Do not forward a
1443         branch to just after a loop exit before loop optimization;
1444         this interfered with doloop detection.
1445
1446 2002-09-17  Nick Clifton  <nickc@redhat.com>
1447
1448         * config/arm/arm.c (output_return_instruction): Do not
1449         writeback the stack pointer when it is being loaded.
1450         (arm_output_epilogue): Likewise.
1451
1452 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
1453
1454         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
1455         generate a pseudo reg that receives the result of a libcall.
1456         (prepare_float_lib_cmp): Likewise.
1457
1458 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
1459
1460         * config/ia64/elf.h: Remove CPP_PREDEFINES.
1461
1462 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
1463
1464         Fix PR/7014 and related objc bugs:
1465         * c-typeck.c (comp_target_types): Added a reflexive argument.
1466         Pass it to ObjC when/if calling objc_comptypes().  Updated all
1467         callers to provide the appropriate reflexive argument.
1468         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
1469         typechecking for all cases of comparisons and assignments,
1470         particularly the obscure and less common ones involving protocols.
1471
1472 2002-09-17  Nick Clifton  <nickc@redhat.com>
1473
1474         * machmode.def (V1DImode): New mode.  A single element vector.
1475         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
1476         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
1477         * tree.c (build_common_tree_nodes_2): Build
1478         unsigned_V1DI_type_node and V1D1_type_node.
1479         * c-common.c (c_common_type_for_mode): Return
1480         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
1481         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
1482
1483 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
1484
1485         * doc/objc.texi (Constant string objects): Extended documentation
1486         to make clear that the constant string class ivar layout is
1487         completely fixed.
1488
1489 2002-09-17  Roger Sayle  <roger@eyesopen.com>
1490
1491         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
1492         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
1493
1494 2002-09-16  Richard Henderson  <rth@redhat.com>
1495
1496         * expr.c (emit_block_move): Set memory block size as appropriate
1497         for the copy.
1498
1499 2002-09-16  Richard Henderson  <rth@redhat.com>
1500
1501         PR fortran/3924
1502         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
1503
1504 2002-09-16  Richard Henderson  <rth@redhat.com>
1505
1506         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
1507         as well as OFFSET for BITPOS.
1508
1509 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
1510
1511         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
1512         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
1513         winchip2 and c3.
1514         * doc/invoke.texi: Mention new aliases.
1515
1516 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1517
1518         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
1519         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
1520         downward.
1521         * function.c (pad_below):  Always compile.
1522         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
1523         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
1524         Pad below when the argument is not in a register and the padding
1525         direction is downward.
1526
1527         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
1528         (PAD_VARARGS_DOWN): Define.
1529         * pa.c (function_arg_padding): Revise padding directions to make them
1530         compatible with the 32 and 64-bit runtime architecture documentation.
1531         (hppa_va_arg):  Add code to handle variable and size zero arguments
1532         passed by reference on TARGET_64BIT.  Reformat.
1533         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
1534         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
1535         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
1536         Add comments.
1537         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
1538         (RETURN_IN_MEMORY): Return size zero types in memory.
1539         (FUNCTION_VALUE): Return TFmode in general registers.
1540         (MUST_PASS_IN_STACK): Define.
1541         (FUNCTION_ARG_BOUNDARY): Simplify.
1542         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
1543         by reference.
1544         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
1545
1546 2002-09-16  Richard Henderson  <rth@redhat.com>
1547
1548         * real.c (do_fix_trunc): New.
1549         (real_arithmetic): Call it.
1550         * simplify-rtx.c (simplify_unary_operation): Handle FIX
1551         with a floating-point result mode.
1552
1553 2002-09-16  Richard Henderson  <rth@redhat.com>
1554
1555         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
1556         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
1557         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
1558         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
1559         * builtins.c (fold_builtin_nan): New.
1560         (fold_builtin): Call it.
1561         * real.c (real_nan): Parse a non-empty string.
1562         (round_for_format): Fix NaN significand truncation.
1563         * real.h (real_nan): Return bool.
1564         * doc/extend.texi: Document new builtins.
1565
1566 2002-09-16  Jason Merrill  <jason@redhat.com>
1567             Danny Smith  <dannysmith@users.sourceforge.net>
1568
1569         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
1570         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
1571         (i386_pe_mark_dllimport): Not here.
1572
1573 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
1574
1575         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
1576
1577 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
1578
1579         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
1580         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
1581         < 64.
1582         (rs6000_emit_cmove): Use real_isinf not target_isinf.
1583
1584 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
1585
1586         * calls.c (emit_library_call_value_1): Don't refer to
1587         hard_libcall_value.
1588         * optabs.c (prepare_float_lib_cmp): Likewise.
1589
1590 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
1591
1592         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
1593         mangling.
1594
1595         The following changes are merged from pch-branch:
1596
1597         * doc/gty.texi (GTY Options): Document %a.
1598         * gengtype.c (do_scalar_typedef): New function.
1599         (process_gc_options): Handle `length' option.
1600         (set_gc_used_type): A pointer to an array of structures doesn't
1601         qualify as a pointer to a structure.
1602         (output_escaped_param): Add `%a' escape.
1603         (write_gc_structure_fields): Allow 'desc' on array of unions.
1604         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
1605         do_scalar_typedef.
1606
1607         * gengtype.c (enum rtx_code): Make global.
1608         (rtx_format): Make global.
1609         (rtx_next): New.
1610         (gen_rtx_next): New.
1611         (write_rtx_next): New.
1612         (adjust_field_rtx_def): Skip fields marked by chain_next.
1613         (open_base_files): Delete redundant prototype.
1614         (write_enum_defn): New.
1615         (output_mangled_typename): Correct abort call.
1616         (write_gc_marker_routine_for_structure): Handle chain_next and
1617         chain_prev options.
1618         (finish_root_table): Don't output redundant \n.
1619         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
1620         * c-tree.h (union lang_tree_node): Add chain_next option.
1621
1622         * gengtype.h (NUM_PARAM): New definition.
1623         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
1624         * gengtype.c (find_param_structure): New.
1625         (adjust_field_type): Handle param<n>_is option.
1626         (process_gc_options): Detect use_params option.  Update callers.
1627         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
1628         'use_params' option.
1629         (open_base_files): Add splay-tree.h to list of files included.
1630         (output_mangled_typename): New.
1631         (write_gc_structure_fields): Update 'param' parameter to support
1632         multiple parameters.  Change name mangling.  Allow parameterized
1633         fields to have an apparent scalar type.  Handle param<n>_is options,
1634         use_param option.
1635         (write_gc_marker_routine_for_structure): Update for change to name
1636         mangling.  Better guess the output file for parameterized types.
1637         (write_gc_types): Update for change to name mangling.
1638         (write_gc_root): Update for change to name mangling.  Handle (ignore)
1639         param<n>_is options.
1640         * doc/gty.texi (GTY Options): Add description of param<n>_is
1641         options, use_params option.
1642         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
1643         * gengtype-lex.l: Produce token for param<n>_is.
1644         * gengtype-yacc.y: Parse param<n>_is.
1645
1646         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
1647
1648         * rtl.c: Update comment describing rtx_format.
1649         * rtl.h (union rtunion): Separate definition and typedef.
1650         (struct rtx_def): Use gengtype to mark.
1651         * Makefile.in (gengtype.o): Also depend on rtl.def.
1652         * ggc.h (ggc_mark_rtx_children): Delete prototype.
1653         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
1654         * ggc-common.c (ggc_mark_rtx_children): Delete.
1655         (ggc_mark_rtx_children_1): Delete.
1656         (gt_ggc_m_rtx_def): Delete.
1657         * gengtype.c (adjust_field_rtx_def): New.
1658         (adjust_field_type): Call adjust_field_rtx_def.
1659         (write_gc_structure_fields): Add 'default' case to switch if none
1660         is specified; remove unused code.
1661
1662         * tree.h (struct tree_exp): Update for change to meaning
1663         of special.
1664         * gengtype.c (adjust_field_tree_exp): New function.
1665         (adjust_field_type): Handle `tree_exp' special here.
1666         (write_gc_structure_fields): Don't handle `tree_exp' special here.
1667         Handle new `dot' option.
1668
1669         * gengtype.h: Make `info' a pointer-to-const.
1670         * gengtype-yacc.y (yacc_ids): Use xasprintf.
1671
1672         * gengtype.c (write_gc_structure_fields): Remove implementation
1673         of `always' option, add `default' option.
1674         * doc/gty.texi (GTY Options): Remove documentation of `always',
1675         add `default'.
1676
1677 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
1678
1679         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
1680
1681 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1682
1683         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
1684
1685         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
1686         instead of the *-protos.h file directly.
1687         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
1688         * darwin.c (machopic_output_stub): Move prototype ...
1689         * darwin-protos.h (machopic_output_stub): ... here.
1690         * rs6000-protos.h (machopic_output_stub): Don't declare.
1691
1692 2002-09-16  Richard Henderson  <rth@redhat.com>
1693
1694         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
1695
1696 2002-09-16  Richard Henderson  <rth@redhat.com>
1697
1698         * real.c, real.h: Rewrite from scratch.
1699
1700         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
1701         (paranoia): New target.
1702         * builtins.c (fold_builtin_inf): Use new real.h interface.
1703         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
1704         * c-lex.c (interpret_float): Likewise.
1705         * emit-rtl.c (gen_lowpart_common): Likewise.
1706         * optabs.c (expand_float): Use real_2expN.
1707         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
1708         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
1709         (FLOAT_WORDS_BIG_ENDIAN): New.
1710         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
1711         directly to REAL_VALUE_NEGATIVE.
1712         * loop.c (canonicalize_condition): Likewise.
1713         * simplify-rtx.c: Include tree.h.
1714         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
1715         with floating-point result modes.
1716         * toplev.c (backend_init): Call init_real_once.
1717
1718         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
1719         * tree.c (build_real): Likewise.
1720         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
1721         float_values, inited_float_values, check_float_value): Remove.
1722         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
1723         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
1724         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
1725         (VAX_HALFWORD_ORDER): Remove.
1726
1727 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
1728
1729         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
1730         (s390_load_address): ... this new function.
1731         (s390_decompose_address): Allow the argument pointer and all
1732         virtual registers as 'pointer' registers.
1733         (s390_expand_plus_operand): Use s390_load_address.
1734         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
1735         ("force_la_31"): New insn pattern.
1736         config/s390/s390-protos.h (legitimize_la_operand): Remove.
1737         (s390_load_address): Add prototype.
1738
1739         * config/s390/s390.c: Include "optabs.h".
1740         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
1741         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
1742         s390_expand_cmpstr): Add prototypes.
1743         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
1744         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
1745         for operands 0 and 1 to "memory_operand".  Add type attribute.
1746         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
1747         for operands 0 and 1 to "memory_operand".  Add type attribute.
1748         ("movstrdi_long", "movstrsi_long"): Remove.
1749         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
1750         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
1751         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
1752         ("clrstrsico"): Remove, replace by ...
1753         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
1754         ("clrstrsi_64"): Rename to "clrstr_long_64".
1755         ("clrstrsi_31"): Rename to "clrstr_long_31".
1756         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
1757         ("cmpstr_const"): Remove, replace by ...
1758         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
1759         ("cmpstr_64"): Rename to "cmpstr_long_64".
1760         ("cmpstr_31"): Rename to "cmpstr_long_31".
1761
1762 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
1763
1764         * ABOUT-NLS: Follow spelling conventions.
1765         * ChangeLog: Likewise.
1766         * ChangeLog.1: Likewise.
1767         * ChangeLog.2: Likewise.
1768         * ChangeLog.3: Likewise.
1769         * ChangeLog.4: Likewise.
1770         * ChangeLog.5: Likewise.
1771         * ChangeLog.6: Likewise.
1772         * FSFChangeLog.10: Likewise.
1773         * FSFChangeLog.11: Likewise.
1774         * c-common.c: Likewise.
1775         * c-lex.c: Likewise.
1776         * c-objc-common.c: Likewise.
1777         * cppexp.c: Likewise.
1778         * cppinit.c: Likewise.
1779         * cpplex.c: Likewise.
1780         * doloop.c: Likewise.
1781         * flow.c: Likewise.
1782         * function.c: Likewise.
1783         * integrate.c: Likewise.
1784         * loop.c: Likewise.
1785         * reg-stack.c: Likewise.
1786         * reload.h: Likewise.
1787         * ssa.c: Likewise.
1788
1789 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
1790
1791         * ChangeLog: Follow spelling conventions.
1792         * ChangeLog.0: Likewise.
1793         * ChangeLog.1: Likewise.
1794         * ChangeLog.2: Likewise.
1795         * ChangeLog.4: Likewise.
1796         * ChangeLog.6: Likewise.
1797         * config.gcc: Likewise.
1798         * dwarfout.c: Likewise.
1799         * reload1.c: Likewise.
1800         * simplify-rtx.c: Likewise.
1801         * unwind-sjlj.c: Likewise.
1802         * config/avr/avr.h: Likewise.
1803         * config/d30v/d30v.h: Likewise.
1804         * config/frv/frv.c: Likewise.
1805         * config/frv/frv.h: Likewise.
1806         * config/ip2k/ip2k.h: Likewise.
1807         * config/m88k/m88k-move.sh: Likewise.
1808         * config/stormy16/stormy16.c: Likewise.
1809         * config/stormy16/stormy16.h: Likewise.
1810         * doc/extend.texi: Likewise.
1811         * doc/interface.texi: Likewise.
1812         * doc/invoke.texi: Likewise.
1813         * doc/md.texi: Likewise.
1814         * doc/rtl.texi: Likewise.
1815         * doc/tm.texi: Likewise.
1816         * doc/trouble.texi: Likewise.
1817         * ginclude/float.h: Likewise.
1818         * treelang/treelang.texi: Likewise.
1819
1820 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1821
1822         * i386-protos.h (i386_pe_dllexport_name_p,
1823         i386_pe_dllimport_name_p, i386_pe_unique_section,
1824         i386_pe_declare_function_type, i386_pe_record_external_function,
1825         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
1826         prototype.
1827         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
1828         * i386/t-interix (winnt.o): Likewise.
1829
1830         * v850-protos.h (v850_output_addr_const_extra): Prototype.
1831
1832 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
1833
1834         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
1835         MIPS ABI CPP macros.
1836         (TARGET_CPU_CPP_BUILTINS): Redefine.
1837         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
1838         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
1839
1840 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1841
1842         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
1843
1844 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
1845
1846         * ChangeLog: Follow spelling conventions.
1847         * ChangeLog.0: Likewise.
1848         * ChangeLog.1: Likewise.
1849         * ChangeLog.2: Likewise.
1850         * ChangeLog.3: Likewise.
1851         * ChangeLog.4: Likewise.
1852         * ChangeLog.5: Likewise.
1853         * ChangeLog.6: Likewise.
1854         * FSFChangeLog.10: Likewise.
1855         * FSFChangeLog.11: Likewise.
1856         * c-common.c: Likewise.
1857         * c-common.h: Likewise.
1858         * c-format.c: Likewise.
1859         * c-opts.c: Likewise.
1860         * cpplib.c: Likewise.
1861         * langhooks.h: Likewise.
1862         * real.c: Likewise.
1863         * reg-stack.c: Likewise.
1864         * toplev.c: Likewise.
1865         * config/arm/arm.c: Likewise.
1866         * config/arm/arm.md: Likewise.
1867         * config/arm/linux-gas.h: Likewise.
1868         * config/arm/netbsd.h: Likewise.
1869         * config/c4x/c4x.c: Likewise.
1870         * config/c4x/c4x.h: Likewise.
1871         * config/c4x/c4x.md: Likewise.
1872         * config/c4x/libgcc.S: Likewise.
1873         * config/fr30/fr30.md: Likewise.
1874         * config/frv/frv.md: Likewise.
1875         * config/ia64/ia64.md: Likewise.
1876         * config/mips/mips.h: Likewise.
1877         * config/mn10300/mn10300.c: Likewise.
1878         * config/stormy16/stormy16.c: Likewise.
1879         * config/v850/v850.md: Likewise.
1880         * doc/extend.texi: Likewise.
1881         * doc/invoke.texi: Likewise.
1882         * doc/md.texi: Likewise.
1883
1884 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
1885
1886         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
1887         library if -pthread is specified.
1888
1889 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
1890
1891         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
1892         for --enable-threads=yes and --enable-threads=posix.
1893
1894 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
1895
1896         * config/sparc/cypress.md: Replace Sparc with SPARC.
1897         * config/sparc/freebsd.h: Likewise.
1898         * config/sparc/gmon-sol2.c: Likewise.
1899         * config/sparc/hypersparc.md: Likewise.
1900         * config/sparc/lb1spc.asm: Likewise.
1901         * config/sparc/lb1spl.asm: Likewise.
1902         * config/sparc/linux.h: Likewise.
1903         * config/sparc/linux64.h: Likewise.
1904         * config/sparc/lynx.h: Likewise.
1905         * config/sparc/sol2.h: Likewise.
1906         * config/sparc/sparc-modes.def: Likewise.
1907         * config/sparc/sparc.c: Likewise.
1908         * config/sparc/sparc.h: Likewise.
1909         * config/sparc/sparc.md: Likewise.
1910         * config/sparc/sparclet.md: Likewise.
1911         * config/sparc/supersparc.md: Likewise.
1912         * config/sparc/sysv4.h: Likewise.
1913         * config/sparc/vxsim.h: Likewise.
1914         * config/sparc/vxsparc64.h: Likewise.
1915
1916 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
1917
1918         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
1919
1920 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
1921
1922         * ChangeLog: Follow spelling conventions.
1923         * ChangeLog.0: Likewise.
1924         * ChangeLog.2: Likewise.
1925         * ChangeLog.3: Likewise.
1926         * ChangeLog.4: Likewise.
1927         * ChangeLog.5: Likewise.
1928         * ChangeLog.6: Likewise.
1929         * cppfiles.c: Likewise.
1930         * cppinit.c: Likewise.
1931         * cpplib.h: Likewise.
1932         * cse.c: Likewise.
1933         * debug.h: Likewise.
1934         * df.c: Likewise.
1935         * dominance.c: Likewise.
1936         * hashtable.c: Likewise.
1937         * hashtable.h: Likewise.
1938         * loop.c: Likewise.
1939         * config/arm/README-interworking: Likewise.
1940         * config/arm/arm.c: Likewise.
1941         * config/arm/arm.h: Likewise.
1942         * config/arm/arm.md: Likewise.
1943         * config/dsp16xx/dsp16xx.h: Likewise.
1944         * config/frv/frv.c: Likewise.
1945         * config/frv/frv.h: Likewise.
1946         * config/ip2k/ip2k.h: Likewise.
1947         * config/rs6000/rs6000.c: Likewise.
1948         * config/stormy16/stormy-abi: Likewise.
1949         * config/stormy16/stormy16.h: Likewise.
1950         * config/v850/v850.c: Likewise.
1951
1952 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
1953
1954         * loop.c: Fix a comment typo.
1955
1956 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
1957
1958         * config/fr30/fr30.h: Fix comment typos.
1959         * config/frv/frv.c: Likewise.
1960         * config/i386/xmmintrin.h: Likewise.
1961         * config/mips/mips.c: Likewise.
1962         * config/sh/sh.c: Likewise.
1963
1964 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
1965
1966         * haifa-sched.c: Follow spelling conventions.
1967         * regclass.c: Likewise.
1968         * regrename.c: Likewise.
1969         * config/fp-bit.c: Likewise.
1970         * config/frv/frv.h: Likewise.
1971         * config/m88k/m88k.c: Likewise.
1972         * config/mcore/mcore.c: Likewise.
1973         * config/rs6000/darwin.h: Likewise.
1974         * config/rs6000/gnu.h: Likewise.
1975         * config/rs6000/linux.h: Likewise.
1976         * config/rs6000/linux64.h: Likewise.
1977         * config/rs6000/rs6000.c: Likewise.
1978         * config/rs6000/rs6000.h: Likewise.
1979         * config/sh/sh.c: Likewise.
1980         * config/sparc/sparc.c: Likewise.
1981         * config/sparc/ultra1_2.md: Likewise.
1982
1983 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
1984
1985         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
1986         memory operand when source is 0 (K constraint).
1987         ("movsi_internal"): Likewise.
1988         ("movdf_internal"): Likewise.
1989         ("movsf_internal"): Likewise.
1990
1991 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
1992
1993         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
1994         targetm.binds_local_p to set SYMBOL_REF_FLAG.
1995         (rs6000_xcoff_encode_section_info): Likewise.
1996         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
1997
1998 2002-09-10  Theodore A. Roth  <troth@verinet.com>
1999
2000         * gcc/config/avr/avr.h: Set default options for C++ for avr.
2001
2002 2002-09-13  Richard Henderson  <rth@redhat.com>
2003
2004         * Makefile.in (toplev.o): Depend on real.h.
2005         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
2006
2007 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
2008
2009         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
2010         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
2011         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
2012
2013 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
2014
2015         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
2016
2017 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
2018
2019         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
2020         ia64*-*-linux*): Set extra_parts.
2021         * config/ia64/t-aix (EXTRA_PARTS): Remove.
2022         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
2023
2024 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
2025
2026         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
2027         * config/h8300/h8300.c: Likewise.
2028         * config/h8300/h8300.h: Likewise.
2029         * config/h8300/h8300.md: Likewise.
2030         * doc/invoke.texi: Likewise.
2031
2032 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
2033
2034         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
2035
2036 2002-09-13  Matt Austern  <austern@apple.com>
2037
2038         * cp/cp-tree.h, cp/tree.c: New function non_cast_lvalue_p.
2039         * cp/call.c: Change call-by-const-reference mechanism to use
2040         non_cast_lvalue_p when deciding whether the create a temporary.
2041         We need a temporary when passing, e.g. (long) x by const ref.
2042         * testsuite/g++.dg/other/constref[12].C: New, regression tests for
2043         passing a cast expression to a function by const reference.
2044
2045 2002-09-13  Richard Henderson  <rth@redhat.com>
2046
2047         * config/alpha/alpha.md (attr type): Add callpal.
2048         (imb, trap, load_tp, set_tp): Use it.
2049         * config/alpha/ev4.md (ev4_callpal): New.
2050         * config/alpha/ev5.md (ev5_callpal): New.
2051         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
2052         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
2053         (alphaev5_insn_pipe): Likewise.
2054
2055 2002-09-13  Andreas Jaeger  <aj@suse.de>
2056
2057         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
2058
2059 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
2060
2061         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
2062         LIB2ADDEH): New, set to NULL.
2063         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
2064
2065 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
2066
2067         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
2068         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
2069         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
2070         Add declarations.
2071         (_U_Qfneg): Remove.
2072
2073 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
2074
2075         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
2076         for H8/300, H8S aa:8 mode.
2077         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
2078         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
2079         for H8/300 aa:8 mode.
2080
2081 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
2082
2083         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
2084         insns.
2085
2086 2002-09-12  Richard Henderson  <rth@redhat.com>
2087
2088         * Makefile.in (HOST_PRINT): Use print-rtl1.o
2089         (print-rtl.o): Don't define GENERATOR_FILE.
2090         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
2091         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
2092         unless GENERATOR_FILE.
2093
2094 2002-09-12  Stan Shebs  <shebs@apple.com>
2095
2096         * config/darwin.h (USER_LABEL_PREFIX): Define here...
2097         * config/i386/darwin.h: ... instead of here.
2098
2099         * target.h (struct gcc_target): New field
2100         terminate_dw2_eh_frame_info.
2101         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
2102         (TARGET_INITIALIZER): Add it.
2103         * dwarf2out.c (output_call_frame_info): Use target hook.
2104         * dwarf2asm.c (dw2_asm_output_delta): Use macro
2105         ASM_OUTPUT_DWARF_DELTA if defined.
2106         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
2107         (ASM_OUTPUT_DWARF_DELTA): Ditto.
2108         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
2109         (ASM_OUTPUT_DWARF_PCREL): Ditto.
2110         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
2111         (powerpc-*-darwin*): Ditto.
2112         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
2113         to work correctly for Darwin.
2114         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
2115         (STARTFILE_SPEC): Add crtbegin.o.
2116         (ENDFILE_SPEC): Define.
2117         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
2118         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
2119         (ASM_OUTPUT_DWARF_DELTA): Define.
2120         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
2121         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
2122
2123 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
2124
2125         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
2126         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
2127         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
2128
2129 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
2130
2131         * toplev.c: Move default definition of USER_LABEL_PREFIX...
2132         * defaults.h: ... here.
2133
2134 2002-09-12  Richard Henderson  <rth@redhat.com>
2135
2136         * vax.c: Include tree.h earlier.
2137
2138 2002-09-12  Stan Shebs  <shebs@apple.com>
2139
2140         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
2141         (machopic_operand_p): Ditto.
2142
2143 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
2144
2145         * config/arm/arm.c (arm_compute_initial_elimination_offset):
2146         Fix a comment typo.
2147
2148 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
2149
2150         * toplev.c (do_abort): Fix a comment typo.
2151
2152 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
2153
2154         * cselib.c: Fix comment formatting.
2155         * gengtype.c: Likewise.
2156
2157 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
2158
2159         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
2160         (udivmodhi4): Likewise.
2161
2162 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
2163             Roger Sayle  <roger@eyesopen.com>
2164
2165         * i386.c (any_fp_register_operand, fp_register_operand,
2166         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
2167         New predicate functions.
2168         * i386-protos.h:  Add their prototypes.
2169         * i386.h: Add them to PREDICATE_CODES.
2170         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
2171         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
2172         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
2173         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
2174         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
2175         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
2176         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
2177         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
2178         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
2179         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
2180         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
2181         Use these new predicates to simplify and correct the use of
2182         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
2183
2184 2002-09-12  Jason Merrill  <jason@redhat.com>
2185
2186         * diagnostic.c (output_add_identifier): New fn.
2187         * diagnostic.h: Declare it.
2188
2189         * calls.c (store_one_arg): Use size_in_bytes to determine the
2190         amount of space to push.
2191
2192 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
2193
2194         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
2195
2196 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
2197
2198         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
2199         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
2200         (s390_select_ccmode): Likewise.
2201         (s390_branch_condition_mask): Likewise.
2202         (optimization_options): Do not set flag_branch_on_count.
2203         (s390_split_branches): Handle doloop branches.
2204         (s390_chunkify_pool): Likewise.
2205         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
2206         ("doloop_end"): New expander.
2207         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
2208         associated splitters): New.
2209
2210 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
2211
2212         * fold-const.c (make_range): Only narrow to signed range if
2213         the signed range is smaller than the unsigned range.
2214
2215 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
2216
2217         * emit-rtl.c (set_mem_size): New function.
2218         * expr.h (set_mem_size): Declare.
2219         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
2220         (expand_block_move): Instead, use adjust_address and
2221         replace_equiv_address to generate proper aliasing info.
2222         Move common code out of conditionals.  Localize vars.
2223
2224 2002-09-09  Eric Botcazou  ebotcazou@libertysurf.fr
2225
2226         * optabs.c (expand_binop): Minor cleanup.
2227         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
2228
2229 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
2230
2231         * print-tree.c (print_node): Print the restrict qualifier.
2232
2233 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
2234
2235         * doc/install.texi: Fix typos.
2236
2237 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
2238
2239         * Makefile.in: Remove all references to s-under and underscore.c.
2240         * collect2.c, tlink.c: Change all uses of prepends_underscore
2241         to look directly at USER_LABEL_PREFIX.
2242
2243 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
2244
2245         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
2246         alignment to csect.
2247         (rs6000_xcoff_unique_section): Only set section name for public
2248         data.
2249         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
2250         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
2251         duplicate definition.
2252
2253 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2254
2255         * pa.md (extzv): Check predicates before emitting extzv_32.
2256         (insv): Likewise.
2257
2258 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
2259
2260         * config/s390/s390.h (MOVE_MAX): Define to correct value.
2261         (MAX_MOVE_MAX): Define.
2262         (MOVE_BY_PIECES_P): Define.
2263         (CLEAR_BY_PIECES_P): Define.
2264
2265 2002-09-10  Denis Chertykov  <denisc@overta.ru>
2266
2267         * config/avr/avr.md (movstrhi): Use right operands for conversion.
2268
2269 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
2270
2271         PR c/7873
2272         * arm.md (insv): Use reg_or_int_operand for operand[3].
2273
2274 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
2275
2276         * rs6000.c (rs6000_assemble_visibility): Protect declaration
2277         inside macro.  Correct function definition typo.
2278         (rs6000_xcoff_section_type_flags): New function.
2279         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
2280         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
2281         with appropriate PIC test.
2282         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
2283         determine readonly.
2284         (rs6000_binds_local_p): Combine PIC flags.
2285         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
2286         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
2287
2288 2002-09-09  Per Bothner  <per@bothner.com>
2289
2290         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
2291         characters, and only print TREE_STRING_LENGTH chars.
2292
2293 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
2294
2295         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
2296         (ASM_FILE_END) New.
2297         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
2298         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
2299         * config/ia64/ia64.c (ia64_asm_output_external): Create list
2300         of external functions if TARGET_HPUX_LD is true.
2301         (ia64_hpux_add_extern_decl): New, routine to put names on
2302         list of external functions.
2303         (ia64_hpux_asm_file_end): Put out declarations for external
2304         functions if and only if they are used.
2305
2306 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2307
2308         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
2309         on TARGET_64BIT before pic register restore.
2310
2311 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
2312
2313         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
2314         (TARGET_HAVE_TLS): New description.
2315
2316 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
2317
2318         * doc/extend.texi (Statement Exprs): Fix broken link.
2319
2320 2002-09-09  Denis Chertykov  <denisc@overta.ru>
2321
2322         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
2323         right conversion of operands[1].
2324
2325 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
2326
2327         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
2328         commutative.  Use "nonimmediate_operand" instead of "register_operand"
2329         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
2330
2331         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
2332         as commutative.
2333
2334         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
2335         mark as commutative.  Use "nonimmediate_operand" instead of
2336         "register_operand" as predicate for operand 1.
2337
2338         ("movstrictsi"): Fix typo in insn name.
2339
2340 2002-09-09  Jan Hubicka  <jh@suse.cz>
2341
2342         * i386.c (index_register_operand): New.
2343         * i386.h (predicate_codes): Add new predicate.
2344         * i386.md (lea_general_*): Use index_regsiter_operand
2345         (ashift to lea splitter): Do not produce invalid leas
2346         (ashift to mov+ashift split): New.
2347
2348 2002-09-09  Nick Clifton  <nickc@redhat.com>
2349
2350         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
2351         Fix folding marks.
2352
2353 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
2354             J"orn Rennecke <joern.rennecke@superh.com>
2355
2356         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
2357
2358 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
2359
2360         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
2361         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
2362         attributes.
2363
2364 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2365
2366         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
2367
2368 2002-09-08  Richard Henderson  <rth@redhat.com>
2369
2370         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
2371         (DW_OP_GNU_push_tls_address): New.
2372         (DW_OP_lo_user): Fix.
2373         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
2374         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
2375         (size_of_loc_descr): Likewise.
2376         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
2377         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
2378         (loc_descriptor_from_tree): Handle TLS variables.
2379         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
2380         (add_location_or_const_value_attribute): ... not here.  Defer
2381         to loc_descriptor_from_tree for TLS variables.
2382
2383         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
2384         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
2385         * config/i386/i386-protos.h: Update.
2386
2387 2002-09-08  Roger Sayle  <roger@eyesopen.com>
2388
2389         PR optimization/6405
2390         * unroll.c (loop_iterations): last_loop_insn should be the previous
2391         non-note instruction before loop->end.
2392         * loop.c (strength_reduce): The conditional jump is the last
2393         non-note instruction before loop->end (as above).
2394
2395 2002-09-08  Roger Sayle  <roger@eyesopen.com>
2396
2397         * combine.c (try_combine): Handle the case that undobuf.other_insn
2398         has been turned into a return or unconditional jump, by inserting
2399         a BARRIER if necessary.
2400         (simplify_set):  Test if a condition code setter has a constant
2401         comparison at compile time, if so convert this insn to a no-op move
2402         and update/simplify the condition code user (undobuf.other_insn).
2403
2404 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
2405
2406         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
2407         (CLEAR_INSN_CACHE): Define.
2408
2409 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
2410
2411         * basic-block.h: Fix comment formatting.
2412         * c-common.c: Likewise.
2413         * c-common.h: Likewise.
2414         * c-lex.c: Likewise.
2415         * c-pretty-print.c: Likewise.
2416         * cfglayout.c: Likewise.
2417         * cfgloop.c: Likewise.
2418         * defaults.h: Likewise.
2419         * et-forest.c: Likewise.
2420         * explow.c: Likewise.
2421         * function.h: Likewise.
2422         * gcov.c: Likewise.
2423         * genattrtab.c: Likewise.
2424         * gengtype.c: Likewise.
2425         * ifcvt.c: Likewise.
2426         * libgcc2.c: Likewise.
2427         * loop.c: Likewise.
2428         * profile.c: Likewise.
2429         * ra-build.c: Likewise.
2430         * real.c: Likewise.
2431         * rtl.h: Likewise.
2432         * tracer.c: Likewise.
2433         * tree-inline.c: Likewise.
2434         * varasm.c: Likewise.
2435
2436 2002-09-08  Jan Hubicka  <jh@suse.cz>
2437
2438         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
2439         handling.
2440
2441         * loop.c (loop_gics_reduce):  Emit addition after.
2442
2443 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
2444
2445         * varasm.c (default_assemble_visibility): Rename from
2446         assemble_visibility.
2447         * output.h: Here too.
2448         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
2449         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
2450
2451 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
2452
2453         * reload.c (find_reloads <p constraint>): Pass operand_mode to
2454         find_reloads_address.
2455
2456 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
2457
2458         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
2459         (anonymous pattern): Likewise.
2460
2461 2002-09-07  Scott Snyder  <snyder@fnal.gov>
2462
2463         PR target/7374
2464         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
2465
2466 2002-09-07  Roger Sayle  <roger@eyesopen.com>
2467
2468         * basic-block.h (struct loop): Remove unused cont_dominator field.
2469
2470 2002-09-07  Igor Shevlyakov <igor@microunity.com>
2471
2472         * varasm.c (decode_rtx_const): Don't check undefined field for
2473         CONST_VECTOR.
2474
2475 2002-09-07  Glen Nakamura  <glen@imodulo.com>
2476
2477         PR opt/7814
2478         * sched-deps.c (sched_analyze_insn): Make sure to add insn
2479         to reg_last->sets after flushing the dependency lists to guarantee
2480         that subsequent clobbers will be dependent on it.
2481
2482 2002-09-07  Igor Shevlyakov <igor@microunity.com>
2483
2484         * combine.c (simplify_shift_const): Calculate rotate count
2485         correctly for vector operands.
2486
2487 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
2488
2489         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
2490         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
2491         tree_expr_nonnegative_p.
2492         (build_conditional_expr): Likewise.
2493         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
2494
2495 2002-09-07  Richard Henderson  <rth@redhat.com>
2496
2497         * builtins.def (inf, inff, infl): Mark const.
2498         (huge_val, huge_valf, huge_vall): Likewise.
2499         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
2500
2501         * real.c (ereal_inf): Clear E before use.
2502
2503 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
2504
2505         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
2506         an expander and an anonymous pattern.  Zero out the upper half
2507         of the dividend in the expander.
2508         (udivmodqi4): Likewise.
2509
2510 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
2511
2512         * config/h8300/h8300.c: Fix formatting.
2513         * config/h8300/h8300.h: Likewise.
2514         * config/h8300/h8300.md: Likewise.
2515
2516 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2517
2518         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
2519         information.
2520
2521 2002-09-07  Graham Stott  <graham.stott@btinternet.con>
2522
2523        * rtlanal.c (dead_or_set_regno_p): Fix typo.
2524
2525 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
2526
2527         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2528
2529         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
2530         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
2531         (TARGET_ASM_OUT): Add the above here.
2532         * target.h (struct gcc_target): Add "visibility" field.
2533         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
2534         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
2535         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
2536         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
2537
2538 2002-09-06  Ziemowit Laski <zlaski@apple.com>
2539
2540         * c-lang.c (objc_is_id): New stub.
2541         * c-tree.h (objc_is_id): New forward declaration.
2542         * c-typeck.c (build_c_cast): Do not strip protocol
2543         qualifiers from 'id' type.
2544         * objc/objc-act.c (objc_comptypes): Correct handling
2545         of protocol qualifiers.
2546         (objc_is_id): New.
2547
2548 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
2549
2550         * pentium.md (pentium-firstvboth): Fix typo.
2551
2552 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
2553
2554         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
2555         (enum shift_type, enum h8_cpu): Likewise.
2556         (INL, ROT, LOP, SPC macros): Likewise.
2557         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
2558         const designator.
2559         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
2560         space efficient algorithms when optimize for codesize.
2561
2562 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
2563
2564         Fix PR/1727 and long-standing failing testcase
2565         objc/formal-protocol-6.m.
2566         * objc-act.c (build_protocol_expr): If compiling for the GNU
2567         runtime, create a list of Protocol statically allocated instances
2568         if it doesn't exist, then add the Protocol object to this same
2569         list.
2570         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
2571         instead of TREE_CHAIN.
2572
2573 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
2574
2575         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
2576         10k.  Fixed category dumping - print out category names with the
2577         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
2578         interface.
2579         (finish_objc): Fixed the -gen-decls option.  It was printing out
2580         only the last class.  Dump an interface declaration of all classes
2581         being compiled instead.
2582
2583 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
2584
2585         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
2586         prototype.
2587         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
2588         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
2589         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
2590         rather than GEN_INT.
2591         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
2592         (return_addr_mask, *check_arch2): New.
2593
2594 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
2595
2596         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
2597         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
2598         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
2599         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
2600         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
2601         "adddf3", "*adddf3", "*adddf3_ibm",
2602         "addsf3", "*addsf3", "*addsf3_ibm",
2603         "muldi3", "mulsi3", "mulsidi3",
2604         "muldf3", "*muldf3", "*muldf3_ibm",
2605         "mulsf3", "*mulsf3", "*mulsf3_ibm",
2606         "*anddi3_cc", "*anddi3_cconly", "anddi3",
2607         "*andsi3_cc", "*andsi3_cconly", "andsi3",
2608         "*iordi3_cc", "*iordi3_cconly", "iordi3",
2609         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
2610         "*xordi3_cc", "*xordi3_cconly", "xordi3",
2611         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
2612         instead of "register_operand" as predicate for "%0" operand.
2613
2614 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
2615
2616         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
2617         unconditionally when gcc_cv_as_flags64 checks are gone.
2618         * configure: Rebuilt.
2619
2620 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
2621
2622         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
2623         2002-07-26 change.  Comment.
2624
2625 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2626
2627         * frv.c (frv_unique_section, frv_select_section,
2628         frv_select_rtx_section): Delete.
2629         (frv_in_small_data_p): New.
2630         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
2631         TARGET_ASM_SELECT_RTX_SECTION): Delete.
2632         (TARGET_IN_SMALL_DATA_P): Define.
2633
2634 2002-09-05  Dale Johannesen  <dalej@apple.com>
2635
2636         * reload1.c (reload):  Retain only those memory clobbers
2637         added for variable-array handling.
2638
2639 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
2640
2641         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
2642         return-in-memory rules.
2643         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
2644
2645 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
2646
2647         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
2648         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
2649
2650 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
2651
2652         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
2653         not a compile-time constant for the non-IBM case.
2654         * config/arm/arm-protos.h (arm_float_words_big_endian): New
2655         prototype.
2656         * config/arm/arm.c (arm_float_words_big_endian): New function.
2657         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
2658         if TARGET_VFP  and not TARGET_HARD_FLOAT.
2659         (ARM_FLAG_VFP, TARGET_VFP): Define.
2660         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
2661
2662 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
2663
2664         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
2665         URLs.  Fix AIX wording.
2666
2667 2002-09-05  Stan Shebs  <shebs@apple.com>
2668
2669         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
2670         -fPIC equivalent on Darwin.
2671
2672 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
2673
2674         * sh.c (sh_expand_builtin): Return early if encountering an
2675         error_mark for a type.
2676
2677 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
2678
2679         * config/s390/s390.c (s390_expand_plus_operand): Do not require
2680         double-word scratch register.
2681         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
2682
2683         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
2684         "*cli"): Replace s_operand by memory_operand.
2685         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
2686
2687 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
2688
2689         * config/h8300/h8300.c (asm_file_start): Add a missing
2690         semicolon.
2691
2692 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
2693
2694         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
2695         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
2696         (ix86_output_addr_diff_elt) Likewise.
2697         (x86_output_mi_thunk) Likewise.
2698         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
2699
2700 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2701
2702         * frv.c (frv_encode_section_info): Fix error in last change.
2703
2704 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
2705
2706         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
2707         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
2708         (TARGET_BINDS_LOCAL_P): Define.
2709         (rs6000_override_options): Save original flag_pic value.
2710         (rs6000_elf_select_section): Call default_elf_select_section_1.
2711         (rs6000_elf_unique_section): Call default_unique_section_1.
2712         (rs6000_elf_in_small_data_p): New function.
2713         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
2714         (rs6000_xcoff_select_section): Update based on defaults.
2715         (rs6000_xcoff_unique_section): Set to basic name if not common.
2716         (rs6000_binds_local_p): New function.
2717         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
2718         targetm.have_srodata_section if SDATA_EABI.
2719         (TARGET_IN_SMALL_DATA_P): Define.
2720
2721 2002-09-04  Dale Johannesen  <dalej@apple.com>
2722
2723         * varasm.c (struct rtx_const, decode_rtx_const):
2724         Make veclo and vechi fields not share storage.
2725
2726 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
2727
2728         * loop.c (scan_loop): Don't mark separate insns out of a libcall
2729         for moving.
2730         (move_movables): Abort if we see the first insn of a libcall.
2731
2732 2002-09-04  Richard Henderson  <rth@redhat.com>
2733
2734         * builtin-types.def (BT_FN_FLOAT): New.
2735         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
2736         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
2737         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
2738         * builtins.c (fold_builtin_inf): New.
2739         (fold_builtin): Call it.
2740         * real.c (ereal_inf): New.
2741         * real.h: Declare it.
2742         * doc/extend.texi: Document new builtins.
2743
2744 2002-09-04  Richard Henderson  <rth@redhat.com>
2745
2746         * cse.c (cse_insn): Avoid subreg games if the equivalence
2747         is already in the proper mode.
2748
2749 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
2750
2751         PR c/7102
2752         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
2753
2754 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2755
2756         * pa.md (setccfp0, setccfp1): New patterns.
2757
2758 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2759
2760         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
2761         frv_select_section, frv_select_rtx_section,
2762         frv_encode_section_info, frv_unique_section): Delete.
2763         * frv.c: Update for target hooks.
2764         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
2765         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
2766         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
2767
2768 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2769
2770         * ip2k-protos.h (function_prologue, function_epilogue,
2771         encode_section_info): Update to match target hook specification.
2772         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
2773         (function_prologue, function_epilogue, encode_section_info):
2774         Update to match target hook specification.
2775         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
2776         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
2777         (NOTICE_UPDATE_CC): Cast to void.
2778         * ip2k.md: Add defaults in switch statements.
2779
2780 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
2781
2782         * doc/trouble.texi (Interoperation): Update information about C++ ABI
2783         issues.
2784
2785 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
2786
2787         * config/sparc/t-netbsd64: Disable multilib for now.
2788
2789 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
2790
2791         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
2792         * target.h (gcc_target): Add have_srodata_section member.
2793         * varasm.c (section_category): Add SECCAT_SRODATA.
2794         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
2795         READONLY_SDATA_SECTION defined.
2796         (decl_readonly_section_1): True for SECCAT_SRODATA also.
2797         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
2798         (default_unique_section_1): Likewise.
2799
2800 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2801
2802         * expr.c (emit_group_load): Revise to allow splitting TCmode source
2803         into DImode pieces.
2804
2805         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
2806         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
2807         for floating-point register class.
2808         * pa.c (function_arg): Fix handling of modes wider than one word for
2809         TARGET_64BIT.
2810
2811 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
2812
2813         * combine.c (make_compound_operation): Don't generate zero / sign
2814         extensions in floating point modes.
2815
2816 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
2817
2818         * doc/c-tree.texi: Fix overfull hboxes.
2819         * doc/cppopts.texi: Ditto.
2820         * doc/extend.texi: Ditto.
2821         * doc/gty.texi: Ditto.
2822         * doc/invoke.texi: Ditto.
2823         * doc/makefile.texi: Ditto.
2824         * doc/rtl.texi: Ditto.
2825         * doc/standards.texi: Ditto.
2826         * doc/tm.texi: Ditto.
2827
2828 2002-09-04  Richard Henderson  <rth@redhat.com>
2829
2830         * c-common.c (builtin_define_with_hex_fp_value): New.
2831         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
2832
2833 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
2834
2835         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
2836         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
2837         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
2838         Warn that these options can break ABI compatibility.
2839
2840 2002-09-04  Richard Henderson  <rth@redhat.com>
2841
2842         * real.c (ereal_to_decimal): Add digits parameter.
2843         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
2844         * c-pretty-print.c (pp_c_real_literal): Update call.
2845         * print-rtl.c (print_rtx): Likewise.
2846         * print-tree.c (print_node_brief, print_node): Likewise.
2847         * sched-vis.c (print_value): Likewise.
2848         * config/arc/arc.c (arc_print_operand): Likewise.
2849         * config/c4x/c4x.c (c4x_print_operand): Likewise.
2850         * config/i370/i370.h (PRINT_OPERAND): Likewise.
2851         * config/i386/i386.c (print_operand): Likewise.
2852         * config/i960/i960.c (i960_print_operand): Likewise.
2853         * config/ip2k/ip2k.c (asm_output_float): Likewise.
2854         * config/m32r/m32r.c (m32r_print_operand): Likewise.
2855         * config/m68hc11/m68hc11.c (print_operand): Likewise.
2856         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
2857         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
2858         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
2859         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
2860         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
2861         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
2862         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
2863         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
2864         * config/mips/mips.c (print_operand): Likewise.
2865         * config/ns32k/ns32k.c (print_operand): Likewise.
2866         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
2867         * config/vax/vax.h (PRINT_OPERAND): Likewise.
2868         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
2869
2870 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
2871
2872         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
2873         xtensa_multibss_section_type_flags.
2874         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
2875
2876 2002-09-04  Richard Henderson  <rth@redhat.com>
2877
2878         * doc/install-old.texi: Don't mention enquire.
2879         * doc/sourcebuild.texi: Update float.h description.
2880
2881 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
2882
2883         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
2884
2885 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
2886
2887         * varasm.c (default_section_type_flags): Append _1 to name with
2888         shlib parameter.  Use original name to call new function with
2889         implicit flag_pic.
2890         (decl_readonly_section): Likewise.
2891         (default_elf_select_section): Likewise.
2892         (default_unique_section): Likewise.
2893         (default_bind_local_p): Likewise.
2894         (categorize_decl_for_section): Add shlib parameter to use in place
2895         of implicit flag_pic.
2896         * output.h: Declare new functions with _1 and shlib argument.
2897
2898 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
2899
2900         * doc/install.texi: Fix typos, formatting problems, and obvious
2901         overfull/underfull boxes.
2902
2903         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
2904         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
2905         include its file, compat.texi.
2906         * doc/compat.texi: New file with new chapter, Binary Compatibility.
2907
2908 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
2909
2910         Debian BTS Bug #157416
2911         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
2912         * cpplib.c (destringize_and_run): Kludge around getting
2913         tokens from in-progress macros.
2914         (_cpp_do__Pragma): Simplify.
2915
2916 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
2917
2918         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
2919         (CPP_CPU_SPEC): Remove.
2920         (TARGET_CPU_CPP_BUILTINS): New.
2921         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
2922         (CPP_SPEC): Remove.
2923         (TARGET_OS_CPP_BUILTINS): New.
2924         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
2925         (TARGET_OS_CPP_BUILTINS): New.
2926         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
2927         TARGET_OS_CPP_BUILTINS.
2928         (CPP_PREDEFINES): Remove.
2929         (CPLUSPLUS_CPP_SPEC): Remove.
2930         (TARGET_OS_CPP_BUILTINS): New.
2931
2932 2002-09-03  Richard Henderson  <rth@redhat.com>
2933
2934         * Makefile.in (USER_H): Add ginclude/float.h.
2935         (FLOAT_H): Remove.
2936         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
2937         (mostlyclean): Don't remove float.h intermediate files.
2938         (distclean): Don't remove float.h.
2939         * config.gcc: Remove all float_format references.
2940         * configure.in (float_format, float_h_file): Remove.
2941
2942         * c-common.c: Include tree-inline.h.
2943         (builtin_define_with_int_value): New.
2944         (builtin_define_type_precision): Use it.
2945         (builtin_define_float_constants): New.
2946         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
2947         __FLT_EVAL_METHOD__.
2948         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
2949         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
2950         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
2951         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
2952         (TARGET_FLT_EVAL_METHOD): New.
2953
2954         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
2955         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
2956         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
2957         * ginclude/float.h: New.
2958
2959 2002-09-03  Stan Shebs  <shebs@apple.com>
2960
2961         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
2962         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
2963         (PREFERRED_DEBUGGING_TYPE): Ditto.
2964         (ASM_OUTPUT_IDENT): Remove empty definition.
2965
2966 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
2967
2968         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
2969         cxx_target.
2970         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
2971         handling routine for builtin pragma.
2972         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
2973         Registered pragma handling routine.
2974         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
2975         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
2976         If builtin pragma seen for math routine and C89 conformance is
2977         requested use different math function in order to set errno.
2978         * t-ia64 (ia64-c.o): Add new rule for new file.
2979
2980 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
2981
2982         * config/s390/s390.md ("movti"): Add Q->Q alternative.
2983         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
2984         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
2985
2986         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
2987         "*movsf_ss"): Remove.
2988
2989 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2990
2991         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
2992         Delete macros.
2993
2994 2002-09-03   Arati Dikey  <aratid@kpit.com>
2995
2996         * h8300.c (asm_file_start): Corrected optimization comment.
2997
2998 2002-09-03  Stan Shebs  <shebs@apple.com>
2999
3000         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
3001         * c-tree.h (recognize_objc_keyword): Remove decl.
3002         * c-typeck.c (comp_target_types): Update a comment.
3003
3004 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
3005
3006         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
3007         and register validity checks.
3008         (general_s_operand): Adapt to s390_decompose_address interface change.
3009         (q_constraint): Likewise.
3010         (s390_expand_plus_operand): Likewise.
3011         (legitimiate_address_p): Likewise.
3012         (legitimate_la_operand_p): Likewise.
3013         (legitimize_la_operand): Likewise.
3014         (print_operand_address): Likewise.
3015         (print_operand): Likewise.
3016
3017 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
3018
3019         PR objc/5956:
3020         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
3021         was causing the new selector never to match the existing ones
3022         (Patch by Alexander Malmberg <alexander@malmberg.org>).
3023
3024 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
3025
3026         * config/i386/i386.md ("femms"): Add "memory" attr "none".
3027
3028 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
3029
3030         * expr.c (expand_expr): Remove extraneous comment and code.
3031
3032 2002-08-31  Richard Henderson  <rth@redhat.com>
3033
3034         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
3035
3036 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3037
3038         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
3039
3040 2002-08-30  Richard Henderson  <rth@redhat.com>
3041
3042         PR opt/7515
3043         * c-objc-common.c: Include target.h.
3044         (c_cannot_inline_tree_fn): Don't auto-inline functions that
3045         don't bind locally.  Factor setting DECL_UNINLINABLE.
3046         * Makefile.in (c-objc-common.o): Update.
3047
3048 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
3049
3050         * doc/install.texi (Configuration, Building): Fix a typo and
3051         some formatting directives.
3052
3053 2002-08-30  Paul Koning <pkoning@equallogic.com>
3054
3055         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
3056         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
3057         implemented" note.
3058         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
3059         for alphabetic order.
3060         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
3061         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
3062         (VAX_HALFWORD_ORDER): Document.
3063         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
3064         IEEE float format.
3065         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
3066         (ASM_OUTPUT_LABEL_REF): Fix font.
3067         (CASE_VECTOR_SHORTEN_MODE): Ditto.
3068
3069 2002-08-30  Denis Chertykov  <denisc@overta.ru>
3070
3071         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
3072         stuff.
3073         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
3074         CONST_DOUBLE constants.
3075
3076 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
3077
3078         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
3079         related defines to...
3080         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
3081         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
3082         as a no-op.
3083
3084 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
3085
3086         * config/arm/arm.c (arm_asm_output_labelref): New function.
3087         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
3088         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
3089
3090 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
3091
3092         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
3093         memory exhausted" workarounds.
3094
3095 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3096
3097         * diagnostic.c (fancy_abort): Don't repeat "internal error".
3098         * toplev.c (crash_signal): Likewise.
3099
3100 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
3101
3102         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
3103         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
3104         Extended, updated documentation.
3105         (-Wundeclared-selector): Documented.
3106
3107 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
3108
3109         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
3110         the value 1.  Do not undef before defining.
3111         * config/darwin.h: Likewise.
3112         * config/dbx.h: Likewise.
3113         * config/dbxcoff.h: Likewise.
3114         * config/dbxelf.h: Likewise.
3115         * config/elfos.h: Likewise.
3116         * config/interix.h: Likewise.
3117         * config/lynx-ng.h: Likewise.
3118         * config/lynx.h: Likewise.
3119         * config/netware.h: Likewise.
3120         * config/psos.h: Likewise.
3121         * config/svr3.h: Likewise.
3122         * config/alpha/alpha.h: Likewise.
3123         * config/alpha/elf.h: Likewise.
3124         * config/alpha/vms.h: Likewise.
3125         * config/arc/arc.h: Likewise.
3126         * config/arm/aout.h: Likewise.
3127         * config/arm/coff.h: Likewise.
3128         * config/c4x/c4x.h: Likewise.
3129         * config/h8300/h8300.h: Likewise.
3130         * config/i386/cygwin.h: Likewise.
3131         * config/i386/djgpp.h: Likewise.
3132         * config/i386/gas.h: Likewise.
3133         * config/i386/gstabs.h: Likewise.
3134         * config/i386/i386-coff.h: Likewise.
3135         * config/i386/i386-interix.h: Likewise.
3136         * config/i386/sco5.h: Likewise.
3137         * config/i386/svr3dbx.h: Likewise.
3138         * config/i386/sysv3.h: Likewise.
3139         * config/i386/win32.h: Likewise.
3140         * config/i386/x86-64.h: Likewise.
3141         * config/i960/i960.h: Likewise.
3142         * config/ia64/ia64.h: Likewise.
3143         * config/ip2k/ip2k.h: Likewise.
3144         * config/m32r/m32r.h: Likewise.
3145         * config/m68k/3b1.h: Likewise.
3146         * config/m68k/3b1g.h: Likewise.
3147         * config/m68k/ccur-GAS.h: Likewise.
3148         * config/m68k/coff.h: Likewise.
3149         * config/m68k/hp2bsd.h: Likewise.
3150         * config/m68k/hp310g.h: Likewise.
3151         * config/m68k/hp320g.h: Likewise.
3152         * config/m68k/hp3bsd.h: Likewise.
3153         * config/m68k/hp3bsd44.h: Likewise.
3154         * config/m68k/linux-aout.h: Likewise.
3155         * config/m68k/m68k-aout.h: Likewise.
3156         * config/m68k/mot3300.h: Likewise.
3157         * config/m68k/netbsd.h: Likewise.
3158         * config/m68k/openbsd.h: Likewise.
3159         * config/m68k/pbb.h: Likewise.
3160         * config/m68k/plexus.h: Likewise.
3161         * config/m68k/sun2.h: Likewise.
3162         * config/m68k/sun3.h: Likewise.
3163         * config/m68k/tower-as.h: Likewise.
3164         * config/m68k/vxm68k.h: Likewise.
3165         * config/m88k/aout-dbx.h: Likewise.
3166         * config/m88k/m88k-aout.h: Likewise.
3167         * config/mcore/mcore-elf.h: Likewise.
3168         * config/mcore/mcore-pe.h: Likewise.
3169         * config/mips/elf.h: Likewise.
3170         * config/mips/elf64.h: Likewise.
3171         * config/mips/iris5gas.h: Likewise.
3172         * config/mips/iris6.h: Likewise.
3173         * config/mips/mips.h: Likewise.
3174         * config/mips/sni-gas.h: Likewise.
3175         * config/mmix/mmix.h: Likewise.
3176         * config/ns32k/netbsd.h: Likewise.
3177         * config/pa/pa64-hpux.h: Likewise.
3178         * config/romp/romp.h: Likewise.
3179         * config/rs6000/sysv4.h: Likewise.
3180         * config/rs6000/xcoff.h: Likewise.
3181         * config/sh/coff.h: Likewise.
3182         * config/sh/elf.h: Likewise.
3183         * config/sparc/linux64.h: Likewise.
3184         * config/sparc/liteelf.h: Likewise.
3185         * config/sparc/netbsd.h: Likewise.
3186         * config/sparc/openbsd.h: Likewise.
3187         * config/sparc/pbd.h: Likewise.
3188         * config/sparc/sp64-elf.h: Likewise.
3189         * config/sparc/sp86x-elf.h: Likewise.
3190         * config/sparc/sparc.h: Likewise.
3191         * config/vax/vax.h: Likewise.
3192         * config/vax/vaxv.h: Likewise.
3193
3194 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
3195
3196         * h8300.c (shift_alg_hi): Various tweaks to improve performance
3197         of HImode shifts.
3198         (get_shift_alg): Corresponding changes.
3199
3200 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3201
3202         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
3203
3204 2002-08-29  Richard Henderson  <rth@redhat.com>
3205
3206         * expr.h (enum block_op_methods): New.
3207         (emit_block_move): Update prototype.
3208         * expr.c (block_move_libcall_safe_for_call_parm): New.
3209         (emit_block_move_via_loop): New.
3210         (emit_block_move): Use them.  New argument METHOD.
3211         (emit_push_insn): Always respect the given alignment.
3212         (expand_assignment): Update call to emit_block_move.
3213         (store_expr, store_field, expand_expr): Likewise.
3214         * builtins.c (expand_builtin_apply): Likewise.
3215         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
3216         * function.c (expand_function_end): Likewise.
3217         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
3218         * config/sparc/sparc.c (sparc_va_arg): Likewise.
3219         * calls.c (expand_call, emit_library_call_value_1): Likewise.
3220         (save_fixed_argument_area): Use emit_block_move with
3221         BLOCK_OP_CALL_PARM instead of move_by_pieces.
3222         (restore_fixed_argument_area): Likewise.
3223         (store_one_arg): Fix alignment parameter to emit_push_insn.
3224
3225 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3226
3227         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
3228
3229 2002-08-29  Catherine Moore  <clm@redhat.com>
3230
3231         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
3232         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
3233         (PREDICATE_CODES): Include new predicates.
3234         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
3235         (TARGET_SWITCHES):  Add strict-align.
3236         (TARGET_STRICT_ALIGN): New.
3237         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
3238         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
3239         Define.
3240         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
3241         v850_muldi3.
3242         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
3243         L_callt_save_r2_r31, L_return_r2_r31,
3244         L_save_all_interrupt): Change addi to add.
3245         (L_save_interrupt, L_return_interrupt): Rework.
3246         (__return_r31):  Correct .size directive.
3247         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
3248         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
3249         New routines.
3250         * config/v850/v850.c (expand_prologue): Call
3251         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
3252         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
3253         (reg_or_int9_operand): New predicate.
3254         (reg_or_const_operand): New routine.
3255         * config/v850/v850.md (return_interrupt): Changed from
3256         restore_interrupt.
3257         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
3258         (callt_save_interrupt): Change save sequence.
3259         (callt_return_interrupt): New.
3260         (save_interrupt): Don't use runtime function for LONG_CALLS
3261         and TARGET_PROLOG_FUNCTION.
3262         (save_all_interrupt): Likewise.
3263         (mulsi3): Use new predicate.
3264         (moviscc): Disallow some combination of constants.
3265         Fix define_split for sasf insns, so that it will not generate bad
3266         code if operand0 and operand5 are the same.
3267         * config/v850/v850-protos.h: Prototype new predicates.
3268
3269 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3270
3271         * c-common.c (builtin_define_type_precision): New function.
3272         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
3273         wchar_t is unsigned in C++.
3274         * doc/cpp.texi (Common Predefined Macros): Document
3275         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
3276         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
3277         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
3278
3279 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
3280
3281         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
3282         section.  Mention that it is enabled by -Wall.
3283         (-Wall): Mention that there can be language-specific warnings as well.
3284         (-Wctor-dtor-privacy): Mention that it is enabled by default.
3285         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
3286
3287 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
3288
3289         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
3290         if it is ever live.
3291
3292         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
3293         attribute for SHCOMPACT.
3294
3295         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
3296         appropriately.
3297         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
3298         by the ABI.
3299
3300         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
3301
3302 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
3303
3304         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
3305         "MASK_GAS|MASK_ABICALLS".
3306         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
3307         (TARGET_DEFAULT): Remove.
3308         (MACHINE_TYPE): Undefine before defining.
3309         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
3310
3311 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
3312
3313         * c-common.c (warn_abi): New variable.
3314         * c-common.h (warn_abi): Likewise.
3315         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
3316         (c_common_decode_option): Handle it.
3317         * doc/invoke.texi: Document -Wabi.
3318
3319 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
3320
3321         * c-common.c (warn_undeclared_selector): New variable.
3322         * c-common.h (warn_undeclared_selector): Idem.
3323         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
3324         to on when -Wundeclared-selector is found.
3325         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
3326         * objc/objc-act.c (build_selector_expr): If
3327         warn_undeclared_selector is set, check that the selector has
3328         already been defined, and emit a warning if not.
3329
3330 2002-08-27  Nick Clifton  <nickc@redhat.com>
3331             Catherine Moore  <clm@redhat.com>
3332             Jim Wilson  <wilson@cygnus.com>
3333
3334         * config.gcc: Add v850e-*-* target.
3335         Add --with-cpu= support for v850.
3336         * config/v850/lib1funcs.asm: Add v850e callt functions.
3337         * config/v850/v850.h: Add support for v850e target.
3338         * config/v850/v850.c: Add functions to support v850e target.
3339         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
3340         * config/v850/v850.md: Add patterns for v850e instructions.
3341         * doc/invoke.texi: Document new v850e command line switches.
3342
3343 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
3344                           Aldy Hernandez <aldyh at redhat dot com>
3345
3346         * doc/tm.texi: Applied numerous fixes to the automaton based
3347         scheduler descrition.
3348
3349 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
3350
3351         * i386.c (classify_argument): Handle variable sized objects.
3352
3353 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
3354
3355         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
3356
3357 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
3358
3359         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
3360
3361 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
3362
3363         * i386.c (classify_argument): Properly compute word size of the analyzed object.
3364
3365 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
3366
3367         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
3368         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
3369         accordingly.
3370         (attribute insn_class): Provide default definitions based on type.
3371         Remove all insn-specific settings.
3372         (various function units): Remove old SH4 scheduling.
3373         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
3374         New attributes.  Set them where appropriate.
3375         (cpu unit FS): Don't define / use.
3376         (F3, load_store): New cpu units.
3377         (F01): New reservation.
3378         (all insn_reservations): Make dependent on sh4 pipeline model.
3379         Fix latencies.
3380         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
3381         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
3382         (mt insn_reservation): Use type mt_group.
3383         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
3384         sh4_fload and sh4_store.
3385         (insn_reservation branch_zero and branch): Replace with sh4_branch.
3386         (insn_reservation branch_far): Replace with sh4_return.
3387         (insn_reservation return_from_exp): Rename to:
3388         (sh4_return_from_exp).  Change to be just d_lock*5.
3389         (insn_reservation lds_to_pr): Rename to:
3390         (sh4_lds_to_pr).  Change to be just d_lock*2.
3391         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
3392         d_lock*2.
3393         (insn_reservation prload_mem): Rename to:
3394         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
3395         (insn_reservation fpscr_store): Rename to:
3396         (fpscr_load).  Change to d_lock,nothing,F1*3.
3397         (insn_reservation fpscr_store_mem): Rename to:
3398         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
3399         (insn_reservation multi): Change to
3400         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
3401         (insn_reservation fp_arith): Change to issue,F01,F2.
3402         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
3403         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
3404         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
3405         (insn_reservation fp_double_cmp): Change to
3406         d_lock,(d_lock+F01),F1+F2,F2.
3407         (insn_reservation dp_div): Change to
3408         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
3409         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
3410         (sh_adjust_cost, SHcompact): Differentiate between different
3411         kinds of dependencies.  Drop factor of ten for superscalar.
3412         Use new instruction types.  Add new exception rules.
3413
3414         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
3415
3416         * sh.md (mperm_w): Add DONE.
3417
3418 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
3419
3420         * longlong.h: Import current PowerPC defintion from GMP-4.1.
3421
3422         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
3423
3424         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
3425
3426 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
3427
3428         * sh.h (MAX_FIXED_MODE_SIZE): Define.
3429
3430 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
3431
3432         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
3433         delimiter.
3434
3435 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3436
3437         * c-common.c (cpp_define_data_format): New function.
3438         (cb_register_builtins): Call it.
3439
3440         * doc/cpp.texi (Common Predefined Macros): Document
3441         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
3442         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
3443         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
3444         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
3445         __TARGET_USES_VAX_H_FLOAT__.
3446
3447 2002-08-26  Ziemowit Laski <zlaski@apple.com>
3448
3449         * objc/objc-act.c (get_super_receiver): If inside a class method
3450         of a category, cast the receiver to 'id' before accessing the 'isa'
3451         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
3452
3453 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
3454
3455         * config/s390/s390-protos.h (s390_function_prologue,
3456         s390_function_epilogue): Remove.
3457         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
3458         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
3459
3460         config/s390/s390.c (s390_machine_dependent_recorg): New function.
3461         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
3462         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
3463         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
3464         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
3465
3466         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
3467         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
3468         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
3469         function is not a leaf function.  Use save_gprs and restore_gprs.
3470         (s390_emit_epilogue): Likewise.
3471         (save_gprs, restore_gprs): New functions.
3472         (struct s390_frame): Remove return_reg_saved_p member.
3473         (save_fprs_p): Remove.
3474         (s390_optimize_prolog): New function.
3475         (s390_legitimate_reload_constant): Remove now unnecessary check.
3476
3477         (s390_function_count): Remove.
3478         (s390_output_symbolic_const): Replace s390_function_count by