OSDN Git Service

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