OSDN Git Service

* c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-12-16  Jason Merrill  <jason@redhat.com>
2
3         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
4         doesn't match the begin SCOPE_STMT in partialness.
5
6 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
7
8         * genmultilib: Create temporary files in unique subdirectory.
9
10         * gcc.c (validate_switches): Allow '@' as a switch name.
11
12 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
13
14         * Makefile.in (gcov-iov.h): Improve portability.
15
16 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
17
18         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
19         gas
20         * mips.md (tablejump insn): Likewise.
21
22 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
23
24         * doc/include/gcc-common.texi: Change version number to 3.4.
25
26 2002-12-16  Bruce Korb  <bkorb@gnu.org>
27
28         * fixinc/fixlib.h: add: #include <signal.h>
29         * fixinc/fixincl.c: remove: #include <signal.h>
30
31 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
32
33         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
34         (EXTRA_CONSTRAINT): Use it.
35         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
36
37 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
38
39         * config.gcc (need_64bit_hwint): New variable.
40         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
41         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
42         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
43         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
44         Set it.
45         (powerpc*-*-darwin*): Unset it.
46         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
47         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
48         deleted/nonexistent xm-*.h headers.
49         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
50         target set need_64bit_hwint in config.gcc.
51         * configure, config.in: Regenerate.
52
53         * hwint.h: Overhaul.  Don't bother trying int for
54         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
55         decision to force 64-bit HOST_WIDE_INT on
56         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
57         not visible at this point.  Don't allow prior definition of
58         any macro defined by this file.
59
60         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
61         HOST_BITS_PER_WIDE_INT.
62         * config/c4x/c4x.h: Adjust redefinition of
63         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
64         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
65         config/i386/xm-i386-interix.h: Delete file.
66
67 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
68             John David Anglin  <dave@hiauly1.hia.nrc.ca>
69
70         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
71         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
72
73 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
74
75         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
76
77 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
78
79         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
80         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
81         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
82         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
83         config/v850/t-v850:  Correct dependencies and normalize
84         compilation commands for files that include coretypes.h and tm.h.
85
86         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
87         not config.h and system.h.
88
89 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
90
91         * i386.c (flags_reg_operand):  New function.
92         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
93         * i386.md (cmov splitter, movqicc): Use new predicate.
94
95 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
96
97         * i386.md (movqicc splitter): Fix template.
98
99 2002-12-13  Jason Merrill  <jason@redhat.com>
100
101         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
102         * calls.c (expand_call): Handle it.
103         * tree-inline.c (struct inline_data): Remove target_exprs field.
104         (optimize_inline_calls): Don't initialize it.
105         (expand_call_inline): Don't modify it.  Handle
106         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
107         (declare_return_variable): Take return slot addr.
108         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
109         to return_slot_addr.
110         * langhooks-def.h, langhooks.c: Adjust.
111         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
112         a decl with no DECL_INITIAL.
113
114         * expr.c (expand_expr): Don't discard the target of a call which
115         returns in memory.
116
117 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
118
119         * cppinit.c (path_include): Take an environment variable name.
120         Tidy up.
121         (init_standard_includes): Simplify environment handling, and
122         move to ...
123         (cpp_read_main_file): ...here as -nostdinc should not affect
124         environment variable paths.
125
126 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
127
128         * pa.c (output_millicode_call): Correct typo.
129         (output_call): Likewise.
130
131 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
132
133         * config/mn10300/mn10300.c (print_operand) <case N>: Check
134         operand's range.  Print value directly, without aid from
135         output_address.
136         <case U>: New.
137         <case S>: Make sure argument to fprintf has the right type.
138         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
139         (EXTRA_CONSTRAINT): Adjust.
140         * config/mn10300/mn10300.md: Add new all-QImode pattern for
141         bclr.  Use %U for immediate operands of bset and bclr.
142         (iorqi3): New expand, with insns for AM33 and mn10300.
143
144 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
145
146         * sh.c (sh_register_operand): New function.
147         (prepare_move_operands): Use it.
148         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
149         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
150         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
151         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
152         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
153         (movv2si_i): Likewise.
154
155 2002-12-13  Jim Wilson  <wilson@redhat.com>
156
157         * doc/extend.texi (Complex Numbers): Update info on debug info.
158
159 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
160
161         * config/h8300/h8300.md (addhi3_h8300): Remove the last
162         alternative.
163
164 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
165
166         * hooks.h (hook_tree_tree_bool_false): Declare
167         hook_bool_tree_tree_false instead.
168
169 2002-12-12  Devang Patel  <dpatel@apple.com>
170
171         * doc/invoke.texi: Document Darwin linker options, -bundle
172         -bind_at_load, -all_load and -arch_errors_fatal
173
174 2002-12-12  Jim Wilson  <wilson@redhat.com>
175
176         * dbxout.c (dbxout_fptype_value): New.
177         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
178
179 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
180
181         * c-decl.c: Fix a comment typo.
182         * cfg.c: Likewise.
183         * cfgcleanup.c: Likewise.
184         * cfglayout.c: Likewise.
185         * cfgrtl.c: Likewise.
186         * c-typeck.c: Likewise.
187         * dominance.c: Likewise.
188         * dwarf2asm.c: Likewise.
189         * dwarfout.c: Likewise.
190         * expmed.c: Likewise.
191         * expr.c: Likewise.
192         * final.c: Likewise.
193         * flow.c: Likewise.
194         * function.c: Likewise.
195         * gcc.c: Likewise.
196         * genautomata.c: Likewise.
197         * integrate.c: Likewise.
198         * loop.c: Likewise.
199         * loop.h: Likewise.
200         * output.h: Likewise.
201         * profile.c: Likewise.
202         * ra.h: Likewise.
203         * reload1.c: Likewise.
204         * reload.c: Likewise.
205         * sched-rgn.c: Likewise.
206         * stmt.c: Likewise.
207         * tree.h: Likewise.
208         * vmsdbgout.c: Likewise.
209
210 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
211
212         * config/h8300/h8300.md: Add a new peephole2.
213
214 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
215
216         * config/h8300/h8300.md (a peephole2): Accept a constant
217         that's accepted by CONST_OK_FOR_J.
218
219 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
220
221         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
222         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
223         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
224         (*addhi_h8300hs): Likewise.
225
226 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
227
228         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
229         (sh_register_move_cost): Add clause for SImode fp-fp moves.
230         Increase cost for moves involving multiple general purpose registers.
231         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
232         TARGET_FMOVD.
233         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
234         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
235         (enum reg_class reg_class_from_letter): No longer const.
236         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
237         REGCLASS_HAS_GENERAL_REG.
238         Handle SImode moves from/to fp registers.
239         ! TARGET_SHMEDIA && TARGET_FMOVD.
240         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
241         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
242
243 2002-12-12  Andreas Schwab  <schwab@suse.de>
244
245         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
246         change and some warnings.
247
248 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
249
250         * doc/md.texi (pushm): Fix a typo.
251
252 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
253
254         * config/mips/mips.c (mips_output_conditional_branch): Support
255         PIC-safe out-of-range branch and branch-likely.
256         * config/mips/mips.md (attr length): PIC-safe out-of-range
257         branches are longer.
258         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
259         unused code to support indirect jumps.
260
261 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
262
263         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
264         $(tm_file_list).
265
266 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
267
268         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
269
270 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
271
272         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
273
274 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
275
276         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
277         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
278         BIGGEST_ALIGNMENT.
279         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
280         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
281
282 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
283
284         * doc/invoke.texi: Correct dump file names.
285
286 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
287
288         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
289         name to globalize_label or assemble_name.
290
291 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
292
293         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
294         if not TARGET_SHMEDIA.
295
296 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
297
298         * sh.h (REG_CLASS_HAS_FP_REG): New.
299         (REGISTER_MOVE_COST) Use it.  Put body into a function and
300         move it into:
301         * sh.c (sh_register_move_cost).
302         * sh-protos.h (sh_register_move_cost): Declare.
303
304         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
305         (sh_adjust_cost): Always return a value.
306
307 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
308
309         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
310         (REGISTER_MOVE_COST): Use it.
311
312 2002-12-11  Richard Henderson  <rth@redhat.com>
313
314         * tree.h (MODULE_LOCAL_P): Kill.
315         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
316
317 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
318
319         * config/h8300/h8300.md (two define_peephole2): New.
320
321 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
322
323         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
324         (CONST_OK_FOR_K): Likewise.
325         (CONST_OK_FOR_M): Likewise.
326         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
327
328 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
329
330         * c-common.c (builtin_define_type_max): Handle unsigned
331         types too.
332
333 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
334
335         * haifa-sched.c (rank_for_schedule): Correct style.
336
337 2002-12-10  Per Bothner  <pbothner@apple.com>
338
339         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
340         directive_index into an unsigned field and a new is_directive field.
341         * cppinit.c (mark_named_operators):  Update to set new fields.
342         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
343         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
344         No longer need to subtract 1 from directive_index.
345         (_cpp_init_directives):  No longer need to add 1 to directive_index.
346         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
347
348 2002-12-10  Roger Sayle  <roger@eyesopen.com>
349
350         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
351         check for evaluating sqrt of a constant at compile time.
352         * simplify-rtx.c (simplify_unary_operation): Likewise.
353
354 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
355
356         PR other/8882
357         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
358
359 2002-12-10  Devang Patel  <dpatel@appple.com>
360
361         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
362         * doc/invoke.texi: Add new "Darwin Options" section.
363
364 2002-12-10  Jim Wilson  <wilson@redhat.com>
365
366         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
367         memory.
368
369 2002-12-10  Andrew Haley  <aph@redhat.com>
370
371         * cse.c (cse_insn): Don't cse past a basic block boundary.
372
373 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
374
375         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
376         -shared.
377         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
378         * config/alpha/linux.h (LIB_SPEC): Likewise.
379         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
380         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
381         * config/sparc/linux.h (LIB_SPEC): Likewise.
382         * config/sparc/linux64.h (LIB_SPEC): Likewise.
383
384 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
385
386         * doc/invoke.texi: Document UltraSparc III option.
387
388 2002-12-09  Richard Henderson  <rth@redhat.com>
389
390         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
391         __tune_pentium2__ and __tune_pentium3__ as necessary.
392
393 2002-12-09  Richard Henderson  <rth@redhat.com>
394
395         * target.h (gcc_target): Add cannot_force_const_mem.
396         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
397         (TARGET_INITIALIZER): Add it.
398         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
399         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
400         * reload1.c (reload): Likewise.
401         * hooks.c (hook_bool_rtx_false): New.
402         * hooks.h: Declare it.
403
404         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
405         (TARGET_CANNOT_FORCE_CONST_MEM): New.
406         (ix86_expand_move): Remove de-const-pooling hack.
407
408 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
409
410         * toplev.c (dump_file): Fix order to match reality.
411
412 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
413
414         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
415         (store_multiple): Likewise.
416
417 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
418
419         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
420         function pointers in page 0.
421
422 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
423
424         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
425         definition
426         (MEMBER_TYPE_FORCES_BLK): Move.
427         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
428         aggregate arguments.
429         (ia64_function_value): Use PARALLEL to return aggregate values.
430
431 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
432
433         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
434         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
435         * calls.c (store_unaligned_arguments_into_pseudos) Remove
436         FUNCTION_ARG_REG_LITTLE_ENDIAN.
437         * stmt.c (expand_return): Ditto.
438         * expr.c (move_block_from_reg): Ditto.
439         (copy_blkmode_from_reg): Ditto.
440         * expmed.c (store_bit_field): Ditto.
441
442 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
443
444         * config.gcc: Added tic4x-* target as an alias to c4x-*
445
446 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
447
448         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
449         constructing insn directly.
450
451 2002-12-06  Per Bothner  <pbothner@apple.com>
452
453         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
454         char to an int bit-field, for hosts where char is unsigned.
455
456 2002-12-07  Roger Sayle  <roger@eyesopen.com>
457             Richard Henderson <rth@redhat.com>
458
459         * real.c (ieee_extended_motorola_format,
460         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
461         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
462         Provide appropriate values for new signbit field.
463
464 2002-12-07  Roger Sayle  <roger@eyesopen.com>
465
466         * real.h (real_format): Add signbit field.
467         * real.c (ieee_single_format, ieee_double_format,
468         ieee_extended_motorola_format, ieee_extended_intel_96_format,
469         ieee_extended_intel_128_format, ibm_extended_format,
470         ieee_quad_format, vax_f_format, vax_d_format,
471         vax_g_format, i370_single_format, i370_double_format,
472         c4x_single_format, c4x_extended_format, real_internal_format):
473         Provide suitable signbit value, or -1 to avoid bit twiddling.
474
475         * optabs.c (expand_unop): Try implementing negation of
476         floating point modes by flipping the sign bit.
477         (expand_abs): Try implementing abs of floating point modes
478         by clearing the sign bit.
479
480 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
481
482         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
483         of constructing insn directly.
484
485 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
486
487         * config/h8300/h8300.md (*iorhi_shift_8): New.
488
489 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
490
491         * doc/invoke.texi: Document FRV port options.
492         * doc/md.texi: Document FRV register classes.
493
494 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
495
496         * doc/install.texi (Configuration): Improve description of cases
497         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
498
499 2002-12-06  Per Bothner  <pbothner@apple.com>
500
501         * cpplib.h (NODE_MACRO_ARG):  New flag.
502         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
503         Remove value.operator field.  Move arg_index field to value union.
504         (directive_index):  Make signed, since also used for C++ operators.
505         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
506         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
507         Save node->value, and set node->value.arg_index.
508         (_cpp_create_definition):  For each paramater, restore node->value.
509         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
510         * cpptrad.c (scan_out_logical_line): Likewise.
511         (scan_out_logical_line): Check for directive > 0.
512         * cpplib.c (cpp_handle_directive):  Likewise.
513         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
514         by negative of directive_index.
515         * cppinit.c (mark_named_operators):  Likewise.
516
517         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
518
519 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
520
521         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
522         FPU.
523         (push): Generate push_fpscr.
524         (pop): Generate pop_fpscr.
525         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
526         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
527
528 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
529
530         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
531         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
532
533 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
534
535         * sh.md (movdi_i): Name.  Remove inappropriate comment.
536
537 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
538         Merged from basic improvements branch (excerpt):
539
540         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
541         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
542
543 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
544
545         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
546
547 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
548
549         * i386.md (dimode peep2s): Re-add "&& 1".
550
551 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
552
553         * i386.c (ix86_expand_prologue):  Add comment, do not use
554         fast prologues for cold and normal functions.
555
556 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
557
558         * i386.c (x86_rep_movl_optimal): New variable.
559         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
560         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
561
562         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
563         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
564         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
565         generate unnecesary subregs.
566
567 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
568
569         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
570         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
571
572 2002-12-05  Dale Johannesen  <dalej@apple.com>
573
574         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
575
576 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
577
578         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
579         PROFILE_HOOK.
580         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
581
582 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
583
584         * config/rs6000/spe.h (__ev_mwlufi): Remove.
585         (__ev_mwlufia): Remove.
586         (__ev_mwlumfaaw): Remove.
587         (__ev_mwlusfaaw): Remove.
588         (__ev_mwlumfanw): Remove.
589         (__ev_mwlusfanw): Remove.
590
591 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
592
593         * config/h8300/h8300.md (*andorsi3_shift_8): New.
594
595 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
596
597         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
598         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
599         (get_shift_alg): Return optimal assembly instructions for the
600         shifts mentioned above.
601
602 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
603
604         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
605         condtiional moves.
606
607 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
608
609         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
610         implement ashiftrt:HI by 13 bits on H8S.
611
612 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
613
614         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
615         * pa.md (canonicalize_funcptr_for_compare): Output library call to
616         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
617         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
618         CTOR_LIST_BEGIN): New defines.
619         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
620         (fptr.c): Add make rules.
621
622 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
623
624         * combine.c (combine_simplify_rtx): Add new canonicalizations.
625         * doc/md.texi (Insn Canonicalizations): Document new
626         canonicalizations for multiply/add combinations.
627         * config/rs6000/rs6000.md: Add and modify floating add/multiply
628         patterns to ensure they're used whenever they can be.
629
630 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
631
632         * config/h8300/h8300.c: Update the comments related to shifts.
633
634 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
635
636         * config/mips/mips.md (get_fnaddr): Correct length attribute.
637
638 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
639
640         * config/h8300/h8300.md (*extzv_8_8): New.
641         (*extzv_8_16): Likewise.
642
643 2002-12-04  Jason Merrill  <jason@redhat.com>
644
645         PR c++/8461, c++/8625
646         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
647         references.
648         * tree-inline.c (initialize_inlined_parameters): Likewise.
649
650         * tree.c (variably_modified_type_p): Just return an error_mark_node.
651
652 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
653
654         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
655         macro instruction in a branch delay slot, to avoid assembler
656         warnings.
657
658 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
659
660         PR c/7622
661         * c-semantics (genrtl_scope_stmt): Do not output inlined
662         nested functions that contain no code.
663
664 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
665
666         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
667         to be forced into nonfallthru.
668
669 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
670
671         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
672
673 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
674
675         * config/rs6000/spe.md (*movv1di_const0): New pattern.
676
677 2002-12-03  Richard Henderson  <rth@redhat.com>
678
679         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
680
681 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
682
683         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
684         Initialize tmp.using_obstack to 0.
685
686 2002-12-03  Andreas Schwab  <schwab@suse.de>
687
688         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
689         (EH_RETURN_STACKADJ_RTX): Define.
690         (EH_RETURN_HANDLER_RTX): Define.
691         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
692         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
693         registers and don't save fixed registers.
694         (m68k_output_function_prologue): Use it.
695         (use_return_insn): Likewise.
696         (m68k_output_function_epilogue): Likewise.
697
698 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
699
700         * config/h8300/h8300.c (single_one_operand): Fix a warning.
701         (single_zero_operand): Likewise.
702
703 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
704
705         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
706         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
707         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
708         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
709         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
710         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
711         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
712         doc/install-old.texi: Replace hconfig.h with bconfig.h.
713         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
714
715 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
716
717         * config/rs6000/rs6000.md (ffssi): Convert to expander.
718         (ffsdi): Likewise.
719         (cntlzw2, cntlzd2): New patterns.
720
721 2002-12-02  H.J. Lu <hjl@gnu.org>
722
723         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
724         (mips*-*-linux*): Remove mips/t-linux.
725
726 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
727
728         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
729
730 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
731
732         * config/h8300/h8300.c (dosize): Replace argument op with
733         sign.
734         (h8300_output_function_prologue): Update the call to dosize.
735         (h8300_output_function_epilogue): Likewise.
736
737 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
738
739         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
740
741 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
742
743         * configure.in: Use "missing" script to generate warning if
744         flex or bison programs not found, instead of invoking "false".
745         * configure: Rebuilt.
746
747 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
748
749         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
750
751 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
752
753         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
754
755 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
756
757         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
758         (push): Likewise.
759         (pop): Likewise.
760         (h8300_output_function_prologue): Likewise.
761         (h8300_output_function_epilogue): Likewise.
762
763 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
764
765         * expmed.c (store_bit_field): Use int_mode_for_mode to find
766         corresponding mode of non-integer mode, unless it is VOIDmode.
767
768 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
769
770         * config/h8300/h8300.md (stm_h8300s_2): New.
771         (stm_h8300s_3): Likewise.
772         (stm_h8300s_4): Likewise.
773         (five define_peephole2): Likewise.
774
775 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
776
777         * ra-build.c: Fix a comment typo.
778
779 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
780
781         * i386.c (ix86_expand_int_movcc): fix
782         reversed BRANCH_COST test; be curefull about infinite recursion.
783
784 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
785
786         * config/h8300/h8300.c (h8300_output_function_prologue):
787         Remove variable idx.
788         (h8300_output_function_epilogue): Likewise.
789
790 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
791
792         * config/frv/xm-frv.h: Delete, unnecessary.
793
794 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
795
796         * config/h8300/h8300.md: Add comments for define_peephole2.
797
798 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
799
800         * builtin-types.def (BT_SIZE): Use size_type_node.
801         * builtins.c (fold_builtin): Make the builtin strlen returns a
802         size_t, not a sizetype.
803         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
804         c_size_type_node.
805         (c_alignof_expr): Likewise.
806         (c_common_nodes_and_builtins): Likewise.
807         * c-common.h (CTI_C_SIZE_TYPE): Remove.
808         (c_size_type_node): Likewise.
809         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
810         * tree.h (TI_SIZE_TYPE): New enumeral.
811         (size_type_node): Likewise.
812
813 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
814
815         * configure.in: Don't put ${tm_file} into host_xm_file,
816         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
817         Take location of tm-preds.h into account when calculating
818         tm_p_file_list.
819         * configure: Regenerate.
820         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
821         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
822         Remove special case code for tm_p.h and *config.h; add new
823         special case code for tm.h and tconfig.h. Clean up a bit.
824
825         * Makefile.in (tm_file, tm_file_list): New variables set from
826         @-substitutions.
827         (GCONFIG_H): Deleted.
828         (GTM_H, TM_H): New.
829         (CONFIG_H): Is now just config.h $(host_xm_file_list).
830         (TM_P_H): Move up with the other mkconfig.sh-generated
831         headers; don't mention tm-preds.h explicitly.
832         (tm.h, cs-tm.h): New rule.
833         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
834         invocations of mkconfig.sh for changes to that program.
835         (mostlyclean): Delete print-rtl1.c.
836         (clean): Delete tm.h.
837         Update dependencies for the files listed below.
838
839         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
840
841         * coretypes.h: New file.
842         * system.h: #define malloc to xmalloc and realloc to xrealloc
843         when FLEX_SCANNER or YYBISON is defined, independent of the
844         value of GCC_VERSION.
845         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
846         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
847         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
848         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
849         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
850         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
851         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
852         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
853         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
854         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
855         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
856         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
857         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
858         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
859         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
860         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
861         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
862         genconstants.c, genemit.c, genextract.c, genflags.c,
863         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
864         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
865         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
866         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
867         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
868         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
869         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
870         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
871         print-tree.c, profile.c, protoize.c, ra-build.c,
872         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
873         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
874         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
875         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
876         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
877         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
878         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
879         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
880         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
881         xcoffout.c, config/darwin-c.c, config/darwin.c,
882         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
883         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
884         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
885         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
886         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
887         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
888         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
889         config/i960/i960-c.c, config/i960/i960.c,
890         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
891         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
892         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
893         config/mips/irix6-libc-compat.c, config/mips/mips.c,
894         config/mmix/mmix.c, config/mn10200/mn10200.c,
895         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
896         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
897         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
898         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
899         config/sparc/sparc.c, config/stormy16/stormy16.c,
900         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
901         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
902         Include coretypes.h and tm.h.
903
904         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
905         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
906         genrecog.c: Include coretypes.h and tm.h from the file
907         generated by this program.
908
909         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
910         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
911         coretypes.h and tm.h, and tsystem.h when not already included.
912         No need to include stddef.h nor stdlib.h.
913
914         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
915         include auto-host.h or ansidecl.h/
916         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
917         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
918         include auto-host.h, ansidecl.h, or system.h.
919         * fixinc/server.c: Likewise.  Also, do not include signal.h,
920         and do not redefine volatile.
921
922 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
923
924         * i386.md (movdf_integer):  Always enable in 64bit.
925         (movdf_nointeger): Always disable in 64bit.
926
927 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
928
929         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
930         pseudo register number plus 1.
931
932 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
933
934         * expmed.c (store_bit_field): Use int_mode_for_mode to find
935         corresponding mode of non-integer mode, unless it is VOIDmode.
936
937 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
938
939         * cpplib.c (_cpp_test_assertion): Default *value to 0.
940
941         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
942
943 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
944
945         * config/s390/t-crtstuff: New target makefile fragment.
946         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
947
948 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
949
950         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
951         alternatives to correct the length when the memory operand is
952         either pre_dec or post_inc.
953
954 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
955
956         * config/h8300/h8300.md (an anonymous pattern): Give an
957         internal name *tst_extzv_bitqi_1_n.
958         Accept bit_operand instead of bit_memory_operand.
959         Do not accept bit tests with the MSB.
960         (*tst_extzv_memqi_1_n): New.
961
962 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
963
964         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
965         sharing when operand is SUBREG.
966
967 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
968
969         * athlon.md (athlon-decodev): New reservation unit.
970         (athlon-direct0): New reservation.
971         (athlon-vector): New use athlon-decodev.
972         (athlon-double, athlon-direct): Better model.
973         (athlon_imul_k8): Use athlon-direct0.
974         (athlon_movlpd_load): New insn reservation.
975
976 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
977
978         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
979         Fix a comment typo.
980         (h8300_tiny_constant_address_p): Likewise.
981
982 2002-11-28  Michael Matz  <matz@suse.de>
983
984         * doc/passes.texi: Mention the other register allocator.
985
986 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
987
988         * config/h8300/h8300.md (6 new peephole2 patterns): New.
989
990 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
991
992         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
993         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
994         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
995
996 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
997
998         * config/h8300/h8300.c (h8300_and_costs): New.
999         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
1000         * config/h8300/h8300-protos.h: Add a prototype for
1001         h8300_and_costs.
1002
1003 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
1004
1005         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
1006         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
1007         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
1008         * i386.md (truncdfsf patterns and splitters): Use
1009         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
1010
1011 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
1012
1013         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
1014         pointer argument in the prototypes of the following builtins
1015         be (const TYPE *) rather than (TYPE *):
1016          + __builtin_altivec_ld_internal_4sf
1017          + __builtin_altivec_ld_internal_4si
1018          + __builtin_altivec_ld_internal_8hi
1019          + __builtin_altivec_ld_internal_16qi
1020          + __builtin_altivec_lvsl
1021          + __builtin_altivec_lvsr
1022          + __builtin_altivec_lvebx
1023          + __builtin_altivec_lvehx
1024          + __builtin_altivec_lvewx
1025          + __builtin_altivec_lvxl
1026          + __builtin_altivec_lvx
1027          + __builtin_altivec_dst
1028          + __builtin_altivec_dstt
1029          + __builtin_altivec_dstst
1030          + __builtin_altivec_dststt
1031
1032 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1033
1034         * except.c (default_exception_section): Move variable into the
1035         scope where it is used.
1036
1037 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
1038
1039         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
1040         correct version.
1041
1042 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1043
1044         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
1045
1046 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1047
1048         * config/h8300/h8300.c (h8300_shift_costs): New.
1049         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
1050         * config/h8300/h8300-protos.h: Add a prototype for
1051         h8300_shift_costs.
1052
1053 2002-11-27  Jim Wilson  <wilson@redhat.com>
1054
1055         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
1056         in output template.
1057
1058 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
1059
1060         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
1061         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
1062         DLL_IMPORT_EXPORT_PREFIX, not '@'.
1063         (i386_pe_dllimport_name_p): Likewise.
1064         (i386_pe_mark_dllexport): Likewise.
1065         (i386_pe_mark_dllimport): Likewise.
1066         (i386_pe_encode_section_info): Likewise.
1067         (i386_pe_strip_name_encoding): Likewise.
1068
1069 2002-11-27  Richard Henderson  <rth@redhat.com>
1070
1071         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
1072         (nm && NF == 3): Set sawsymbol true.
1073         (END): Exit if no symbols seen.
1074         (output): Fix map syntax error if no globals for the version.
1075
1076 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
1077
1078         * builtins.def (DEF_C99_BUILTIN): Fix.
1079
1080 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
1081
1082         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
1083         (all): Add .size and .type information.
1084
1085 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
1086
1087         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
1088         partial_reg_stall target.
1089
1090 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1091
1092         * i386.md (movhicc): Allow general operand.
1093         (movqicc): New expander.
1094         (movqicc_noc): New pattern.
1095         * i386.c (ix86_expand_carry_flag_compare): New function.
1096         (ix86_expand_int_movcc): Optimize harder using sbb; support more
1097         HImode conversion; support QImode conditional moves
1098
1099 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
1100
1101         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
1102         (ix86_expand_prologue): Multiply the count by amount of registers to be
1103         pushed.
1104
1105 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
1106
1107         * i386.c (override_options): Error about wrong -mcpu on x86-64
1108         compilation.
1109
1110 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
1111
1112         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
1113
1114 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
1115
1116         * i386-protos.h (x86_extended_QIreg_mentioned_p,
1117         x86_extended_reg_mentioned_p): Declare.
1118         * i386.c (extended_reg_mentioned_1): New static function.
1119         (x86_extended_QIreg_mentioned_p,
1120         x86_extended_reg_mentioned_p): New global functions.
1121         * i386.h (REX_SSE_REGNO_P): New macro.
1122         * i386.md (prefix_rex): New attribute.
1123         (length attribute): Add rex.
1124
1125 2002-11-26  Andrew Haley  <aph@redhat.com>
1126
1127         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
1128         from_Unwind_Find_Enclosing_Function.
1129         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
1130         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
1131         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
1132         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
1133         * unwind.h (_Unwind_FindEnclosingFunction): Add.
1134
1135 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1136
1137         * config/s390/s390.c (390_output_constant_pool): Set alignment
1138         before label in 64 bit mode, behind otherwise.
1139
1140 2002-11-26  Richard Henderson  <rth@redhat.com>
1141
1142         * c-common.c (handle_visibility_attribute): Accept "default".
1143         * tree.h (enum symbol_visibility): New.
1144         (decl_visibility): Declare.
1145         * target.h (gcc_target.visibility): Take visibility arg as integer.
1146         * varasm.c (default_assemble_visibility): Likewise.
1147         (decl_visibility): New.
1148         (maybe_assemble_visibility): Use it.
1149         * output.h (default_assemble_visibility): Update prototype.
1150         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
1151         visibility arg as integer.
1152         * doc/extend.texi: Document default visibility.
1153
1154 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
1155
1156         * config/h8300/h8300.c: Adjust spacing.
1157         * config/h8300/h8300.h: Likewise.
1158
1159 2002-11-26  Richard Henderson  <rth@redhat.com>
1160
1161         * hooks.c (hook_bool_void_false, hook_void_tree_int,
1162         hook_void_FILEptr_constcharptr): Rename so that the return
1163         type is first.
1164         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
1165         hook_bool_tree_false): New.
1166         * hooks.h: Update.
1167         * langhooks-def.h: Update for renames.
1168         * target-def.h: Likewise.
1169         * tree.c (default_comp_type_attributes,
1170         default_set_default_type_attributes, default_insert_attributes,
1171         default_function_attribute_inlinable_p,
1172         default_ms_bitfield_layout_p): Remove.
1173         * tree.h: Update.
1174
1175 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1176
1177         * pa-protos.h (function_value): New prototype.
1178         * pa.c (function_value): Use a PARALLEL to return small aggregates on
1179         TARGET_64BIT.
1180         * pa.h (FUNCTION_VALUE): Use function_value.
1181         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
1182         call_value_internal_reg, sibcall_value_internal_symref,
1183         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
1184         value.
1185
1186 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1187
1188         * expr.c (gen_group_rtx, emit_group_move): New functions.
1189         * expr.h (gen_group_rtx, emit_group_move): Prototype.
1190         * function.c (expand_function_start): Use gen_group_rtx to create a
1191         PARALLEL rtx to hold the return value when the real return rtx is a
1192         PARALLEL.
1193         (expand_function_end): Use emit_group_move to move the return value
1194         from a PARALLEL to the real return registers.
1195         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
1196         in PARALLELs.
1197
1198 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1199
1200         * config/t-libc-ok: Fix typo.
1201
1202 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1203
1204         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
1205         before AC_PROG_CC.
1206         * configure: Rebuilt.
1207
1208 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
1209
1210         * c-decl.c: (start_struct): Commonize flag setting.
1211
1212 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1213
1214         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
1215         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
1216         RS6000_CPU_CPP_ENDIAN_BUILTINS.
1217         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
1218
1219 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1220
1221         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
1222         insns.
1223         * config/s390/s390.c (struct machine_function): Introduction of
1224         struct machine_function.
1225         (s390_output_symbolic_const): Use of cfun.
1226         (s390_optimize_prolog): Likewise.
1227         (s390_fixup_clobbered_return_reg): Likewise.
1228         (s390_frame_info): Likewise.
1229         (s390_emit_prologue, s390_emit_epilogue): Likewise.
1230         (s390_init_machine_status): New function.
1231         (override_options): call s390_init_machine_status.
1232         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
1233         prototype.
1234
1235 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1236
1237         * varasm.c (output_constant_pool): For pool constants in mergeable
1238         section ensure each constant is padded to multiple of entity size.
1239
1240 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1241
1242         * varasm.c (default_exception_section): Move to...
1243         * except.c (default_exception_section): ... here. Make
1244         .gcc_except_table read-only if it is not expected to have any
1245         dynamic relocations and linker handles it.
1246         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
1247         if it is not expected to have any dynamic relocations and linker
1248         handles it.
1249         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
1250         when linking read-only and read-write sections together.
1251         * configure, config.in: Rebuilt.
1252         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
1253         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
1254
1255 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
1256
1257         * i386.md (pushsf_rex64): Fix typo.
1258
1259 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1260
1261         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
1262         new function.
1263         (__ev_create_ufix32_fs): Same.
1264         (__ev_get_sfix32_fs_internal): New.
1265         (__ev_get_sfix32_fs): Define to use function.
1266         (__ev_get_ufix32_fs_internal): New.
1267         (__ev_get_ufix32_fs): Define to use function.
1268         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
1269         (__ev_get_lower_ufix32_fs): Same.
1270         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
1271         (__ev_get_lower_sfix32_fs): Same.
1272         (__ev_set_sfix32_fs_internal): New.
1273         (__ev_set_ufix32_fs_internal): New.
1274         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
1275         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
1276         (__ev_set_upper_sfix32_fs): Call function.
1277         (__ev_set_lower_sfix32_fs): Same.
1278         (__ev_set_upper_ufix32_fs): Same.
1279         (__ev_set_lower_ufix32_fs): Same.
1280
1281 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
1282
1283         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
1284
1285 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1286
1287         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
1288         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1289         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1290         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
1291         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
1292         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1293         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
1294         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
1295         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1296         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1297         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
1298         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
1299         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
1300         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1301         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
1302         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
1303         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
1304         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
1305         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
1306         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
1307         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1308         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
1309         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
1310         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
1311         defining.
1312         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
1313         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
1314
1315 2002-11-25  Dave Pitts  <dpitts@cozx.com>
1316
1317         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
1318
1319 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
1320
1321         * config/h8300/h8300.md (an anonymous pattern): New.
1322
1323 2002-11-25  Richard Henderson  <rth@redhat.com>
1324
1325         * alias.c (find_base_value): Use new_reg_base_value if it's live.
1326         (copying_arguments): Make boolean.
1327
1328 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1329
1330         * gcc.c (static_spec_functions): Add if-exists-else spec
1331         function.
1332         (if_exists_else_spec_function): New function.
1333         * doc/invoke.texi: Document the if-exists-else spec function.
1334
1335         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
1336         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
1337
1338 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1339
1340         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
1341         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
1342         "${tmake_file} rs6000/t-netbsd".
1343         * config/rs6000/netbsd.h: Rewrite.
1344         * config/rs6000/t-netbsd: New file.
1345
1346 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
1347
1348         * config/h8300/h8300.md (an anonymous pattern): Relax the
1349         condition for the pattern.
1350
1351 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1352
1353         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
1354         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
1355         evmwlssfanw, evmwlsmfanw.
1356
1357         * config/rs6000/rs6000.c (bdesc_2arg): Same.
1358
1359         * config/rs6000/spe.md: Same for patterns.
1360
1361 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
1362
1363         PR c/8639
1364         * fold-const.c (extract_muldiv): Don't propagate division unless
1365         both arguments are multiples of C.
1366
1367 2002-11-25  Andrew Haley  <aph@redhat.com>
1368
1369         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
1370         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
1371         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
1372         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
1373
1374 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
1375
1376         * i386.c (x86_use_ffreep): New global variable.
1377         * i386.h (x86_use_frfeep): Declare
1378         (TARGET_USE_FFREEP): New macro
1379         * i386.md  (movs?f*): Use freep when asked for.
1380         (push?f): Remove dead code.
1381
1382 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1383
1384         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
1385         target help message.
1386
1387 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1388
1389         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
1390         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
1391         crtbeginT.o".
1392         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
1393         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
1394         to "" for a.out configurations.
1395         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
1396
1397 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1398
1399         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
1400         NETBSD_CPP_SPEC directly.
1401         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
1402         netbsd_endfile_spec.
1403         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
1404
1405 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1406
1407         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
1408         NETBSD_STARTFILE_SPEC.
1409         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
1410         (ENDFILE_SPEC): Likewise.
1411         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
1412
1413 2002-11-24  Andreas Schwab  <schwab@suse.de>
1414
1415         * Makefile.in (install-driver): Remove versioned link before
1416         trying to create it.
1417
1418         * config/m68k/m68k.c: Fix typo in last change defining
1419         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
1420
1421 2002-11-23  H.J. Lu <hjl@gnu.org>
1422
1423         * aclocal.m4: Include ../config/accross.m4.
1424         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
1425         (gcc_AC_C_COMPILE_ENDIAN): Removed.
1426         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
1427         instead of $ac_cv_c_compile_endian.
1428
1429         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
1430         AC_COMPILE_CHECK_SIZEOF.
1431         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
1432         * configure: Rebuild.
1433
1434 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
1435
1436         * config/h8300/h8300.c (print_operand): Update the use of
1437         h8300_tiny_constant_address_p.
1438         (h8300_adjust_insn_length): Likewise.
1439         (h8300_tiny_constant_address_p): Check if the given rtx is a
1440         variable declared with __attribute__ ((tiny_data)).
1441
1442 2002-11-22  Dale Johannesen  <dalej@apple.com>
1443
1444         * toplev.c (rest_of_compilation):  Fix comments.
1445
1446 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
1447
1448         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
1449         allow mmap from /dev/zero.  Don't make decisions for the host
1450         based on presence or absence of /dev/zero on the build machine.
1451         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
1452         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
1453         * configure: Regenerate.
1454
1455 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
1456
1457         * gcc.c (make_relative_prefix, split_directories)
1458         (free_split_directories): Removed.
1459
1460 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
1461
1462         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
1463         * configure: Regenerated.
1464
1465 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
1466
1467         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
1468         length computation when xor.l is output.
1469
1470 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
1471
1472         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
1473         (call_vms_1, call_value_vms_1): Cleanup syntax.
1474
1475 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
1476
1477         * athlon.md (define_atuomaton): Add athlon_load.
1478         (athlon-double): New reservation.
1479         (athlon-ieu0): New CPU unit.
1480         (athlon-load?): Use athlon_load automaton.
1481         (*_k8 reservations): New.
1482         (other insn revervations): Activate for K8.
1483
1484 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
1485
1486         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
1487
1488 2002-11-21  Jim Wilson  <wilson@redhat.com>
1489
1490         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
1491         vectors to SI.
1492
1493 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
1494
1495         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
1496         * config/xtensa/xtensa.c (struct machine_function): Add
1497         incoming_a7_copied flag.
1498         (xtensa_copy_incoming_a7): Define.
1499         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
1500         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
1501
1502 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
1503
1504         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
1505         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
1506         x86_64_nonmemory_operand, x86_64_movabs_operand,
1507         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
1508         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
1509         (local_symbolic_operand): Do not care the 64bit limits.
1510         (x86_64_sign_extended_value): Remove allow_rip support.
1511         (legitimate_pic_address_disp_p): Handle all cases allowed
1512         with RIP addressing.
1513         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
1514         (legitimize_pic_address): Reorganize.
1515         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
1516
1517 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1518
1519         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
1520         * config/arm/netbsd-elf.h: New file.
1521
1522 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1523
1524         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
1525         subtarget_asm_float_spec.
1526         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
1527         defaults from...
1528         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
1529
1530 2002-11-21  Nick Clifton  <nickc@redhat.com>
1531
1532         * config/fr30/fr30.md (movsf_constant_store): Move code to
1533         detect 0.0 into fr30.c.
1534         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
1535         Prototype.
1536         * config/fr30/fr30.c (fr30_const_double_is_zero): New
1537         function.  Return true if the rtx is 0.0.
1538
1539 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1540
1541         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
1542         if -mlittle-endian is specified.
1543
1544 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
1545
1546         PR optimization/2903
1547         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
1548         (anddi_notsesidi_di): Likewise.
1549
1550 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
1551
1552         * config/h8300/h8300.c (print_operand): Use
1553         h8300_eightbit_constant_address_p and
1554         h8300_tiny_constant_address_p.
1555         (h8300_adjust_insn_length): Likewise.
1556         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
1557         (TINY_CONSTANT_ADDRESS_P): Likewise.
1558         (OK_FOR_U): Use eightbit_constant_address_p.
1559
1560 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
1561
1562         * config/s390/libgcc-libc.ver: Add multilib support.
1563         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
1564         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
1565         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
1566         EXTRA_MULTILIB_PARTS): Define.
1567
1568 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
1569
1570         * arm.c (arm_get_frame_size): A leaf function does not need its
1571         stack padding to an aligned boundary if it has no frame.
1572         (thumb_get_frame_size): Likewise.
1573
1574 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
1575
1576         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
1577         (override_options): Likewise.
1578
1579 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
1580
1581         * config.gcc: Add k8 target alias support
1582         * i386.c (_cost): Declare costs for various variants of divides and
1583         multiplies.
1584         (k8_cost): New.
1585         (m_K8, m_ATHLON_K8): New macros.
1586         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
1587         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
1588         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
1589         x86_integer_DFmode_moves, x86_partial_reg_dependency,
1590         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
1591         x86_prologue_using_move, x86_epilogue_using_move,
1592         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
1593         x86_sse_typeless_stores): Set for K8
1594         (override_options): Add k8 support; fix athlon alignment;
1595         complain about non-x86-64 capable CPU being used in x86-64 compilation.
1596         (ix86_issue_rate): Set for K8.
1597         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
1598         x86_machine_dependent_reorg): Handle K8 like
1599         * i386.h
1600         (x86_costs):  Change mult_init and divide into array.
1601         (TARGET_K8, TARGET_ATHLON): New macros.
1602         (MODE_INDEX): New macro.
1603         (RTX_COST): Use new costs.
1604         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
1605         (TARGET_CPU_DEFAULT_NAMES): Add k8
1606         (TARGET_CPU_DEFAULT_k8): New constant
1607         (enum processor_type): Add PROCESSOR_K8.
1608         * i386.md (cpu attribute): Add k8.
1609
1610         * invoke.texi: Document -march=k8.
1611
1612         * i386.md (type attribute): Add leave
1613         (mode attribute): Remove unknownfp.
1614         (length_immediate, modrm, memory attributes): Handle leave correctly.
1615         (fp comparison patterns): Determine FP mode.
1616         (leave, leave_rex64): Remove special cases.
1617         * ppro.md (ppro_uops, ppro_p2): Add leave
1618         * pentiun.md (pent_pop): Handle leave too.
1619         * k6.md (k6_load): Handle leave.
1620         * athlon.md (athlon_leave, athlon_pop): Fix.
1621         (athlon_decode): Handle leave.
1622
1623 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
1624
1625         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
1626         to component type using GET_MODE_INNER.
1627         * expr.c (emit_move_insn_1): Ditto.
1628         * optabs.c (expand_binop): Ditto.
1629         (expand_unop): Ditto.
1630         (expand_complex_abs): Ditto.
1631
1632 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
1633
1634         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
1635
1636 2002-11-20  DJ Delorie  <dj@redhat.com>
1637
1638         * config/stormy16/stormy16.c (s16builtins,
1639         xstormy16_init_builtins, xstormy16_expand_builtin): New.
1640         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
1641
1642 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
1643
1644         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
1645         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
1646         (executing gencheck, genconfigs, genconditions, genflags,
1647         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
1648         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
1649         gengtype, genprotos): Prepend $(RUN_GEN).
1650         * configure.in: Move host compiler tests before --enable-checking
1651         tests.
1652         (--enable-checking=valgrind): New.
1653         * config.in, configure: Regenerate.
1654         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1655         Define as empty.
1656         (read_include_file): When doing the mmap+1 trick,
1657         valgrind-annotate the byte after the mmap:ed area as readable.
1658         (purge_cache): Remove above annotation.
1659         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
1660         VALGRIND_PATH -q to each command.
1661
1662         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1663         Define as empty.
1664         (ggc_realloc): Update valgrind annotations.
1665         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1666         Define as empty.
1667         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
1668         valgrind-annotate memory.
1669
1670 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
1671
1672         * recog.c (constrain_operands): Prefer exact match over reloadable
1673         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
1674
1675         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
1676         operands in Pmode.
1677
1678 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
1679
1680         PR c/8518
1681         * c-decl.c (duplicate_decls): Outline the second definition
1682         of an extern inline function in all cases.
1683
1684 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1685
1686         * stor-layout.c (place_field): Update rli->offset as well as
1687         rli->bitpos.
1688
1689 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1690
1691         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
1692
1693 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1694
1695         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
1696         into a libcall block.
1697         (divsi3): Likewise divsi3_i4_media.
1698
1699 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1700
1701         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
1702         out another register.
1703
1704 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
1705
1706         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
1707         (not just mask) are set in C.
1708
1709 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
1710
1711         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
1712
1713 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1714
1715         * profile.c (index_counts_file): Fix obvious mistake.
1716
1717 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1718
1719         * Makefile.in (profile.o): Add hashtab.h dependency.
1720         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
1721         * profile.c: Include hashtab.h.
1722         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
1723         cleanup_counts_index, index_counts_file, struct section_reference,
1724         struct da_index_entry, counts_file_name, counts_file_index): New.
1725         (get_exec_counts, init_branch_prob): Modified.
1726
1727 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
1728
1729         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
1730         to tmake_file. Remove setting gas and gnu_ld here.
1731         * config/sh/libgcc-glibc.ver: New file.
1732         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
1733         (SHLIB_MAPFILES): New.
1734         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
1735         (MD_STARTFILE_PREFIX): Likewise.
1736         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
1737         (DWARF2_UNWIND_INFO): Redefine.
1738         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1739         (LINK_EH_SPEC): Redefine.
1740         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
1741         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
1742         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
1743         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
1744         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
1745         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
1746         SH_DWARF_FRAME_FPSCR): Likewise.
1747         * config/sh/sh-protos.h (sh_set_return_address): Declare.
1748         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
1749         registers if the current function calls EH return.
1750         (sh_expand_epilogue): Handle EH stack adjustments.
1751         (sh_set_return_address): New function.
1752         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
1753         Don't abort even if the number is mapped to -1.
1754         (EH_RETURN_DATA_REGNO): Define.
1755         (EH_RETURN_STACKADJ_RTX): Define.
1756         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
1757         (eh_return): New pattern.
1758         (eh_set_ra_di, eh_set_ra_si): Likewise.
1759         Add splitter to perform EH return after reload.
1760
1761 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
1762
1763         * stor-layout.c (excess_unit_span): New function.
1764         (place_field): Use it.
1765
1766 2002-11-19  Andreas Schwab  <schwab@suse.de>
1767
1768         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
1769         not valid in C++.
1770
1771 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
1772
1773         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
1774         * configure: Regenerate.
1775
1776 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
1777
1778         * convert.c (strip_float_extensions): New function.
1779         (convert_to_real): Optimize some cases.
1780
1781 2002-11-19  Andreas Jaeger  <aj@suse.de>
1782
1783         * loop.c (record_giv): Initialize not_replaceable.
1784         (check_final_value): Likewise.
1785
1786 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
1787
1788         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
1789         MASK_H8300S.
1790
1791 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
1792
1793         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
1794         only if -mh or -ms present.
1795         (h8300_eightbit_constant_address_p): Support the normal mode.
1796         (h8300_tiny_constant_address_p): Likewise.
1797         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
1798         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
1799         (Pmode): Evaluate to HImode for the normal mode.
1800         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
1801         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
1802         (ASM_WORD_OP): Evaluate to word for the normal mode.
1803         * config/h8300/h8300.md (tablejump_normal_mode): New.
1804         (indirect_jump_normal_mode): New.
1805         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
1806         directory.
1807         (MULTILIB_DIRNAMES): Create target dependent directory
1808         'normal'.
1809         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
1810         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
1811
1812 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
1813
1814         * i386.md (length_immediate): Do not refer to insn address.
1815         (jcc*, jmp patterns):  Compute length explicitly.
1816
1817 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
1818
1819         PR c/8588
1820         * optabs.c (expand_binop): Convert CONST_INTs in shift
1821         operations too.
1822
1823 2002-11-19  Roger Sayle  <roger@eyesopen.com>
1824
1825         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
1826
1827 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
1828
1829         * config/h8300/h8300.md (an anonymous pattern): Relax the
1830         condition to accept the same operands and/or subregs.
1831
1832 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
1833
1834         * config/sh/sh.c (gen_shl_and): Revert previous patch.
1835         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
1836         reload_completed.
1837
1838 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
1839
1840         * config/h8300/h8300.c (print_operand): Update the use of
1841         EIGHTBIT_CONSTANT_ADDRESS_P.
1842         (h8300_adjust_insn_length): Likewise.
1843         (h8300_eightbit_constant_address_p): Check if the given rtx is
1844         a variable with __attribute__((eightbit_data)).
1845         * config/h8300/h8300.h (OK_FOR_U): Update the use of
1846         EIGHTBIT_CONSTANT_ADDRESS_P.
1847
1848 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1849
1850         * doc/contrib.texi (Contributors): Add self as second contact in
1851         addition to Jeff Law.
1852
1853 2002-11-19  Andreas Jaeger  <aj@suse.de>
1854
1855         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
1856         find_alloca_call to right place.
1857
1858 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
1859
1860         * cppfiles.c: Fix formatting.
1861
1862 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
1863
1864         * gcc.c (The Specs Language): Document spec functions.
1865         (static_spec_functions, lookup_spec_function)
1866         (eval_spec_function, handle_spec_function)
1867         (if_exists_spec_function, alloc_args): New.
1868         (execute): Abort if processing_spec_function is true.
1869         (do_spec_1): Hand off spec to handle_spec_function if %:
1870         is encountered.  If processing_spec_function is true,
1871         end any pending argument when the end of the string is reached.
1872         (main): Use alloc_args to allocate the initial argument vector.
1873         * gcc.h (struct spec_function): New.
1874         (lang_specific_spec_functions): New extern.
1875
1876         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
1877         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
1878         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
1879
1880         * doc/invoke.texi: Document spec functions.
1881
1882         * cppspec.c (lang_specific_spec_functions): New.
1883         * gccspec.c: Likewise.
1884
1885 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
1886
1887         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
1888         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
1889         (fixunstfsi_libfunc): Change.
1890         (fixunstfdi_libfunc): Change.
1891         (sdiv_optab): Don't zero out SImode handler.
1892         (udiv_optab): Don't zero out SImode handler.
1893         (smod_optab): Don't zero out SImode handler.
1894         (umod_optab): Don't zero out SImode handler.
1895
1896 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
1897
1898         PR preprocessor/8524
1899         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
1900         Add a new one in its place, which hopefully works.
1901         (skip_rest_of_line): Change test for bottom-of-context-stack.
1902
1903 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
1904
1905         * i386.md (addqi_1_slp): Fix output template.
1906         (subqi_1_slp): Fix type.
1907
1908 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
1909
1910         * calls.c (alloca_call_p): New global function.
1911         * tree.h (alloca_call_p): New.
1912         * tree-inline.c (inlinable_function_p):  Do not inline when
1913         function calls alloca.
1914         (find_alloca_call, find_alloca_call_1): New functions.
1915
1916 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
1917
1918         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
1919         bst.  Update the insn length.
1920         (*andorhi3): Likewise.
1921         (*andorsi3): Likewise.
1922
1923 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
1924
1925         * config/sh/sh-protos.h (sh_mark_label): Declare.
1926         * config/sh/sh.c (sh_mark_label): New function, taken from
1927         movdi_const, but fixing the case when the address has an addend.
1928         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
1929
1930 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
1931
1932         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
1933         (add_constant): Set it.
1934         (dump_table): Don't reorder a constant if part_of_sequence_p.
1935         (machine_dependent_reorg): Assume that float constants will
1936         stay in their original order if used as a sequence.
1937
1938 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
1939
1940         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
1941         in compact code.
1942
1943 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
1944
1945         * config/sh/sh.md (initialize_trampoline): Do not force the
1946         trampoline address into R0_REGS here.
1947
1948 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
1949
1950         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
1951         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
1952         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
1953         generate unnecesary subregs.
1954
1955 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
1956
1957         * df.c: Fix formatting.
1958
1959 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
1960
1961         * config/h8300/h8300.md (two anonymous patterns): Fix insn
1962         lengths.
1963
1964 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
1965
1966         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
1967         is not an arith_reg_operand.
1968
1969 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
1970
1971         * real.c (real_to_decimal): Fix buffer overrun when buffer size
1972         is smaller than representation.
1973
1974 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
1975
1976         * builtins.c: Fix formatting.
1977
1978 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
1979
1980         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
1981         floats?dff2_i387):
1982         Work around regclass stupidity.
1983         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
1984
1985 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
1986
1987         * i386.md (fop_df_6): New pattern.
1988         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
1989         (fop_xf_6): Rewrite
1990         (fop_xf_7): Delete.
1991         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
1992         (fop_tf_6): Rewrite
1993         (fop_tf_7): Delete.
1994
1995 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
1996
1997         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
1998
1999 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2000
2001         * config/h8300/h8300.md: Fix formatting.
2002
2003 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2004
2005         * config/h8300/h8300.md: Replace spaces with tabs.
2006         * config/h8300/t-h8300: Remove a trailing empty line.
2007
2008 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2009
2010         * tlink.c: Fix formatting.
2011
2012 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
2013
2014         PR 8362
2015         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
2016         * config/rs6000/rs6000.md (movti_string): Remove output modifier
2017         when scratch register never needed.
2018         (ldmsi[3-8]): New patterns.
2019
2020 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2021
2022         * hard-reg-set.h: Follow spelling conventions.
2023         * real.c: Likewise.
2024         * target.h: Likewise.
2025
2026 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
2027
2028         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
2029
2030 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2031
2032         * optabs.c: Fix formatting.
2033
2034 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
2035
2036         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
2037         * i386.md (attribute type): Add type shift1 and rotate1.
2038         (*_slp): Rewrite to have just two operands to avoid reload problems.
2039
2040 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
2041
2042         * config/h8300/h8300.md (4 anonymous patterns): New.
2043
2044 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
2045
2046         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
2047         * doc/invoke.texi: Correct description of what needs to be done to
2048         force collection at every ggc_collect call.
2049
2050 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2051
2052         * config/s390/s390.c (optimization_options): Set
2053         flag_asynchronous_unwind_tables to 1 by default.
2054
2055 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2056
2057         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2058
2059 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2060
2061         * i386-protos.h (x86_function_profiler): New function
2062         * i386.h (MCOUNT_NAME): New.
2063         (PROFILE_COUNT_REGISTER): New.
2064         (FUNCTION_PROFILER): Move offline to ...
2065         * i386.c (x86_function_profiler) ... here; fix 64bit support
2066         * beos-elf.h (FUNCTION_PROFILER): Kill.
2067         (MCOUNT_NAME): New.
2068         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
2069         (MCOUNT_NAME): New.
2070         (PROFILE_COUNT_REGISTER): New.
2071         * linux.h (FUNCTION_PROFILER): Kill.
2072         (MCOUNT_NAME): New.
2073         * x86-64.h (FUNCTION_PROFILER): Kill.
2074         (MCOUNT_NAME): New.
2075         * freebsd.h (FUNCTION_PROFILER): Kill.
2076         (MCOUNT_NAME): New.
2077
2078 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
2079
2080         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
2081         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
2082         * config/arm/arm.c (arm_va_arg,
2083         arm_function_arg_pass_by_reference): New.
2084         * config/arm/arm-protos.h: Add prototypes.
2085
2086 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2087
2088         * gthr-single.h: Fix formatting.
2089
2090 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
2091
2092         * tree.c (tree_vec_elt_check_failed): New function.
2093         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
2094         (TREE_VEC_ELT): Use it.
2095
2096         * tree-inline.c (optimize_inline_calls): Don't copy a
2097         zero-length vector.
2098
2099 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2100
2101         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
2102
2103 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
2104
2105         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
2106         both operands contain local relocations.
2107         (categorize_decl_for_section): Don't use mergeable sections if
2108         initializer has any relocations.
2109
2110 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2111
2112         * gthr-vxworks.h: Fix formatting.
2113
2114 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
2115
2116         * doc/install.texi (Testing): Document extra Java testing.
2117         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
2118
2119 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2120
2121         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
2122         beginning of the spec.
2123         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
2124         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
2125         regarding problems with global constructors when using GNU ld.
2126
2127 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2128
2129         * gthr-solaris.h: Fix formatting.
2130
2131 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2132
2133         * gthr-posix.h: Fix formatting.
2134
2135 2002-11-12  Devang Patel <dpatel@apple.com>
2136
2137         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
2138         (process_command): Same.
2139         * doc/invoke.texi: Info about these two new options.
2140
2141 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2142
2143         * config/h8300/h8300.md (*andorsi3): New.
2144
2145 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2146
2147         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
2148
2149 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2150
2151         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
2152         expressions appropriately.
2153
2154 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2155
2156         * gthr-win32.h: Fix formatting.
2157
2158 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2159
2160         * config/h8300/h8300.c (single_one_operand): Correctly compute
2161         mask when mode is SImode.
2162         (single_zero_operand): Likewise.
2163         * config/h8300/h8300.md (two new anonymous insns): New.
2164
2165 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2166
2167         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
2168         to that entire project.
2169
2170 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2171
2172         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
2173         directories.
2174
2175 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
2176
2177         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
2178         * doc/invoke.texi: Document them.
2179
2180         * ggc-page.c: Include params.h.  Remove definitions of
2181         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
2182         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
2183         (init_gcc): Don't set G.allocated_last_gc here.
2184         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
2185         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
2186         perform collection.
2187         * ggc-simple.c: Similarly.
2188         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
2189         dependencies.
2190
2191 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
2192
2193         * gthr-dce.h: Fix formatting.
2194
2195 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2196
2197         PR c/8467
2198         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
2199         mode of DECL_RTL case.
2200
2201 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
2202
2203         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
2204
2205 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
2206
2207         * i386.c (construct_container): Fix handling of SSE_CLASS.
2208
2209 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
2210
2211         * config/m68k/t-crtstuff (crti.o): Use this...
2212         ($(T)crti.o): ... instead.
2213         (crtn.o): Use this...
2214         ($(T)crtn.o): ... instead.
2215
2216 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
2217
2218         PR c/8439
2219         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
2220         if there is something new to be simplified.
2221
2222 2002-11-10  H.J. Lu <hjl@gnu.org>
2223
2224         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
2225         * expr.c (PUSH_ARGS_REVERSED): Likewise.
2226
2227         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
2228
2229 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
2230
2231         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
2232         * config/rs6000/linux.h, config/rs6000/linux64.h,
2233         config/rs6000/windiss.h: ... not here.
2234
2235 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
2236
2237         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
2238         __ABICALLS__ if TARGET_ABICALLS.
2239
2240 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
2241
2242         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
2243
2244 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
2245
2246         * c-decl.c (grokdeclarator): Make error for duplicate type
2247         qualifiers into a pedwarn, disabled for C99.
2248
2249 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
2250
2251         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
2252         as FUNCTION_ARG_PASS_BY_REFERENCE.
2253
2254 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
2255
2256         * doc/install.texi: Add *-*-vxworks* specific installation
2257         instructions.
2258
2259         * config/vxlib.c: Rewrite using generation numbers to identify
2260         valid TSD keys.
2261
2262 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
2263
2264         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
2265
2266 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2267
2268         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
2269
2270         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
2271         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
2272         * pa.c (output_millicode_call): Use symbol difference rather than
2273         $PIC_pcrel$0 when using HP assembler.
2274         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
2275         not elfos.h (i.e., gas) is being used.
2276         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
2277         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
2278         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
2279         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
2280         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
2281         using elfos.h.
2282         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
2283         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
2284         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
2285         using elfos.h.
2286         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
2287         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
2288         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
2289         Don't define when not using elfos.h.
2290         (ASM_DECLARE_RESULT): Don't define.
2291         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
2292         doesn't work on hppa64-hp-hpux11.
2293         (hppa*-hp-hpux11): Update.
2294
2295 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
2296
2297         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
2298         to the assembler if -mno-abicalls was specified.
2299
2300 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2301
2302         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
2303         ASM_OUTPUT_DEF): Delete.
2304
2305 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
2306
2307         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
2308
2309 2002-11-08  Roger Sayle  <roger@eyesopen.com>
2310
2311         * real.c (real_sqrt): Update comment with bibliographic reference.
2312
2313 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
2314
2315         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
2316
2317 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
2318
2319         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
2320
2321 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
2322
2323         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
2324         (expand_builtin): Likewise.
2325         * builtins.def: Add
2326         __builtin_floor, __builtin_floorf, __builtin_floorl
2327         __builtin_ceil, __builtin_ceilf, __builtin_ceill
2328         __builtin_round, __builtin_roundf, __builtin_roundl
2329         __builtin_trunc, __builtin_truncf, __builtin_truncl
2330         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
2331         * genopinit.c (optabs): Initialize the new optabs.
2332         * optab.c (init_optabs): Likewise.
2333         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
2334         OTI_round, OTI_nearbyint.
2335         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
2336         * doc/md.texi: Document new named patterns.
2337         * doc/extend.texi (builtin functions)  Document
2338         floor, floorf, floorl, ceil, ceilf,
2339         ceill, round, roundf, roundl, trunc,
2340         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
2341
2342 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
2343
2344         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
2345
2346 2002-11-08  Dale Johannesen  <dalej@apple.com>
2347
2348         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
2349
2350 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
2351
2352         PR preprocessor/8497
2353         PR preprocessor/8501
2354         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
2355         start a directive.  In assembler, #NUM is not a line directive.
2356
2357 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
2358
2359         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
2360         buffers.
2361
2362 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
2363
2364         * config/h8300/h8300.md (two anonymous test insns): New.
2365
2366 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2367
2368         * jump.c (mark_jump_label): Handle subregs of label_refs.
2369
2370 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
2371
2372         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
2373         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
2374
2375 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
2376
2377         * config/ia64/crtend.asm: Include "auto-host.h".
2378         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
2379         * config/ia64/crtbegin.asm: Similarly.
2380         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
2381         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
2382
2383         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
2384         * configure.in: Use it if --enable-initfini-array not specified.
2385         * doc/install.texi (Configuration): Document --enable-initfini-array.
2386         * configure, config.in: Rebuild.
2387
2388 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
2389
2390         * config/arm/arm-protos.h (arm_get_frame_size)
2391         (thumb_get_frame_size): New prototypes.
2392         * config/arm/arm.c (arm_get_frame_size)
2393         (thumb_get_frame_size): New functions.
2394         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
2395         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
2396         arm_get_frame_size.
2397         (thumb_expand_prologue, thumb_expand_epilogue): Use
2398         thumb_get_frame_size.
2399         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
2400         (machine_function): Add frame_size member.
2401         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
2402
2403 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
2404
2405         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
2406         Adjust code to use portable unsigned bit manipulation.
2407         (insn_flags, tune_flags): Change type to unsigned.
2408         (struct processors): Make flags unsigned long.
2409         (arm_override_options): Change type of count and current_bit_count
2410         to unsigned.
2411
2412 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
2413
2414         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
2415
2416 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
2417
2418         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
2419
2420 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
2421
2422         * reg-stack.c (compensate_edge): Fix sanity check.
2423
2424 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
2425
2426         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
2427         crt2.o.  Rearrange t-darwin makefiles.
2428         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
2429         * unwind-dw2-fde-darwin.c: New.
2430         * unwind-dw2-fde-glibc.c: Correct comment.
2431         * unwind-dw2-fde.c (__register_frame_info_bases)
2432         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
2433         (classify_object_over_fdes): Use last_fde.
2434         (add_fdes): Likewise.
2435         (linear_search_fdes): Likewise.
2436         * unwind-dw2-fde.h (struct object)
2437         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
2438         (last_fde): New.
2439         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
2440         (ENDFILE_SPEC): No crtend.o.
2441         * config/t-darwin: New.
2442         * config/i386/t-darwin: Delete.
2443         * config/darwin-crt2.c: New.
2444         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
2445         or config/t-darwin.
2446
2447 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
2448
2449         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
2450         MASK_MS_BITFIELD_LAYOUT
2451         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
2452         MS bitfields for Objective-C.
2453         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
2454         defines.
2455
2456         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
2457         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
2458         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
2459
2460         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
2461         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
2462         (TARGET_SWITCHES): Add above mask.
2463
2464         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
2465         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
2466         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
2467         flags for interix.
2468
2469 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
2470
2471         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
2472         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
2473         assembler.
2474         * config/mips/mips.md (tablejump_internal3): Output .cpadd
2475         before jump on ABI_N32 too.
2476         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
2477         length to match.
2478
2479 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
2480
2481         * i386.md (negsf splitter): Accept memory operand in second register.
2482         (abssf/absdf splitters): Simplify
2483         (sse_loadss, sse_loadsd): Turn into expander.
2484
2485 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
2486
2487         PR target/8480
2488         * config/rs6000/rs6000.md (movdi_internal64): Discourage
2489         FPR to FPR moves.
2490
2491 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
2492
2493         * doc/contrib.texi: Merge in the list from the Java web pages.
2494
2495 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
2496
2497         * config/sparc/freebsd: Fix typo.
2498
2499 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2500
2501         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
2502
2503 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
2504
2505         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
2506         non-SImode addresses.
2507
2508 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
2509
2510         * i386.md (float_truncate SSE splitter): Ensure that operand is not
2511         stack register.
2512         (float SSE splitters): Reorder conditional.
2513
2514 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
2515
2516         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
2517
2518 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
2519
2520         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
2521         (STARTFILE_SPEC): Remove p and pg options.
2522
2523 2002-11-05  Andrew Haley  <aph@redhat.com>
2524
2525         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
2526         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
2527
2528 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
2529
2530         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
2531         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
2532
2533 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
2534
2535         * gthr-vxworks.h: Rewritten from scratch.
2536         * config/vxlib.c: New file.
2537         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
2538         * config/rs6000/t-vxworks: Add config/vxlib.c to
2539         LIB2FUNCS_EXTRA here too, because of clash with
2540         config/rs6000/t-ppccomm.
2541
2542 2002-11-04  Dale Johannesen  <dalej@apple.com>
2543
2544         * doloop.c (doloop_modify_runtime):  Fix loop count computation
2545         for unrolled loops.
2546         * loop.c (loop_invariant_p):  Support calling from unroller.
2547
2548 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
2549
2550         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
2551         for comparison.
2552
2553 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
2554
2555         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
2556
2557         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
2558         (CLASS_CANNOT_CHANGE_MODE): Remove.
2559         (CANNOT_CHANGE_MODE_CLASS): New.
2560
2561         * config/alpha/alpha.h: Same.
2562
2563         * config/ia64/ia64.h: Same.
2564
2565         * config/mips/mips.h: Same.
2566
2567         * config/s390/s390.h: Same.
2568
2569         * config/sh/sh.h: Same.
2570
2571         * config/pa/pa64-regs.h: Same.
2572
2573         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
2574
2575         * config/sh/sh.c (sh_cannot_change_mode_class): New.
2576
2577         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
2578         prototype.
2579
2580         * config/mips/mips.c (mips_cannot_change_mode_class): New.
2581
2582         * doc/tm.texi (Register Classes): Remove
2583         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
2584         Document CANNOT_CHANGE_MODE_CLASS.
2585
2586         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
2587         (push_reload): Same.
2588
2589         * simplify-rtx.c (simplify_subreg): Same.
2590
2591         * reload1.c (choose_reload_regs): Same.
2592
2593         * recog.c (register_operand): Same.
2594
2595         * regrename.c (mode_change_ok): Change to use new
2596         CANNOT_CHANGE_MODE_CLASS infrastructure.
2597
2598         * regclass.c (cannot_change_mode_set_regs): New.
2599         Declare subregs_of_mode.
2600         (regclass): Use subregs_of_mode.
2601         Remove references to reg_changes_mode.
2602         (init_reg_sets_1): Remove class_can_change_mode and
2603         reg_changes_mode code.
2604         (invalid_mode_change_p): New.
2605         (dump_regclass): Use invalid_mode_change_p instead of
2606         class_can_change_mode.
2607         (regclass): Same.
2608         (record_operand_costs): Do not set reg_changes_mode.
2609
2610         * local-alloc.c (struct qty): Remove changes_mode field.
2611         (alloc_qty): Remove changes_mode initialization.
2612         (update_qty_class): Remove set of changes_mode.
2613         (find_free_reg): Use subregs_of_mode.
2614
2615         * global.c (find_reg): Use subregs_of_mode info.
2616
2617         * rtl.h (cannot_change_mode_set_regs): New prototype.
2618         (invalid_mode_change_p): Same.
2619         (REG_CANNOT_CHANGE_MODE_P): New macro.
2620
2621         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
2622         REG_CHANGES_MODE.
2623         (life_analysis): Clear subregs_of_mode.
2624
2625         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
2626         Remove use of CLASS_CANNOT_CHANGE_MODE.
2627         (simplify_set): Same.
2628         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
2629         REG_CHANGES_MODE.
2630
2631         * regs.h: Add extern for subregs_of_mode;
2632         Include hard-reg-set and basic-block.
2633         (REG_CHANGES_MODE): Delete.
2634
2635 2002-11-03  Roger Sayle  <roger@eyesopen.com>
2636
2637         * real.c (real_sqrt): New function to calculate square roots.
2638         * real.h (real_sqrt): Add function prototype.
2639         * builtins.c (fold_builtin): Fold sqrt of constant argument.
2640         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
2641         of constant argument.
2642
2643 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2644
2645         * jump.c (never_reached_warning): Don't set contains_insn until the
2646         first line note is seen.
2647
2648 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
2649
2650         * config/rs6000/rs6000.md (movti_string): Use string instructions.
2651
2652 2002-11-03  Roger Sayle  <roger@eyesopen.com>
2653
2654         PR c/7128
2655         * c-typeck.c (c_expand_asm_operands): Defend against
2656         error_mark_nodes in the output argument to avoid ICE.
2657
2658 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
2659
2660         PR middle-end/8408
2661         * genrecog.c (preds): Handle ADDRESSOF.
2662         (validate_pattern): Mark it as an lvalue.
2663
2664 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
2665
2666         * config/rs6000/rs6000.c (rs6000_override_options): Use string
2667         instructions when optimizing for size.
2668
2669 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
2670
2671         * config/h8300/h8300.h: Fix comment typos.
2672         * config/h8300/h8300.md: Likewise.
2673         * config/h8300/lib1funcs.asm: Likewise.
2674
2675 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2676
2677         Revert this change:
2678
2679         *doc/install.texi (Installing GCC: Configuration): Clarify
2680         the only supported ways to configure gcc.
2681
2682 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
2683
2684         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
2685         instead of 'O' for the constraint for the second operand.
2686
2687 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
2688
2689         PR c++/8391
2690         * toplev.c (rest_of_compilation): Do not refuse to output code for
2691         an inline function in a local class.
2692
2693 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
2694
2695         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
2696         (TRANSFER_FROM_TRAMPOLINE): Reformat.
2697         Add comment.
2698
2699 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
2700
2701         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
2702
2703 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
2704
2705         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
2706
2707 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
2708
2709         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
2710         (MASK_INLINE_DIV_THR): Remove.
2711         (TARGET_INLINE_DIV_LAT): Remove.
2712         (TARGET_INLINE_DIV_THR): Remove.
2713         (TARGET_INLINE_DIV): Remove.
2714         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
2715         (MASK_INLINE_FLOAT_DIV_THR): New macro.
2716         (MASK_INLINE_INT_DIV_LAT): New macro.
2717         (MASK_INLINE_INT_DIV_THR): New macro.
2718         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
2719         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
2720         (TARGET_INLINE_INT_DIV_LAT): New macro.
2721         (TARGET_INLINE_INT_DIV_THR): New macro.
2722         (TARGET_INLINE_FLOAT_DIV): New macro.
2723         (TARGET_INLINE_INT_DIV): New macro.
2724         * config/ia64/ia64.md (divsi3): Change to use new macros.
2725         (modsi3): Ditto.
2726         (udivsi3): Ditto.
2727         (umodsi3): Ditto.
2728         (divsi3_internal): Ditto.
2729         (divdi3): Ditto.
2730         (moddi3): Ditto.
2731         (udivdi3): Ditto.
2732         (umoddi3): Ditto.
2733         (divdi3_internal_lat): Ditto.
2734         (divdi3_internal_thr): Ditto.
2735         (divsf3): Ditto.
2736         (divsf3_internal_lat): Ditto.
2737         (divsf3_internal_thr): Ditto.
2738         (divdf3): Ditto.
2739         (divdf3_internal_lat): Ditto.
2740         (divdf3_internal_thr): Ditto.
2741         (divtf3): Ditto.
2742         (divtf3_internal_lat): Ditto.
2743         (divtf3_internal_thr): Ditto.
2744         * config/ia64/ia64.c (ia64_override_options): Change
2745         to check new macros for conflicts in settings.
2746         * doc/invoke.texi (-minline-divide-min-latency): Remove.
2747         (-minline-divide-max-throughput): Remove.
2748         (-minline-float-divide-min-latency): New.
2749         (-minline-float-divide-max-throughput): New.
2750         (-minline-int-divide-min-latency): New.
2751         (-minline-int-divide-max-throughput): New.
2752
2753 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
2754
2755         PR target/7856
2756         * arm.c (use_return_insn): Don't use a return insn if there are
2757         saved integer regs, but LR is not one of them.
2758
2759 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
2760
2761         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
2762         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
2763
2764 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
2765
2766         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
2767         (movps, movpd splitters): Use canonical form.
2768         (movv2di): Fix merge problem.
2769
2770 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
2771
2772         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
2773
2774 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
2775
2776         PR optimization/6162
2777         * doc/md.texi: Document restriction on commutative operand
2778         specification.
2779
2780 2002-10-31  Eric Christopher  <echristo@redhat.com>
2781
2782         * explow.c (convert_memory_address): Use shallow_copy_rtx.
2783
2784 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
2785
2786         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
2787
2788 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
2789
2790         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
2791
2792 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
2793
2794         * config/rs6000/darwin.h:  Correct formatting in previous.
2795
2796 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
2797
2798         * config/rs6000/darwin.h:  Enable -falign-xxx options.
2799
2800 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
2801
2802         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
2803         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
2804         * i386.c (optimization_options): Set flag_omit_frame_pointer,
2805         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
2806         Do not clear -momit-leaf-frame-pointer when profiling.
2807         (ix86_frame_pointer_required): Frame pointer is always required when
2808         profiling.
2809
2810 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2811
2812         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
2813
2814 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
2815
2816         * sh.h (binary_logical_operator): Declare.
2817         * sh.c (binary_logical_operator): New function.
2818         * sh.md (xordi3+1): New combiner splitter pattern.
2819
2820 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
2821
2822         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
2823         __enable_execute_stack function.
2824
2825 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
2826
2827         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
2828         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
2829         * unwind-sjlj.c (fc_key_dtor): Delete.
2830         (fc_key_init): Adjust __gthread_key_create call to match.
2831
2832 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
2833
2834         * c-common.c: Add GTY to vector_type_node_list.
2835
2836 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
2837
2838         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
2839         * pa-protos.h (attr_length_millicode_call, attr_length_call,
2840         pa_init_machine_status): Declare new global functions.
2841         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
2842         implement new functions.
2843         (attr_length_millicode_call, attr_length_call): Implement.
2844         (total_code_bytes): Change type to long.
2845         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
2846         Reset counter if flag_function_sections.
2847         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
2848         (output_cbranch): Move call to gen_label_rtx.
2849         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
2850         delay slot in all variants, shorten pc-relative calls.
2851         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
2852         slot usage and exposure, various new call variants, and shortened
2853         sequences for some variants on TARGET_PA_20.
2854         Miscellaneous format changes.
2855         * pa.h (total_code_bytes): Change type to long.
2856         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
2857         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
2858         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
2859         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
2860         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
2861         stores on TARGET_ELF32.
2862         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
2863         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
2864         canonicalize_funcptr_for_compare expanders): Calculate attribute length
2865         attr_length_millicode_call().
2866         (call_internal_symref, call_value_internal_symref): Clobber register 1.
2867         Calculate attribute length using attr_length_call().
2868         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
2869         to delay slot.
2870         (sibcall, sibcall_value): Rewrite.
2871         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
2872         register 1.  Use attr_length_call().
2873         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
2874         New patterns.
2875         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
2876         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
2877         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
2878         * doc/invoke.texi (mlong-calls): Document.
2879
2880 2002-10-30  Roger Sayle  <roger@eyesopen.com>
2881
2882         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
2883         handling of cases where one or both branches of the conditional
2884         have void type, i.e. throw an exception or don't return.
2885         (fold): Only apply (and undo) type conversion to the non-void
2886         branches of a COND_EXPR.
2887
2888 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
2889
2890         PR c++/8333
2891         * varasm.c (asm_output_aligned_bss): Do not call
2892         ASM_GLOBALIZE_LABEL.
2893
2894 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
2895             Torbjorn Granlund  <tege@swox.com>
2896
2897         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
2898         for addressibility.
2899         (load_toc_v4_PIC_1b): Same.
2900
2901 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
2902
2903         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
2904         Truncate the addresses for H8/300 using HImode.
2905
2906 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
2907
2908         * i386.md (negdf splitter): Fix construction of the constant.
2909
2910 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
2911
2912         * i386.md (negsf, negdf): Reorganize to use vector modes
2913         for SSE variants.
2914         (abssf, absdf): Use force_reg.
2915         (movv4sf, movv2df): New splitters.
2916         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
2917         * i386.c (zero_extended_scalar_load_operand
2918
2919         * i386-protos.h (ix86_expand_call): Update prototype.
2920         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
2921         (ix86_expand_call): Use r11 for indirect sibcalls.
2922         * i386.md (call, call_value, untyped_call, call_value_pop):
2923         update x86_expand_call call.
2924         (sibcall, sibcall_value): new patterns
2925         (call_rex64, call_value_rex64): Do not accept sibcalls.
2926         (sibcall_rex64, sibcall_value_rex64,
2927         sibcall_rex64_v, sibcall_value_rex64_v): New.
2928
2929 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
2930
2931         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
2932         before final pass.
2933
2934 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
2935
2936         * toplev.c (rest_of_type_compilation): Return early in case of
2937         errors.
2938         (check_global_declarations): Don't call debug_hooks->global_decl
2939         in case of errors.
2940
2941 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
2942
2943         * doc/c-tree.texi (Tree overview): Fix typos.
2944
2945 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
2946
2947         * Makefile.in (gnucompare*):  Only record bad comparisons
2948         if there really was a bad comparison.
2949
2950 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
2951
2952         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
2953         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
2954         * md.texi (machine dependent constraints): Document 'C'
2955
2956         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
2957
2958         * i386.c (ix86_expand_vector_move): Fix.
2959
2960         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
2961         * i386.md (sse2_maskmovdqu_rex64): New pattern
2962
2963         PR target/8322
2964         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
2965         (ix86_init_mmx_sse_builtins): Fix type.
2966
2967 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
2968
2969         * gthr-posix.h: Include <unistd.h> for feature tests.
2970         (sched_get_priority_max, sched_get_priority_min)
2971         (pthread_getschedparam, pthread_setschedparam): Only use
2972         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
2973         (__gthread_objc_thread_set_priority): Don't treat all non-zero
2974         returns from sched_get_priority_max and sched_get_priority_min
2975         as an error.
2976
2977 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
2978
2979         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
2980         MASK_QUICKCALL.
2981
2982 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
2983
2984         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
2985         (h8300_tiny_constant_address_p): Likewise.
2986         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
2987         h8300_eightbit_constant_address_p.
2988         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
2989         * config/h8300/h8300-protos.h: Add the prototypes for the two
2990         new functions.
2991
2992 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
2993
2994         * reload1.c (update_eliminables): Unconditionally check if
2995         frame_pointer_needed has changed.
2996
2997 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
2998
2999         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
3000         before final pass.
3001
3002 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
3003
3004         PR optimization/8334
3005         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
3006         check for zero operands explicitly.
3007
3008 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
3009
3010         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
3011         memory after adjusting to BLKmode.
3012
3013 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3014
3015         * config/h8300/h8300.h (MASK_*): New.
3016         (TARGET_*): Use MASK_*.
3017
3018 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
3019
3020         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
3021         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
3022         config/rs6000/vxworks.h: New files.
3023         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
3024
3025         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
3026         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
3027         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
3028         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
3029         sparc-*-vxsim*): Delete stanzas.
3030         * gthr-vxworks.h: Rip out all substantive code and just
3031         include gthr-single.h.
3032
3033         * config/alpha/vxworks.h, config/arm/vxarm.h,
3034         config/i386/vxi386.h, config/i960/t-vxworks960,
3035         config/i960/vx960-coff.h, config/i960/vx960.h,
3036         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
3037         config/mips/vxworks.h, config/rs6000/vxppc.h,
3038         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
3039         config/sparc/vxsim.h, config/sparc/vxsparc.h,
3040         config/sparc/vxsparc64.h: Delete files.
3041
3042 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
3043
3044         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
3045         tm_defines if pthreads are enabled.
3046         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
3047         if NETBSD_ENABLE_PTHREADS is defined.
3048
3049 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
3050
3051         * ChangeLog.1: Fix typos.
3052         * cse.c: Fix a comment typo.
3053         * reload1.c: Likewise.
3054
3055 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
3056
3057         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
3058         * fixinc/tests/base/_G_config.h: New file.
3059
3060 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3061
3062         * combine.c: Fix comment formatting.
3063         * loop.c: Likewise.
3064         * real.c: Likewise.
3065         * regclass.c: Likewise.
3066         * regmove.c: Likewise.
3067         * regrename.c: Likewise.
3068         * reg-stack.c: Likewise.
3069         * reload1.c: Likewise.
3070         * reload.c: Likewise.
3071         * reload.h: Likewise.
3072         * unroll.c: Likewise.
3073
3074 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3075
3076         * reload1.c (reload): Fix a comment typo.
3077
3078 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
3079
3080         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
3081
3082 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3083
3084         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
3085         * dwarf2out.c: Include hashtab.h.
3086         (is_main_source): New static variable.
3087         (attr_checksum, die_checksum): Modified to handle die references.
3088         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
3089         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
3090         record_comdat_symbol_number): New static functions.
3091         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
3092         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
3093         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
3094         declarations added.
3095
3096 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
3097
3098         * config/h8300/h8300.c (initial_offset): Change to
3099         h8300_initial_elimination_offset.
3100         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
3101         h8300_initial_elimination_offset.
3102         * config/h8300/h8300-protos.h: Update the prototype.
3103
3104 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
3105
3106         * config/mmix/mmix.h (LIBCALL_VALUE): Use
3107         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
3108         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
3109         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
3110         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
3111         and RTX_CODE.
3112         (mmix_function_value_regno_p): Declare.
3113
3114         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
3115         invalid for floating point mode result, with fix.
3116
3117 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
3118
3119         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
3120         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
3121         (stage1_build): Likewise.
3122
3123 2002-10-25  Mike Stump  <mrs@apple.com>
3124
3125         Fixes gcc.dg/warn-1.c.
3126         * c-typeck.c (warn_for_assignment): Don't print argument number,
3127         if zero.
3128
3129 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
3130
3131         * toplev.c (dump_file_index): Add DFI_ce3.
3132         (dump_file_info): Likewise.
3133         (rest_of_compilation): Run first ifcvt pass before tracer.
3134
3135 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
3136
3137         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
3138
3139 2002-10-25  Richard Henderson  <rth@redhat.com>
3140
3141         * real.c (real_to_decimal): If the >1 tens reduction loop results
3142         in a negative exponent, fall into the <1 pten computation.
3143
3144 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
3145
3146         PR middle-end/6994
3147         * c-objc-common.c (inline_forbidden_p): Can not inline
3148         functions containing structures or unions containing VLAs.
3149         * tree-inline.c (walk_tree): For all class 't' nodes, walk
3150         TYPE_SIZE and TYPE_SIZE_UNIT.
3151         (copy_tree_r): Copy types if they are variably modified.
3152
3153 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3154
3155         * config/s390/s390.md: Remove old-style peepholes.
3156
3157 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3158
3159         * config/s390/s390.c (s390_decompose_address): Do not range check the
3160         displacement if base or index is the argument pointer register.
3161
3162 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
3163
3164         PR other/3337
3165         PR bootstrap/6763
3166         PR bootstrap/8122
3167         * fixinc/inclhack.def (libc1_G_va_list): New fix.
3168         * fixinc/fixincl.x: Regenerate.
3169         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
3170         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
3171         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
3172         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
3173         * config.in, configure: Regenerate.
3174
3175 2002-10-24  Igor Shevlyakov <igor@microunity.com>
3176
3177         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
3178
3179 2002-10-24  Richard Henderson  <rth@redhat.com>
3180
3181         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
3182
3183 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3184
3185         * config/h8300/h8300.c (initial_offset): Simplify by using
3186         round_frame_size.
3187
3188 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
3189
3190         * doc/install.texi (avr): Update required binutils version.
3191
3192 2002-10-24  Theodore A. Roth  <troth@openavr.org>
3193
3194         * doc/install.texi: Point avr users at more up-to-date information.
3195
3196 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3197
3198         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
3199         to pull operands out of the literal pool where possible.
3200
3201 2002-10-24  Denis Chertykov  <denisc@overta.ru>
3202
3203         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
3204
3205 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
3206
3207         * expr.c (convert_move): If unsignedp is less then zero there
3208         is no equivalent code.
3209
3210 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
3211
3212         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
3213
3214 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3215
3216         * config/s390/s390.h: Rework comments; re-sort target macro definitions
3217         according to the sequence they are defined in the manual.
3218         (POINTER_BOUNDARY): Remove.
3219
3220 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3221
3222         * config/h8300/h8300.c (round_frame_size): Replace 8 with
3223         BITS_PER_UNIT.
3224
3225 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3226
3227         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
3228         64-bit safe.
3229         (TINY_CONSTANT_ADDRESS_P): Likewise.
3230
3231 2002-10-24  Richard Henderson  <rth@redhat.com>
3232
3233         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3234         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
3235         vcall offset.
3236
3237 2002-10-24  Richard Henderson  <rth@redhat.com>
3238
3239         PR opt/7944
3240         * reload.c (find_reloads_toplev): Mode of X is not important
3241         when simplifying subregs of constants.
3242
3243 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3244
3245         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
3246         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
3247         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
3248         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
3249         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
3250
3251 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3252
3253         * optabs.c (expand_binop): Don't reuse the shift target in the
3254         middle of shift sequences.
3255
3256 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
3257
3258         * i386.md (abs splitters): Do not produce nested subregs.
3259
3260 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
3261
3262         * i386.md (movti_rex64): Fix constraints.
3263
3264 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
3265
3266         * i386.md (abssf,absdf): Use vector operands for SSE
3267         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
3268         vector operand.
3269
3270 2002-10-23  Ziemowit Laski <zlaski@apple.com>
3271
3272         * objc/objc-act.c (get_static_reference): Remove unneeded
3273         TYPE_BINFO initialization.
3274         (get_object-reference): Likewise.
3275         (build_constructor): Tighten precondition check.
3276         (finish_message_expr): Likewise.
3277
3278 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
3279
3280         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
3281         after CONST test.
3282
3283 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
3284
3285         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
3286         in HFAs.
3287
3288 2002-10-23  Richard Henderson  <rth@redhat.com>
3289
3290         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3291         (alpha_output_mi_thunk_osf): Handle vcall_offset.
3292
3293 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
3294
3295         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
3296         var_mod_type_p.
3297         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
3298         hook_tree_bool_false.
3299
3300         * tree.c (variably_modified_type_p): Moved here from
3301         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
3302         language-specific cases.  Due to this, must weaken some 'if
3303         and only if' checks to merely 'if'.
3304         * tree.h: Prototype variably_modified_type_p.
3305
3306         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
3307
3308 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
3309
3310         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
3311         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
3312
3313         * config/s390/s390-protos.h (fp_operand): Remove.
3314         * config/s390/s390.c (fp_operand): Remove.
3315         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
3316         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
3317         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
3318         (movdi_31, movdf_31 splitters): Likewise.
3319
3320         * config/s390/s390.h (IEEE_FLOAT): Remove.
3321         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
3322         (INT_REGNO_P): Rename to ...
3323         (GENERAL_REGNO_P): ... this.
3324         (FLOAT_REGNO_P): Rename to ...
3325         (FP_REGNO_P): ... this.
3326         (ADDR_REGNO_P): New macro.
3327         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
3328         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
3329         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
3330         (HARD_REGNO_NREGS): Adapt to macro renaming.
3331         (HARD_REGNO_MODE_OK): Likewise.
3332
3333 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
3334             Geoff Keating  <geoffk@apple.com>
3335
3336         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
3337         (rs6000_memory_move_cost): New function.
3338         * config/rs6000/rs6000-protos.h: Declare them.
3339         * config/rs6000/rs6000.h: Use them.
3340
3341 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
3342
3343         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
3344         inlining it into other libgcc2 routines.
3345         (__udivmoddi4): Likewise.
3346
3347 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
3348
3349         * doc/sourcebuild.texi (Test Suites): Improve.
3350
3351 2002-10-22  Stan Shebs  <shebs@apple.com>
3352
3353         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
3354         case for Darwin.
3355
3356 2002-10-22  Jim Wilson  <wilson@redhat.com>
3357
3358         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
3359
3360 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
3361
3362         PR other/8289
3363         * xmmintrin.h: Add const to the argument of loads.
3364
3365         * i386.md (pushv2di): New pattern.
3366         PR target/6890
3367         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
3368
3369 2002-10-22  Richard Henderson  <rth@redhat.com>
3370
3371         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
3372         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
3373         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
3374         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3375         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3376         (TARGET_ASM_OUT): Update.
3377         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
3378         (hook_bool_tree_hwi_hwi_tree_true): New.
3379         (default_can_output_mi_thunk_no_vcall): New.
3380         * hooks.h: Declare them.
3381         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
3382
3383         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3384         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
3385         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
3386         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
3387         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
3388         config/stormy16/stormy16.c: Similarly.
3389
3390         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
3391         Handle 64-bit properly.  Streamline.
3392         (x86_output_mi_vcall_thunk): Remove.
3393         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
3394         (x86_can_output_mi_thunk): New.
3395         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3396         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3397         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
3398
3399         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
3400         output_mi_thunk; make static; always use function_section.
3401         (TARGET_ASM_OUTPUT_MI_THUNK): New.
3402         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3403         (rs6000_ra_ever_killed): Test no_new_pseudos not
3404         targetm.asm_out.output_mi_thunk in conjunction with thunks.
3405         * config/rs6000/rs6000-protos.h: Update.
3406         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3407         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
3408         xcoffout_declare_function when using rs6000_output_mi_thunk.
3409
3410         * config/s390/s390.c (s390_output_mi_thunk): Rename from
3411         s390_output_mi_vcall_thunk.
3412         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3413         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3414
3415         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
3416         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3417         * config/vax/vax-protos.h: Update.
3418         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
3419
3420 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
3421
3422         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
3423         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
3424         * i386.md (movti_internal): Use 'C'
3425
3426         * xmmintrin.h (_mm_cmplt_epi*): New.
3427
3428 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3429
3430         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
3431         ("*movdf_64"): Likewise.
3432         ("*lshrdi3_64"): Likewise.
3433         ("blockage"): Add length attribute.
3434         ("lit"): Likewise.
3435
3436 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
3437
3438         * i386.md: FIx typo.
3439         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
3440         (sse2_umulv2siv2di3): Fix predicate.
3441         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
3442         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
3443         * xmmintrin.h (_mm_mul_epu16): Rename to...
3444         (_mm_mul_epu32): This one.
3445         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
3446
3447         (contains_128bit_aligned_vector_p): Undo accidental checkin.
3448
3449 2002-10-22  Eric Christopher  <echristo@redhat.com>
3450
3451         * config/sparc/sparc.h: Add #error.
3452
3453 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3454
3455         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
3456         [s390x-*-linux*]: Likewise.
3457         * config/s390/t-linux: Remove.
3458         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
3459
3460 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
3461
3462         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
3463         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
3464         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
3465         * i386.md (mmx_punpck?dq): Simplify.
3466         (sse2_pubpcklqdq): Fix.
3467         (sse2_pubpckhqdq): New.
3468         * xmmintrin.h (_mm_unpackhi_epi32): New.
3469
3470         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
3471         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
3472
3473 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
3474
3475         PR c++/7209
3476         * fold_const.c (fold_binary_op_with_conditional_arg): Always
3477         build compound_expr if we used save_expr.
3478
3479 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
3480
3481         * output.h (SECTION_NOTYPE): Define.
3482         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
3483         init array sections.
3484         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
3485         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
3486         merge TLS support.
3487
3488 2002-10-21  Richard Henderson  <rth@redhat.com>
3489
3490         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
3491         the function type, not the return type.
3492
3493 2002-10-21  Richard Henderson  <rth@redhat.com>
3494
3495         * real.c (sticky_rshift_significand): Return inexact, don't
3496         or it in immediately.
3497         (sub_significands): Accept incomming carry.
3498         (div_significands, rtd_divmod): Update for sub_significands change.
3499         (round_for_format): Update for sticky_rshift_significand change.
3500         (do_add): Don't involve the inexact bit in addition, do give the
3501         inexact bit as the subtraction carry-in.
3502         (encode_internal, decode_internal, real_internal_format): New.
3503         * real.h (real_internal_format): Declare.
3504
3505 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3506
3507         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
3508         don't define sdiv_qrnnd.
3509
3510 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
3511
3512         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
3513         using IN_RANGE.
3514         (TINY_CONSTANT_ADDRESS_P): Likewise.
3515
3516 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
3517
3518         * i386.c (builtin_description): Add punpcklqdq and movdq2q
3519         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
3520         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
3521         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
3522         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
3523         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
3524         __builtin_ia32_setzero128.
3525         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
3526         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
3527         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
3528         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
3529         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
3530         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
3531         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
3532         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
3533         sse2_movq): New patterns.
3534         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
3535         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
3536         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
3537         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
3538         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
3539         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
3540         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
3541         (_mm_insert_epi16): Fix.
3542
3543 2002-10-21  Dale Johannesen  <dalej@apple.com>
3544
3545         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
3546             unsafe math reversals correctly for RTL generation.
3547           (output_cbranch):  Replace rs6000_reverse_condition call
3548             by its former definition.
3549
3550 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
3551
3552         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
3553         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
3554         from constant pool or LABEL_REFs as sign extended if allow_rip.
3555         Change all +-1GB limits to +-16MB.
3556         (x86_64_general_operand, x86_64_szext_general_operand,
3557         x86_64_nonmemory_operand, x86_64_movabs_operand,
3558         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
3559         legitimate_address_p, ix86_expand_int_movcc): Update callers.
3560         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
3561         in CM_SMALL_PIC model.
3562         (legitimate_pic_address_disp_p): Don't check offsets before
3563         calling local_symbolic_operand.
3564         (legitimize_pic_address): Force offsets bigger than +-16MB into
3565         register.
3566         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
3567         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
3568         prototype.
3569
3570         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
3571         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
3572         * configure: Rebuilt.
3573         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
3574         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
3575         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
3576         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
3577         -fpic.
3578         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
3579         non-pic code if TARGET_64BIT.
3580         (legitimize_address): Generate 64-bit TLS sequences.
3581         (output_pic_addr_const): Support x86-64 TLS operators.
3582         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
3583         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
3584         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
3585         (output_addr_const_extra): Support x86-64 TLS operators.
3586         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
3587         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
3588         unconditionally.
3589         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
3590         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
3591         (*tls_global_dynamic_sun): Renamed to...
3592         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
3593         (tls_global_dynamic): Renamed to...
3594         (tls_global_dynamic_32): ... this.
3595         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
3596         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
3597         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
3598         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
3599         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
3600         (tls_local_dynamic_base_dynamic): Renamed to...
3601         (tls_local_dynamic_base_dynamic_32): ... this.
3602         (tls_local_dynamic_base_dynamic_64,
3603         *tls_local_dynamic_base_dynamic_64): New.
3604         (*tls_local_dynamic_once): Renamed to...
3605         (*tls_local_dynamic_32_once): ... this.
3606
3607 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3608
3609         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
3610         __divdi3, __umoddi3, or __moddi3.
3611
3612 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3613
3614         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
3615         instead of just opt_index as switch expression.
3616
3617         * calls.c (store_one_arg): Change type of 'excess_align'
3618         to unsigned int.
3619
3620         * profile.c (output_gcov_string): Change type of 'temp'
3621         to size_t.
3622
3623 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3624
3625         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
3626         (__fixunssfdi, __fixsfdi): Likewise.
3627         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
3628         (s390_single_qi): Likewise.
3629         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
3630         unsigned comparison warning.
3631         (s390_return_addr_rtx): New function.
3632         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
3633         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
3634         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
3635
3636 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3637
3638         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
3639         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
3640         (s390_output_mi_thunk): Remove.
3641         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3642
3643 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
3644
3645         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
3646
3647 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
3648
3649         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
3650         inverted test in the conditional determining the possibility
3651         of sibcalls in PIC mode.
3652
3653 2002-10-20  Richard Henderson  <rth@redhat.com>
3654
3655         * target.h (struct gcc_target): Line wrap.
3656
3657         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
3658         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
3659         * config/alpha/alpha.h: ... not here.
3660         * config/alpha/alpha-protos.h: Update.
3661
3662         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
3663         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
3664         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
3665         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
3666         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
3667         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
3668         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
3669         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
3670         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
3671         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
3672         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
3673         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
3674         config/sparc/sparc.c, config/sparc/sparc.h,
3675         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
3676         config/stormy16/stormy16.h: Similarly.
3677
3678         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
3679         selection logic from call patterns.
3680
3681 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
3682
3683         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
3684
3685 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3686
3687         PR other/8202
3688         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
3689         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
3690         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
3691         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
3692
3693 2002-10-20  Roger Sayle  <roger@eyesopen.com>
3694
3695         PR c/761
3696         * toplev.c (flag_unsafe_profile_arcs): Remove.
3697         (flag_bounded_pointers): Remove.
3698         (flag_bounds_check): Correct comments.
3699         (lang_independent_options): Remove -funsafe-profile-arcs and
3700         -fbounded-pointers.  Correct -fbounds-check comments.
3701
3702         * flags.h: Correct flag_schedule_interblock comments.
3703         (flag_bounded_pointers): Remove prototype.
3704         (flag_bounds_check): Correct comments.
3705
3706         * c-opts.c (c_common_init_options): No need to mark
3707         flag_bounds_check as unspecified.
3708         (c_common_post_options): And no need to set it from
3709         flag_bounded_pointers if its still unspecified.
3710
3711         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
3712         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
3713         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
3714         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
3715
3716 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
3717         Angela Marie Thomas  <angela@releasedominatrix.com>
3718         Brendan Kehoe  <brendan@zen.org>
3719         Nick Clifton  <nickc@redhat.com>
3720         Andrew Haley  <aph@redhat.com>
3721
3722         * configure.in (--with-sysroot): New.  Don't inhibit libc if
3723         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
3724         and CROSS_SYSTEM_HEADER_DIR.
3725         * configure: Rebuilt.
3726         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
3727         (TARGET_SYSTEM_ROOT): New.
3728         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
3729         CROSS_SYSTEM_HEADER_DIR.
3730         (install-gcc-tooldir): New target.
3731         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
3732         if SYSTEM_HEADER_DIR does not exist and it's not the default
3733         sys-include directory.
3734         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
3735         (install-mkheaders): Likewise.
3736         * gcc.c (target_system_root): New variable.
3737         (add_sysrooted_prefix): New function.
3738         (process_command): Recompute run-time target_system_root from
3739         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
3740         does not exist.
3741         (do_spec_1): Process 'R' spec.
3742         (main): Add md_exec_prefix to exec_prefixes regardless of
3743         startfile_prefix_spec.  Use add_sysrooted_prefix for
3744         startfile_prefixes, and don't skip the default ones when cross
3745         compiling with sysroot enabled.  Removed unused case of
3746         non-absolute standard_startfile_prefix.
3747         * config/interix.h: Remove the only potential, yet disabled,
3748         occurrence of non-absolute (empty) standard_startfile_prefix.
3749         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
3750         linking.
3751         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
3752         * doc/install.texi (--with-sysroot): Document.
3753         (--with-headers, --with-libs): Deprecate.
3754
3755 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3756             Mark Mitchell  <mark@codesourcery.com>
3757
3758         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
3759         match target.h.
3760         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
3761         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
3762         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
3763         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
3764         x86_output_mi_thunk): Likewise.
3765         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
3766         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
3767         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
3768         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
3769         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
3770         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
3771         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
3772         Likewise.
3773         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
3774
3775         * target.h (gcc_target): Update output_mi_thunk and
3776         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
3777         vcall_index.
3778
3779         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
3780         TARGET_ASM_OUTPUT_MI_THUNK in comments.
3781         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
3782         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
3783         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
3784         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
3785         signature.
3786         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
3787         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
3788         TARGET_ASM_OUTPUT_MI_THUNK in comments.
3789         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
3790         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
3791         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
3792         TARGET_ASM_OUTPUT_MI_THUNK in comments.
3793         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
3794         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
3795
3796         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
3797         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
3798
3799 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
3800
3801         * real.c (do_add): Fix 0+0 sign corner case.
3802         (do_divide): Fix Inf/0 corner case.
3803
3804 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
3805
3806         * i386.c (classify_argument): Pass MMX arguments in memory
3807         (ix86_expand_builtin): Expand proper address mode for cflush.
3808         * i386.md (movdqa): Fix typo.
3809         (sse2_cflush): Accept DImode addresses.
3810
3811         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
3812         (_mm_max_sd): Fix pasto.
3813         (_mm_storeh_pd, _mm_storel_pd): Fix.
3814
3815         * i386.c (bdesc_comi): Fix to match specification.
3816         (ix86_expand_sse_comi): Emit the comparison properly.
3817         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
3818         Do not use comparison operator.
3819         (vnmaskcmp): Fix template.
3820
3821         * xmmintrin.h (_mm_cvtps_pi16): Fix.
3822
3823 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
3824
3825         * dependence.c : Removed.
3826         * Makefile.in : Remove dependence.o.
3827
3828 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
3829
3830         * mmintrin.h (__m64): typedef it to v2si.
3831         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
3832         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
3833         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
3834         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
3835         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
3836         * xmmintrin.h (_mm_setzero_si64): Likewise.
3837
3838         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
3839         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
3840
3841         PR target/7693
3842         Patch by Shawn Wagner
3843         * mmintrin.h: Replace pi64 by si64.
3844
3845 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
3846
3847         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
3848         Use length of 4 not *.
3849         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
3850         (movdf_softfloat64): Likewise.
3851         (movdi_internal32): Use length of 4 not *.
3852         (movti_power): Same.
3853         (ctrsi, ctrdi): Same.
3854
3855 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
3856
3857         * c-decl.c (start_decl): Point users of the old initialized-
3858         typedef extension at __typeof__.
3859
3860 2002-10-18  Richard Henderson  <rth@redhat.com>
3861
3862         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
3863         (real_to_decimal): Re-implement using the logic from the
3864         gcc 3.2 etoasc.  Comment heavily.
3865         (div_significands): Simplify loop startup and comparison logic.
3866
3867 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
3868
3869         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
3870         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
3871         (TARGET_ASM_OUT): Add them.
3872         * target.h (asm_out): Add output_mi_thunk and
3873         output_mi_vcall_thunk.
3874         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3875         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3876         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
3877         * config/arm/arm.c (arm_output_mi_thunk): Define.
3878         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3879         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3880         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3881         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3882         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3883         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3884         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
3885         prototype.
3886         (x86_output_mi_vcall_thunk): Declare.
3887         * config/i386/i386.c (override_options): Clear
3888         output_mi_vcall_thunk in 64-bit mode.
3889         (ix86_fntype_regparm): New function.
3890         (ix86_return_pops_args): Use it.
3891         (ia32_this_parameter): New function.
3892         (x86_output_mi_vcall_thunk): New function.
3893         (x86_output_mi_thunk): Use it
3894         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
3895         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
3896         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
3897         * config/i960/i960.c (i960_output_mi_thunk): New function.
3898         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
3899         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
3900         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
3901         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3902         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3903         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
3904         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3905         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3906         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3907         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3908         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3909         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3910         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3911         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3912         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3913         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3914         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
3915         * config/s390/s390.c (s390_output_mi_thunk): Define.
3916         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3917         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3918         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3919         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3920         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3921         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3922         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
3923         * config/vax/vax.c (vax_output_mi_thunk): Define.
3924         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3925         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3926         * doc/tm.texi: Adjust documentation.
3927
3928 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
3929
3930         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
3931         __enable_execute_stack function.
3932         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
3933         as NETBSD_ENABLE_EXECUTE_STACK.
3934         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3935         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3936         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3937         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3938         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3939
3940 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
3941
3942         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
3943         to __enable_execute_stack with the address of the trampoline
3944         if TRANSFER_FROM_TRAMPOLINE is defined.
3945         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
3946         constant if building libgcc2.
3947
3948 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
3949
3950         * i386.c (pentium4_cost): Fix according to Intel recommendations.
3951         (ix86_memory_move_cost): Fix for 64bit compilation.
3952
3953 2002-10-17  Roger Sayle  <roger@eyesopen.com>
3954
3955         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
3956
3957 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
3958
3959         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
3960         in CTR/LR/MQ.
3961         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
3962         to/from CTR/LR/MQ.
3963         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
3964         (movsf_softfloat): Likewise.
3965
3966 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
3967
3968         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
3969
3970 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
3971
3972         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
3973         tramp, not addr, to pass the trampoline address to
3974         __enable_execute_stack.
3975
3976 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
3977
3978         * mmintrin.h: Guard by __MMX__
3979         * xmmintrin.h: Guard by __SSE__
3980
3981         PR other/8062
3982         * xmmintrin.h (_MM_SHUFFLE2): New macro.
3983         (_mm_load*_?d): New functions.
3984         (_mm_set*_?d): New functions.
3985         (_mm_store*_?d): New functions.
3986
3987 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
3988
3989         Really commit patch announced at Oct 14
3990         PR c/7344
3991         * predict.c (can_predict_insn_p): New function.
3992         (estimate_probability): Avoid unnecesary work.
3993         (process_note_prediction): Likewise.
3994         * toplev.c (rest_of_compilation): Account early branch prediction pass
3995         as TV_BRANCH_PROB.
3996
3997         PR other/8048
3998         Found by Ian Ollmann
3999         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
4000         (_mm_load?_pd): Likewise.
4001         (_mm_store?_pd): Likewise.
4002
4003         PR target/7386
4004         * i386.c (builtin_description):Drop cmpg[te]s[sd].
4005         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
4006         swapped alternative.
4007
4008         PR opt/7630
4009         * reload1.c (reload_inner_reg_of_subreg): New argument output;
4010         (push_reload): Update call.
4011
4012 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
4013
4014         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
4015         if using mips/elf.h or mips/elf64.h.
4016         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
4017         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
4018
4019 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
4020
4021         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
4022         SI.
4023
4024 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
4025
4026         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
4027         (LPREFIX): Likewise.
4028         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
4029         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
4030         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
4031         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
4032         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
4033
4034         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
4035         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
4036         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4037         BSS_SECTION_ASM_OP): Move from linux.h.
4038         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4039         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4040
4041         * config/s390/s390.c (s390_function_profiler): Use
4042         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4043
4044 2002-10-15  Eric Christopher  <echristo@redhat.com>
4045
4046         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
4047         * java/parse.y (obtain_incomplete_type): Make pointer
4048         ptr_mode.
4049
4050 2002-10-15  Richard Henderson  <rth@redhat.com>
4051
4052         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
4053         as arguments.  Bound DIGITS by the available buffer size.
4054         (real_to_hexadecimal): Likewise.
4055         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
4056         (REAL_VALUE_TO_DECIMAL): Remove.
4057         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
4058         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
4059         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
4060         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4061         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
4062         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
4063         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
4064         use real_to_decimal directly, and with the proper arguments.
4065         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
4066
4067 2002-10-15  Jim Wilson  <wilson@redhat.com>
4068
4069         * reload1.c (merge_assigned_reloads): After converting overlapping
4070         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
4071
4072         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
4073
4074 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
4075
4076         * expr.c (do_tablejump): Fix typo in my previous commit.
4077
4078 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
4079
4080         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
4081
4082 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4083
4084         * config/s390/s390.c (s390_split_branches): Add return
4085         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
4086
4087         (find_base_register_in_addr): New function.
4088         (find_base_register_ref): New function.
4089         (replace_base_register_ref): New function.
4090
4091         (struct constant_pool): Add members pool_insn, insns, and anchor.
4092         Remove member last_insn.
4093         (s390_start_pool): Initialize them.
4094         (s390_end_pool): Emit pool placeholder insn.
4095         (s390_add_pool_insn): New function.
4096         (s390_find_pool): Use insns bitmap instead of addresses.
4097         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
4098         Replace unspec 104 by local-pool-relative references.
4099         (s390_output_constant_pool): Output anchor label if required.
4100         (s390_output_symbolic_const): Handle unspec 104 and 105.
4101         (s390_add_pool): Remove, replace by ...
4102         (s390_add_constant, s390_find_constant): ... these new functions.
4103         (s390_add_anchor): New function.
4104
4105         (s390_chunkify_pool): Delete, replace by ...
4106         (s390_chunkify_start, s390_chunkify_finish,
4107         s390_chunkify_cancel): ... these new functions.
4108         (s390_optimize_prolog): Add parameter TEMP_REGNO.
4109         Recompute register live data for special registers.
4110         (s390_fixup_clobbered_return_reg): New function.
4111         (s390_machine_dependent_reorg): Rewrite to use new
4112         s390_chunkify_... routines.
4113
4114         config/s390/s390.md ("reload_base"): Rename to ...
4115         ("reload_base_31"): ... this.
4116         ("reload_base_64"): New insn.
4117         ("reload_base2"): Remove.
4118         ("reload_anchor"): New insn.
4119         ("pool"): New insn.
4120
4121         s390.c (s390_pool_overflow): Remove.
4122         s390.h (s390_pool_overflow): Likewise.
4123         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
4124
4125 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
4126
4127         * sh.md (movv8qi_i+2): Don't split if source is -1.
4128
4129 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
4130
4131         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
4132
4133 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4134
4135         PR opt/7409
4136         * loop.c (loop_regs_scan): Mark registers used for function
4137         argument passing as MAY_NOT_OPTIMIZE.
4138
4139 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
4140
4141         * gcov-io.h (gcov_info): Fix type.
4142         * profile.c (create_profiler): Fix type mismatch.
4143
4144 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
4145
4146         * i386.md (movv2di_internal): New pattern.
4147         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
4148         (movv2di): New expander.
4149         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
4150
4151         * i386.c (ix86_expand_timode_binop_builtin): Delete.
4152         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
4153         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
4154         (ix86_expand_builtin): Likewise.
4155         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4156         sse_andti3,
4157         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4158         sse_andnti3,
4159         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
4160         sse_orti3,
4161         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
4162         sse_xorti3): Kill.
4163         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
4164          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
4165         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
4166          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
4167         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
4168          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
4169
4170         * xmmintrin.h (__m128i): Define as __v2di.
4171
4172         PR c++/6419
4173         (expand_expr): Use DECL_RTL_SET_P.
4174
4175 2002-10-14  Roger Sayle  <roger@eyesopen.com>
4176
4177         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
4178
4179 2002-10-14  Roger Sayle  <roger@eyesopen.com>
4180             Zack Weinberg <zack@codesourcery.com>
4181
4182         * config/i386/i386.c (k6_cost): Correct typo.
4183
4184 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
4185
4186         PR optimization/6631
4187         * alias.c (objects_must_conflict_p): Check honor_readonly when
4188         examining TYPE_READONLY.
4189         * function.c (assign_stack_temp_for_type): Likewise.
4190
4191 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
4192
4193         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
4194         Swap zero extension arguments.
4195         (umaxhi3): Fix instruction class.
4196         PR target/7211
4197         (prefetch): Fix prefetch instructions.
4198         PR target/7238
4199         (pkwb): Fix output constraint.
4200
4201 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
4202
4203         * config/mips/mips.c (print_operand): Increase buffer size for
4204         real numbers.
4205
4206 2002-10-14  Richard Henderson  <rth@redhat.com>
4207
4208         PR opt/8165
4209         * gcse.c (adjust_libcall_notes): Revert last change.
4210         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
4211
4212 2002-10-14  Andrew Haley  <aph@redhat.com>
4213
4214         * tree-inline.c (remap_block): All local class initialization
4215         flags go in the outermost scope.
4216         (expand_call_inline): Call java_inlining_map_static_initializers.
4217         (expand_call_inline): Call java_inlining_merge_static_initializers.
4218         * java/lang.c (merge_init_test_initialization): New.
4219         (java_inlining_merge_static_initializers): New.
4220         (inline_init_test_initialization): New.
4221         (java_inlining_map_static_initializers): New.
4222
4223         * tree-inline.c (expand_call_inline): Convert retvar to expected
4224         type.
4225
4226 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
4227
4228         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
4229
4230 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
4231
4232         * stmt.c: Fix typo in comment.
4233
4234 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
4235
4236         * c-common.c (c_common_type_for_mode): Add V2HImode case.
4237         * tree.c (build_common_tree_nodes_2): Initialize
4238         unsigned_V2HI_type_node and V2HI_type_node.
4239         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
4240         (unsigned_V2HI_type_node, V2HI_type_node): Define.
4241
4242 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
4243
4244         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
4245         Handle TARGET_64BIT.
4246
4247 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
4248
4249         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
4250         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
4251         (MULTILIB_DIRNAMES): Remove long32.
4252         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
4253         (MULTILIB_REDUNDANT_DIRS): Remove.
4254
4255 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
4256
4257         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
4258         * gcc.c (driver_self_specs): New variable.
4259         (do_self_spec): New function.
4260         (main): Use it to process driver_self_specs.
4261
4262 2002-10-13  Richard Henderson  <rth@redhat.com>
4263
4264         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
4265         indirect sibcalls when regparm >= 3.
4266
4267         * config/i386/i386.c (sibcall_insn_operand): New.
4268         * config/i386/i386.h (PREDICATE_CODES): Update.
4269         * config/i386/i386-protos.h: Update.
4270         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
4271
4272         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
4273
4274 2002-10-12  Roger Sayle  <roger@eyesopen.com>
4275
4276         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
4277         arithmetic right shifts of ~0 during RTL simplifications.
4278
4279 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
4280
4281         PR preprocessor/7862
4282         PR preprocessor/8190
4283         * gcc.c (cpp_unique_options): Don't delete .d files.
4284         Remove stray whitespace.
4285
4286 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
4287
4288         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
4289         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
4290         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
4291         (pdp11_output_function_epilogue, output_ascii): Likewise.
4292         (output_addr_const_pdp11): Likewise.
4293         * pdp11.md (movdi): Use offsetable memory for floating store.
4294         (lshrsi3, negsi2): Delete irrelevant comment.
4295
4296 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
4297
4298         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
4299         indirect calls to be sibcall optimized.
4300         * config/i386/i386.md (sibcall_1): New.
4301         (call_1): Add no-sibcalls condition.
4302         (sibcall_value_1): New.
4303         (call_value_1): Add no-sibcalls condition.
4304
4305 2002-10-11  Eric Christopher  <echristo@redhat.com>
4306
4307        * output.h (default_valid_pointer_mode): Declare.
4308        * varasm.c (default_valid_pointer_mode): Define.
4309        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
4310        * target.h: Ditto.
4311        * tree.c (build_pointer_type_for_mode): New function.
4312        (build_pointer_type): Use.
4313        (build_reference_type_for_mode): New function.
4314        (build_reference_type): Use.
4315        * tree.h: Declare new functions.
4316        * c-common.c (handle_mode_attribute): Use new functions, check
4317        for type.
4318        * stor-layout.c (layout_type): Depend on machine mode for
4319        REFERENCE_TYPE and POINTER_TYPE.
4320        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
4321        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
4322        and REFERENCE_TYPE.
4323        * config/mips/mips.c (mips_valid_pointer_mode): New function.
4324        (TARGET_VALID_POINTER_MODE): Use and define.
4325        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
4326
4327 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
4328
4329         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
4330         not the address of the REG.
4331         (struct cse_reg_info): Make subreg_ticked unsigned.
4332
4333 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
4334
4335         * doc/compat.texi: Add info about C++ libraries.
4336
4337 2002-10-11  Richard Henderson  <rth@redhat.com>
4338
4339         PR opt/8165
4340         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
4341
4342 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4343
4344         * cfganal.c (dfs_enumerate_from): Use PARAMS.
4345         * genautomata.c (output_insn_code_cases): Likewise.
4346         * real.c (real_format): Likewise.
4347         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
4348         ensure value is promoted before doing subtraction.
4349
4350 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
4351
4352         * calls.c (expand_call): Simplify noreturn call.
4353
4354         PR c/7344
4355         * cfgbuild.c (make_edges): Create edge cache when we do have
4356         large jumptable.
4357         * expr.c (do_tablejump): Note size of maximal jumptable.
4358         * function.c (prepare_function_start): Zero out size.
4359         * function.h (function): Add max_jumptable_ents.
4360
4361         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
4362
4363 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
4364
4365         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
4366         register for mperm_w operation.
4367
4368 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
4369
4370         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
4371         an integer, use simplify_gen_subreg.
4372
4373 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
4374
4375         * calls.c (flags_from_decl_or_type): Make extern.
4376         (ECF_*): Move ...
4377         * rtl.h (ECF_*): ... here.
4378         (flags_from_decl_or_type): Declare.
4379
4380 2002-10-10  Roger Sayle  <roger@eyesopen.com>
4381             Nathan Sidwell <nathan@codesourcery.com>
4382
4383         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
4384         shifts of the form -1 >> x.
4385
4386 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
4387
4388         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
4389
4390 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
4391
4392         * extend.texi (Vector Extensions): Remove comment about single
4393         element vectors.
4394
4395 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4396
4397         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
4398         * function.c (insns_for_mem_hash): Likewise.
4399         * varasm.c (STRHASH): Likewise.
4400
4401 2002-10-10  Stuart Hastings  <stuart@apple.com>
4402
4403         * cse.c (struct cse_reg_info): Add subreg_ticked.
4404         (SUBREG_TICKED): New.
4405         (get_cse_reg_info): Initialize SUBREG_TICKED.
4406         (mention_regs): Use it.
4407         (invalidate): Set SUBREG_TICKED.
4408         (invalidate_for_call): Likewise.
4409         (addr_affects_sp_p): Likewise.
4410
4411 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
4412
4413         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
4414         into proper operand.
4415
4416 2002-10-10  Denis Chertykov  <denisc@overta.ru>
4417
4418         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
4419         deallocation.
4420         * config/ip2k/libgcc.S: Combine routines used by function
4421         epilogue.
4422
4423 2002-10-10  Jim Wilson  <wilson@redhat.com>
4424
4425         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
4426         UDIV.
4427
4428 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
4429
4430         * config/rs6000/aix52.h: New file.
4431         * config/rs6000/t-aix52: New File.
4432         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
4433         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
4434
4435 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
4436
4437         PR target/5610
4438         * invoke.texi (-msse-math): Kill
4439         (-msse): Add note to mfpmath=sse.
4440
4441 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
4442
4443         PR target/7723
4444         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
4445
4446 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
4447
4448         PR preprocessor/8179
4449         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
4450         as cc1_options.
4451         (default_compilers): Pass debug options when preprocessing
4452         stdin.
4453
4454 2002-10-06  Richard Henderson  <rth@redhat.com>
4455
4456         * toplev.c (rest_of_compilation): Revert opt/2960 change.
4457
4458 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
4459
4460         * i386.c (*_cost): Add branch costs.
4461         (override_options): set ix86_branch_cost.
4462         (ix86_expand_int_movcc): Use BRANCH_COST.
4463         * i386.h (costs): Add branch_cost.
4464
4465 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
4466
4467         PR c/7353
4468         * c-decl.c (start_decl): Unconditionally issue error for
4469         'typedef foo = bar'.
4470         (finish_decl): Remove special case for TYPE_DECL with initializer.
4471
4472         * doc/extend.texi: Delete "Naming Types" section.  Change all
4473         cross-references to that section to refer to "Typeof" instead.
4474         Add the useful safe-max()-macro example from "Naming Types" to
4475         "Typeof", rewritten using that extension.  Add some compatibility
4476         notes to "Typeof."
4477
4478 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4479
4480         * loop.c: Revert 2002-08-15 change.
4481         (LOOP_REGNO_NREGS): Ensure type is int.
4482
4483 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
4484
4485         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
4486         which copies first FPR and clears second.
4487         (extendsftf2): Same.
4488         (floatditf2): Fix typo.
4489         (floatsitf2): Same.
4490         (fix_trunctfdi2): Same.
4491         (fix_trunctfsi2): Same.
4492
4493 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4494
4495         * conflict.c (arc_hash): Change return type to hashval_t.
4496         * cselib.c (get_value_hash): Likewise.
4497         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
4498         state_hash, automata_list_hash): Likewise.
4499         * read-rtl.c (def_hash): Likewise.
4500         * tree.c (type_hash_hash): Likewise.
4501
4502 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
4503
4504         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
4505         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
4506
4507 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
4508
4509         * sh.md (ffssi2): Fix emitted code.
4510
4511 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
4512
4513         * cse.c (insn_live_p): Pass insn pattern, not full insn
4514         to may_trap_p.
4515
4516 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
4517
4518         * cppmacro.c (paste_tokens): Only allow / to paste with =.
4519
4520 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
4521
4522         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
4523         64-bit hosts.
4524         (movtf_internal): Reference correct displacement for second value
4525         in memory.
4526         (movtf splitter): Correct generation of constants in 64-bit mode.
4527
4528 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
4529
4530         * libgcc2.c (__floatdisf): Properly cure double rounding.
4531
4532 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4533
4534         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
4535         * doc/cpp.texi (Common Predefined Macros): Document.
4536
4537 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4538
4539         PR doc/7484
4540         * doc/invoke.texi (Option Summary): List
4541         -Wmissing-declarations as a C only option.
4542
4543 2002-10-08  Roger Sayle  <roger@eyesopen.com>
4544
4545         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
4546         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
4547         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
4548
4549 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
4550
4551         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
4552         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
4553         variables.
4554         (safe_vector_operand): Update sse_clrv4sf call.
4555         (ix86_expand_buildin): Likewise
4556         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
4557         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
4558         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
4559         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
4560         macros.
4561         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
4562         movv4si):  Obey the new flags.
4563         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
4564         reformating penalty.
4565         (anddf, cmov patterns): Avoid reformating by first converting.
4566         (sse_cvtsd2ss): Fix predicate.
4567         (sse2_clrti): Fix mode,
4568         (sse_clrv4sf): Avoid unspec.
4569
4570 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
4571
4572         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
4573         mno-app-regs|mcmodel=medany.
4574         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
4575         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
4576         (CRTSTUFF_T_CFLAGS): Define.
4577
4578 2002-10-08  Roger Sayle  <roger@eyesopen.com>
4579
4580         PR target/8087
4581         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
4582         pool references that are constructed using LO_SUM.
4583
4584 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
4585
4586         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
4587         -Wall.
4588         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
4589         message.
4590         * flags.h (warn_strict_aliasing): Declare.
4591         * toplev.c (warn_strict_aliasing): Define.
4592         (lang_independent_options): Add it.
4593         * doc/invoke.texi (-Wstrict-aliasing): Document it.
4594
4595 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
4596
4597         * system.h (GCCBUGURL): Delete.
4598         * version.c (bug_report_url): New.  Add commentary about
4599         modifying both these strings in modified distributions.
4600         * version.h: Declare bug_report_url.
4601
4602         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
4603         bug_report_url.
4604
4605 2002-10-08  Nick Clifton  <nickc@redhat.com>
4606
4607         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
4608         convert uint64_t into __ev64_opaque__.
4609         (__ev_set_acc_s64): Likewise, but using signed types.
4610
4611 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
4612
4613         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
4614         ("*doloop_di_long"): Likewise.
4615
4616 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
4617
4618         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
4619
4620 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
4621
4622         * config/mips/mips.md (define_attr cpu): Add r4111.
4623
4624 2002-10-08  Anthony Green  <green@redhat.com>
4625
4626         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
4627
4628 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4629
4630         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
4631         for REAL_VALUE_TO_DECIMAL output.
4632
4633 2002-10-07  Richard Henderson  <rth@redhat.com>
4634
4635         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
4636         function; cleanup PLUS case by using recursion.  Update all users.
4637         (NONZERO_BASE_PLUS_P): Remove.
4638         (find_comparison_args): Use rtx_addr_can_trap_p instead.
4639         (fold_rtx): Use nonzero_address_p.
4640         * rtl.h (nonzero_address_p): Declare.
4641         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
4642         (rtx_addr_can_trap_p): Likewise.
4643         (nonzero_address_p): New.
4644         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
4645         (simplify_relational_operation): Use nonzero_address_p.
4646
4647 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
4648
4649         * config/rs6000/rs6000.c (rs6000_override_options): Set
4650         real_format_for_mode for IBM extended format, if enabled.
4651         (easy_fp_constant): Add TFmode.
4652         (rs6000_legitimize_address): Add TFmode.
4653         (rs6000_legitimate_address): Same.
4654         (function_arg_advance): TFmode uses two FPRs.
4655         (rs6000_emit_prologue): Fix warning.
4656         (rs6000_output_function_epilogue): Add TFmode.
4657         (output_toc): Add TFmode.
4658         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
4659         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
4660         * rs6000.md (movtf splitter): Load TFmode constant.
4661
4662 2002-10-07  Dale Johannesen  <dalej@apple.com>
4663
4664         * rtl.h:  Add NOTE_PRECONDITIONED.
4665         * unroll.c:  Set it.
4666         * loop.c:  Set loop_info->preconditioned from it.
4667         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
4668
4669 2002-10-07  Richard Henderson  <rth@redhat.com>
4670
4671         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
4672         new rtx for comparing the argument pointer against zero.
4673         (i960_va_start): Similarly.
4674
4675 2002-10-07  Richard Henderson  <rth@redhat.com>
4676
4677         * config/i960/i960.md (*): Use TFmode, not XFmode.
4678         * config/i960/i960.c (*): Likewise.
4679         (i960_arg_size_and_align): Remove XFmode alignment hack.
4680         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
4681         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
4682         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
4683         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
4684
4685 2002-10-07  Richard Henderson  <rth@redhat.com>
4686
4687         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
4688         entry points; use void return value and argument list.
4689
4690 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
4691
4692         * calls.c (expand_call): Fix function-is-volatile check.
4693
4694 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
4695
4696         * t-pdp11: Add MULTILIB support for msoft-float.
4697         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
4698
4699         * t-pdp11: Add LIB2FUNCS_EXTRA.
4700         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
4701         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
4702         'fldd' to 'ldd', rename 'fstd' to 'std'.
4703         (pdp11_output_function_epilogue): Likewise.
4704         (output_move_quad): Make the comment gas compatible.
4705         (output_ascii): Add preceding 0 to the octal constant.
4706         (print_operand_address): Add pre_modify, post_modify.
4707         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
4708         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
4709         with the indication of Paul Koning.
4710         (PRINT_OPERAND): Fix floating constant.
4711         * pdp11.md (movdi): Restrict matching pattern.
4712         (movqi): Generalize the matching pattern.
4713         (movdf): Restrict matching pattern.
4714         (zero_extendqihi2): Change constant representation.
4715         (floatsidf2): Fix wrong operands.
4716         (addqi3): Fix wrong instruction name.
4717         (subqi3): Fix wrong instruction name.
4718         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
4719         (xorsi3): Fix wrong insn.
4720         (one_cmplqi2): Add two operand pattern.
4721         (lsrsi3): New.
4722         (negsi2): New.
4723         (call): Add register indirect case.
4724         (mod): Fix wrong subreg.
4725
4726 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
4727             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4728
4729         PR c/7411
4730         * expr.c (expand_expr) [PLUS]: Simplify after the operands
4731         have been expanded in EXPAND_NORMAL mode.
4732
4733 2002-10-06  Richard Henderson  <rth@redhat.com>
4734
4735         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
4736
4737 2002-10-06  Richard Henderson  <rth@redhat.com>
4738
4739         PR optimization/2960
4740         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
4741         optimize_size.
4742
4743 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
4744
4745         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
4746         previously definitions.
4747
4748 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
4749
4750         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
4751         * c-opts.c (find_opt): Similarly.
4752
4753 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
4754
4755         * athlon.md: rewrite to DFA.
4756         * i386 (ix86_adjust_cost): Drop memory latency code.
4757         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
4758
4759 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
4760
4761         * gcc.c (set_multilib_dir): Don't access *end.
4762         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
4763         (print_multilib_info): Don't show paths starting with ".:".
4764         * genmultilib: Add new option, "yes" if multilibs are enabled.
4765         Update comments.  If multilibs not enabled, print .:${osdirout}
4766         for each directory.  If multilibs are enabled, always print
4767         ${dirout}:${osdirout}, even if the two are the same.
4768         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
4769         Pass all MULTILIB_* variables to genmultilib even if
4770         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
4771
4772 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
4773
4774         * gcc.c (process_command): Set .validated for -pipe.  Correct
4775         grammar in comment.
4776
4777 2002-10-04  Bruce Korb  <bkorb@gnu.org>
4778
4779         * fixinc/inclhack.def(hpux11_abs):  use format fix
4780         * fixinc/fixincl.x: regenerate
4781         * fixinc/tests/base/stdlib.h: accommodate new fix test
4782
4783 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
4784
4785         * c-common.c (cb_register_builtins):  Use really_no_inline.
4786
4787 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
4788
4789         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
4790         copied instruction if the note is not loop invariant.
4791
4792 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
4793
4794         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
4795
4796 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
4797
4798         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
4799         and -mhp-ld options to list of options.  Add -mgnu-ld
4800         and -mhp-ld option descriptions.
4801
4802 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
4803
4804         * fixinc/inclhack.def (hpux11_abs):  New.
4805         (stdio_va_list): change __va_list__ to __gnuc_va_list.
4806         * fixinc/fixincl.x: Rebuild.
4807
4808 2002-10-04  Roger Sayle  <roger@eyesopen.com>
4809
4810         * config/i386/i386.h (processor_costs): Add new fields fadd,
4811         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
4812         (RTX_COSTS): Use these fields to determine the RTX costs
4813         of floating point addition/subtraction, multiplication,
4814         division, fabs, negation and square root respectively.
4815         * config/i386/i386.c (size_cost): Provide instruction sizes
4816         for these new fields.
4817         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
4818         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
4819         counts for these new fields for all x86 processor variants.
4820
4821 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4822
4823         * mips.c (mips_const_double_ok): Delete unused variable.
4824
4825         * gengtype.c (rtx_next): Change type to int.
4826
4827 2002-10-04  Andreas Jaeger  <aj@suse.de>
4828
4829         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
4830
4831 2002-10-04  Richard Henderson  <rth@redhat.com>
4832
4833         * real.h (SIGNIFICAND_BITS): Add one more word.
4834         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
4835         * real.c (times_pten): New.
4836         (real_to_decimal, real_from_string): Use it.
4837         (sticky_rshift_significand): Use & to find modulus.
4838         (rshift_significand, lshift_significand): Likewise.
4839         (do_divide): Apply sticky bit after normalization.
4840         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
4841
4842 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
4843
4844         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
4845         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
4846
4847 2002-10-03  Andreas Jaeger  <aj@suse.de>
4848
4849         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
4850         to unsigned long, adjust printf format string.
4851         (output_mangled_typename): Likewise.
4852
4853 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
4854
4855         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
4856         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
4857         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
4858         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
4859         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
4860         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
4861         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
4862         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
4863
4864 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
4865
4866         * doc/invoke.texi (-Wabi): Document mangling bug.
4867
4868 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
4869
4870         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
4871         name for the tbtab label that depends on the function asm name.
4872         Don't output tbtab label unless optional_tbtab.
4873         (output_mi_thunk): Formatting.
4874
4875 2002-10-03  Richard Henderson  <rth@redhat.com>
4876
4877         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
4878         * config/m68k/m68k.c (override_options): ... here.
4879         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
4880         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
4881         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
4882         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
4883
4884 2002-10-03  Richard Henderson  <rth@redhat.com>
4885
4886         * real.h (struct real_value): Use ENUM_BITFIELD.
4887
4888 2002-10-03  Richard Henderson  <rth@redhat.com>
4889
4890         * config/i960/i960.md (call, call_value): Use emit_call_insn.
4891
4892 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
4893
4894         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
4895
4896 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
4897
4898         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
4899         * config/pa/pa.h (MASK_GNU_LD): New.
4900         (TARGET_GNU_LD): New.
4901         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
4902         on gnu-ld and MASK_GNU_LD.
4903         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
4904
4905 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
4906
4907         * i386.c (athlon_cost): Fix the move costs.
4908
4909 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
4910
4911         * final.c (final): Use symbol name as function name for profiling.
4912         * profile.c (get_exec_counts): Likewise.
4913         (branch_prob): Likewise.
4914
4915 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
4916
4917         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
4918
4919 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
4920
4921         * gcc.c (print_multi_os_directory): New variable.
4922         (option_map): Support --print-multi-os-directory.
4923         (struct prefix_list): Add os_multilib field.
4924         (multilib_os_dir): New variable.
4925         (static_specs): Add multilib_options.
4926         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
4927         subdirs if non-zero.
4928         (read_specs, execute): Update callers.
4929         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
4930         pass 1 as multilib option.
4931         (display_help): Include --print-multi-os-directory.
4932         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
4933         (process_command): Update callers.  Handle --print-multi-os-directory.
4934         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
4935         set.
4936         (main): Update find_a_file and add_prefix callers.
4937         Handle print_multi_os_directory.
4938         (struct mdswitchstr): New.
4939         (mdswitches, n_mdswitches): New variables.
4940         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
4941         present on the command line nor their mutually incompatible
4942         switches.
4943         (default_arg): Optimize.
4944         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
4945         array.
4946         (print_multilib_info): Only print GCC multilib dir name, not OS
4947         multilib dirname.
4948         * genmultilib: Add osdirnames parameter.  Output multilib_options
4949         variable.  If osdirnames is specified, output dirnames as
4950         dirname:osdirname.
4951         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
4952         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
4953         to compute libgcc_s soname and install path.
4954         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
4955         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
4956         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
4957         argument.
4958
4959         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
4960         (SHLIB_SLIBDIR_SUFFIXES): Remove.
4961         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
4962         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
4963         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
4964         and -m64.
4965         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
4966         (SHLIB_SLIBDIR_SUFFIXES): Remove.
4967         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
4968         (STARTFILE_ARCH_SPEC): Remove.
4969         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
4970         (SHLIB_SLIBDIR_SUFFIXES): Remove.
4971         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
4972         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
4973         (SHLIB_SLIBDIR_SUFFIXES): Remove.
4974
4975 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
4976
4977         * predict.c (choose_function_section): Avoid choice for linkonce functions.
4978
4979 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
4980
4981         * i386.md (lea to mul peep2): Fix condition.
4982
4983 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4984
4985         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
4986         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
4987
4988 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
4989
4990         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
4991         attribute "unused".
4992
4993         * config/t-libunwind: Mention unwind-sjlj.c.
4994         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
4995         to #ifndef __USING_SJLJ_EXCEPTIONS__.
4996
4997         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
4998         before inclusion of config.gcc, but after configuring the compiler etc.
4999         Determine default value for --enable-libunwind-exceptions based on
5000         whether the host has a libunwind library (not guaranteed to be correct,
5001         but it's a reasonable first guess and can always be overridden with an
5002         explicit --enable/disable-libunwind-exceptions.
5003         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
5004         tmake_file when $use_libunwind_exceptions is enabled.
5005         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
5006         ia64 (e.g., config/t-linux also updates it).
5007         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
5008         along with the shared version of libgcc since the latter requires
5009         the former.
5010         * unwind-libunwind.c: New file.
5011         * config/t-libunwind: Ditto.
5012
5013 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5014
5015         * config.gcc: Remove support for vax-*-vms*.
5016         * config/vax/vms.h: Remove.
5017         * config/vax/xm-vms.h: Remove.
5018         * config/vax/vax-protos.h: Remove VMS-specific code.
5019         * config/vax/vax.c: Remove VMS-specific code.
5020
5021 2002-10-02  Richard Henderson  <rth@redhat.com>
5022
5023         PR opt/7124
5024         * config/i386/i386.c (ix86_register_move_cost): Increase cost
5025         for secondary_memory_needed pairs.
5026
5027 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5028
5029         * doc/vms.texi: Blow away false include file section.
5030
5031 2002-10-02  Roger Sayle  <roger@eyesopen.com>
5032
5033         PR optimization/6627
5034         * toplev.c (force_align_functions_log): New global variable.
5035         * flags.h (force_align_functions_log): Add extern prototype.
5036         * varasm.c (assemble_start_function): Use it to force minimum
5037         function alignment.
5038         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
5039         minimum function alignment to one byte.
5040         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
5041         the least significant bit of vtable member function pointers.
5042         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
5043         here from cp/cp-tree.h.
5044
5045 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
5046
5047         * i386.c (print_operand_address): Use RIP addressing for offsetted
5048         label refs too.
5049
5050 2002-09-30  David S. Miller  <davem@redhat.com>
5051
5052         PR middle-end/7151
5053         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
5054         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
5055
5056 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
5057
5058         * calls.c (expand_call): Remove the `no indirect check'
5059         for sibcall optimization; use function_ok_for_sibcall
5060         target hook; refine check for `function is volatile'.
5061         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
5062         * hooks.c (hook_tree_tree_bool_false): New.
5063         * hooks.h (hook_tree_tree_bool_false): Declare.
5064         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
5065         (TARGET_INITIALIZER): Add it.
5066         * target.h (struct gcc_target): Add function_ok_for_sibcall.
5067         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
5068         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5069         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5070         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
5071         Remove function declaration.
5072         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
5073         function static and accept another argument of type `tree'.
5074         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5075         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5076         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5077         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
5078         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5079         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5080         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5081         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
5082         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
5083         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5084         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5085         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
5086         Remove function declaration.
5087         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
5088         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
5089         rename first argument to `decl'; accept another argument
5090         of type `tree'; make static.
5091         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5092         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5093         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
5094         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5095         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5096         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
5097         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5098         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5099         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5100
5101 2002-10-01  Roger Sayle  <roger@eyesopen.com>
5102
5103         * unroll.c (loop_iterations): Revert 2002-09-08 change.
5104
5105 2002-10-01  Richard Henderson  <rth@redhat.com>
5106
5107         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
5108         (real_to_hexadecimal): Likewise.
5109         * print-rtl.c (print_rtx): If we are linked with real.c, don't
5110         dump the XWINT fields of a floating point CONST_DOUBLE.
5111
5112 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
5113
5114         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
5115
5116 2002-10-01  Richard Henderson  <rth@redhat.com>
5117
5118         * calls.c (precompute_register_parameters): Force non-legitimate
5119         constants into pseudos.
5120
5121 2002-10-01  Nick Clifton  <nickc@redhat.com>
5122
5123         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
5124         to assembler template.
5125
5126 2002-10-01  Richard Henderson  <rth@redhat.com>
5127
5128         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
5129         for TLS debug info to !DECL_EXTERNAL.
5130
5131 2002-10-01  Matt Thomas  <matt@3am-software.com>
5132             Jason Thorpe  <thorpej@wasabisystems.com>
5133
5134         * config.gcc (vax-*-netbsdelf*): Enable configuration.
5135         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
5136         if not already defined.
5137         * config/vax/elf.h: New file.
5138         * config/vax/netbsd-elf.h: New file.
5139         * config/vax/vax.c: Include "debug.h".
5140         (vax_output_function_prologue): Add dwarf2 support.  Use
5141         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
5142         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
5143         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
5144         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
5145         (VAX_ISTREAM_SYNC): Remove.
5146         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
5147         (JUMP_TABLES_IN_TEXT_SECTION): Define.
5148         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
5149         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
5150         and assemble_name.
5151         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5152         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
5153         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
5154         (INCOMING_RETURN_ADDR_RTX): Define.
5155         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
5156         (VUNSPEC_SYNC_ISTREAM): Define.
5157         (blockage): Use VUNSPEC_BLOCKAGE.
5158         (sync_istream): New insn.
5159
5160 2002-10-01  Richard Henderson  <rth@redhat.com>
5161
5162         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
5163         (*call_value_pop, call, call_value): Add dwarf2 EH support.
5164         (*call): New insn.
5165
5166 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
5167
5168         PR c/8083
5169         * c-typeck.c (build_c_cast): Warn about type punning which breaks
5170         type based aliasing.
5171
5172 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
5173
5174         * stor-layout.c (update_alignment_for_field): New function.
5175         (place_union_field): Use it.
5176         (place_field): Likewise.
5177
5178 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
5179
5180         PR other/8077
5181         * gcc.c (cc1_options): Add space on -auxbase-strip.
5182
5183 2002-10-01  Jim Wilson  <wilson@redhat.com>
5184
5185         * config/v850/v850.h (EPILOGUE_USES): Define.
5186
5187 2002-09-30  Andrew Haley  <aph@redhat.com>
5188
5189         * flow.c (insn_dead_p): When using non-call-exceptions, don't
5190         eliminate insns that may trap.
5191         * cse.c (insn_live_p): Likewise.
5192
5193 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5194
5195         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
5196         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
5197         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
5198         * config/mips/mips.md: Apply same renaming here.
5199
5200 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5201
5202         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
5203         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
5204         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
5205         * config/mips/mips.md (define_attr cpu): Remove r4320.
5206         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
5207
5208 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5209
5210         * config/mips/mips.c (mips16_strings): New variable.
5211         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
5212         symbol in mips16_strings.  Free the list.
5213         (mips_encode_section_info): Keep track of local strings.
5214
5215 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5216
5217         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
5218         (sordered_df, sordered_sf): Remove.
5219         * config/mips/mips.c (get_float_compare_codes): New fn.
5220         (gen_int_relational, gen_conditional_move): Use it.
5221
5222 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5223
5224         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
5225         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
5226         * config/mips/mips.c (fcc_register_operand): New function.
5227         (mips_emit_fcc_reload): New function, extracted from reload_incc.
5228         (override_options): Allow TFmode values in float registers
5229         if ISA_HAS_8CC.
5230         * cnfig/mips/mips.md (reload_incc): Change destination prediate
5231         to fcc_register_operand.  Remove misleading source constraint.
5232         Use mips_emit_fcc_reload.
5233         (reload_outcc): Duplicate reload_incc.
5234
5235 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
5236
5237         * gcc.c (validate_switches): Handle all new forms of spec
5238         syntax introduced recently.  Now returns a char *.
5239         (validate_all_switches): Repetitive logic broken out to...
5240         (validate_switches_from_spec): ...here.
5241         * mklibgcc.in: Don't @-flag commands to generate .oS files.
5242
5243 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
5244
5245         * longlong.h: Partially synchronize with GMP-4.1 version:
5246         Use i370 definitions also for s390.
5247         Add generic definition of umul_ppmm in terms of smul_ppmm.
5248         [s390] (umul_ppmm): Remove.
5249         [s390] (smul_ppmm): Fix incorrect assembler constraints.
5250         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
5251
5252 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
5253
5254         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
5255         Add new RL_REGS register class.
5256         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
5257         Call xtensa_preferred_reload_class for both input and output reloads.
5258         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
5259         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
5260         instead of either AR_REGS or GR_REGS classes.
5261         (xtensa_secondary_reload_class): Use new RL_REGS class.
5262         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
5263
5264 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5265
5266         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
5267         (pa_strip_name_encoding): Strip '@' and '*', in that order.
5268         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
5269         there is a '*' prefix in NAME.
5270
5271 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
5272
5273         * reload.c (push_reload): Handle subregs and secondary memory.
5274         * reload1.c (gen_reload): Likewise.
5275
5276         * jump.c (reg_or_subregno): New function.
5277         * rtl.h (reg_or_subregno): Declare
5278         * unroll.c (find_splittable_givs): Handle subregs.
5279
5280 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
5281
5282         * store-layout.c (finish_record_layout): Add free_p parameter.
5283         (layout_type): Pass it.
5284         * tree.h (finish_record_layout): Update prototype.
5285
5286 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
5287
5288         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
5289
5290         * gcse.c (cprop_jump): Check that the register has not
5291         been modified
5292         (cprop_jump): Likewise.
5293
5294 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
5295
5296         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
5297         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
5298         that we have a SImode access, and only then if reload hasn't completed;
5299         for all other cases, use LO_REGS.
5300
5301 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5302
5303         * openbsd.h: Fix typo in last change.
5304
5305 2002-09-29  Richard Henderson  <rth@redhat.com>
5306
5307         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
5308
5309 2002-09-29  Richard Henderson  <rth@redhat.com>
5310
5311         PR c/8002
5312         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
5313         for CONST_INT.
5314
5315 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
5316
5317         * real.h (ibm_extended_format): Declare.
5318         * real.c (encode_ibm_extended, decode_ibm_extended): New
5319         functions.
5320
5321 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5322
5323         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
5324
5325         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
5326
5327 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5328
5329         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
5330
5331 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
5332
5333         * builtins.def: Fix comment formatting.
5334         * c-common.def: Likewise.
5335         * cfgcleanup.c: Likewise.
5336         * combine.c: Likewise.
5337         * gengtype.c: Likewise.
5338         * params.def: Likewise.
5339         * predict.def: Likewise.
5340         * rtl.def: Likewise.
5341         * stab.def: Likewise.
5342         * stor-layout.c: Likewise.
5343         * tree.def: Likewise.
5344         * config/darwin.c: Likewise.
5345         * config/darwin.h: Likewise.
5346         * config/dbxcoff.h: Likewise.
5347         * config/elfos.h: Likewise.
5348         * config/fp-bit.c: Likewise.
5349         * config/freebsd-spec.h: Likewise.
5350         * config/interix.h: Likewise.
5351         * config/libgloss.h: Likewise.
5352         * config/linux-aout.h: Likewise.
5353         * config/linux.h: Likewise.
5354         * config/lynx-ng.h: Likewise.
5355         * config/lynx.h: Likewise.
5356         * config/netbsd-aout.h: Likewise.
5357         * config/netbsd.h: Likewise.
5358         * config/netware.h: Likewise.
5359         * config/psos.h: Likewise.
5360         * config/ptx4.h: Likewise.
5361
5362 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
5363
5364         * ChangeLog.4: Fix typos.
5365         * ChangeLog.6: Likewise.
5366         * FSFChangeLog.10: Likewise.
5367         * genattrtab.c: Fix comment typos.
5368         * haifa-sched.c: Likewise.
5369         * real.c: Likewise.
5370         * tree.h: Likewise.
5371         * config/arm/arm.c: Likewise.
5372         * config/arm/crti.asm: Likewise.
5373         * config/arm/crtn.asm: Likewise.
5374         * config/frv/frv.c: Likewise.
5375         * config/frv/frv.md: Likewise.
5376         * config/h8300/h8300.md: Likewise.
5377         * config/i386/rtemself.h: Likewise.
5378         * config/ia64/unwind-ia64.c: Likewise.
5379         * config/ip2k/ip2k.h: Likewise.
5380         * config/m88k/m88k.c: Likewise.
5381         * config/m88k/m88k.md: Likewise.
5382         * config/mips/sr71k.md: Likewise.
5383         * config/mmix/mmix.c: Likewise.
5384         * config/rs6000/rs6000.c: Likewise.
5385         * config/sh/sh.md: Likewise.
5386
5387 2002-09-26  Theodore A. Roth  <troth@verinet.com>
5388
5389         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
5390         * config/avr/avr.md: Ditto.
5391
5392 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
5393
5394         PR preprocessor/8055
5395         * cppmacro.c (stringify_arg): Do not overflow the buffer
5396         with the terminating NUL when the argument to be stringified
5397         has no tokens.
5398
5399 2002-09-27  Richard Henderson  <rth@redhat.com>
5400
5401         * unroll.c (simplify_cmp_and_jump_insns): New.
5402         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
5403         instead of expand_simple_foo.
5404
5405 2002-09-27  Richard Henderson  <rth@redhat.com>
5406
5407         PR optimization/7520
5408         * cfganal.c (flow_active_insn_p): New.
5409         (forwarder_block_p): Use it.
5410
5411 2002-09-27  Richard Henderson  <rth@redhat.com>
5412
5413         * emit-rtl.c (active_insn_p): Revert last change.
5414
5415 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
5416
5417         * doc/extend.texi (tls_model): Document.
5418         * varasm.c (decl_tls_model): New.
5419         * c-common.c (handle_tls_model_attribute): New.
5420         (c_common_attribute_table): Add tls_model.
5421         * config/alpha/alpha.c (alpha_encode_section_info): Use
5422         decl_tls_model.
5423         * flags.h (enum tls_model, flag_tls_default): Move...
5424         * tree.h (enum tls_model, flag_tls_default): ...here.
5425         (decl_tls_model): New prototype.
5426         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
5427         * config/i386/i386.c (ix86_encode_section_info): Likewise.
5428         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
5429         Allow !flag_pic.
5430
5431 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
5432
5433         * LANGUAGES: Follow spelling conventions.
5434         * rtl.def: Likewise.
5435         * sbitmap.c: Likewise.
5436         * sched-int.h: Likewise.
5437         * sched-rgn.c: Likewise.
5438         * sibcall.c: Likewise.
5439         * simplify-rtx.c: Likewise.
5440         * ssa.c: Likewise.
5441         * stab.def: Likewise.
5442         * stmt.c: Likewise.
5443         * stor-layout.c: Likewise.
5444         * target.h: Likewise.
5445         * timevar.c: Likewise.
5446         * toplev.c: Likewise.
5447         * tree-dump.c: Likewise.
5448         * tree-inline.c: Likewise.
5449         * tree.c: Likewise.
5450         * tree.def: Likewise.
5451         * tree.h: Likewise.
5452         * unroll.c: Likewise.
5453         * varasm.c: Likewise.
5454         * vmsdbgout.c: Likewise.
5455         * treelang/treelang.texi: Likewise.
5456         * treelang/treetree.c: Likewise.
5457
5458 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
5459
5460         * config/h8300/h8300.c (compute_saved_regs): Use a macro
5461         instead of a hard register number.
5462         (get_shift_alg): Use an enumerated type instead of numbers.
5463         (h8300_shift_needs_scratch_p): Likewise.
5464
5465 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5466
5467         * varasm.c (force_data_section): Remove.
5468         (assemble_constant_align): Likewise.
5469         * output.h: Remove corresponding prototypes.
5470
5471 2002-09-26  Roger Sayle  <roger@eyesopen.com>
5472
5473         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
5474         jump, if the loop to exit is the top of the current nesting stack.
5475
5476 2002-09-26  Torbjorn Granlund  <tege@swox.com>
5477
5478         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
5479         arithmetic.
5480
5481 2002-09-26  David S. Miller  <davem@redhat.com>
5482
5483         PR optimization/7335
5484         * calls.c (emit_library_call_value_1): Passing args by reference
5485         converts a CONST function into a PURE one.
5486
5487 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
5488
5489         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
5490         text_section.
5491         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
5492         text section.
5493         * config/rs6000/rs6000.c (rs6000_override_options): Allow
5494         function-sections and data-sections functionality on AIX.
5495
5496 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
5497             Dale Johannesen  <dalej@apple.com>
5498
5499         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
5500         in RTL for sub-word loads from memory.
5501
5502 2002-09-26  Richard Henderson  <rth@redhat.com>
5503
5504         PR c/7160
5505         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
5506         on call insns.
5507
5508 2002-09-26  Richard Henderson  <rth@redhat.com>
5509
5510         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
5511
5512 2002-09-26  Chris Lattner  <sabre@nondot.org>
5513
5514         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
5515         handling undefined values.
5516
5517 2002-09-26  Richard Henderson  <rth@redhat.com>
5518
5519         PR opt/7520
5520         * emit-rtl.c (active_insn_p): Consider a clobber of the
5521         function return value to be active even after reload.
5522
5523 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
5524
5525         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
5526         by absolute loop increment, not loop increment.
5527
5528 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5529
5530         * c-common.h: Follow spelling conventions.
5531         * cpplex.c: Likewise.
5532         * cpplib.h: Likewise.
5533         * gthr-dce.h: Likewise.
5534         * gthr-posix.h: Likewise.
5535         * optabs.c: Likewise.
5536         * output.h: Likewise.
5537         * profile.c: Likewise.
5538         * protoize.c: Likewise.
5539         * ra-rewrite.c: Likewise.
5540         * real.c: Likewise.
5541         * recog.c: Likewise.
5542         * reg-stack.c: Likewise.
5543         * regclass.c: Likewise.
5544         * regmove.c: Likewise.
5545         * reload.c: Likewise.
5546         * reload.h: Likewise.
5547         * reload1.c: Likewise.
5548         * reorg.c: Likewise.
5549         * resource.c: Likewise.
5550         * rtl.h: Likewise.
5551         * rtlanal.c: Likewise.
5552
5553 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
5554
5555         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
5556         for symbol address.
5557
5558 2002-09-24  Eric Christopher  <echristo@redhat.com>
5559
5560         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
5561         * config/mips/elf64.h: Ditto.
5562
5563 2002-09-24  Eric Christopher  <echristo@redhat.com>
5564
5565         * except.c (expand_builtin_extract_return_address): Handle case
5566         where Pmode != ptr_mode.
5567
5568 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
5569
5570         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
5571
5572 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
5573
5574         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
5575
5576 2002-09-26  Igor Shevlyakov <igor@microunity.com>
5577
5578         * combine.c (simplify_set): Don't call to force_to_mode if size
5579         of integer type is larger than HOST_BITS_PER_WIDE_INT.
5580
5581 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
5582
5583         * Makefile.in (qmtest-g++): Fix file path.
5584
5585 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
5586
5587         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
5588         A + (-const) on RTX level, even for unsigned types.
5589
5590 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
5591
5592         * reload.c (dup_replacements): New function.
5593         (find_reloads): Use it to duplicate replacements at the top level
5594         of match_dup operands.
5595
5596 2002-09-26  Miles Bader  <miles@gnu.org>
5597
5598         * v850.md ("length"): Change default value to 4.
5599
5600 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5601
5602         * ChangeLog.1: Follow spelling conventions.
5603         * ChangeLog.4: Likewise.
5604         * ChangeLog.6: Likewise.
5605         * FSFChangeLog.11: Likewise.
5606         * doc/cpp.texi: Likewise.
5607         * doc/invoke.texi: Likewise.
5608         * doc/tm.texi: Likewise.
5609
5610 2002-09-26  Nick Clifton  <nickc@redhat.com>
5611
5612         * config.gcc: Add x prefix to v850e case for handling
5613         --with-cpu=v850e.
5614
5615 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
5616
5617         * gcc.c (input_suffix_matches, switch_matches,
5618         mark_matching_switches, process_marked_switches,
5619         process_brace_body): New functions - split from handle_braces.
5620         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
5621         and ignore whitespace in more places.
5622         (specs documentation comment): Document %{S:X;T:Y;:D}.
5623         Clarify other %{...} docs.
5624         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
5625         %{...} docs.
5626
5627         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
5628         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
5629
5630 2002-09-25  David S. Miller  <davem@redhat.com>
5631
5632         PR target/7842
5633         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
5634         extend.
5635
5636 2002-09-25  Richard Henderson  <rth@redhat.com>
5637
5638         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
5639         fp CONST_DOUBLE; use real_identical.
5640
5641 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
5642
5643         * doc/invoke.texi: Add more -Wabi examples.
5644
5645 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
5646
5647         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
5648
5649 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
5650
5651         * profile.c (end_branch_prob): Only look for __gcov_init on
5652         weak-enabled native compilers.
5653
5654 2002-09-24  Denis Chertykov  <denisc@overta.ru>
5655
5656         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
5657         cases of optimizing "add sp,w" to "inc sp".
5658
5659 2002-09-24  Adam Nemet  <anemet@lnxw.com>
5660
5661         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
5662         epilogue for naked functions.
5663
5664 2002-09-24  Adam Nemet  <anemet@lnxw.com>
5665             Nick Clifton  <nickc@redhat.com>
5666
5667         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
5668         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
5669         is defined.
5670
5671 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
5672
5673         * config/s390/s390.c (preferred_la_operand_p): New function.
5674         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
5675         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
5676         ("*la_64_cc", "*la_31_cc", splitters): ... these.
5677         ("*la_31"): Deactivate for TARGET_64BIT.
5678         ("*la_31_and", "*la_31_and_cc"): New.
5679
5680 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5681
5682         * real.h (real_value): Make `exp' explicitly signed.
5683
5684 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
5685
5686         * config/elfos.h: Follow spelling conventions.
5687         * config/alpha/alpha.h: Likewise.
5688         * config/arc/arc.h: Likewise.
5689         * config/arm/arm.md: Likewise.
5690         * config/avr/avr.h: Likewise.
5691         * config/cris/cris.md: Likewise.
5692         * config/d30v/d30v.h: Likewise.
5693         * config/frv/frv.c: Likewise.
5694         * config/frv/frv.h: Likewise.
5695         * config/h8300/h8300.c: Likewise.
5696         * config/h8300/h8300.h: Likewise.
5697         * config/h8300/h8300.md: Likewise.
5698         * config/i386/cygwin.h: Likewise.
5699         * config/i386/i386.h: Likewise.
5700         * config/i386/sysv3.h: Likewise.
5701         * config/i960/i960.h: Likewise.
5702         * config/ia64/ia64.h: Likewise.
5703         * config/ia64/ia64.md: Likewise.
5704         * config/ip2k/ip2k.h: Likewise.
5705         * config/m32r/m32r.h: Likewise.
5706         * config/m68k/m68k.h: Likewise.
5707         * config/m88k/m88k.h: Likewise.
5708         * config/mcore/mcore.c: Likewise.
5709         * config/mcore/mcore.h: Likewise.
5710         * config/mcore/mcore.md: Likewise.
5711         * config/mips/mips.h: Likewise.
5712         * config/mmix/mmix.h: Likewise.
5713         * config/mmix/mmix.md: Likewise.
5714         * config/ns32k/netbsd.h: Likewise.
5715         * config/ns32k/ns32k.h: Likewise.
5716         * config/ns32k/ns32k.md: Likewise.
5717         * config/pa/pa.h: Likewise.
5718         * config/romp/romp.h: Likewise.
5719         * config/rs6000/rs6000.h: Likewise.
5720         * config/rs6000/rs6000.md: Likewise.
5721         * config/sparc/sparc.h: Likewise.
5722         * config/stormy16/stormy-abi: Likewise.
5723         * config/stormy16/stormy16.h: Likewise.
5724         * config/vax/vax.h: Likewise.
5725
5726 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
5727
5728         * config/alpha/alpha.h: Remove commented-out macro
5729         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
5730         * config/avr/avr.h: Likewise.
5731         * config/d30v/d30v.h: Likewise.
5732         * config/dsp16xx/dsp16xx.h: Likewise.
5733         * config/i370/i370.h: Likewise.
5734         * config/i386/i386.h: Likewise.
5735         * config/i960/i960.h: Likewise.
5736         * config/m68k/m68k.h: Likewise.
5737         * config/m88k/m88k.h: Likewise.
5738         * config/mips/mips.h: Likewise.
5739         * config/ns32k/ns32k.h: Likewise.
5740         * config/pdp11/pdp11.h: Likewise.
5741         * config/romp/romp.h: Likewise.
5742         * config/rs6000/rs6000.h: Likewise.
5743         * config/s390/s390.h: Likewise.
5744         * config/sh/sh.h: Likewise.
5745         * config/sparc/sparc.h: Likewise.
5746         * config/stormy16/stormy16.h: Likewise.
5747         * config/vax/vax.h: Likewise.
5748
5749 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
5750
5751         * function.c (push_temp_slots_for_block): Remove.
5752         (push_temp_slots_for_target): Likewise.
5753         (get_target_temp_slot_level): Likewise.
5754         (set_target_temp_slot_level): Likewise.
5755         (get_first_block_beg): Likewise.
5756         * function.h: Remove corresponding prototypes.
5757
5758 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
5759
5760         * version.c (version_string): Now const char[].
5761         * version.h: Update to match.
5762
5763 2002-09-23  Richard Henderson  <rth@redhat.com>
5764
5765         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
5766         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
5767         (TARGET_SWITCHES): Don't reference them.
5768         * config/i386/i386.c (override_options): Use target_flags_explicit
5769         to examine bits set by the user.
5770
5771 2002-09-23  Dale Johannesen  <dalej@apple.com>
5772
5773         * dbxout.c (dbxout_parms):  Set current_sym_code for params
5774         passed on stack by invisible reference.
5775
5776 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
5777
5778         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
5779         at least one byte of space.
5780
5781 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
5782
5783         * c-common.h (flag_abi_version): Fix typo in comment.
5784         * doc/invoke.texi (flag_abi_version): Document default value.
5785
5786 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
5787
5788         * doc/extend.texi (Extended Asm): Clarify that overlap between
5789         asm-declared register variables used in an asm and the asm clobber
5790         list is not allowed.
5791         * stmt.c (decl_conflicts_with_clobbers_p): New function.
5792         (expand_asm_operands): Keep track of clobbered registers.  Call
5793         decl_conflicts_with_clobbers_p for each input and output operand.
5794         If no conflicts found before, also do conflict sanity check when
5795         emitting clobbers.
5796
5797 2002-09-23  Richard Henderson  <rth@redhat.com>
5798
5799         * c-common.c (cpp_define_data_format): Remove.
5800         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
5801         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
5802         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
5803         * doc/cpp.texi: Don't document them either.
5804         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
5805         __LONG_LONG_MAX__): Document.
5806         (__TARGET_FLOAT_FORMAT__): Remove.
5807
5808 2002-09-23  Richard Henderson  <rth@redhat.com>
5809
5810         * real.c (do_multiply): Normalize U before addition.
5811
5812 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
5813
5814         * c-common.c (flag_abi_version): New variable.
5815         * c-common.h (flag_abi_version): Declare it.
5816         * c-opts.c (missing_arg): Add -fabi-version.
5817         (c_common_decode_option): Process -fabi-version.
5818         * doc/invoke.texi (-fabi-version): Document it.
5819         (-Wabi): Add information about bit-fields in unions.
5820
5821 2002-09-22  Roger Sayle  <roger@eyesopen.com>
5822
5823         * expr.c (STORE_BY_PIECES_P): New target macro.
5824         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
5825         instead of MOVE_BY_PIECES_P.
5826         * doc/tm.texi: Document this new macro.
5827
5828 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
5829
5830         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
5831         unless -fno-pic or -fno-PIC is specified.
5832
5833 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5834
5835         * c-common.c (preprocessing_trad_p): Define.
5836         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
5837         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
5838         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
5839         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
5840         * pa-linux.h (CPP_PREDEFINES): Delete.
5841         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
5842         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
5843         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
5844         (TARGET_OS_CPP_BUILTINS): Define.
5845         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
5846         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
5847         (SUBTARGET_SWITCHES): Provide default definition.
5848         (TARGET_OPTIONS): Reformat.  Use N_() macro.
5849         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
5850         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
5851         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
5852         (TARGET_CPU_CPP_BUILTINS): Define.
5853         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
5854         * doc/invoke.texi (msio, mwsio): Document new hppa options.
5855         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
5856         preprocessing_trad_p().
5857
5858 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
5859
5860         * doc/install.texi: Document behavior of --with-headers and
5861         --with-libs when arguments are omitted.
5862
5863 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
5864
5865         * dbxout.c: Follow spelling conventions.
5866         * defaults.h: Likewise.
5867         * df.c: Likewise.
5868         * diagnostic.h: Likewise.
5869         * doloop.c: Likewise.
5870         * dwarf2out.c: Likewise.
5871         * dwarfout.c: Likewise.
5872         * emit-rtl.c: Likewise.
5873         * except.c: Likewise.
5874         * explow.c: Likewise.
5875         * expmed.c: Likewise.
5876         * expr.c: Likewise.
5877         * expr.h: Likewise.
5878         * flags.h: Likewise.
5879         * flow.c: Likewise.
5880         * fold-const.c: Likewise.
5881         * function.c: Likewise.
5882         * function.h: Likewise.
5883         * gcc.c: Likewise.
5884         * gcov-io.h: Likewise.
5885         * gcov.c: Likewise.
5886         * gcse.c: Likewise.
5887         * genattrtab.c: Likewise.
5888         * genconfig.c: Likewise.
5889         * genrecog.c: Likewise.
5890         * ggc-page.c: Likewise.
5891         * ggc.h: Likewise.
5892         * global.c: Likewise.
5893         * gthr-win32.h: Likewise.
5894         * integrate.c: Likewise.
5895         * jump.c: Likewise.
5896         * langhooks.c: Likewise.
5897         * langhooks.h: Likewise.
5898         * line-map.h: Likewise.
5899         * local-alloc.c: Likewise.
5900         * longlong.h: Likewise.
5901         * loop.c: Likewise.
5902         * loop.h: Likewise.
5903
5904 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
5905
5906         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
5907
5908 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
5909
5910         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
5911         for -Os/TARGET_64BIT too.
5912
5913 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
5914
5915         * ChangeLog: Follow spelling conventions.
5916         * ChangeLog.0: Likewise.
5917         * ChangeLog.1: Likewise.
5918         * ChangeLog.2: Likewise.
5919         * ChangeLog.3: Likewise.
5920         * ChangeLog.4: Likewise.
5921         * ChangeLog.5: Likewise.
5922         * ChangeLog.6: Likewise.
5923         * FSFChangeLog.10: Likewise.
5924         * FSFChangeLog.11: Likewise.
5925         * alias.c: Likewise.
5926         * basic-block.h: Likewise.
5927         * c-aux-info.c: Likewise.
5928         * c-common.c: Likewise.
5929         * c-common.h: Likewise.
5930         * c-decl.c: Likewise.
5931         * c-format.c: Likewise.
5932         * c-semantics.c: Likewise.
5933         * c-typeck.c: Likewise.
5934         * calls.c: Likewise.
5935         * cfganal.c: Likewise.
5936         * cfgloop.c: Likewise.
5937         * collect2.c: Likewise.
5938         * combine.c: Likewise.
5939         * conflict.c: Likewise.
5940         * cppexp.c: Likewise.
5941         * cppfiles.c: Likewise.
5942         * cpphash.h: Likewise.
5943         * cppinit.c: Likewise.
5944         * cpplex.c: Likewise.
5945         * cpplib.c: Likewise.
5946         * cpplib.h: Likewise.
5947         * cppmacro.c: Likewise.
5948         * cse.c: Likewise.
5949
5950 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
5951
5952         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
5953         LINK_SPEC.
5954         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
5955         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
5956         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
5957
5958 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
5959
5960         PR opt/7930
5961         * cse.c (fold_rtx): Calculate old_cost before we fold each
5962         operand.
5963
5964 2002-09-21  Richard Henderson  <rth@redhat.com>
5965
5966         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
5967         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
5968         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
5969         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
5970         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
5971         * doc/cpp.texi: Don't document them.
5972
5973 2002-09-21  Richard Henderson  <rth@redhat.com>
5974
5975         * c-common.c (builtin_define_float_constants): Use real_format
5976         to get the floating-point parameters.
5977
5978 2002-09-21  Richard Henderson  <rth@redhat.com>
5979
5980         * real.c (struct real_format): Move to real.h.
5981         (real_format_for_mode): Rename from fmt_for_mode; update all users;
5982         initialize with ieee defaults.
5983         (real_to_target_fmt, real_from_target_fmt): New.
5984         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
5985         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
5986         ieee_quad_format, i370_single_format, i370_double_format,
5987         c4x_single_format, c4x_extended_format): Rename from s/_format//.
5988         (ieee_quad_format): Fix emin.
5989         (format_for_size, init_real_once): Remove.
5990         * real.h (struct real_format): Move from real.c.
5991         (real_format_for_mode): Declare.
5992         (real_to_target_fmt, real_from_target_fmt): Declare.
5993         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
5994         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
5995         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
5996         i370_single_format, i370_double_format, c4x_single_format,
5997         c4x_extended_format): Declare.
5998         * toplev.c (do_compile): Don't call init_real_once.
5999
6000         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6001         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6002
6003         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
6004         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
6005         * config/alpha/alpha.c (override_options): Set real_format_for_mode
6006         for VAX, if enabled.
6007
6008         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
6009         for C4X.
6010
6011         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
6012         * config/i370/i370.c (override_options): New.
6013         * config/i370/i370-protos.h: Update.
6014
6015         * config/i386/i386.c (override_options): Set real_format_for_mode
6016         for Intel 80-bit extended.
6017         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6018
6019         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
6020         (OVERRIDE_OPTIONS): Move code...
6021         * config/i960/i960.c (i960_initialize): ... here.  Set
6022         real_format_for_mode for Intel 80-bit extended.
6023
6024         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
6025         for Intel 80-bit extended, if enabled.
6026
6027         * config/m68k/m68k.c (override_options): Set real_format_for_mode
6028         for Motorola 96-bit extended.
6029
6030         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
6031         * config/vax/vax.c (override_options): New.
6032         * config/vax/vax-protos.h: Update.
6033
6034 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
6035
6036         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
6037         #if TARGET_MACHO.
6038
6039         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
6040         insns.  Supply missing clobber of scratch reg.
6041
6042 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
6043
6044         * config/m32r/m32r.c: Follow spelling conventions.
6045         * config/m32r/m32r.h: Likewise.
6046         * config/m32r/m32r.md: Likewise.
6047         * config/m68k/m68k.c: Likewise.
6048         * config/m88k/m88k.c: Likewise.
6049         * config/mcore/mcore.c: Likewise.
6050         * config/mips/mips.c: Likewise.
6051         * config/mips/mips.h: Likewise.
6052         * config/mmix/mmix.c: Likewise.
6053         * config/mn10200/mn10200.c: Likewise.
6054         * config/ns32k/ns32k.h: Likewise.
6055         * config/pa/pa.c: Likewise.
6056         * config/pa/pa64-linux.h: Likewise.
6057         * config/pdp11/pdp11.h: Likewise.
6058         * config/romp/romp.c: Likewise.
6059         * config/romp/romp.h: Likewise.
6060         * config/rs6000/eabi.asm: Likewise.
6061         * config/rs6000/linux64.h: Likewise.
6062         * config/rs6000/rs6000.c: Likewise.
6063         * config/rs6000/rs6000.h: Likewise.
6064         * config/rs6000/rs6000.md: Likewise.
6065         * config/rs6000/sysv4.h: Likewise.
6066         * config/rs6000/xcoff.h: Likewise.
6067
6068 2002-09-20  Jim Wilson  <wilson@redhat.com>
6069
6070         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
6071
6072 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
6073
6074         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
6075         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
6076         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
6077         (legitimate_address_p): Likewise.
6078         (legitimize_address): Use @gotntpoff and @indntpoff.
6079         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
6080         (output_addr_const_extra): Likewise.
6081
6082 2002-09-20  Jim Wilson  <wilson@redhat.com>
6083
6084         * combine.c (try_combine): When split an instruction pair, where the
6085         first has a sign_extend src, verify that the src and dest modes match.
6086
6087 2002-09-20  Richard Henderson  <rth@redhat.com>
6088
6089         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
6090         (override_options): Do not initialize them.
6091         (mips_const_double_ok): Allow no fp constants except zero,
6092         and not even that for mips16.
6093         (const_float_1_operand): Use dconst1.
6094         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
6095         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
6096         Don't allow arbitrary constants; fix predicates and C constraint.
6097
6098 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
6099
6100         * cppmacro.c: Don't warn about function-like macros without
6101         '(' during pre-expansion.
6102
6103 2002-09-20  Jim Wilson  <wilson@redhat.com>
6104
6105         * config/v850/v850.c (current_function_anonymous_args): Delete.
6106         (expand_prologue): Use current_function_args_info.anonymous_args.
6107         (expand_epilogue): Delete use of current_function_anonymous_args.
6108         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
6109         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
6110         (current_function_anonymous_args): Delete extern declaration.
6111         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
6112
6113 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
6114
6115         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
6116         to load_macho_picbase.
6117         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
6118         (load_macho_picbase): Take the symbol to use as a parameter.
6119         (macho_correct_pic): New insn.
6120         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
6121
6122         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
6123         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
6124         (CAN_ELIMINATE): Likewise.
6125         (INITIAL_ELIMINATION_OFFSET): Likewise.
6126         (TOC_REGISTER): Likewise.
6127
6128 2002-09-20  Richard Henderson  <rth@redhat.com>
6129
6130         * real.c (real_hash): New.
6131         * real.h: Declare it.
6132         * cse.c (canon_hash): Use it.
6133         * cselib.c (hash_rtx): Likewise.
6134         * emit-rtl.c (const_double_htab_hash): Likewise.
6135         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
6136         * varasm.c (struct rtx_const): Reduce vector size; separate
6137         integer and fp vectors.
6138         (HASHBITS): Remove.
6139         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
6140         take modulus MAX_HASH_TABLE.
6141         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
6142         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
6143         (SYMHASH): Don't use HASHBITS.
6144         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
6145         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
6146         (simplify_subtraction): Fix kind comparison.
6147         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
6148         Use a union to pun integer array.
6149         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
6150         only hash two words of integral CONST_DOUBLE.
6151
6152 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
6153
6154         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
6155         (STARTFILE_PREFIX_SPEC): New.
6156         (LINK_SPEC): Modify.
6157         (LIB_SPEC): Modify.
6158         (LIBGCC_SPEC): New.
6159
6160 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
6161
6162         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
6163         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
6164
6165 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
6166
6167         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
6168         Add clobber of the condition code register.
6169
6170 2002-09-20  Richard Henderson  <rth@redhat.com>
6171
6172         * real.c (do_fix_trunc): Static.
6173         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
6174         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
6175         encode_i370_single, encode_i370_double, encode_c4x_single,
6176         encode_c4x_extended): Add default abort case.
6177
6178 2002-09-20  Richard Henderson  <rth@redhat.com>
6179
6180         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
6181         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
6182         (struct realvaluetype): Remove.
6183         (REAL_VALUE_TYPE): Use struct real_value.
6184         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
6185         (test_real_width): New.
6186         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
6187         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
6188         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
6189         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
6190         real_to_integer, real_to_integer2, real_to_decimal,
6191         real_to_hexadecimal, real_from_string, real_from_integer,
6192         real_inf, real_nan, real_2expN, real_convert, real_to_target,
6193         real_from_target): Likewise.
6194         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
6195         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
6196
6197 2002-09-20  Richard Henderson  <rth@redhat.com>
6198
6199         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
6200         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
6201         * defaults.h: ... here.
6202         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
6203         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
6204         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
6205         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
6206
6207 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
6208
6209         * config/mmix/mmix.md ("negdf2"): Rewrite.
6210         ("*expanded_negdf2"): New.
6211
6212 2002-09-19  Jim Wilson  <wilson@redhat.com>
6213
6214         * combine.c (simplify_set): When optimizing a subreg src with a
6215         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
6216
6217 2002-09-19  Dale Johannesen <dalej@apple.com>
6218         * combine.c (make_extraction): Don't create
6219         invalid subreg.
6220
6221 2002-09-19  Roger Sayle  <roger@eyesopen.com>
6222
6223         * tree.c (integer_nonzerop): New predicate for nonzero integers.
6224         * tree.h (integer_nonzerop): Add function prototype.
6225         * stmt.c (expand_end_loop):  Don't rotate the loop when there
6226         are no instructions in the test, i.e. the loop is unconditional.
6227         (expand_exit_loop_if_false):  Optimize RTL generation of loop
6228         tests when the condition is always true or always false.
6229         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
6230         do-loops when the condition is always true.
6231         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
6232         the for-expression is empty.
6233
6234 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
6235
6236         * gcc.c (use_pipes): New flag.
6237         (process_command): Set it.  Adjust check for -pipe conflicting
6238         with -time or -save-temps.
6239         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
6240         %<SWITCH.  Drop %| (without a SUFFIX).
6241         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
6242         (give_switch): Third argument eliminated.
6243         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
6244         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
6245         (specs documentation comment): Update.
6246
6247         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
6248         config/svr4.h, config/i386/freebsd-aout.h,
6249         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
6250         config/m68k/openbsd.h, config/mips/openbsd.h,
6251         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
6252         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
6253         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
6254         * config/cris/cris.h: Update comment.
6255
6256         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
6257         error messages.  Don't use %{^SWITCH}.
6258         * ada/misc.c (gnat_decode_option): Handle -I with a
6259         separate argument.
6260
6261         * f/lang-specs.h: Use %| and %m.
6262         * java/jvspec.c: Use %m and %(invoke_as).  Change all
6263         uses of %{<SWITCH} to %<SWITCH.
6264
6265         * doc/invoke.texi: Update documentation of specs.
6266         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
6267
6268 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
6269
6270         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
6271         and STRICT_LOW_PART within SET_DEST.
6272         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
6273         splitters, replacing pre-reload splitters.
6274         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
6275         "*zero_extendqihi2_31"): New insns.
6276         ("*zero_extendqihi2_64"): Do not clobber CC.
6277
6278 2002-09-18  Devang Patel  <dpatel@apple.com>
6279
6280         * cp/cp-tree.h: New prototype for walk_vtables().
6281         * cp/decl.c (walk_vtables_r): New function.
6282         (struct cp_binding_level): Add new members, namespaces,
6283         names_size and vtables.
6284         (add_decl_to_level): Add decl in namespaces or vtables
6285         chain, if conditions match.
6286         (walk_vtables): New function.
6287         (walk_namespaces_r): Travers separate namespace chain
6288         for namespace decls.
6289         (wrapup_globals_for_namespace): Use names_size instead
6290         of list_length().
6291         * cp/decl2.c (finish_file): Use walk_vtables() instead of
6292         walk_globals() to walk vtable decls.
6293
6294 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
6295
6296         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
6297         (DTORS_SECTION_ASM_OP): Ditto.
6298         (READONLY_DATA_SECTION_ASM_OP): Moved.
6299         (DATA_SECTION_ASM_OP): New.
6300         (SDATA_SECTION_ASM_OP): New.
6301         (BSS_SECTION_ASM_OP): New.
6302         (SBSS_SECTION_ASM_OP): New.
6303         (TEXT_SECTION_ASM_OP): New.
6304
6305 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
6306
6307         * config/fp-bit.c: Follow spelling conventions.
6308         * config/d30v/d30v.c: Likewise.
6309         * config/d30v/d30v.h: Likewise.
6310         * config/fr30/fr30.c: Likewise.
6311         * config/fr30/fr30.h: Likewise.
6312         * config/fr30/fr30.md: Likewise.
6313         * config/frv/frv.c: Likewise.
6314         * config/frv/frv.h: Likewise.
6315         * config/h8300/h8300.c: Likewise.
6316         * config/h8300/lib1funcs.asm: Likewise.
6317         * config/i370/i370.c: Likewise.
6318         * config/i386/i386.h: Likewise.
6319         * config/i386/i386.md: Likewise.
6320         * config/i386/pentium.md: Likewise.
6321         * config/i386/winnt.c: Likewise.
6322         * config/i960/i960.c: Likewise.
6323         * config/ia64/ia64.h: Likewise.
6324         * config/ip2k/ip2k.c: Likewise.
6325         * config/ip2k/ip2k.h: Likewise.
6326         * config/ip2k/ip2k.md: Likewise.
6327         * config/ip2k/libgcc.S: Likewise.
6328
6329 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
6330
6331         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
6332         (GOTOFF_P): Extend to allow gotoff plus constant.
6333
6334 2002-09-18  Richard Henderson  <rth@redhat.com>
6335
6336         * ifcvt.c (noce_process_if_block): Correctly detect X modified
6337         with INSN_B before COND_EARLIEST.  Don't check A and B for
6338         modification in condition range.  Reorder INSN_B for A==B properly.
6339         (if_convert): Iterate until no matches for a block.
6340
6341 2002-09-18  Richard Henderson  <rth@redhat.com>
6342
6343         * calls.c (store_one_arg): Rename default_align to parm_align;
6344         always adjust parm_align for downward padding.
6345
6346 2002-09-18  Richard Henderson  <rth@redhat.com>
6347
6348         * toplev.c (backend_init): Move init_real_once invocation ...
6349         (do_compile): ... here.
6350
6351 2002-09-18  Richard Henderson  <rth@redhat.com>
6352
6353         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
6354         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
6355
6356 2002-09-18  Richard Henderson  <rth@redhat.com>
6357
6358         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
6359
6360 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
6361
6362         * config/rs6000/rs6000.md: (floatdisf2): Rename to
6363         floatdisf2_internal1.
6364         (floatdisf2): New define_expand.
6365         (floatdisf2_internal2): Likewise.
6366
6367 2002-09-18  Richard Henderson  <rth@redhat.com>
6368
6369         * real.c (sticky_rshift_significand): Collect sticky as
6370         unsigned long, not bool.
6371
6372 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
6373
6374         * config/s390/s390.c (s390_address_cost): New function.
6375         config/s390/s390-protos.h (s390_address_cost): Add prototype.
6376         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
6377         (RTX_COST): Use COSTS_N_INSNS.
6378
6379 2002-09-18  Douglas Rupp  <rupp@gnat.com>
6380             Donn Terry  <donnte@microsoft.com>
6381
6382         * stor-layout.c (place_field): Handle alignment of whole
6383         structures when MSVC compatible bitfields are involved.
6384         Change method of computing location of MS bitfields to
6385         be compatible with #pragma pack(n).
6386
6387         * tree.h (record_layout_info): Add new field
6388         remaining_in_alignment.
6389
6390         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
6391         (pragma pack): Add paragraph on MSVC bitfield packing.
6392
6393 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
6394
6395         PR optimization/7967
6396         * arm.md (ne_zeroextractsi): Add clobber of the condition code
6397         register.
6398
6399 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
6400
6401         * config/s390/s390.c: Follow spelling conventions.
6402         * config/sh/lib1funcs.asm: Likewise.
6403         * config/sh/sh.c: Likewise.
6404         * config/sh/sh.h: Likewise.
6405         * config/sparc/sparc.c: Likewise.
6406         * config/sparc/sparc.h: Likewise.
6407         * config/sparc/sparc.md: Likewise.
6408         * config/stormy16/stormy16.c: Likewise.
6409         * config/stormy16/stormy16.h: Likewise.
6410         * config/v850/v850.c: Likewise.
6411         * config/v850/v850.h: Likewise.
6412         * config/vax/vax.c: Likewise.
6413         * config/vax/vax.h: Likewise.
6414
6415 2002-09-18  Nick Clifton  <nickc@redhat.com>
6416
6417         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
6418         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
6419         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
6420
6421 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6422
6423         * function.c (max_parm_reg_num): Remove.
6424         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
6425         drop_through_at_end_p, move_cleanups_up,
6426         expand_end_case_dummy, case_index_expr_type): Likewise.
6427         * stor-layout.c (pos_from_byte): Likewise.
6428         * tree.c (chain_member_value, chain_member_purpose, listify,
6429         tree_int_cst_msb, index_type_equal): Likewise.
6430         * tree.h: Remove prototypes for unused functions.
6431
6432 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
6433
6434         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
6435         statement that the only translation is to en_UK.
6436
6437 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6438
6439         * config/alpha/alpha.c: Follow spelling conventions.
6440         * config/alpha/alpha.h: Likewise.
6441         * config/alpha/alpha.md: Likewise.
6442         * config/arc/arc.h: Likewise.
6443         * config/arm/arm.c: Likewise.
6444         * config/arm/arm.h: Likewise.
6445         * config/arm/arm.md: Likewise.
6446         * config/arm/pe.c: Likewise.
6447         * config/arm/unknown-elf.h: Likewise.
6448         * config/avr/avr.c: Likewise.
6449         * config/avr/avr.h: Likewise.
6450         * config/c4x/c4x.c: Likewise.
6451         * config/cris/cris.c: Likewise.
6452         * config/cris/cris.h: Likewise.
6453
6454 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
6455
6456         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
6457         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
6458         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
6459
6460 2002-09-17  Dale Johannesen  <dalej@apple.com>
6461
6462         * cfgcleanup.c (try_forward_edges):  Do not forward a
6463         branch to just after a loop exit before loop optimization;
6464         this interfered with doloop detection.
6465
6466 2002-09-17  Nick Clifton  <nickc@redhat.com>
6467
6468         * config/arm/arm.c (output_return_instruction): Do not
6469         writeback the stack pointer when it is being loaded.
6470         (arm_output_epilogue): Likewise.
6471
6472 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6473
6474         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
6475         generate a pseudo reg that receives the result of a libcall.
6476         (prepare_float_lib_cmp): Likewise.
6477
6478 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
6479
6480         * config/ia64/elf.h: Remove CPP_PREDEFINES.
6481
6482 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
6483
6484         Fix PR/7014 and related objc bugs:
6485         * c-typeck.c (comp_target_types): Added a reflexive argument.
6486         Pass it to ObjC when/if calling objc_comptypes().  Updated all
6487         callers to provide the appropriate reflexive argument.
6488         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
6489         typechecking for all cases of comparisons and assignments,
6490         particularly the obscure and less common ones involving protocols.
6491
6492 2002-09-17  Nick Clifton  <nickc@redhat.com>
6493
6494         * machmode.def (V1DImode): New mode.  A single element vector.
6495         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
6496         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
6497         * tree.c (build_common_tree_nodes_2): Build
6498         unsigned_V1DI_type_node and V1D1_type_node.
6499         * c-common.c (c_common_type_for_mode): Return
6500         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
6501         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
6502
6503 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
6504
6505         * doc/objc.texi (Constant string objects): Extended documentation
6506         to make clear that the constant string class ivar layout is
6507         completely fixed.
6508
6509 2002-09-17  Roger Sayle  <roger@eyesopen.com>
6510
6511         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
6512         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
6513
6514 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
6515
6516         * config/mips/mips.c (save_restore_insns): Remove unused variable.
6517         * gcc.c (make_relative_prefix): Likewise.
6518         * loop.c (check_final_value): Likewise.
6519         * jump.c (init_label_info): Remove return value.
6520         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
6521
6522 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6523
6524         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
6525         (ASM_PN_FORMAT): Define.
6526
6527 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6528
6529         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
6530         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
6531         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
6532         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
6533         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
6534         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
6535         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
6536         Delete.
6537         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
6538         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
6539         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
6540
6541         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
6542         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
6543
6544 2002-09-16  Richard Henderson  <rth@redhat.com>
6545
6546         * expr.c (emit_block_move): Set memory block size as appropriate
6547         for the copy.
6548
6549 2002-09-16  Richard Henderson  <rth@redhat.com>
6550
6551         PR fortran/3924
6552         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
6553
6554 2002-09-16  Richard Henderson  <rth@redhat.com>
6555
6556         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
6557         as well as OFFSET for BITPOS.
6558
6559 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
6560
6561         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
6562         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
6563         winchip2 and c3.
6564         * doc/invoke.texi: Mention new aliases.
6565
6566 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6567
6568         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
6569         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
6570         downward.
6571         * function.c (pad_below):  Always compile.
6572         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
6573         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
6574         Pad below when the argument is not in a register and the padding
6575         direction is downward.
6576
6577         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
6578         (PAD_VARARGS_DOWN): Define.
6579         * pa.c (function_arg_padding): Revise padding directions to make them
6580         compatible with the 32 and 64-bit runtime architecture documentation.
6581         (hppa_va_arg):  Add code to handle variable and size zero arguments
6582         passed by reference on TARGET_64BIT.  Reformat.
6583         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
6584         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
6585         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
6586         Add comments.
6587         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
6588         (RETURN_IN_MEMORY): Return size zero types in memory.
6589         (FUNCTION_VALUE): Return TFmode in general registers.
6590         (MUST_PASS_IN_STACK): Define.
6591         (FUNCTION_ARG_BOUNDARY): Simplify.
6592         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
6593         by reference.
6594         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
6595
6596 2002-09-16  Richard Henderson  <rth@redhat.com>
6597
6598         * real.c (do_fix_trunc): New.
6599         (real_arithmetic): Call it.
6600         * simplify-rtx.c (simplify_unary_operation): Handle FIX
6601         with a floating-point result mode.
6602
6603 2002-09-16  Richard Henderson  <rth@redhat.com>
6604
6605         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
6606         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
6607         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
6608         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
6609         * builtins.c (fold_builtin_nan): New.
6610         (fold_builtin): Call it.
6611         * real.c (real_nan): Parse a non-empty string.
6612         (round_for_format): Fix NaN significand truncation.
6613         * real.h (real_nan): Return bool.
6614         * doc/extend.texi: Document new builtins.
6615
6616 2002-09-16  Jason Merrill  <jason@redhat.com>
6617             Danny Smith  <dannysmith@users.sourceforge.net>
6618
6619         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
6620         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
6621         (i386_pe_mark_dllimport): Not here.
6622
6623 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
6624
6625         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
6626
6627 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
6628
6629         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
6630         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
6631         < 64.
6632         (rs6000_emit_cmove): Use real_isinf not target_isinf.
6633
6634 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
6635
6636         * calls.c (emit_library_call_value_1): Don't refer to
6637         hard_libcall_value.
6638         * optabs.c (prepare_float_lib_cmp): Likewise.
6639
6640 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
6641
6642         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
6643         mangling.
6644
6645         The following changes are merged from pch-branch:
6646
6647         * doc/gty.texi (GTY Options): Document %a.
6648         * gengtype.c (do_scalar_typedef): New function.
6649         (process_gc_options): Handle `length' option.
6650         (set_gc_used_type): A pointer to an array of structures doesn't
6651         qualify as a pointer to a structure.
6652         (output_escaped_param): Add `%a' escape.
6653         (write_gc_structure_fields): Allow 'desc' on array of unions.
6654         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
6655         do_scalar_typedef.
6656
6657         * gengtype.c (enum rtx_code): Make global.
6658         (rtx_format): Make global.
6659         (rtx_next): New.
6660         (gen_rtx_next): New.
6661         (write_rtx_next): New.
6662         (adjust_field_rtx_def): Skip fields marked by chain_next.
6663         (open_base_files): Delete redundant prototype.
6664         (write_enum_defn): New.
6665         (output_mangled_typename): Correct abort call.
6666         (write_gc_marker_routine_for_structure): Handle chain_next and
6667         chain_prev options.
6668         (finish_root_table): Don't output redundant \n.
6669         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
6670         * c-tree.h (union lang_tree_node): Add chain_next option.
6671
6672         * gengtype.h (NUM_PARAM): New definition.
6673         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
6674         * gengtype.c (find_param_structure): New.
6675         (adjust_field_type): Handle param<n>_is option.
6676         (process_gc_options): Detect use_params option.  Update callers.
6677         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
6678         'use_params' option.
6679         (open_base_files): Add splay-tree.h to list of files included.
6680         (output_mangled_typename): New.
6681         (write_gc_structure_fields): Update 'param' parameter to support
6682         multiple parameters.  Change name mangling.  Allow parameterized
6683         fields to have an apparent scalar type.  Handle param<n>_is options,
6684         use_param option.
6685         (write_gc_marker_routine_for_structure): Update for change to name
6686         mangling.  Better guess the output file for parameterized types.
6687         (write_gc_types): Update for change to name mangling.
6688         (write_gc_root): Update for change to name mangling.  Handle (ignore)
6689         param<n>_is options.
6690         * doc/gty.texi (GTY Options): Add description of param<n>_is
6691         options, use_params option.
6692         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
6693         * gengtype-lex.l: Produce token for param<n>_is.
6694         * gengtype-yacc.y: Parse param<n>_is.
6695
6696         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
6697
6698         * rtl.c: Update comment describing rtx_format.
6699         * rtl.h (union rtunion): Separate definition and typedef.
6700         (struct rtx_def): Use gengtype to mark.
6701         * Makefile.in (gengtype.o): Also depend on rtl.def.
6702         * ggc.h (ggc_mark_rtx_children): Delete prototype.
6703         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
6704         * ggc-common.c (ggc_mark_rtx_children): Delete.
6705         (ggc_mark_rtx_children_1): Delete.
6706         (gt_ggc_m_rtx_def): Delete.
6707         * gengtype.c (adjust_field_rtx_def): New.
6708         (adjust_field_type): Call adjust_field_rtx_def.
6709         (write_gc_structure_fields): Add 'default' case to switch if none
6710         is specified; remove unused code.
6711
6712         * tree.h (struct tree_exp): Update for change to meaning
6713         of special.
6714         * gengtype.c (adjust_field_tree_exp): New function.
6715         (adjust_field_type): Handle `tree_exp' special here.
6716         (write_gc_structure_fields): Don't handle `tree_exp' special here.
6717         Handle new `dot' option.
6718
6719         * gengtype.h: Make `info' a pointer-to-const.
6720         * gengtype-yacc.y (yacc_ids): Use xasprintf.
6721
6722         * gengtype.c (write_gc_structure_fields): Remove implementation
6723         of `always' option, add `default' option.
6724         * doc/gty.texi (GTY Options): Remove documentation of `always',
6725         add `default'.
6726
6727 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
6728
6729         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
6730
6731 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6732
6733         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
6734
6735         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
6736         instead of the *-protos.h file directly.
6737         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
6738         * darwin.c (machopic_output_stub): Move prototype ...
6739         * darwin-protos.h (machopic_output_stub): ... here.
6740         * rs6000-protos.h (machopic_output_stub): Don't declare.
6741
6742 2002-09-16  Richard Henderson  <rth@redhat.com>
6743
6744         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
6745
6746 2002-09-16  Richard Henderson  <rth@redhat.com>
6747
6748         * real.c, real.h: Rewrite from scratch.
6749
6750         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
6751         (paranoia): New target.
6752         * builtins.c (fold_builtin_inf): Use new real.h interface.
6753         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
6754         * c-lex.c (interpret_float): Likewise.
6755         * emit-rtl.c (gen_lowpart_common): Likewise.
6756         * optabs.c (expand_float): Use real_2expN.
6757         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
6758         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
6759         (FLOAT_WORDS_BIG_ENDIAN): New.
6760         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
6761         directly to REAL_VALUE_NEGATIVE.
6762         * loop.c (canonicalize_condition): Likewise.
6763         * simplify-rtx.c: Include tree.h.
6764         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
6765         with floating-point result modes.
6766         * toplev.c (backend_init): Call init_real_once.
6767
6768         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
6769         * tree.c (build_real): Likewise.
6770         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
6771         float_values, inited_float_values, check_float_value): Remove.
6772         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
6773         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
6774         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
6775         (VAX_HALFWORD_ORDER): Remove.
6776
6777 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
6778
6779         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
6780         (s390_load_address): ... this new function.
6781         (s390_decompose_address): Allow the argument pointer and all
6782         virtual registers as 'pointer' registers.
6783         (s390_expand_plus_operand): Use s390_load_address.
6784         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
6785         ("force_la_31"): New insn pattern.
6786         config/s390/s390-protos.h (legitimize_la_operand): Remove.
6787         (s390_load_address): Add prototype.
6788
6789         * config/s390/s390.c: Include "optabs.h".
6790         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
6791         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
6792         s390_expand_cmpstr): Add prototypes.
6793         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
6794         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
6795         for operands 0 and 1 to "memory_operand".  Add type attribute.
6796         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
6797         for operands 0 and 1 to "memory_operand".  Add type attribute.
6798         ("movstrdi_long", "movstrsi_long"): Remove.
6799         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
6800         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
6801         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
6802         ("clrstrsico"): Remove, replace by ...
6803         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
6804         ("clrstrsi_64"): Rename to "clrstr_long_64".
6805         ("clrstrsi_31"): Rename to "clrstr_long_31".
6806         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
6807         ("cmpstr_const"): Remove, replace by ...
6808         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
6809         ("cmpstr_64"): Rename to "cmpstr_long_64".
6810         ("cmpstr_31"): Rename to "cmpstr_long_31".
6811
6812 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
6813
6814         * ABOUT-NLS: Follow spelling conventions.
6815         * ChangeLog: Likewise.
6816         * ChangeLog.1: Likewise.
6817         * ChangeLog.2: Likewise.
6818         * ChangeLog.3: Likewise.
6819         * ChangeLog.4: Likewise.
6820         * ChangeLog.5: Likewise.
6821         * ChangeLog.6: Likewise.
6822         * FSFChangeLog.10: Likewise.
6823         * FSFChangeLog.11: Likewise.
6824         * c-common.c: Likewise.
6825         * c-lex.c: Likewise.
6826         * c-objc-common.c: Likewise.
6827         * cppexp.c: Likewise.
6828         * cppinit.c: Likewise.
6829         * cpplex.c: Likewise.
6830         * doloop.c: Likewise.
6831         * flow.c: Likewise.
6832         * function.c: Likewise.
6833         * integrate.c: Likewise.
6834         * loop.c: Likewise.
6835         * reg-stack.c: Likewise.
6836         * reload.h: Likewise.
6837         * ssa.c: Likewise.
6838
6839 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6840
6841         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
6842         * vmsdbgout.c: Include "target.h".
6843
6844 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
6845
6846         * ChangeLog: Follow spelling conventions.
6847         * ChangeLog.0: Likewise.
6848         * ChangeLog.1: Likewise.
6849         * ChangeLog.2: Likewise.
6850         * ChangeLog.4: Likewise.
6851         * ChangeLog.6: Likewise.
6852         * config.gcc: Likewise.
6853         * dwarfout.c: Likewise.
6854         * reload1.c: Likewise.
6855         * simplify-rtx.c: Likewise.
6856         * unwind-sjlj.c: Likewise.
6857         * config/avr/avr.h: Likewise.
6858         * config/d30v/d30v.h: Likewise.
6859         * config/frv/frv.c: Likewise.
6860         * config/frv/frv.h: Likewise.
6861         * config/ip2k/ip2k.h: Likewise.
6862         * config/m88k/m88k-move.sh: Likewise.
6863         * config/stormy16/stormy16.c: Likewise.
6864         * config/stormy16/stormy16.h: Likewise.
6865         * doc/extend.texi: Likewise.
6866         * doc/interface.texi: Likewise.
6867         * doc/invoke.texi: Likewise.
6868         * doc/md.texi: Likewise.
6869         * doc/rtl.texi: Likewise.
6870         * doc/tm.texi: Likewise.
6871         * doc/trouble.texi: Likewise.
6872         * ginclude/float.h: Likewise.
6873         * treelang/treelang.texi: Likewise.
6874
6875 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6876
6877         * i386-protos.h (i386_pe_dllexport_name_p,
6878         i386_pe_dllimport_name_p, i386_pe_unique_section,
6879         i386_pe_declare_function_type, i386_pe_record_external_function,
6880         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
6881         prototype.
6882         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
6883         * i386/t-interix (winnt.o): Likewise.
6884
6885         * v850-protos.h (v850_output_addr_const_extra): Prototype.
6886
6887 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
6888
6889         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
6890         MIPS ABI CPP macros.
6891         (TARGET_CPU_CPP_BUILTINS): Redefine.
6892         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
6893         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
6894
6895 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6896
6897         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
6898
6899 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
6900
6901         * ChangeLog: Follow spelling conventions.
6902         * ChangeLog.0: Likewise.
6903         * ChangeLog.1: Likewise.
6904         * ChangeLog.2: Likewise.
6905         * ChangeLog.3: Likewise.
6906         * ChangeLog.4: Likewise.
6907         * ChangeLog.5: Likewise.
6908         * ChangeLog.6: Likewise.
6909         * FSFChangeLog.10: Likewise.
6910         * FSFChangeLog.11: Likewise.
6911         * c-common.c: Likewise.
6912         * c-common.h: Likewise.
6913         * c-format.c: Likewise.
6914         * c-opts.c: Likewise.
6915         * cpplib.c: Likewise.
6916         * langhooks.h: Likewise.
6917         * real.c: Likewise.
6918         * reg-stack.c: Likewise.
6919         * toplev.c: Likewise.
6920         * config/arm/arm.c: Likewise.
6921         * config/arm/arm.md: Likewise.
6922         * config/arm/linux-gas.h: Likewise.
6923         * config/arm/netbsd.h: Likewise.
6924         * config/c4x/c4x.c: Likewise.
6925         * config/c4x/c4x.h: Likewise.
6926         * config/c4x/c4x.md: Likewise.
6927         * config/c4x/libgcc.S: Likewise.
6928         * config/fr30/fr30.md: Likewise.
6929         * config/frv/frv.md: Likewise.
6930         * config/ia64/ia64.md: Likewise.
6931         * config/mips/mips.h: Likewise.
6932         * config/mn10300/mn10300.c: Likewise.
6933         * config/stormy16/stormy16.c: Likewise.
6934         * config/v850/v850.md: Likewise.
6935         * doc/extend.texi: Likewise.
6936         * doc/invoke.texi: Likewise.
6937         * doc/md.texi: Likewise.
6938
6939 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
6940
6941         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
6942         library if -pthread is specified.
6943
6944 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
6945
6946         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
6947         for --enable-threads=yes and --enable-threads=posix.
6948
6949 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
6950
6951         * config/sparc/cypress.md: Replace Sparc with SPARC.
6952         * config/sparc/freebsd.h: Likewise.
6953         * config/sparc/gmon-sol2.c: Likewise.
6954         * config/sparc/hypersparc.md: Likewise.
6955         * config/sparc/lb1spc.asm: Likewise.
6956         * config/sparc/lb1spl.asm: Likewise.
6957         * config/sparc/linux.h: Likewise.
6958         * config/sparc/linux64.h: Likewise.
6959         * config/sparc/lynx.h: Likewise.
6960         * config/sparc/sol2.h: Likewise.
6961         * config/sparc/sparc-modes.def: Likewise.
6962         * config/sparc/sparc.c: Likewise.
6963         * config/sparc/sparc.h: Likewise.
6964         * config/sparc/sparc.md: Likewise.
6965         * config/sparc/sparclet.md: Likewise.
6966         * config/sparc/supersparc.md: Likewise.
6967         * config/sparc/sysv4.h: Likewise.
6968         * config/sparc/vxsim.h: Likewise.
6969         * config/sparc/vxsparc64.h: Likewise.
6970
6971 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6972
6973         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
6974         * collect2.c (ignore_library, aix_std_libs): Move into the context
6975         where it is used.
6976         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
6977         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
6978         * m88k.c (output_call): Wrap variables with macro controlling use.
6979         * rs6000.md: Likewise.  Const-ify variable.
6980         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
6981         * final.c (only_leaf_regs_used): Likewise.
6982         * regrename.c (maybe_mode_change): Mark parameter with
6983         ATTRIBUTE_UNUSED.
6984         * reload.c (find_valid_class): Likewise.  Likewise for variable.
6985         (find_reloads_address_1): Likewise.
6986         * varasm.c (weak_finish): Wrap variable with macro controlling use.
6987
6988 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
6989
6990         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
6991
6992 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
6993
6994         * ChangeLog: Follow spelling conventions.
6995         * ChangeLog.0: Likewise.
6996         * ChangeLog.2: Likewise.
6997         * ChangeLog.3: Likewise.
6998         * ChangeLog.4: Likewise.
6999         * ChangeLog.5: Likewise.
7000         * ChangeLog.6: Likewise.
7001         * cppfiles.c: Likewise.
7002         * cppinit.c: Likewise.
7003         * cpplib.h: Likewise.
7004         * cse.c: Likewise.
7005         * debug.h: Likewise.
7006         * df.c: Likewise.
7007         * dominance.c: Likewise.
7008         * hashtable.c: Likewise.
7009         * hashtable.h: Likewise.
7010         * loop.c: Likewise.
7011         * config/arm/README-interworking: Likewise.
7012         * config/arm/arm.c: Likewise.
7013         * config/arm/arm.h: Likewise.
7014         * config/arm/arm.md: Likewise.
7015         * config/dsp16xx/dsp16xx.h: Likewise.
7016         * config/frv/frv.c: Likewise.
7017         * config/frv/frv.h: Likewise.
7018         * config/ip2k/ip2k.h: Likewise.
7019         * config/rs6000/rs6000.c: Likewise.
7020         * config/stormy16/stormy-abi: Likewise.
7021         * config/stormy16/stormy16.h: Likewise.
7022         * config/v850/v850.c: Likewise.
7023
7024 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7025
7026         * loop.c: Fix a comment typo.
7027
7028 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7029
7030         * config/fr30/fr30.h: Fix comment typos.
7031         * config/frv/frv.c: Likewise.
7032         * config/i386/xmmintrin.h: Likewise.
7033         * config/mips/mips.c: Likewise.
7034         * config/sh/sh.c: Likewise.
7035
7036 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7037
7038         * haifa-sched.c: Follow spelling conventions.
7039         * regclass.c: Likewise.
7040         * regrename.c: Likewise.
7041         * config/fp-bit.c: Likewise.
7042         * config/frv/frv.h: Likewise.
7043         * config/m88k/m88k.c: Likewise.
7044         * config/mcore/mcore.c: Likewise.
7045         * config/rs6000/darwin.h: Likewise.
7046         * config/rs6000/gnu.h: Likewise.
7047         * config/rs6000/linux.h: Likewise.
7048         * config/rs6000/linux64.h: Likewise.
7049         * config/rs6000/rs6000.c: Likewise.
7050         * config/rs6000/rs6000.h: Likewise.
7051         * config/sh/sh.c: Likewise.
7052         * config/sparc/sparc.c: Likewise.
7053         * config/sparc/ultra1_2.md: Likewise.
7054
7055 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
7056
7057         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
7058         memory operand when source is 0 (K constraint).
7059         ("movsi_internal"): Likewise.
7060         ("movdf_internal"): Likewise.
7061         ("movsf_internal"): Likewise.
7062
7063 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
7064
7065         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
7066         targetm.binds_local_p to set SYMBOL_REF_FLAG.
7067         (rs6000_xcoff_encode_section_info): Likewise.
7068         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
7069
7070 2002-09-10  Theodore A. Roth  <troth@verinet.com>
7071
7072         * gcc/config/avr/avr.h: Set default options for C++ for avr.
7073
7074 2002-09-13  Roger Sayle  <roger@eyesopen.com>
7075
7076         * stmt.c (struct nexting): Remove unused alt_end_label field.
7077         (expand_start_loop): Delete initialization of alt_end_label.
7078         (expand_start_null_loop): Likewise.
7079         (expand_exit_loop_if_false): Delete updating of alt_end_label.
7080
7081 2002-09-13  Richard Henderson  <rth@redhat.com>
7082
7083         * Makefile.in (toplev.o): Depend on real.h.
7084         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
7085
7086 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
7087
7088         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
7089         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
7090         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
7091
7092 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
7093
7094         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
7095
7096 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7097
7098         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
7099         ia64*-*-linux*): Set extra_parts.
7100         * config/ia64/t-aix (EXTRA_PARTS): Remove.
7101         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
7102
7103 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
7104
7105         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
7106         * config/h8300/h8300.c: Likewise.
7107         * config/h8300/h8300.h: Likewise.
7108         * config/h8300/h8300.md: Likewise.
7109         * doc/invoke.texi: Likewise.
7110
7111 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
7112
7113         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
7114
7115 2002-09-13  Richard Henderson  <rth@redhat.com>
7116
7117         * config/alpha/alpha.md (attr type): Add callpal.
7118         (imb, trap, load_tp, set_tp): Use it.
7119         * config/alpha/ev4.md (ev4_callpal): New.
7120         * config/alpha/ev5.md (ev5_callpal): New.
7121         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
7122         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
7123         (alphaev5_insn_pipe): Likewise.
7124
7125 2002-09-13  Andreas Jaeger  <aj@suse.de>
7126
7127         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
7128
7129 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7130
7131         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
7132         LIB2ADDEH): New, set to NULL.
7133         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
7134
7135 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7136
7137         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
7138         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
7139         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
7140         Add declarations.
7141         (_U_Qfneg): Remove.
7142
7143 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
7144
7145         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
7146         for H8/300, H8S aa:8 mode.
7147         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
7148         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
7149         for H8/300 aa:8 mode.
7150
7151 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
7152
7153         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
7154         insns.
7155
7156 2002-09-12  Richard Henderson  <rth@redhat.com>
7157
7158         * Makefile.in (HOST_PRINT): Use print-rtl1.o
7159         (print-rtl.o): Don't define GENERATOR_FILE.
7160         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
7161         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
7162         unless GENERATOR_FILE.
7163
7164 2002-09-12  Stan Shebs  <shebs@apple.com>
7165
7166         * config/darwin.h (USER_LABEL_PREFIX): Define here...
7167         * config/i386/darwin.h: ... instead of here.
7168
7169         * target.h (struct gcc_target): New field
7170         terminate_dw2_eh_frame_info.
7171         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
7172         (TARGET_INITIALIZER): Add it.
7173         * dwarf2out.c (output_call_frame_info): Use target hook.
7174         * dwarf2asm.c (dw2_asm_output_delta): Use macro
7175         ASM_OUTPUT_DWARF_DELTA if defined.
7176         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
7177         (ASM_OUTPUT_DWARF_DELTA): Ditto.
7178         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
7179         (ASM_OUTPUT_DWARF_PCREL): Ditto.
7180         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
7181         (powerpc-*-darwin*): Ditto.
7182         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
7183         to work correctly for Darwin.
7184         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
7185         (STARTFILE_SPEC): Add crtbegin.o.
7186         (ENDFILE_SPEC): Define.
7187         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
7188         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
7189         (ASM_OUTPUT_DWARF_DELTA): Define.
7190         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
7191         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
7192
7193 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
7194
7195         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
7196         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
7197         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
7198
7199 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
7200
7201         * toplev.c: Move default definition of USER_LABEL_PREFIX...
7202         * defaults.h: ... here.
7203
7204 2002-09-12  Richard Henderson  <rth@redhat.com>
7205
7206         * vax.c: Include tree.h earlier.
7207
7208 2002-09-12  Stan Shebs  <shebs@apple.com>
7209
7210         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
7211         (machopic_operand_p): Ditto.
7212
7213 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7214
7215         * config/arm/arm.c (arm_compute_initial_elimination_offset):
7216         Fix a comment typo.
7217
7218 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7219
7220         * toplev.c (do_abort): Fix a comment typo.
7221
7222 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7223
7224         * cselib.c: Fix comment formatting.
7225         * gengtype.c: Likewise.
7226
7227 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7228
7229         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
7230         (udivmodhi4): Likewise.
7231
7232 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
7233             Roger Sayle  <roger@eyesopen.com>
7234
7235         * i386.c (any_fp_register_operand, fp_register_operand,
7236         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
7237         New predicate functions.
7238         * i386-protos.h:  Add their prototypes.
7239         * i386.h: Add them to PREDICATE_CODES.
7240         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
7241         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
7242         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
7243         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
7244         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
7245         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
7246         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
7247         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
7248         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
7249         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
7250         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
7251         Use these new predicates to simplify and correct the use of
7252         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
7253
7254 2002-09-12  Jason Merrill  <jason@redhat.com>
7255
7256         * diagnostic.c (output_add_identifier): New fn.
7257         * diagnostic.h: Declare it.
7258
7259         * calls.c (store_one_arg): Use size_in_bytes to determine the
7260         amount of space to push.
7261
7262 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
7263
7264         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
7265
7266 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
7267
7268         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
7269         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
7270         (s390_select_ccmode): Likewise.
7271         (s390_branch_condition_mask): Likewise.
7272         (optimization_options): Do not set flag_branch_on_count.
7273         (s390_split_branches): Handle doloop branches.
7274         (s390_chunkify_pool): Likewise.
7275         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
7276         ("doloop_end"): New expander.
7277         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
7278         associated splitters): New.
7279
7280 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7281
7282         * genattrtab.c (simplify_cond): Remove unused variable(s).
7283         * global.c (record_conflicts): Likewise.
7284         * jump.c (rebuild_jump_labels): Likewise.
7285         * loop.c (scan_loop, check_final_value): Likewise.
7286         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
7287         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
7288         * rtlanal.c (reg_set_p): Likewise.
7289         * stmt.c (expand_asm_operands, expand_decl): Likewise.
7290         * genautomata.c (empty_reserv): Remove.
7291         * loop.c (max_luid): Likewise.
7292         * sched-rgn.c (bitlst_table_size): Likewise.
7293
7294 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
7295
7296         Reimplement gcov format.
7297         * gcov-io.h: Replace.
7298         * gcov.c: Reimplement.
7299         * gcov-iov.c: New file.
7300         * gcov-dump.c: New file.
7301         * libgcc2.c (L_bb): Replace with ...
7302         (L_gcov): ... this.
7303         (struct bb_function_info, struct bb): Remove.
7304         (inhibit_libc): Never inhibit.
7305         (gcov_list, gcov_crc): New static variables.
7306         (gcov_version_mismatch): New static function.
7307         (__bb_exit_func): Renamed to ...
7308         (__gcov_exit): ... here. Made static. Reimplement.
7309         (__gcov_init_func): Rename to ...
7310         (__gcov_init): ... here. Check version, update crc.
7311         (__bb_fork_func): Rename to ...
7312         (__gcov_flush): ... here.
7313         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
7314         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
7315         * calls.c (expand_call): Call __gcov_flush.
7316         * profile.c (bb_file, last_bb_file_name): Remove.
7317         (bbg_file_name): New global variable.
7318         (output_gcov_string): Remove.
7319         (get_exec_counts): Reimplement.
7320         (branch_prob): Reimplement gcov file writing.
7321         (init_branch_prob): Create bbg_file_name, don't create
7322         bb_file_name.
7323         (end_branch_prob): Adjust. Don't remove counter file when
7324         instrumenting ourselves.
7325         (create_profiler): Adjust.
7326         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
7327         point to gcov-io.h.
7328         * Makefile.in (LANGUAGES): Add gcov-dump.
7329         (coverageexts): Remove .bb.
7330         (STAGESTUFF): Add gcov-dump.
7331         (LIB2FUNCS_ST): Replace _bb with _gcov.
7332         (profile.o): Depend on gcov-iov.h.
7333         (final.o): Don't depend on profile.h, gcov.h.
7334         (gcov.o): Depend on gcov-iov.h.
7335         (gcov-iov.o): New target.
7336         (gcov-iov): New target.
7337         (gcov-iov.h): New target.
7338         (gcov-dump.o): New target.
7339         (GCOV_DUMP_OBJS): New variable.
7340         (gcov-dump): New target.
7341         (distclean): Remove coverageexts.
7342         (stage1): Remove coverageexts.
7343
7344 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
7345
7346         * fold-const.c (make_range): Only narrow to signed range if
7347         the signed range is smaller than the unsigned range.
7348
7349 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
7350
7351         * emit-rtl.c (set_mem_size): New function.
7352         * expr.h (set_mem_size): Declare.
7353         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
7354         (expand_block_move): Instead, use adjust_address and
7355         replace_equiv_address to generate proper aliasing info.
7356         Move common code out of conditionals.  Localize vars.
7357
7358 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
7359
7360         * optabs.c (expand_binop): Minor cleanup.
7361         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
7362
7363 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
7364
7365         * print-tree.c (print_node): Print the restrict qualifier.
7366
7367 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
7368
7369         * doc/install.texi: Fix typos.
7370
7371 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
7372
7373         * Makefile.in: Remove all references to s-under and underscore.c.
7374         * collect2.c, tlink.c: Change all uses of prepends_underscore
7375         to look directly at USER_LABEL_PREFIX.
7376
7377 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
7378
7379         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
7380         alignment to csect.
7381         (rs6000_xcoff_unique_section): Only set section name for public
7382         data.
7383         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
7384         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
7385         duplicate definition.
7386
7387 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7388
7389         * pa.md (extzv): Check predicates before emitting extzv_32.
7390         (insv): Likewise.
7391
7392 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
7393
7394         * config/s390/s390.h (MOVE_MAX): Define to correct value.
7395         (MAX_MOVE_MAX): Define.
7396         (MOVE_BY_PIECES_P): Define.
7397         (CLEAR_BY_PIECES_P): Define.
7398
7399 2002-09-10  Denis Chertykov  <denisc@overta.ru>
7400
7401         * config/avr/avr.md (movstrhi): Use right operands for conversion.
7402
7403 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
7404
7405         PR c/7873
7406         * arm.md (insv): Use reg_or_int_operand for operand[3].
7407
7408 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
7409
7410         * rs6000.c (rs6000_assemble_visibility): Protect declaration
7411         inside macro.  Correct function definition typo.
7412         (rs6000_xcoff_section_type_flags): New function.
7413         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
7414         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
7415         with appropriate PIC test.
7416         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
7417         determine readonly.
7418         (rs6000_binds_local_p): Combine PIC flags.
7419         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
7420         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
7421
7422 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7423
7424         * h8300.md: Fix signed/unsigned warnings.
7425         * mcore.md: Likewise.
7426         * mn10300.c (mask_ok_for_mem_btst): Likewise.
7427
7428 2002-09-09  Per Bothner  <per@bothner.com>
7429
7430         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
7431         characters, and only print TREE_STRING_LENGTH chars.
7432
7433 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
7434
7435         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
7436         (ASM_FILE_END) New.
7437         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
7438         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
7439         * config/ia64/ia64.c (ia64_asm_output_external): Create list
7440         of external functions if TARGET_HPUX_LD is true.
7441         (ia64_hpux_add_extern_decl): New, routine to put names on
7442         list of external functions.
7443         (ia64_hpux_asm_file_end): Put out declarations for external
7444         functions if and only if they are used.
7445
7446 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7447
7448         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
7449         on TARGET_64BIT before pic register restore.
7450
7451 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
7452
7453         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
7454         (TARGET_HAVE_TLS): New description.
7455
7456 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
7457
7458         * doc/extend.texi (Statement Exprs): Fix broken link.
7459
7460 2002-09-09  Denis Chertykov  <denisc@overta.ru>
7461
7462         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
7463         right conversion of operands[1].
7464
7465 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
7466
7467         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
7468         commutative.  Use "nonimmediate_operand" instead of "register_operand"
7469         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
7470
7471         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
7472         as commutative.
7473
7474         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
7475         mark as commutative.  Use "nonimmediate_operand" instead of
7476         "register_operand" as predicate for operand 1.
7477
7478         ("movstrictsi"): Fix typo in insn name.
7479
7480 2002-09-09  Jan Hubicka  <jh@suse.cz>
7481
7482         * i386.c (index_register_operand): New.
7483         * i386.h (predicate_codes): Add new predicate.
7484         * i386.md (lea_general_*): Use index_register_operand
7485         (ashift to lea splitter): Do not produce invalid leas
7486         (ashift to mov+ashift split): New.
7487
7488 2002-09-09  Nick Clifton  <nickc@redhat.com>
7489
7490         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
7491         Fix folding marks.
7492
7493 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
7494             J"orn Rennecke <joern.rennecke@superh.com>
7495
7496         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
7497
7498 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
7499
7500         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
7501         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
7502         attributes.
7503
7504 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
7505
7506         * basic_block.h (gcov_type): Explain why it is signed.
7507         * final.c: Don't include profile.h.
7508         (struct function_list, functions_head, functions_tail,
7509         end_final): Moved to profile.c
7510         (final): Move arc chaining code to profile.c.
7511         * function.c (prepare_function_start): Remove duplicate line.
7512         * output.h (end_final): Remove prototype.
7513         * predict.c (estimate_loops_at_level): Use gcov_type.
7514         * profile.c (struct function_list, functions_head,
7515         functions_tail): Moved from final.c
7516         (need_func_profiler): Remove.
7517         (instrument_edges): Don't set need_func_profiler.
7518         (get_exec_counts): Avoid signed/unsigned warning.
7519         (compute_checksum): Use crc32.
7520         (branch_prob): Adjust. Chain onto functions_head.
7521         (init_branch_prob): Absorb init_edge_profiler.
7522         (init_edge_profiler): Remove.
7523         (create_profiler): Moved and renamed from final.c:end_final.
7524         Emit data and constructor.
7525         (output_func_start_profiler): Remove.
7526         * profile.h (struct profile_info): checksum is unsigned.
7527         * rtl.h (output_func_start_profiler): Remove prototype.
7528         (create_profiler): Declare.
7529         * toplev.c (compile_file): Call create_profiler, if instrumenting
7530         arcs. Don't call end_final.
7531
7532 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7533
7534         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
7535
7536 2002-09-08  Richard Henderson  <rth@redhat.com>
7537
7538         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
7539         (DW_OP_GNU_push_tls_address): New.
7540         (DW_OP_lo_user): Fix.
7541         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
7542         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
7543         (size_of_loc_descr): Likewise.
7544         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
7545         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
7546         (loc_descriptor_from_tree): Handle TLS variables.
7547         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
7548         (add_location_or_const_value_attribute): ... not here.  Defer
7549         to loc_descriptor_from_tree for TLS variables.
7550
7551         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
7552         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
7553         * config/i386/i386-protos.h: Update.
7554
7555 2002-09-08  Roger Sayle  <roger@eyesopen.com>
7556
7557         PR optimization/6405
7558         * unroll.c (loop_iterations): last_loop_insn should be the previous
7559         non-note instruction before loop->end.
7560         * loop.c (strength_reduce): The conditional jump is the last
7561         non-note instruction before loop->end (as above).
7562
7563 2002-09-08  Roger Sayle  <roger@eyesopen.com>
7564
7565         * combine.c (try_combine): Handle the case that undobuf.other_insn
7566         has been turned into a return or unconditional jump, by inserting
7567         a BARRIER if necessary.
7568         (simplify_set):  Test if a condition code setter has a constant
7569         comparison at compile time, if so convert this insn to a no-op move
7570         and update/simplify the condition code user (undobuf.other_insn).
7571
7572 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
7573
7574         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
7575         (CLEAR_INSN_CACHE): Define.
7576
7577 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
7578
7579         * basic-block.h: Fix comment formatting.
7580         * c-common.c: Likewise.
7581         * c-common.h: Likewise.
7582         * c-lex.c: Likewise.
7583         * c-pretty-print.c: Likewise.
7584         * cfglayout.c: Likewise.
7585         * cfgloop.c: Likewise.
7586         * defaults.h: Likewise.
7587         * et-forest.c: Likewise.
7588         * explow.c: Likewise.
7589         * function.h: Likewise.
7590         * gcov.c: Likewise.
7591         * genattrtab.c: Likewise.
7592         * gengtype.c: Likewise.
7593         * ifcvt.c: Likewise.
7594         * libgcc2.c: Likewise.
7595         * loop.c: Likewise.
7596         * profile.c: Likewise.
7597         * ra-build.c: Likewise.
7598         * real.c: Likewise.
7599         * rtl.h: Likewise.
7600         * tracer.c: Likewise.
7601         * tree-inline.c: Likewise.
7602         * varasm.c: Likewise.
7603
7604 2002-09-08  Jan Hubicka  <jh@suse.cz>
7605
7606         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
7607         handling.
7608
7609         * loop.c (loop_givs_reduce):  Emit addition after.
7610
7611 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
7612
7613         * varasm.c (default_assemble_visibility): Rename from
7614         assemble_visibility.
7615         * output.h: Here too.
7616         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
7617         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
7618
7619 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
7620
7621         * reload.c (find_reloads <p constraint>): Pass operand_mode to
7622         find_reloads_address.
7623
7624 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
7625
7626         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
7627         (anonymous pattern): Likewise.
7628
7629 2002-09-07  Igor Shevlyakov <igor@microunity.com>
7630
7631         * machmode.def: Add modes for half-float vectors.
7632
7633 2002-09-07  Scott Snyder  <snyder@fnal.gov>
7634
7635         PR target/7374
7636         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
7637
7638 2002-09-07  Roger Sayle  <roger@eyesopen.com>
7639
7640         * basic-block.h (struct loop): Remove unused cont_dominator field.
7641
7642 2002-09-07  Igor Shevlyakov <igor@microunity.com>
7643
7644         * varasm.c (decode_rtx_const): Don't check undefined field for
7645         CONST_VECTOR.
7646
7647 2002-09-07  Glen Nakamura  <glen@imodulo.com>
7648
7649         PR opt/7814
7650         * sched-deps.c (sched_analyze_insn): Make sure to add insn
7651         to reg_last->sets after flushing the dependency lists to guarantee
7652         that subsequent clobbers will be dependent on it.
7653
7654 2002-09-07  Igor Shevlyakov <igor@microunity.com>
7655
7656         * combine.c (simplify_shift_const): Calculate rotate count
7657         correctly for vector operands.
7658
7659 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
7660
7661         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
7662         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
7663         tree_expr_nonnegative_p.
7664         (build_conditional_expr): Likewise.
7665         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
7666
7667 2002-09-07  Richard Henderson  <rth@redhat.com>
7668
7669         * builtins.def (inf, inff, infl): Mark const.
7670         (huge_val, huge_valf, huge_vall): Likewise.
7671         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
7672
7673         * real.c (ereal_inf): Clear E before use.
7674
7675 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
7676
7677         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
7678         an expander and an anonymous pattern.  Zero out the upper half
7679         of the dividend in the expander.
7680         (udivmodqi4): Likewise.
7681
7682 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
7683
7684         * config/h8300/h8300.c: Fix formatting.
7685         * config/h8300/h8300.h: Likewise.
7686         * config/h8300/h8300.md: Likewise.
7687
7688 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7689
7690         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
7691         information.
7692
7693 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
7694
7695        * rtlanal.c (dead_or_set_regno_p): Fix typo.
7696
7697 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
7698
7699         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7700
7701         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
7702         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
7703         (TARGET_ASM_OUT): Add the above here.
7704         * target.h (struct gcc_target): Add "visibility" field.
7705         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
7706         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
7707         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
7708         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
7709
7710 2002-09-06  Ziemowit Laski <zlaski@apple.com>
7711
7712         * c-lang.c (objc_is_id): New stub.
7713         * c-tree.h (objc_is_id): New forward declaration.
7714         * c-typeck.c (build_c_cast): Do not strip protocol
7715         qualifiers from 'id' type.
7716         * objc/objc-act.c (objc_comptypes): Correct handling
7717         of protocol qualifiers.
7718         (objc_is_id): New.
7719
7720 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
7721
7722         * pentium.md (pentium-firstvboth): Fix typo.
7723
7724 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
7725
7726         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
7727         (enum shift_type, enum h8_cpu): Likewise.
7728         (INL, ROT, LOP, SPC macros): Likewise.
7729         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
7730         const designator.
7731         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
7732         space efficient algorithms when optimize for codesize.
7733
7734 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
7735
7736         Fix PR/1727 and long-standing failing testcase
7737         objc/formal-protocol-6.m.
7738         * objc-act.c (build_protocol_expr): If compiling for the GNU
7739         runtime, create a list of Protocol statically allocated instances
7740         if it doesn't exist, then add the Protocol object to this same
7741         list.
7742         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
7743         instead of TREE_CHAIN.
7744
7745 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
7746
7747         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
7748         10k.  Fixed category dumping - print out category names with the
7749         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
7750         interface.
7751         (finish_objc): Fixed the -gen-decls option.  It was printing out
7752         only the last class.  Dump an interface declaration of all classes
7753         being compiled instead.
7754
7755 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
7756
7757         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
7758         prototype.
7759         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
7760         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
7761         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
7762         rather than GEN_INT.
7763         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
7764         (return_addr_mask, *check_arch2): New.
7765
7766 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
7767
7768         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
7769         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
7770         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
7771         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
7772         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
7773         "adddf3", "*adddf3", "*adddf3_ibm",
7774         "addsf3", "*addsf3", "*addsf3_ibm",
7775         "muldi3", "mulsi3", "mulsidi3",
7776         "muldf3", "*muldf3", "*muldf3_ibm",
7777         "mulsf3", "*mulsf3", "*mulsf3_ibm",
7778         "*anddi3_cc", "*anddi3_cconly", "anddi3",
7779         "*andsi3_cc", "*andsi3_cconly", "andsi3",
7780         "*iordi3_cc", "*iordi3_cconly", "iordi3",
7781         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
7782         "*xordi3_cc", "*xordi3_cconly", "xordi3",
7783         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
7784         instead of "register_operand" as predicate for "%0" operand.
7785
7786 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
7787
7788         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
7789         unconditionally when gcc_cv_as_flags64 checks are gone.
7790         * configure: Rebuilt.
7791
7792 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
7793
7794         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
7795         2002-07-26 change.  Comment.
7796
7797 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7798
7799         * frv.c (frv_unique_section, frv_select_section,
7800         frv_select_rtx_section): Delete.
7801         (frv_in_small_data_p): New.
7802         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
7803         TARGET_ASM_SELECT_RTX_SECTION): Delete.
7804         (TARGET_IN_SMALL_DATA_P): Define.
7805
7806 2002-09-05  Dale Johannesen  <dalej@apple.com>
7807
7808         * reload1.c (reload):  Retain only those memory clobbers
7809         added for variable-array handling.
7810
7811 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
7812
7813         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
7814         return-in-memory rules.
7815         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
7816
7817 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
7818
7819         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
7820         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
7821
7822 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
7823
7824         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
7825         not a compile-time constant for the non-IBM case.
7826         * config/arm/arm-protos.h (arm_float_words_big_endian): New
7827         prototype.
7828         * config/arm/arm.c (arm_float_words_big_endian): New function.
7829         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
7830         if TARGET_VFP  and not TARGET_HARD_FLOAT.
7831         (ARM_FLAG_VFP, TARGET_VFP): Define.
7832         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
7833
7834 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
7835
7836         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
7837         URLs.  Fix AIX wording.
7838
7839 2002-09-05  Stan Shebs  <shebs@apple.com>
7840
7841         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
7842         -fPIC equivalent on Darwin.
7843
7844 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
7845
7846         * sh.c (sh_expand_builtin): Return early if encountering an
7847         error_mark for a type.
7848
7849 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
7850
7851         * config/s390/s390.c (s390_expand_plus_operand): Do not require
7852         double-word scratch register.
7853         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
7854
7855         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
7856         "*cli"): Replace s_operand by memory_operand.
7857         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
7858
7859 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
7860
7861         * config/h8300/h8300.c (asm_file_start): Add a missing
7862         semicolon.
7863
7864 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7865
7866         * c-typeck.c (build_function_call): Remove unused variable(s).
7867         (build_c_cast): Likewise.
7868         * calls.c (rtx_for_function_call): Likewise.
7869         * cfglayout.c (duplicate_insn_chain): Likewise.
7870         * cfgloop.c (flow_loop_nodes_find): Likewise.
7871         * cfgrtl.c (split_edge): Likewise.
7872         * df.c (df_ref_create): Likewise.
7873         * except.c (expand_end_catch): Likewise.
7874         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
7875         * function.c (emit_return_into_block): Likewise.
7876         (reposition_prologue_and_epilogue_notes): Likewise.
7877         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
7878         * combine.c (subst_prev_insn, need_refresh): Remove.
7879         * dwarf2out.c (primary_filename): Remove.
7880         * final.c (new_block): Remove.
7881         * gcse.c (orig_bb_count): Remove.
7882
7883 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7884
7885         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
7886         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
7887         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
7888         directly instead of using a function pointer.
7889
7890 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
7891
7892         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
7893         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
7894         (ix86_output_addr_diff_elt) Likewise.
7895         (x86_output_mi_thunk) Likewise.
7896         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
7897
7898 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7899
7900         * frv.c (frv_encode_section_info): Fix error in last change.
7901
7902 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
7903
7904         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
7905         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
7906         (TARGET_BINDS_LOCAL_P): Define.
7907         (rs6000_override_options): Save original flag_pic value.
7908         (rs6000_elf_select_section): Call default_elf_select_section_1.
7909         (rs6000_elf_unique_section): Call default_unique_section_1.
7910         (rs6000_elf_in_small_data_p): New function.
7911         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
7912         (rs6000_xcoff_select_section): Update based on defaults.
7913         (rs6000_xcoff_unique_section): Set to basic name if not common.
7914         (rs6000_binds_local_p): New function.
7915         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
7916         targetm.have_srodata_section if SDATA_EABI.
7917         (TARGET_IN_SMALL_DATA_P): Define.
7918
7919 2002-09-04  Dale Johannesen  <dalej@apple.com>
7920
7921         * varasm.c (struct rtx_const, decode_rtx_const):
7922         Make veclo and vechi fields not share storage.
7923
7924 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
7925
7926         * loop.c (scan_loop): Don't mark separate insns out of a libcall
7927         for moving.
7928         (move_movables): Abort if we see the first insn of a libcall.
7929
7930 2002-09-04  Richard Henderson  <rth@redhat.com>
7931
7932         * builtin-types.def (BT_FN_FLOAT): New.
7933         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
7934         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
7935         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
7936         * builtins.c (fold_builtin_inf): New.
7937         (fold_builtin): Call it.
7938         * real.c (ereal_inf): New.
7939         * real.h: Declare it.
7940         * doc/extend.texi: Document new builtins.
7941
7942 2002-09-04  Richard Henderson  <rth@redhat.com>
7943
7944         * cse.c (cse_insn): Avoid subreg games if the equivalence
7945         is already in the proper mode.
7946
7947 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
7948
7949         PR c/7102
7950         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
7951
7952 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7953
7954         * pa.md (setccfp0, setccfp1): New patterns.
7955
7956 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7957
7958         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
7959         frv_select_section, frv_select_rtx_section,
7960         frv_encode_section_info, frv_unique_section): Delete.
7961         * frv.c: Update for target hooks.
7962         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
7963         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
7964         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
7965
7966 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7967
7968         * ip2k-protos.h (function_prologue, function_epilogue,
7969         encode_section_info): Update to match target hook specification.
7970         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
7971         (function_prologue, function_epilogue, encode_section_info):
7972         Update to match target hook specification.
7973         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
7974         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
7975         (NOTICE_UPDATE_CC): Cast to void.
7976         * ip2k.md: Add defaults in switch statements.
7977
7978 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
7979
7980         * doc/trouble.texi (Interoperation): Update information about C++ ABI
7981         issues.
7982
7983 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
7984
7985         * config/sparc/t-netbsd64: Disable multilib for now.
7986
7987 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
7988
7989         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
7990         * target.h (gcc_target): Add have_srodata_section member.
7991         * varasm.c (section_category): Add SECCAT_SRODATA.
7992         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
7993         READONLY_SDATA_SECTION defined.
7994         (decl_readonly_section_1): True for SECCAT_SRODATA also.
7995         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
7996         (default_unique_section_1): Likewise.
7997
7998 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7999
8000         * expr.c (emit_group_load): Revise to allow splitting TCmode source
8001         into DImode pieces.
8002
8003         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
8004         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
8005         for floating-point register class.
8006         * pa.c (function_arg): Fix handling of modes wider than one word for
8007         TARGET_64BIT.
8008
8009 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
8010
8011         * combine.c (make_compound_operation): Don't generate zero / sign
8012         extensions in floating point modes.
8013
8014 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8015
8016         * doc/c-tree.texi: Fix overfull hboxes.
8017         * doc/cppopts.texi: Ditto.
8018         * doc/extend.texi: Ditto.
8019         * doc/gty.texi: Ditto.
8020         * doc/invoke.texi: Ditto.
8021         * doc/makefile.texi: Ditto.
8022         * doc/rtl.texi: Ditto.
8023         * doc/standards.texi: Ditto.
8024         * doc/tm.texi: Ditto.
8025
8026 2002-09-04  Richard Henderson  <rth@redhat.com>
8027
8028         * c-common.c (builtin_define_with_hex_fp_value): New.
8029         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
8030
8031 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8032
8033         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
8034         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
8035         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
8036         Warn that these options can break ABI compatibility.
8037
8038 2002-09-04  Richard Henderson  <rth@redhat.com>
8039
8040         * real.c (ereal_to_decimal): Add digits parameter.
8041         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
8042         * c-pretty-print.c (pp_c_real_literal): Update call.
8043         * print-rtl.c (print_rtx): Likewise.
8044         * print-tree.c (print_node_brief, print_node): Likewise.
8045         * sched-vis.c (print_value): Likewise.
8046         * config/arc/arc.c (arc_print_operand): Likewise.
8047         * config/c4x/c4x.c (c4x_print_operand): Likewise.
8048         * config/i370/i370.h (PRINT_OPERAND): Likewise.
8049         * config/i386/i386.c (print_operand): Likewise.
8050         * config/i960/i960.c (i960_print_operand): Likewise.
8051         * config/ip2k/ip2k.c (asm_output_float): Likewise.
8052         * config/m32r/m32r.c (m32r_print_operand): Likewise.
8053         * config/m68hc11/m68hc11.c (print_operand): Likewise.
8054         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
8055         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
8056         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
8057         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
8058         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
8059         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
8060         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
8061         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
8062         * config/mips/mips.c (print_operand): Likewise.
8063         * config/ns32k/ns32k.c (print_operand): Likewise.
8064         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
8065         * config/vax/vax.h (PRINT_OPERAND): Likewise.
8066         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
8067
8068 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
8069
8070         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
8071         xtensa_multibss_section_type_flags.
8072         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
8073
8074 2002-09-04  Richard Henderson  <rth@redhat.com>
8075
8076         * doc/install-old.texi: Don't mention enquire.
8077         * doc/sourcebuild.texi: Update float.h description.
8078
8079 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
8080
8081         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
8082
8083 2002-09-03  Roger Sayle  <roger@eyesopen.com>
8084
8085         * builtins.c (build_function_call_expr): Remove prototype, export
8086         as non-static and add a comment above function definition.
8087         (builtin_mathfn_code): New function to check for math builtins.
8088         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
8089         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
8090         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
8091         log(sqrt(x)) as log(x)/2.0.
8092
8093         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
8094         in new "builtins.c" section.  Place the build_range_type prototype
8095         with the other prototypes from "tree.c".
8096
8097         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
8098         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
8099         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
8100         x/exp(y) as x*exp(-y).
8101
8102 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
8103
8104         * varasm.c (default_section_type_flags): Append _1 to name with
8105         shlib parameter.  Use original name to call new function with
8106         implicit flag_pic.
8107         (decl_readonly_section): Likewise.
8108         (default_elf_select_section): Likewise.
8109         (default_unique_section): Likewise.
8110         (default_bind_local_p): Likewise.
8111         (categorize_decl_for_section): Add shlib parameter to use in place
8112         of implicit flag_pic.
8113         * output.h: Declare new functions with _1 and shlib argument.
8114
8115 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
8116
8117         * doc/install.texi: Fix typos, formatting problems, and obvious
8118         overfull/underfull boxes.
8119
8120         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
8121         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
8122         include its file, compat.texi.
8123         * doc/compat.texi: New file with new chapter, Binary Compatibility.
8124
8125 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
8126
8127         Debian BTS Bug #157416
8128         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
8129         * cpplib.c (destringize_and_run): Kludge around getting
8130         tokens from in-progress macros.
8131         (_cpp_do__Pragma): Simplify.
8132
8133 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
8134
8135         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
8136         (CPP_CPU_SPEC): Remove.
8137         (TARGET_CPU_CPP_BUILTINS): New.
8138         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
8139         (CPP_SPEC): Remove.
8140         (TARGET_OS_CPP_BUILTINS): New.
8141         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
8142         (TARGET_OS_CPP_BUILTINS): New.
8143         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
8144         TARGET_OS_CPP_BUILTINS.
8145         (CPP_PREDEFINES): Remove.
8146         (CPLUSPLUS_CPP_SPEC): Remove.
8147         (TARGET_OS_CPP_BUILTINS): New.
8148
8149 2002-09-03  Richard Henderson  <rth@redhat.com>
8150
8151         * Makefile.in (USER_H): Add ginclude/float.h.
8152         (FLOAT_H): Remove.
8153         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
8154         (mostlyclean): Don't remove float.h intermediate files.
8155         (distclean): Don't remove float.h.
8156         * config.gcc: Remove all float_format references.
8157         * configure.in (float_format, float_h_file): Remove.
8158
8159         * c-common.c: Include tree-inline.h.
8160         (builtin_define_with_int_value): New.
8161         (builtin_define_type_precision): Use it.
8162         (builtin_define_float_constants): New.
8163         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
8164         __FLT_EVAL_METHOD__.
8165         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
8166         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
8167         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
8168         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
8169         (TARGET_FLT_EVAL_METHOD): New.
8170
8171         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
8172         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
8173         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
8174         * ginclude/float.h: New.
8175
8176 2002-09-03  Stan Shebs  <shebs@apple.com>
8177
8178         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
8179         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
8180         (PREFERRED_DEBUGGING_TYPE): Ditto.
8181         (ASM_OUTPUT_IDENT): Remove empty definition.
8182
8183 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
8184
8185         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
8186         cxx_target.
8187         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
8188         handling routine for builtin pragma.
8189         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
8190         Registered pragma handling routine.
8191         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
8192         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
8193         If builtin pragma seen for math routine and C89 conformance is
8194         requested use different math function in order to set errno.
8195         * t-ia64 (ia64-c.o): Add new rule for new file.
8196
8197 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
8198
8199         * config/s390/s390.md ("movti"): Add Q->Q alternative.
8200         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
8201         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
8202
8203         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
8204         "*movsf_ss"): Remove.
8205
8206 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8207
8208         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
8209         Delete macros.
8210
8211 2002-09-03   Arati Dikey  <aratid@kpit.com>
8212
8213         * h8300.c (asm_file_start): Corrected optimization comment.
8214
8215 2002-09-03  Stan Shebs  <shebs@apple.com>
8216
8217         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
8218         * c-tree.h (recognize_objc_keyword): Remove decl.
8219         * c-typeck.c (comp_target_types): Update a comment.
8220
8221 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
8222
8223         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
8224         and register validity checks.
8225         (general_s_operand): Adapt to s390_decompose_address interface change.
8226         (q_constraint): Likewise.
8227         (s390_expand_plus_operand): Likewise.
8228         (legitimiate_address_p): Likewise.
8229         (legitimate_la_operand_p): Likewise.
8230         (legitimize_la_operand): Likewise.
8231         (print_operand_address): Likewise.
8232         (print_operand): Likewise.
8233
8234 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8235
8236         PR objc/5956:
8237         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
8238         was causing the new selector never to match the existing ones
8239         (Patch by Alexander Malmberg <alexander@malmberg.org>).
8240
8241 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
8242
8243         * config/i386/i386.md ("femms"): Add "memory" attr "none".
8244
8245 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
8246
8247         * expr.c (expand_expr): Remove extraneous comment and code.
8248
8249 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
8250
8251         * stor-layout (finish_builtin_struct): Renamed and moved from c++
8252         frontend. Take chain of fields. Allow NULL alignment type.
8253         * tree.h (finish_builtin_struct): Declare.
8254
8255 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8256
8257         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
8258         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
8259         config/arc/arc.c config/arc/arc.h config/arm/aout.h
8260         config/arm/arm.c config/arm/arm.h config/arm/arm.md
8261         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
8262         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
8263         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
8264         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
8265         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
8266         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
8267         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
8268         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
8269         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
8270         config/pa/pa.h config/pa/pa.md config/romp/romp.h
8271         config/rs6000/linux64.h config/rs6000/lynx.h
8272         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
8273         config/s390/s390.c config/s390/s390.md config/sh/sh.c
8274         config/sparc/sparc.c config/sparc/sysv4.h
8275         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
8276         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
8277         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
8278
8279         * doc/tm.texi: Update docs.
8280         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
8281         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
8282
8283 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8284
8285         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
8286         * arc.c (arc_internal_label): New function.
8287         (TARGET_ASM_INTERNAL_LABEL): Set.
8288         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8289         * arm.c (arm_internal_label): New function.
8290         (TARGET_ASM_INTERNAL_LABEL): Set.
8291         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8292         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8293         * i370.c (i370_internal_label): New function.
8294         (TARGET_ASM_INTERNAL_LABEL): Set.
8295         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8296         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8297         * m68k.c (m68k_hp320_internal_label): New function.
8298         (TARGET_ASM_INTERNAL_LABEL): Set.
8299         * m88k.c (m88k_internal_label): New function.
8300         (TARGET_ASM_INTERNAL_LABEL): Set.
8301         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8302         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
8303         * genoutput.c (output_prologue): Include target.h in output file.
8304         * output.h (default_internal_label): Declare.
8305         * sdbout.c: Include target.h.
8306         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
8307         TARGET_ASM_OUT.
8308         * target.h (internal_label): Add to struct gcc_target.
8309         * varasm.c (default_internal_label): New function.
8310
8311 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8312
8313         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8314         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8315         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8316         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8317         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8318         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8319         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8320         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8321         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8322         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8323         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8324         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8325         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8326         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8327         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8328         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8329         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8330         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8331         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8332         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8333         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8334         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8335         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8336         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8337         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8338         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
8339         * mmix.c (mmix_asm_output_internal_label): Likewise.
8340         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8341         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8342         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8343         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8344         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8345         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8346         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8347         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8348         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8349         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8350         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8351         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8352         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8353         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8354         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8355         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8356         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8357         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8358         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8359
8360         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
8361
8362 2002-08-31  Richard Henderson  <rth@redhat.com>
8363
8364         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
8365
8366 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8367
8368         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
8369
8370 2002-08-30  Richard Henderson  <rth@redhat.com>
8371
8372         PR opt/7515
8373         * c-objc-common.c: Include target.h.
8374         (c_cannot_inline_tree_fn): Don't auto-inline functions that
8375         don't bind locally.  Factor setting DECL_UNINLINABLE.
8376         * Makefile.in (c-objc-common.o): Update.
8377
8378 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
8379
8380         * doc/install.texi (Configuration, Building): Fix a typo and
8381         some formatting directives.
8382
8383 2002-08-30  Paul Koning <pkoning@equallogic.com>
8384
8385         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
8386         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
8387         implemented" note.
8388         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
8389         for alphabetic order.
8390         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
8391         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
8392         (VAX_HALFWORD_ORDER): Document.
8393         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
8394         IEEE float format.
8395         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
8396         (ASM_OUTPUT_LABEL_REF): Fix font.
8397         (CASE_VECTOR_SHORTEN_MODE): Ditto.
8398
8399 2002-08-30  Denis Chertykov  <denisc@overta.ru>
8400
8401         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
8402         stuff.
8403         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
8404         CONST_DOUBLE constants.
8405
8406 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
8407
8408         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
8409         related defines to...
8410         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
8411         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
8412         as a no-op.
8413
8414 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
8415
8416         * config/arm/arm.c (arm_asm_output_labelref): New function.
8417         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
8418         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
8419
8420 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
8421
8422         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
8423         memory exhausted" workarounds.
8424
8425 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8426
8427         * diagnostic.c (fancy_abort): Don't repeat "internal error".
8428         * toplev.c (crash_signal): Likewise.
8429
8430 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8431
8432         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
8433         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
8434         Extended, updated documentation.
8435         (-Wundeclared-selector): Documented.
8436
8437 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
8438
8439         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
8440         the value 1.  Do not undef before defining.
8441         * config/darwin.h: Likewise.
8442         * config/dbx.h: Likewise.
8443         * config/dbxcoff.h: Likewise.
8444         * config/dbxelf.h: Likewise.
8445         * config/elfos.h: Likewise.
8446         * config/interix.h: Likewise.
8447         * config/lynx-ng.h: Likewise.
8448         * config/lynx.h: Likewise.
8449         * config/netware.h: Likewise.
8450         * config/psos.h: Likewise.
8451         * config/svr3.h: Likewise.
8452         * config/alpha/alpha.h: Likewise.
8453         * config/alpha/elf.h: Likewise.
8454         * config/alpha/vms.h: Likewise.
8455         * config/arc/arc.h: Likewise.
8456         * config/arm/aout.h: Likewise.
8457         * config/arm/coff.h: Likewise.
8458         * config/c4x/c4x.h: Likewise.
8459         * config/h8300/h8300.h: Likewise.
8460         * config/i386/cygwin.h: Likewise.
8461         * config/i386/djgpp.h: Likewise.
8462         * config/i386/gas.h: Likewise.
8463         * config/i386/gstabs.h: Likewise.
8464         * config/i386/i386-coff.h: Likewise.
8465         * config/i386/i386-interix.h: Likewise.
8466         * config/i386/sco5.h: Likewise.
8467         * config/i386/svr3dbx.h: Likewise.
8468         * config/i386/sysv3.h: Likewise.
8469         * config/i386/win32.h: Likewise.
8470         * config/i386/x86-64.h: Likewise.
8471         * config/i960/i960.h: Likewise.
8472         * config/ia64/ia64.h: Likewise.
8473         * config/ip2k/ip2k.h: Likewise.
8474         * config/m32r/m32r.h: Likewise.
8475         * config/m68k/3b1.h: Likewise.
8476         * config/m68k/3b1g.h: Likewise.
8477         * config/m68k/ccur-GAS.h: Likewise.
8478         * config/m68k/coff.h: Likewise.
8479         * config/m68k/hp2bsd.h: Likewise.
8480         * config/m68k/hp310g.h: Likewise.
8481         * config/m68k/hp320g.h: Likewise.
8482         * config/m68k/hp3bsd.h: Likewise.
8483         * config/m68k/hp3bsd44.h: Likewise.
8484         * config/m68k/linux-aout.h: Likewise.
8485         * config/m68k/m68k-aout.h: Likewise.
8486         * config/m68k/mot3300.h: Likewise.
8487         * config/m68k/netbsd.h: Likewise.
8488         * config/m68k/openbsd.h: Likewise.
8489         * config/m68k/pbb.h: Likewise.
8490         * config/m68k/plexus.h: Likewise.
8491         * config/m68k/sun2.h: Likewise.
8492         * config/m68k/sun3.h: Likewise.
8493         * config/m68k/tower-as.h: Likewise.
8494         * config/m68k/vxm68k.h: Likewise.
8495         * config/m88k/aout-dbx.h: Likewise.
8496         * config/m88k/m88k-aout.h: Likewise.
8497         * config/mcore/mcore-elf.h: Likewise.
8498         * config/mcore/mcore-pe.h: Likewise.
8499         * config/mips/elf.h: Likewise.
8500         * config/mips/elf64.h: Likewise.
8501         * config/mips/iris5gas.h: Likewise.
8502         * config/mips/iris6.h: Likewise.
8503         * config/mips/mips.h: Likewise.
8504         * config/mips/sni-gas.h: Likewise.
8505         * config/mmix/mmix.h: Likewise.
8506         * config/ns32k/netbsd.h: Likewise.
8507         * config/pa/pa64-hpux.h: Likewise.
8508         * config/romp/romp.h: Likewise.
8509         * config/rs6000/sysv4.h: Likewise.
8510         * config/rs6000/xcoff.h: Likewise.
8511         * config/sh/coff.h: Likewise.
8512         * config/sh/elf.h: Likewise.
8513         * config/sparc/linux64.h: Likewise.
8514         * config/sparc/liteelf.h: Likewise.
8515         * config/sparc/netbsd.h: Likewise.
8516         * config/sparc/openbsd.h: Likewise.
8517         * config/sparc/pbd.h: Likewise.
8518         * config/sparc/sp64-elf.h: Likewise.
8519         * config/sparc/sp86x-elf.h: Likewise.
8520         * config/sparc/sparc.h: Likewise.
8521         * config/vax/vax.h: Likewise.
8522         * config/vax/vaxv.h: Likewise.
8523
8524 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
8525
8526         * h8300.c (shift_alg_hi): Various tweaks to improve performance
8527         of HImode shifts.
8528         (get_shift_alg): Corresponding changes.
8529
8530 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8531
8532         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
8533
8534 2002-08-29  Richard Henderson  <rth@redhat.com>
8535
8536         * expr.h (enum block_op_methods): New.
8537         (emit_block_move): Update prototype.
8538         * expr.c (block_move_libcall_safe_for_call_parm): New.
8539         (emit_block_move_via_loop): New.
8540         (emit_block_move): Use them.  New argument METHOD.
8541         (emit_push_insn): Always respect the given alignment.
8542         (expand_assignment): Update call to emit_block_move.
8543         (store_expr, store_field, expand_expr): Likewise.
8544         * builtins.c (expand_builtin_apply): Likewise.
8545         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
8546         * function.c (expand_function_end): Likewise.
8547         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
8548         * config/sparc/sparc.c (sparc_va_arg): Likewise.
8549         * calls.c (expand_call, emit_library_call_value_1): Likewise.
8550         (save_fixed_argument_area): Use emit_block_move with
8551         BLOCK_OP_CALL_PARM instead of move_by_pieces.
8552         (restore_fixed_argument_area): Likewise.
8553         (store_one_arg): Fix alignment parameter to emit_push_insn.
8554
8555 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8556
8557         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
8558
8559 2002-08-29  Catherine Moore  <clm@redhat.com>
8560
8561         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
8562         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
8563         (PREDICATE_CODES): Include new predicates.
8564         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
8565         (TARGET_SWITCHES):  Add strict-align.
8566         (TARGET_STRICT_ALIGN): New.
8567         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
8568         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
8569         Define.
8570         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
8571         v850_muldi3.
8572         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
8573         L_callt_save_r2_r31, L_return_r2_r31,
8574         L_save_all_interrupt): Change addi to add.
8575         (L_save_interrupt, L_return_interrupt): Rework.
8576         (__return_r31):  Correct .size directive.
8577         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
8578         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
8579         New routines.
8580         * config/v850/v850.c (expand_prologue): Call
8581         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
8582         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
8583         (reg_or_int9_operand): New predicate.
8584         (reg_or_const_operand): New routine.
8585         * config/v850/v850.md (return_interrupt): Changed from
8586         restore_interrupt.
8587         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
8588         (callt_save_interrupt): Change save sequence.
8589         (callt_return_interrupt): New.
8590         (save_interrupt): Don't use runtime function for LONG_CALLS
8591         and TARGET_PROLOG_FUNCTION.
8592         (save_all_interrupt): Likewise.
8593         (mulsi3): Use new predicate.
8594         (moviscc): Disallow some combination of constants.
8595         Fix define_split for sasf insns, so that it will not generate bad
8596         code if operand0 and operand5 are the same.
8597         * config/v850/v850-protos.h: Prototype new predicates.
8598
8599 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
8600
8601         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
8602         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
8603
8604 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8605
8606         * c-common.c (builtin_define_type_precision): New function.
8607         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
8608         wchar_t is unsigned in C++.
8609         * doc/cpp.texi (Common Predefined Macros): Document
8610         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
8611         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
8612         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
8613
8614 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
8615
8616         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
8617         section.  Mention that it is enabled by -Wall.
8618         (-Wall): Mention that there can be language-specific warnings as well.
8619         (-Wctor-dtor-privacy): Mention that it is enabled by default.
8620         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
8621
8622 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
8623
8624         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
8625         if it is ever live.
8626
8627         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
8628         attribute for SHCOMPACT.
8629
8630         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
8631         appropriately.
8632         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
8633         by the ABI.
8634
8635         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
8636
8637 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
8638
8639         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
8640         "MASK_GAS|MASK_ABICALLS".
8641         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
8642         (TARGET_DEFAULT): Remove.
8643         (MACHINE_TYPE): Undefine before defining.
8644         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
8645
8646 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
8647
8648         * c-common.c (warn_abi): New variable.
8649         * c-common.h (warn_abi): Likewise.
8650         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
8651         (c_common_decode_option): Handle it.
8652         * doc/invoke.texi: Document -Wabi.
8653
8654 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8655
8656         * c-common.c (warn_undeclared_selector): New variable.
8657         * c-common.h (warn_undeclared_selector): Idem.
8658         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
8659         to on when -Wundeclared-selector is found.
8660         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
8661         * objc/objc-act.c (build_selector_expr): If
8662         warn_undeclared_selector is set, check that the selector has
8663         already been defined, and emit a warning if not.
8664
8665 2002-08-27  Nick Clifton  <nickc@redhat.com>
8666             Catherine Moore  <clm@redhat.com>
8667             Jim Wilson  <wilson@cygnus.com>
8668
8669         * config.gcc: Add v850e-*-* target.
8670         Add --with-cpu= support for v850.
8671         * config/v850/lib1funcs.asm: Add v850e callt functions.
8672         * config/v850/v850.h: Add support for v850e target.
8673         * config/v850/v850.c: Add functions to support v850e target.
8674         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
8675         * config/v850/v850.md: Add patterns for v850e instructions.
8676         * doc/invoke.texi: Document new v850e command line switches.
8677
8678 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
8679                           Aldy Hernandez <aldyh at redhat dot com>
8680
8681         * doc/tm.texi: Applied numerous fixes to the automaton based
8682         scheduler descrition.
8683
8684 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
8685
8686         * i386.c (classify_argument): Handle variable sized objects.
8687
8688 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
8689
8690         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
8691
8692 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
8693
8694         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
8695
8696 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
8697
8698         * i386.c (classify_argument): Properly compute word size of the analyzed object.
8699
8700 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
8701
8702         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
8703         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
8704         accordingly.
8705         (attribute insn_class): Provide default definitions based on type.
8706         Remove all insn-specific settings.
8707         (various function units): Remove old SH4 scheduling.
8708         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
8709         New attributes.  Set them where appropriate.
8710         (cpu unit FS): Don't define / use.
8711         (F3, load_store): New cpu units.
8712         (F01): New reservation.
8713         (all insn_reservations): Make dependent on sh4 pipeline model.
8714         Fix latencies.
8715         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
8716         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
8717         (mt insn_reservation): Use type mt_group.
8718         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
8719         sh4_fload and sh4_store.
8720         (insn_reservation branch_zero and branch): Replace with sh4_branch.
8721         (insn_reservation branch_far): Replace with sh4_return.
8722         (insn_reservation return_from_exp): Rename to:
8723         (sh4_return_from_exp).  Change to be just d_lock*5.
8724         (insn_reservation lds_to_pr): Rename to:
8725         (sh4_lds_to_pr).  Change to be just d_lock*2.
8726         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
8727         d_lock*2.
8728         (insn_reservation prload_mem): Rename to:
8729         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
8730         (insn_reservation fpscr_store): Rename to:
8731         (fpscr_load).  Change to d_lock,nothing,F1*3.
8732         (insn_reservation fpscr_store_mem): Rename to:
8733         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
8734         (insn_reservation multi): Change to
8735         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
8736         (insn_reservation fp_arith): Change to issue,F01,F2.
8737         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
8738         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
8739         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
8740         (insn_reservation fp_double_cmp): Change to
8741         d_lock,(d_lock+F01),F1+F2,F2.
8742         (insn_reservation dp_div): Change to
8743         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
8744         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
8745         (sh_adjust_cost, SHcompact): Differentiate between different
8746         kinds of dependencies.  Drop factor of ten for superscalar.
8747         Use new instruction types.  Add new exception rules.
8748
8749         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
8750
8751         * sh.md (mperm_w): Add DONE.
8752
8753 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
8754
8755         * longlong.h: Import current PowerPC defintion from GMP-4.1.
8756
8757         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
8758
8759         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
8760
8761 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
8762
8763         * sh.h (MAX_FIXED_MODE_SIZE): Define.
8764
8765 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
8766
8767         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
8768         delimiter.
8769
8770 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8771
8772         * c-common.c (cpp_define_data_format): New function.
8773         (cb_register_builtins): Call it.
8774
8775         * doc/cpp.texi (Common Predefined Macros): Document
8776         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
8777         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
8778         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
8779         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
8780         __TARGET_USES_VAX_H_FLOAT__.
8781
8782 2002-08-26  Ziemowit Laski <zlaski@apple.com>
8783
8784         * objc/objc-act.c (get_super_receiver): If inside a class method
8785         of a category, cast the receiver to 'id' before accessing the 'isa'
8786         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
8787
8788 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
8789
8790         * config/s390/s390-protos.h (s390_function_prologue,
8791         s390_function_epilogue): Remove.
8792         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
8793         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
8794
8795         config/s390/s390.c (s390_machine_dependent_recorg): New function.
8796         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
8797         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
8798         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
8799         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
8800
8801         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
8802         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
8803         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
8804         function is not a leaf function.  Use save_gprs and restore_gprs.
8805         (s390_emit_epilogue): Likewise.
8806         (save_gprs, restore_gprs): New functions.
8807         (struct s390_frame): Remove return_reg_saved_p member.
8808         (save_fprs_p): Remove.
8809         (s390_optimize_prolog): New function.
8810         (s390_legitimate_reload_constant): Remove now unnecessary check.
8811
8812         (s390_function_count): Remove.
8813         (s390_output_symbolic_const): Replace s390_function_count by
8814         current_function_funcdef_no.
8815         (s390_output_constant_pool): Likewise.
8816
8817         (legitimize_pic_address): Use regs_ever_live to track PIC register
8818         instead of current_function_uses_pic_offset_table.
8819         (s390_emit_prologue): Likewise.
8820         config/s390/s390.md ("call", "call_value"): Likewise.
8821
8822 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
8823
8824         * c-opts.c (find_opt): Don't complain about wrong languages
8825         here.  Return exact matches even for wrong language.
8826         (c_common_decode_option): Complain about wrong languages
8827         here.
8828
8829 2002-08-24  Stuart Hastings  <stuart@apple.com>
8830
8831         * function.h (struct function): Add flag
8832         all_throwers_are_sibcalls.
8833         * except.c (set_nothrow_function_flags): Replaces
8834         nothrow_function_p. Set new flag.
8835         * except.h (set_nothrow_function_flags): Replaces
8836         nothrow_function_p.
8837         * dwarf2out.c (struct dw_fde_struct): Add flag
8838         all_throwers_are_sibcalls.
8839         (output_call_frame_info): Test it.
8840         (dwarf2out_begin_prologue) Propagate it from cfun to
8841         dw_fde_struct.
8842         * toplev.c (rest_of_compilation): Update calls to
8843         nothrow_function_p.
8844
8845 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
8846
8847         * ggc-page.c (compute_inverse): Short circuit calculation for
8848         object sizes larger than half a page.
8849
8850 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
8851
8852         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
8853         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
8854         default.
8855         (rs6000_elf_unique_section): Likewise.
8856
8857 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8858
8859         * ns32k.c (ns32k_globalize_label): Delete.
8860         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
8861
8862 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
8863
8864         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
8865         for loading delta with num_insns_constant_wide.  Calculate
8866         delta_low, delta_high without using a conditional.
8867
8868 2002-08-22  Jason Merrill  <jason@redhat.com>
8869
8870         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
8871         * c-common.def: Adjust.
8872         * c-dump.c (c_dump_tree): Adjust.
8873         * c-semantics.c (genrtl_return_stmt): Adjust.
8874         * c-pretty-print.c (pp_c_statement): Adjust.
8875         * tree-inline.c (copy_body_r): Adjust.
8876
8877 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
8878
8879         * ggc-page.c: Avoid division in ggc_set_mark.
8880         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
8881         compute_inverse): New.
8882         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
8883         (init_ggc): Initialize inverse_table.
8884
8885 2002-08-22  Tom Tromey  <tromey@redhat.com>
8886
8887         * doc/install.texi (Configuration): Document --datadir.
8888
8889 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
8890
8891         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
8892
8893 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
8894
8895         * gengtype-lex.l (ID): Allow underscore as first character.
8896
8897 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
8898
8899         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
8900         function.
8901         (rs6000_xcoff_asm_named_section): Rename.
8902         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
8903
8904 2002-08-21  Tom Tromey  <tromey@redhat.com>
8905
8906         For PR java/6005 and PR java/7611:
8907         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
8908         (fold): Likewise.
8909         * langhooks.c (lhd_can_use_bit_fields_p): New function.
8910         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
8911         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
8912         (LANG_HOOKS_INITIALIZER): Use it.
8913         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
8914         field.
8915
8916 2002-08-21  Stan Shebs  <shebs@apple.com>
8917
8918         * tree.c (finish_vector_type): Fix a typo in a comment.
8919         * Makefile.in: Fix "the the" stutters in comments.
8920         * genautomata.c: Ditto.
8921         * ifcvt.c: Ditto.
8922         * regrename.c: Ditto.
8923         * config/alpha/alpha.c: Ditto.
8924         * config/alpha/vms-crt0-64.c: Ditto.
8925         * config/alpha/vms-crt0.c: Ditto.
8926         * config/alpha/vms-psxcrt0-64.c: Ditto.
8927         * config/alpha/vms-psxcrt0.c: Ditto.
8928         * config/d30v/d30v.h: Ditto.
8929         * config/fr30/fr30.h: Ditto.
8930         * config/rs6000/rs6000.c: Ditto.
8931         * config/stormy16/stormy16.h: Ditto.
8932         * doc/md.texi: Ditto.
8933
8934 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8935
8936         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
8937
8938 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
8939
8940         * c-decl.c (grokdeclarator): Make invalid combinations with long,
8941         short, signed or unsigned into hard errors.  Fixes PR c/4319.
8942         Also make duplicate modifiers such as "short short" into hard
8943         errors.
8944
8945 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
8946             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8947
8948         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
8949         to the actual end.  Add '@end table' and '@table @code'.
8950
8951 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
8952
8953         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
8954
8955         * unroll.c (biv_total_increment): Don't try to compute the total
8956         increment for FP BIVs.
8957
8958 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8959
8960         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
8961         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
8962         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
8963         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
8964         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
8965         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
8966         (GLOBAL_ASM_OP): Define.
8967         * arm.c (aof_globalize_label): New function.
8968         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
8969         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
8970         * c4x.c (c4x_globalize_label): New function.
8971         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
8972         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
8973         (GLOBAL_ASM_OP): Define.
8974         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
8975         * darwin-protos.h (darwin_globalize_label): Declare.
8976         * darwin.c (darwin_globalize_label): New function.
8977         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
8978         (ASM_GLOBALIZE_LABEL): Delete.
8979         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
8980         * dsp16xx.c (asm_output_common): Use target hook.
8981         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
8982         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
8983         (GLOBAL_ASM_OP): Define.
8984         * i370.c (i370_globalize_label): New function.
8985         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
8986         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
8987         * i386.c (ix86_asm_file_end): Use target hook.
8988         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
8989         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
8990         * ia64.c (ia64_asm_output_external): Likewise.
8991         * ia64/sysv4.h: Update comment.
8992         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
8993         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8994         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
8995         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8996         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
8997         * mmix-protos.h (mmix_asm_globalize_label): Delete.
8998         * mmix.c (mmix_asm_globalize_label): Likewise.
8999         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
9000         (GLOBAL_ASM_OP): Define.
9001         * ns32k.c (ns32k_globalize_label): New function.
9002         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
9003         (ASM_GLOBALIZE_LABEL): Delete.
9004         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
9005         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
9006         * pa.c (pa_globalize_label): New function.
9007         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
9008         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
9009         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
9010         (GLOBAL_ASM_OP): Define.
9011         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
9012         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9013         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
9014         (GLOBAL_ASM_OP): Define.
9015         * v850.c (v850_output_aligned_bss): Use target hook.
9016         * vax.c (vms_globalize_label): New function.
9017         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
9018         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
9019         (GLOBAL_ASM_OP): Define.
9020         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
9021         * doc/tm.texi: Update docs.
9022         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
9023         target hook.
9024         * final.c (output_alternate_entry_point): Likewise.
9025         * hooks.c (hook_FILEptr_constcharptr_void): New function.
9026         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
9027         * output.h (assemble_global): Delete.
9028         (default_globalize_label): Declare.
9029         * system.h (ASM_GLOBALIZE_LABEL): Poison.
9030         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
9031         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
9032         * target.h (gcc_target): Add globalize_label member.
9033         * varasm.c (asm_output_bss, asm_output_aligned_bss,
9034         globalize_decl): Use target hook.
9035         (assemble_global): Delete.
9036         (default_globalize_label): New function.
9037
9038 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9039
9040         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
9041
9042 2002-08-20  Devang Patel  <dpatel@apple.com>
9043         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
9044
9045 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9046
9047         * arc.c (output_shift): Use stdio instead of asm_fprintf.
9048         * arm.c (thumb_output_function_prologue): Likewise.
9049         * avr.c (print_operand): Likewise.
9050         * c4x.c (c4x_print_operand): Likewise.
9051         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
9052         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
9053         * cris.c (cris_target_asm_function_prologue,
9054         cris_asm_output_mi_thunk): Likewise.
9055         * h8300.c (print_operand): Likewise.
9056         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9057         * ip2k.c (print_operand): Likewise.  Fix format specifier.
9058         * m68hc11.c (asm_print_register, print_operand,
9059         print_operand_address): Use stdio instead of asm_fprintf.
9060         (print_operand_address): Fix format specifier.
9061         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
9062         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
9063         asm_fprintf.
9064         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9065         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9066         * m68k.c (m68k_output_function_prologue,
9067         m68k_output_function_epilogue, print_operand): Likewise.
9068         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
9069         Likewise.  Fix format specifier.
9070         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9071         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9072         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9073
9074 2002-08-15  Eric Christopher  <echristo@redhat.com>
9075             Jeff Knaggs  <jknaggs@redhat.com>
9076
9077         * config.gcc (mipsisa64sr71k-elf): New target.
9078         * config/mips/sr71k.md: New file.
9079         * config/mips/mips.md: Use it.
9080         (rot*): Add sr71k specifics.
9081         * config/mips/t-sr71k: New file.
9082         * config/mips/mips.h (sr71k): New cpu.
9083         (TARGET_SR71K): Use it.
9084         (TUNE_SR71K): Ditto.
9085         (GENERATE_BRANCHLIKELY): Ditto.
9086         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
9087         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
9088         * config/mips/mips.c (sr71k): New cpu.
9089         (mips_use_dfa_pipeline_interface): Use.
9090
9091 2002-08-15  Eric Christopher  <echristo@redhat.com>
9092             Richard Sandiford <rsandifo@redhat.com>
9093             Aldy Hernandez  <aldyh@redhat.com>
9094             Graham Stott    <grahams@redhat.com>
9095             Michael Meissner  <meissner@redhat.com>
9096             Gavin Romig-Koch  <gavin@redhat.com>
9097             Ken Raeburn  <raeburn@cygnus.com>
9098             Alexandre Oliva <aoliva@redhat.com>
9099
9100         * config.gcc (mips64vr-elf): New target.
9101         * config/mips/5400.md: New file.
9102         * config/mips/5500.md: Ditto.
9103         * config/mips/mips.md: Use them.
9104         (frsqrt): New.
9105         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
9106         cpus.
9107         (mips_issue_rate): Use them.
9108         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
9109         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
9110         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
9111         cpus.
9112         (TARGET_MIPSx): Use them.
9113         (TUNE_MIPSx): Ditto.
9114         (GETNATE_MULT3_SI): Ditto.
9115         (ISA_HAS_BRANCHLIKELY): Ditto.
9116         (ISA_HAS_CONDMOVE): Ditto.
9117         (ISA_HAS_NMADD_NMSUB): Ditto.
9118         (ISA_HAS_MULHI): New. Ditto.
9119         (ISA_HAS_MULS): Ditto.
9120         (ISA_HAS_MSAC): Ditto.
9121         (ISA_HAS_MACC): Ditto.
9122         (ISA_HAS_ROTR_SI): Ditto.
9123         (ISA_HAS_ROTR_DI): Ditto.
9124         (RTX_COSTS): Use.
9125
9126 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9127
9128         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
9129         at head.
9130         (remove_dup_nonsys_dirs): New function.
9131         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
9132         (merge_include_chains): Remove non-system include directories from
9133         quote and bracket include chains when they duplicate equivalent system
9134         directories.
9135         * doc/cpp.texi (-I): Update.
9136         * doc/cppopts.texi (-I): Update.
9137         * doc/install.texi (--with-local-prefix): Further document usage of
9138         this option.
9139         * doc/invoke.texi (-I): Update.
9140
9141 2002-08-20  Richard Henderson  <rth@redhat.com>
9142
9143         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
9144         (emit_block_move): Split out subroutines.
9145         (emit_block_move_via_movstr): New.
9146         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
9147         (emit_block_move_libcall_fn): New.  Construct function prototype for
9148         bcopy as well.
9149         (clear_storage): Split out subroutines.
9150         (clear_storage_via_clrstr): New.
9151         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
9152         (clear_storage_libcall_fn): New.  Construct function prototype for
9153         bzero as well.
9154         (emit_push_insn): Use emit_block_move.
9155         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
9156         (store_constructor): Likewise.
9157
9158 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
9159
9160         * objc/objc-act.c (building_objc_message_expr): Rename to
9161         current_objc_message_selector.
9162
9163 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
9164
9165         * objc/objc-act.c (build_ivar_chain): Remove.
9166         (objc_copy_list): Likewise.
9167         (get_class_ivars): Inline call to removed build_ivar_chain
9168         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
9169         slot; use that slot (rather than CLASS_IVARS) when accessing
9170         ivars for base classes.  Call copy_list and chainon instead of
9171         objc_copy_list.
9172         (build_private_template): Call get_class_ivars instead of
9173         build_ivar_chain.
9174         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
9175         (continue_class): Call get_class_ivars instead of
9176         build_ivar_chain.
9177         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
9178         of DECL_BIT_FIELD (which may have been cleared).
9179         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
9180
9181 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9182
9183         * genautomata.c (output_translate_vect, output_state_ainsn_table,
9184         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
9185         in output file.
9186         (output_internal_min_issue_delay_func): Initialize variable in
9187         output file.
9188
9189 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
9190
9191         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
9192         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
9193
9194 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
9195             Steve Ellcey  <sje@cup.hp.com>
9196
9197         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
9198         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
9199         * explow.c (trunc_int_for_mode): Abort when the mode is not
9200         a scaler integer mode.
9201         * combine.c (expand_compound_operation): Don't expand Vector
9202         or Complex modes into shifts.
9203         (expand_field_assignment): Don't do bitwise arithmatic and
9204         shifts on Vector or Complex modes.
9205         (simplify_comparison): Don't call trunc_int_for_mode
9206         for VOIDmode.
9207         * recog.c (general_operand): Likewise.
9208         (immediate_operand): Likewise.
9209         (nonmemory_operand): Likewise.
9210
9211 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
9212
9213         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
9214         multi-instruction SImode constant.  Add REG_EQUAL note.
9215         * config/rs6000/rs6000.md (movsi splitter): Use
9216         rs6000_emit_set_const.
9217
9218 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9219
9220         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
9221         the macro test controlling its use.
9222
9223 2002-08-18  H.J. Lu  (hjl@gnu.org)
9224
9225         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
9226         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
9227         gnu_ld=yes.
9228         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
9229         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
9230         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
9231         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
9232         here.
9233         (cris-*-linux*): Remove setting thread_file here.
9234
9235 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
9236
9237         PR preprocessor/7602
9238         * cppinit.c (path_include): Treat the system environment
9239         variables as being cxx_aware.
9240
9241 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
9242
9243         * c-decl.c (flexible_array_type_p): New function.
9244         (grokdeclarator, finish_struct): Use it.
9245         * doc/extend.texi: Document constraints on use of structures with
9246         flexible array members.
9247
9248 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
9249
9250         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
9251         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
9252         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
9253
9254 2002-08-16  Stan Shebs  <shebs@apple.com>
9255
9256         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
9257         for ObjC with -fnext-runtime.
9258         * doc/cpp.texi: Document it.
9259
9260 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
9261
9262         * doc/install.texi (Final installation): Replace links to individual
9263         build status pages with a link to a common page that lists them all.
9264
9265 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
9266
9267         * doc/invoke.texi: Fix typo.
9268
9269 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
9270
9271         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
9272
9273 2002-08-16  Andrew Haley  <aph@redhat.com>
9274
9275         * tree-inline.c: Add includes for Java inliner.
9276         (remap_decl): Don't handle anonymous types for Java.
9277         (remap_block): Add handling for Java trees.
9278         (copy_scope_stmt): Conditionalize for non-Java use only.
9279         (copy_body_r): Handle Java trees.  Add handling for
9280         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
9281         (initialize_inlined_parameters):  Handle Java trees.
9282         (declare_return_variable): Likewise.
9283         (expand_call_inline): Handle Java trees.
9284         (walk_tree): Likewise.
9285         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
9286         (add_stmt_to_compound): New function.
9287
9288 2002-08-15  Richard Henderson  <rth@redhat.com>
9289
9290         * Makefile.in (LOOSE_WARN): Remove -fno-common.
9291         (NOCOMMON_FLAG): New substitution point.
9292         (GCC_WARN_CFLAGS): Include it.
9293         * configure.in (ac_checking): Set nocommon_flag.
9294         (nocommon_flag): New substitution point.
9295
9296 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
9297
9298         * c-tree.h (skip_evaluation): Move declaration...
9299         * c-common.h: ... here.
9300         * c-typeck.c (build_external_ref): Don't assemble_external nor
9301         mark a tree as used if skip_evaluation is set.
9302         * c-parse.in (typeof): New non-terminal to set skip_evaluation
9303         around TYPEOF.
9304         (typespec_nonreserved_nonattr): Use it.
9305
9306 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
9307
9308         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
9309         (xcoff_debug_hooks): Update end_prologue.
9310         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
9311         * debug.h (end_prologue): Add file arg.
9312         (end_epilogue): Add line and file args.
9313         (dwarf2out_end_epilogue): Add line and file args.
9314         (vmsdbgout_after_prologue): Remove.
9315         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
9316         (dwarf2_debug_hooks): Update end_prologue.
9317         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
9318         (dwarfout_end_prologue): Add file arg.
9319         * final.c (vmsdbgout_after_prologue): Remove
9320         (final_end_function): Update end_epilogue call.
9321         (final_scan_insn): Update end_prologue call.
9322         * sdbout.c (sdbout_end_epilogue): Add line and file args.
9323         (sdbout_end_prologue): Add file arg.
9324         (sdb_debug_hooks): Update end_prologue.
9325         (sdb_begin_prologue): Update sdbout_end_prologue call.
9326         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
9327         vmsdbgout_end_function.
9328         (vmsdbgout_end_prologue): New function renamed from
9329         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
9330         (vmsdbgout_end_function): New function.
9331         (vmsdbgout_end_epilogue): Add line and file args. Call
9332         vmsdbgout_source_line.
9333         (write_pclines): Write only valid line numbers.
9334         (write_srccorr): Don't write source correlation records if 0 lines.
9335         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
9336
9337 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
9338
9339         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
9340         (_Unwind_Internal_Ptr): 32 bit version for use in
9341         read_encoded_value_with_base.
9342         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
9343         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
9344         right size.
9345
9346 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9347
9348         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
9349         signed/unsigned warnings.
9350
9351         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
9352         record_reg_classes): Likewise.
9353
9354         * reload.c (reload_inner_reg_of_subreg, push_reload,
9355         find_reloads_address_1): Likewise.
9356
9357 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
9358
9359         * rs6000.c (output_mi_thunk): Return to function section on
9360         TARGET_ELF.
9361
9362         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
9363
9364 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
9365
9366         * config/s390/s390.c (legitimize_address): Optimize loading
9367         of large displacements.
9368
9369 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
9370
9371         * config/alpha/alpha-protos.h: Update.
9372
9373         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
9374         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
9375         (alpha_linkage_symbol_p): New static function.
9376         (print_operand_address): Print linkage operand.
9377
9378         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
9379         variables.
9380         (reloc_kind): New enum.
9381         (struct alpha_funcs): New struct.
9382         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
9383
9384         (alpha_need_linkage): Rewrite.
9385         (alpha_use_linkage): New global function.
9386         (alpha_write_linkage): Rewrite and make static.
9387         (alpha_write_one_linkage): Rewrite
9388
9389         (alpha_start_function): Remove procedure descriptor output.
9390         (alpha_end_function): Write linkages at end of each function.
9391
9392         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
9393         (call_vms_1, call_value_vms_1): Rewrite.
9394
9395         * config/alpha/vms.h (ASM_FILE_END): Remove.
9396
9397 2002-08-14  Richard Henderson  <rth@redhat.com>
9398
9399         * ggc-page.c (RTL_SIZE): New.
9400         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
9401         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
9402
9403 2002-08-14  Richard Henderson  <rth@redhat.com>
9404
9405         * calls.c: Include target.h.
9406         * Makefile.in (calls.o): Update.
9407
9408         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
9409         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
9410
9411 2002-08-14  Richard Henderson  <rth@redhat.com>
9412
9413         * Makefile.in (LOOSE_WARN): Add -fno-common.
9414         * c-common.h (constant_string_class_name): Add missing extern.
9415
9416 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
9417
9418         PR preprocessor/7358
9419         * c-opts.c (check_deps_environment_vars): Ignore main file
9420         for SUNPRO_DEPENDENCIES.
9421         * cppfiles.c (stack_include_file): Ignore main file if
9422         appropriate.
9423         * cpplib.h (struct cpp_options): New member in deps.
9424         * doc/cppenv.texi: Update.
9425
9426 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9427
9428         PR preprocessor/7526
9429         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
9430
9431 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
9432
9433         * doc/invoke.texi (-a): Remove documentation.
9434         (-fprofile-arcs): Remove reference to -a, -ax options.
9435         * doc/gcov.texi (Gcov Data Files): Data might be merged.
9436
9437 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9438
9439         Fix PR/7566
9440         * c-semantics.c (genrtl_case_label): Don't (mis)use
9441         warning_with_decl.
9442
9443 2002-08-14  Dale Johannesen  <dalej@apple.com>
9444
9445         * explow.c (emit_stack_restore):  Emit memory clobbers
9446         preceding the stack pop, to prevent the scheduler from
9447         moving refs to variable arrays below this pop.
9448         * reload1.c (reload):  Preserve these clobbers for sched2.
9449         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
9450
9451 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9452
9453         * c-opts.c (c_common_post_options): Correct test.
9454
9455 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9456
9457         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
9458         order in call to fprintf.
9459
9460 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9461
9462         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
9463
9464 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
9465
9466         * reload.c (find_reloads): Handle constraint letters marked by
9467         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
9468         (alternative_allows_memconst): Likewise.
9469         * reload1.c (maybe_fix_stack_asms): Likewise.
9470         * recog.c (asm_operand_ok, preprocess_constraints,
9471         constrain_operands): Likewise.
9472         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
9473         * local-alloc.c (block_alloc, requires_inout): Likewise.
9474         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
9475
9476         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
9477         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
9478         * doc/tm.texi: Document these two new target macros.
9479
9480         * config/s390/s390.c (s390_expand_plus_operand): Accept already
9481         valid operands.
9482         (q_constraint): New function.
9483         config/s390/s390-protos.h (q_constraint): Declare it.
9484         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
9485         (EXTRA_MEMORY_CONSTRAINT): New macro.
9486
9487         * config/s390/s390.md: Throughout the machine description,
9488         replace all instances of the constraint combinations 'Qo'
9489         or 'oQ' with simply 'Q'.
9490
9491 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9492
9493         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
9494         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
9495         (LIBGCC2_CFLAGS): Compile with -mrelax.
9496
9497 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9498
9499         * doc/invoke.texi: Document -minmax for 68HC12.
9500
9501         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
9502         ("uminqi3"): Likewise.
9503         ("uminhi3", "umaxhi3"): Likewise.
9504
9505         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
9506         (TARGET_MIN_MAX): Define.
9507         (TARGET_SWITCHES): New option -minmax/-mnominmax.
9508
9509 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9510
9511         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
9512         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
9513
9514         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
9515         (ret, declare, farsym): New gas macros.
9516         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
9517         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
9518         and declare the symbol far when compiled with -mlong-calls.
9519         (__far_trampoline): New for 68HC12 trampoline code to invoke a
9520         far handler using jsr/bsr.
9521
9522         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
9523         (jsr): New macro to transform a 'jsr' into a 'call'.
9524
9525 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9526
9527         * doc/invoke.texi: Document -mlong-calls for 68HC12.
9528
9529         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
9530         -mlong-calls is specified.
9531         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
9532         assembler directives.
9533         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
9534         (TARGET_SWITCHES): Add -mlong-calls options.
9535         (current_function_far): Declare.
9536
9537         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
9538         into account the page register saved on the stack.
9539         (m68hc11_override_options): Take into account -mlong-calls option.
9540         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
9541
9542         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
9543         if the function is going to be in 68HC12 banked memory (-mlong-calls).
9544         ("*return_16bit"): Likewise.
9545         ("*return_void"): Likewise.
9546         ("call", "call_value"): Use call for a far function call.
9547
9548 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9549
9550         * toplev.c (parse_options_and_default_flags): Don't call
9551         post_options here.
9552         (general_init): Initialize GC, pools and tree hash here,
9553         instead of lang_independent_init.
9554         (lang_independent_init): Rename backend_init.
9555         (do_compile): Call post_options hook; exit early if there
9556         have been errors after switch processing.
9557         (toplev_main): Update.
9558
9559 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9560
9561         * c-pretty-print.h: Guard against multiple inclusion.
9562         Robustify macros.
9563         (pp_c_attributes): Declare.
9564         * c-pretty-print.c (pp_c_attributes): New function.
9565
9566 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9567
9568         * m68k.c (m68k_output_function_prologue,
9569         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
9570         and NEWS/MOTOROLA.
9571         * genattrtab.c: Remove dpx2 comment.
9572         * libgcc2.c (__enable_execute_stack): Delete versions for
9573         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
9574         sony_news/SYSTYPE_BSD.
9575         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
9576         __gmicro__, __i860__, __NeXT__ and __pyr__.
9577         * rtl.h: Remove convex comment.
9578         * varasm.c: Likewise.
9579
9580 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9581
9582         * c-opts.c (lang_flags): Const-ify.
9583         * ra-build.c (undef_table): Likewise.
9584         * ra.c (eliminables): Likewise.
9585
9586 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9587
9588         * tree.h: Guard against multiple inclusion.
9589
9590 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
9591
9592         * reload1.c (reload_cse_simplify): Before checking
9593         REG_FUNCTION_VALUE_P, check REG_P.
9594
9595 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
9596
9597         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
9598
9599 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
9600
9601         * c-opts.c (c_common_init_options): Extra braces needed.
9602
9603 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
9604
9605         * sh.c (sh_init_builtins): Add PARAMS to declaration.
9606         (sh_media_init_builtins, sh_expand_builtin): Likewise.
9607         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
9608         (sh_expand_binop_v2sf): Likewise.
9609         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
9610         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
9611         (sh_initialize_trampoline): Likewise.
9612
9613 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
9614
9615         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
9616         new condition code modes.
9617         s390.c (s390_match_ccmode_set): Handle those new CC modes.
9618         (s390_select_ccmode): Likewise.
9619         (s390_branch_condition_mask): Likewise.
9620
9621         * s390-protos.h (s390_tm_ccmode): Declare.
9622         s390.c (s390_tm_ccmode): New function.
9623         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
9624
9625         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
9626         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
9627         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
9628
9629         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
9630         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
9631         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
9632         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
9633         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
9634
9635         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
9636         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
9637         "*cmpqi_ccs_0"): Remove, replace by ...
9638         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
9639         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
9640         "*tstqi", "*tstqi_cconly"): ... these new patterns.
9641
9642         ("*cmpsidi_ccs"): Remove, replace by ...
9643         ("*cmpsi_ccs_sign"): ... this new pattern.
9644         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
9645
9646         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
9647         ("*cli"): ... this new pattern.
9648
9649         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
9650         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
9651         New patterns.
9652         ("adddi3_64"): Rename to "*adddi3_64".
9653         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
9654         ("adddi3"): Adapt expander.
9655
9656         ("*addsi3_cc"): Allow "general_operand" for operand 2.
9657         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
9658         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
9659
9660         ("addhi3", "addqi3"): Remove, replace by ...
9661         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
9662
9663         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
9664         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
9665         ("subdi3"): Replace by insn and splitter "*subdi3_31".
9666         ("subdi3"): New expander.
9667
9668         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
9669
9670         ("subhi3", "subqi3"): Remove, replace by ...
9671         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
9672
9673         ("*muldi3_sign"): New pattern.
9674         ("muldi3"): Do not clobber CC.
9675         ("mulsi3"): Likewise.
9676         ("mulsi_6432"): Likewise.
9677
9678 2002-08-13  Denis Chertykov  <denisc@overta.ru>
9679
9680         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
9681         which can change CC0.
9682
9683 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
9684
9685         * gcse.c (adjust_libcall_notes): New function.
9686         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
9687
9688 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
9689
9690         * libgcc2.c (L_bb): Remove unneeded #includes.
9691         (__global_counters, __gthreads_active): Remove unused globals.
9692         (__bb_exit_func): Merge counts into files rather than appending.
9693         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
9694         (ALL_CFLAGS): ... to here.
9695
9696 2002-08-13  Denis Chertykov  <denisc@overta.ru>
9697
9698         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
9699         (function_epilogue): Don't calculate function size.
9700         (ip2k_set_compare): Don't use lookup_const_double.
9701         (asm_file_start): Initialization of commands_in_file removed.
9702         (asm_file_end): Output of commands_in_file removed.
9703
9704         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
9705         __INT_MAX__.
9706
9707 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
9708
9709         * c-opts.c (c_common_init_options): Check option array is
9710         sorted if checking enabled.
9711
9712 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
9713
9714         * c-pretty-print.c: #include "c-tree.h".
9715         (pp_c_simple_type_specifier): Tweak.
9716         (pp_c_storage_class_specifier): New.
9717         (pp_c_function_specifier): Likewise.
9718         (pp_c_declaration_specifiers): Likewise.
9719         (pp_c_init_declarator): Likewise.
9720         (pp_c_declaration): Likewise.
9721         (pp_c_direct_declarator): Stub.
9722         (pp_c_declarator): Likewise.
9723         (pp_c_parameter_declaration): Likewise.
9724
9725 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
9726
9727         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
9728         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
9729         struct deferred_opt): New.
9730         (COMMAND_LINE_OPTIONS): Add -M*.
9731         (missing_arg): Update.
9732         (c_common_decode_option): Handle -M*.
9733         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
9734         don't call cpp_post_options.
9735         (c_common_finish, check_deps_environment_vars): Update.
9736         * cppfiles.c (stack_include_file, handle_missing_header): Update.
9737         * cpphash.h (CPP_PRINT_DEPS): Remove.
9738         * cppinit.c: Don't include version.h.
9739         (cpp_create_reader): Don't call deps_init.  Initialize
9740         warn_long_long.
9741         (cpp_read_main_file): Init deps if necessary.
9742         (cpp_destroy): Conditionally free deps.
9743         (cpp_finish): Update.
9744         (no_tgt): Remove.
9745         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
9746         (cpp_post_options): Rename post_options.
9747         * cpplib.h (struct cpp_options): Remove some dependency options;
9748         move others to a new structure.
9749         (cpp_post_options): Remove.
9750         (cpp_finish): Comment.
9751         * fix-header.c (read_scan_file): Don't call cpp_post_options.
9752
9753 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
9754
9755         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
9756         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
9757         MMIX_rR_REGNUM as clobbered.
9758         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
9759
9760 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
9761
9762         * diagnostic.h (output_formatted_scalar): Rename from
9763         output_formatted_integer.
9764         * diagnostic.def: Add DK_DEBUG.
9765         * diagnostic.c (output_decimal): Adjust.
9766         (output_long_decimal): Likewise.
9767         (output_unsigned_decimal): Likewise.
9768         (output_octal): Likewise.
9769         (output_long_octal): Likewise.
9770         (output_hexadecimal): Likewise.
9771         (output_long_hexadecimal): Likewise.
9772         * c-pretty-print.c (pp_c_type_specifier): New function.
9773         (pp_c_specifier_qualifier_list): Likewise.
9774         (pp_c_abstract_declarator): Likewise.
9775         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
9776
9777 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
9778
9779         * doc/trouble.texi (Disappointments): Add static constructor and
9780         destructor dependency information for AIX.
9781
9782 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
9783
9784         * cpphash.h (struct printer): New from cppmain.c.
9785         (cpp_reader): New member.
9786         * cppmain.c (struct printer): Move to cpphash.h.
9787         (options, print): Remove.
9788         (account_for_newlines, print_line, maybe_print_line,
9789         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
9790         scan_translation_unit_trad, cb_line_change, cb_ident,
9791         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
9792         cb_def_pragma): Make reentrant.
9793
9794 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9795
9796         * real.c (ieee_64): Always define.
9797         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
9798         (dec_h): Not used yet, hide it.
9799         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
9800         macro controlling use.
9801         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
9802
9803 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
9804
9805         * i386.md (tablejump): Sign extend the operand.
9806         * i386.c (classify_argument): Fix missed case from previous patch.
9807
9808 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
9809
9810         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
9811         to c-copts.c.
9812         (warn_multichar): Die.
9813         (cb_register_builtins): Export.
9814         * c-common.h (warn_multichar, preprocess_file): Remove.
9815         (cb_register_builtins): New.
9816         * c-lang.c (c_init): Remove.
9817         (LANG_HOOKS_INIT): Use c_objc_common_init.
9818         * c-lex.c (init_c_lex): Don't canonicalize filename.
9819         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
9820         (preprocess_file): Make static.  Update for cpplib.
9821         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
9822         (c_common_post_options): Set some cpp options here.
9823         (c_common_init): Move from c-common.c.
9824         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
9825         * cpplib.h (struct cpp_options): Remove in_fname.
9826         (cpp_preprocess_file): Update.
9827         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
9828
9829 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9830
9831         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
9832
9833 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9834
9835         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
9836         backslash in comment preceeding macro definition.
9837         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
9838         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
9839         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
9840
9841 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
9842
9843         * expr.c (store_expr): In condition for checking if value is
9844         generated in TARGET, move call to expr_size last.
9845
9846 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
9847
9848         * c-common.c (c_common_init): Call preprocess_file instead.
9849         (c_common_finish): Move to c-opts.c.
9850         * c-common.h (preprocess_file): new.
9851         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
9852         check_deps_environment_vars, c_common_finish): New.
9853         (c_common_decode_option): Update for out_fname and dependencies.
9854         * cppinit.c (init_dependency_output, output_deps): Remove.
9855         (cpp_destroy): Update prototype.
9856         (cpp_add_dependency_target): New.
9857         (cpp_read_main_file): Don't overlay a buffer.
9858         (cpp_finish): Take a deps output stream and write deps to it.
9859         Return the error count.
9860         (cpp_post_options): Don't canonicalize out_fname, or do anything
9861         with dependencies.
9862         * cpplib.h (struct cpp_options): Remove out_fname and
9863         preprocess_only.
9864         (cpp_add_dependency_target): New.
9865         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
9866         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
9867         set preprocess_only.  Don't handle the output stream directly.
9868
9869 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9870
9871         * dsp16xx.c (print_operand): Fix format specifier.
9872         * dsp16xx.md: Avoid automatic aggregate initialization.
9873         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
9874         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
9875         integer constant modifier.
9876         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
9877         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
9878         guards.
9879         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
9880         * v850.c (v850_select_section): Mark parameter with
9881         ATTRIBUTE_UNUSED.
9882         * global.c (global_alloc): Const-ify.
9883         * ra-colorize.c (hardregset_to_string): Fix format specifier.
9884
9885 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9886
9887         * darwin-c.c (darwin_pragma_options): Const-ify.
9888         * darwin.c (machopic_non_lazy_ptr_name,
9889         machopic_validate_stub_or_non_lazy_ptr): Likewise.
9890         (machopic_indirect_data_reference): Wrap variables in macros
9891         controlling their use.
9892         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
9893         (machopic_select_section): Use parentheses around && within ||.
9894         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
9895
9896 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9897
9898         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
9899         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
9900         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
9901         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
9902         mdr_try_remove_redundant_insns, track_w_reload,
9903         mdr_try_wreg_elim): Make function static to match prototype.
9904         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
9905         parameter with ATTRIBUTE_UNUSED.
9906
9907 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9908
9909         * arc.c (arc_init): Don't use ISO C style function definitions.
9910         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
9911         arm_get_strip_length, arm_strip_name_encoding): Likewise.
9912         * avr.h (progmem_section): Likewise.
9913         * h8300.c h8300_asm_insn_count): Likewise.
9914         * m32r.c (init_idents): Likewise.
9915         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
9916         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
9917         * xtensa.c (xtensa_build_va_list): Likewise.
9918
9919 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
9920
9921         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
9922         * c-opts.c (parse_option): Rename find_opt.
9923         (set_std_c99): New function.
9924         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
9925         (missing_arg): Remove OPT_std_bad.  Handle -o.
9926         (c_common_decode_option): Handle input and output file names,
9927         -o and -remap.  Clean up -std= handling.
9928         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
9929         (cpp_handle_option): Similarly.  Don't handle filenames.
9930
9931 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
9932
9933         * i386.c (classify_argument): Fix computing of field's offsets.
9934
9935 2002-08-11  Andreas Jaeger  <aj@suse.de>
9936
9937         PR target/7531:
9938         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
9939
9940 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
9941
9942         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
9943         reference to clk_objective_c with flag_objc.
9944         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
9945         Likewise.
9946         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
9947
9948 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
9949
9950         * c-opts.c (set_std_cxx98, set_std_c89): New.
9951         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
9952         (c_common_decode_option): Handle new switches from cppinit.c.
9953         Add -std=gnu++98.
9954         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
9955         (no_arg, no_num): Remove.
9956         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
9957         switches apart from -lang-objc and lang-asm.
9958         (cpp_handle_option): Similarly.
9959         * cpplib.h (cpp_set_lang): New.
9960         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
9961         -std=gnu++98.
9962         * objc/lang-specs.h: Remove -ansi.
9963
9964 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
9965                                Graham Stott
9966
9967         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
9968         errors.
9969
9970 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9971
9972         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
9973         emit_jump_insn): Fix uninitialized variable.
9974         * gcov.c (init_line_info): Likewise.
9975         * genautomata.c (transform_3): Add braces around ambiguous
9976         else.
9977         * ifcvt.c (cond_exec_process_insns): Mark parameter with
9978         ATTRIBUTE_UNUSED.
9979         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
9980         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
9981         variable.
9982
9983         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
9984         warnings in output files.
9985
9986 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
9987
9988         * c-common.c (flag_objc): New.
9989         * c-common.h (c_language_kind): Get rid of clk_objective_c
9990         enum value.
9991         (flag_objc): New extern declaration.
9992         * c-decl.c (implicitly_declare): Call objc_check_decl
9993         instead of maybe_objc_check_decl.
9994         (finish_decl): Likewise.
9995         (grokfield): Likewise.
9996         (finish_struct): Likewise.
9997         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
9998         (maybe_objc_comptypes): Rename to objc_comptypes.
9999         (maybe_building_objc_message_expr): Rename to
10000         objc_message_selector.
10001         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
10002         replace with flag_objc as needed.
10003         * c-opts.c (c_common_init_options): Likewise.
10004         (c_common_decode_option): Likewise.
10005         * c-parse.in (init_reswords): Likewise.
10006         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
10007         (maybe_objc_comptypes): Rename to objc_comptypes.
10008         (maybe_building_objc_message_expr): Rename to
10009         objc_message_selector.
10010         * c-typeck.c (comptypes): Call objc_comptypes instead of
10011         maybe_objc_comptypes, and/or objc_message_selector instead of
10012         maybe_building_objc_message_expr.
10013         (comp_target_types): Likewise.
10014         (convert_for_assignment): Likewise.
10015         (warn_for_assignment): Likewise.
10016         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
10017         independently of those for other languages.
10018         * objc/objc-act.c (maybe_objc_comptypes): Delete.
10019         (maybe_objc_check_decl): Delete.
10020         (maybe_building_objc_message_expr): Rename to
10021         objc_message_selector.
10022         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
10023         clk_objective_c; set flag_objc flag.
10024
10025 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10026
10027         * ifcvt.c (find_if_case_2): Test correct basic block for size.
10028
10029 2002-08-09  Dale Johannesen  <dalej@apple.com>
10030
10031         * config/rs6000/rs6000.md: Add sibcall patterns.
10032         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
10033         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
10034         Rewritten to handle sibcalls.
10035         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
10036         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
10037
10038 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10039
10040         * profile.c (da_file_name): New static var.
10041         (init_branch_prob): Initialize it.
10042         (end_branch_prob): Remove da file.
10043
10044         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
10045         * configure.in (coverage_flags): Default to nothing.
10046         * configure: Rebuilt.
10047
10048 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
10049
10050         * Makefile.in (c-opts.o): Update
10051         * c-opts.c: Include intl.h.
10052         (print_help): Move from cppinit.c.  Remove unused options.
10053         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
10054         (missing_arg): Complain for switches without an argument.
10055         (c_common_decode_option): Reject missing joined arguments.
10056         Handle new switches from cppinit.c.
10057         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
10058         (cpp_handle_option): Similarly.
10059         (print_help): Moved to c-opts.c.
10060         * cpplib.h (struct cpp_options): Remove help_only.
10061         * gcc.c (cpp_unique_options): Remove -$.
10062         * doc/cppopts.texi: Undocument -h.
10063
10064 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10065
10066         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
10067         legitimate constant.
10068         (legitimate_pic_operand_p): Neither pic operand.
10069         (legitimate_address_p): But legitimate address.
10070         (get_thread_pointer): Generate MEM/u instead of CONST around
10071         UNSPEC_TP.
10072         (print_operand): Remove printing of UNSPEC_TP.
10073         (print_operand_address): And print it here.
10074
10075 2002-08-08  Devang Patel  <dpatel@apple.com>
10076
10077         * objc/objc-act.c (build_selector_translation_table): Issue warning,
10078         when  -Wselector is used,if method for which selector is being
10079         created does not exist.
10080
10081 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
10082
10083         * config/sh/sh.c (prepare_move_operands): Only call
10084         target_reg_operand if TARGET_SHMEDIA.
10085
10086 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10087
10088         * config/rs6000/rs6000.h, config/rs6000/aix.h,
10089         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
10090         two patches.
10091         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
10092
10093 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
10094             Richard Henderson  <rth@redhat.com>
10095
10096         * emit-rtl.c (gen_rtx_REG): After reload, only return
10097         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
10098
10099 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10100
10101         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
10102         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
10103         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
10104         macro.
10105
10106 2002-08-08  Adam Nemet  <anemet@lnxw.com>
10107
10108         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
10109         register.
10110         (thumb_expand_prologue): Likewise.
10111         (thumb_output_function_prologue): Likewise.
10112         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
10113         the additional push of the PIC register.
10114
10115 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10116
10117         * configure.in (enable_coverage): New enable switch.
10118         * configure: Rebuilt.
10119         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
10120         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
10121         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
10122         (mostlyclean): Remove coverage files.
10123         * doc/install.texi: Document enable_coverage.
10124
10125         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
10126         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
10127         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
10128         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
10129         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
10130         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
10131         files.
10132
10133 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
10134
10135         * c-opts.c (cpp_opts): New.
10136         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
10137         (c_common_decode_options): Handle cpplib switches.
10138         (c_common_init_options): Set cpp_opts.
10139         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
10140         (cpp_handle_option): Similarly.
10141
10142 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
10143
10144         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
10145         (TARGET_ALTIVEC_ABI): Same.
10146         (TARGET_ALTIVEC_VRSAVE): Same.
10147
10148         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
10149         icode not CODE_FOR_nothing.  Change switch to if.
10150
10151 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
10152
10153         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
10154
10155 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10156
10157         * stor-layout.c (place_union_field): For bitfields if
10158         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
10159         TYPE_USER_ALIGN.
10160
10161 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10162
10163         * pa.c (struct deferred_plabel): Constify name field.
10164
10165 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
10166
10167         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
10168
10169 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10170
10171         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
10172         local_prefix are the same.
10173         * configure: Rebuilt.
10174
10175 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
10176             Richard Henderson  <rth@redhat.com>
10177
10178         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
10179         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
10180         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
10181         (place_field): Likewise.
10182         * config/i386/i386.c (x86_field_alignment): Don't check
10183         DECL_USER_ALIGN here.
10184         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
10185         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
10186         prototype.
10187         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
10188         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
10189         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
10190         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
10191         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
10192         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
10193
10194 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
10195
10196         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
10197         * c-common.c: Don't include tree-inline.h.
10198         (c_common_init_options, c_common_post_options): Move to c-opts.c.
10199         * c-common.h (c_common_decode_option): New.
10200         * c-decl.c (c_decode_option): Remove.
10201         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
10202         * c-opts.c: New file.
10203         * c-tree.h (c_decode_option): Remove.
10204         * doc/passes.texi: Update.
10205         * objc/objc-act.c (objc_decode_option): Remove.
10206         * objc/objc-act.h (objc_decode_option): Remove.
10207         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
10208         c_common_decode_option.
10209
10210 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
10211
10212         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
10213         dependency on TARGET_DOUBLE_FLOAT.
10214
10215 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
10216
10217         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
10218         overwrite callee-save registers.  Fix comment.
10219
10220 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
10221
10222         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
10223         in target_flags based on ISA, if it was not set on the command
10224         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
10225         support Branch Likely instructions.
10226         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
10227         (TARGET_BRANCHLIKELY): Likewise.
10228         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
10229         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
10230         ISA_HAS_BRANCHLIKELY.
10231         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
10232         * doc/invoke.texi: Document new MIPS -mbranch-likely and
10233         -mno-branch-likely options.
10234
10235 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10236
10237         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
10238
10239         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
10240         $(GCONFIG_H).
10241
10242 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
10243
10244         * c-decl.c (duplicate_decls): Error out for incompatible TLS
10245         declarations.
10246
10247         * testsuite/gcc.dg/tls/diag-3.c: New.
10248
10249 2002-08-06  Dale Johannesen  <dalej@apple.com>
10250
10251         * c-common.c (fname_decl): Use line number 0 for
10252         __func__, to avoid confusing debuggers.
10253
10254 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
10255
10256         * gcov.c: Tidy.
10257         (struct line_info, struct coverage): New structures.
10258         (gcov_file_name, gcov_file): Remove globals.
10259         (output_data): Take source file parameter. Fix memory leak. Break
10260         up into ...
10261         (init_line_info, output_line_info, make_gcov_file_name,
10262         accumulate_branch_counts): ... here.
10263         (calculate_branch_probs, function_summary): Adjust.
10264         (main): Adjust.
10265         (function_*): Remove global variables.
10266
10267 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10268
10269         * dwarf2out.c: Remove unused macros.
10270
10271 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10272
10273         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
10274
10275 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10276
10277         * cppinit.c (struct lang_flags): Rename trigraphs std.
10278         (set_lang): Update.
10279         * cpplib.h (struct cpp_options): New member std.
10280         * cppmacro.c (_cpp_builtin_macro_text): Use std.
10281         (collect_args): Flag whether to swallow a possible future
10282         comma pasted with varargs.
10283         (replace_args): Use this flag.
10284         * doc/cpp.texi: Update varargs extension documentation.
10285
10286 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10287
10288         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
10289
10290 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10291
10292         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
10293         and MODE_CLASS_INT modes.
10294
10295 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10296
10297         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
10298         --{enable,disable}-threads is given to configure.
10299         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
10300         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
10301         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
10302         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
10303         Remove thread_file setting here.
10304
10305 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
10306
10307         * doc/install.texi (Binaries): Update Bull Freeware URL.
10308
10309 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10310
10311         * doc/gcc.texi (Top): Rename Index to Keyword Index.
10312
10313 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
10314
10315         * gcov.c (output_data): Round to % to nearest, tweak formatting.
10316
10317 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
10318
10319         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
10320         of the operands into MINUS_EXPR if code is PLUS_EXPR.
10321
10322 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
10323
10324         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
10325         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
10326         drectve_section): Define.
10327         * config/i386/t-interix: Replace interix.o rule with winnt.o.
10328         * config/i386/interix.c: Remove.
10329
10330 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
10331
10332         * attribs.c: Don't include obstack.h.
10333         * builtins.c: Likewise.
10334         * cfganal.c: Likewise.
10335         * cfgbuild.c: Likewise.
10336         * cfgcleanup.c: Likewise.
10337         * emit-rtl.c: Likewise.
10338         * loop.c: Likewise.
10339         * stmt.c: Likewise.
10340
10341         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
10342
10343 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
10344
10345         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
10346
10347 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
10348
10349         * doc/invoke.texi: Remove duplicated paragraph describing
10350         TARGET_SWITCHES.
10351
10352 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
10353
10354         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
10355         * collect2.h (permanent_obstack): Delete declaration.
10356         * collect2.c (permanent_obstack): Delete definition.
10357         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
10358         * expr.c: Don't include obstack.h.
10359         (permanent_obstack): Delete declaration.
10360         * function.c: Don't include obstack.h.
10361         (permanent_obstack): Delete declaration.
10362         * integrate.c: Don't include obstack.h.
10363         (function_maybepermanent_obstack): Delete declaration.
10364         * print-tree.c (debug_tree): Use x*alloc not permalloc.
10365         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
10366         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
10367         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
10368         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
10369         of permalloc, expralloc, perm_calloc.
10370         * tree.c (permanent_obstack): Delete definition.
10371         (init_ttree): Rename from init_obstacks.
10372         (permalloc): Delete.
10373         (perm_calloc): Delete.
10374         (dump_tree_statistics): Don't print information about
10375         permanent_obstack.
10376         * varasm.c (assemble_start_function): Use xstrdup instead of
10377         permalloc/strcpy.
10378         (assemble_variable): Likewise.
10379         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
10380         permalloc.
10381         (unicosmk_add_extern): Likewise.
10382         * config/c4x/c4x.c (c4x_external_ref): Likewise.
10383         (c4x_global_label): Likewise.
10384         * config/frv/frv.c (frv_encode_section_info): Likewise.
10385         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
10386         (i386_pe_record_exported_symbol): Likewise.
10387         * config/mips/mips.c (mips_output_external): Likewise.
10388         (mips_output_external_libcall): Likewise.
10389         * config/pa/pa.c: (permanent_obstack): Delete declaration.
10390         (output_call): Use ggc_strdup instead of allocating on
10391         permanent_obstack.
10392         * config/romp/romp.c: Include ggc.h.
10393         (get_symref): Don't declare permanent_obstack, use ggc_strdup
10394         intead of permanent_obstack.
10395         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
10396         instead of permalloc.
10397         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
10398         instead of permalloc
10399         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
10400         instead of permalloc.
10401         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
10402         permalloc.
10403
10404 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
10405
10406         Contribute a port developed primarily by Michael Meissner,
10407         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
10408         * config.gcc: Add frv-elf target.
10409         * config/frv/cmovd.c: New file.
10410         * config/frv/cmovh.c: New file.
10411         * config/frv/cmovw.c: New file.
10412         * config/frv/frv-abi.h: New file.
10413         * config/frv/frv-asm.h: New file.
10414         * config/frv/frv-modes.def: New file.
10415         * config/frv/frv-protos.h: New file.
10416         * config/frv/frv.c: New file.
10417         * config/frv/frv.h: New file.
10418         * config/frv/frv.md: New file.
10419         * config/frv/frvbegin.c: New file.
10420         * config/frv/frvend.c: New file.
10421         * config/frv/lib1funcs.asm: New file.
10422         * config/frv/media.h: New file.
10423         * config/frv/modi.c: New file.
10424         * config/frv/t-frv: New file.
10425         * config/frv/uitod.c: New file.
10426         * config/frv/uitof.c: New file.
10427         * config/frv/ulltod.c: New file.
10428         * config/frv/ulltof.c: New file.
10429         * config/frv/umodi.c: New file.
10430         * config/frv/xm-frv.h: New file.
10431
10432         * config/frv/media.h: Removed again.
10433
10434 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10435
10436         * gcov.c (bb_file_time): New static variable.
10437         (object_directory): May also be object file.
10438         (preserve_paths): New static variable.
10439         (print_usage): Adjust.
10440         (options): Adjust.
10441         (process_args): Adjust.
10442         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
10443         file. Find modification date on bb file.
10444         (read_profile): Don't rewind a NULL file.
10445         (format_hwint): New static function.
10446         (function_summary): Use format_hwint.
10447         (output_data): SOURCE_FILE_NAME is never relative to
10448         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
10449         mangling. Adjust output format to make it more machine readable.
10450         * doc/gcov.texi: Document & clarify semantics.
10451
10452 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
10453
10454         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
10455
10456 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10457
10458         * gcc.c (cc1_options): Pass output file as auxbase when
10459         appropriate.
10460         * profile.c (init_branch_prob): FILENAME has already had ending
10461         stripped.
10462         * final.c (end_final): Likewise.
10463         * toplev.c (aux_base_name): New global.
10464         (compile_file): Pass aux_base_name to init init_branch_prob and
10465         end_final.
10466         (independent_decode_option, case 'a'): New auxinfo options.
10467         (case 'd'): Protect against mising basename.
10468         (do_compile): Initialize aux_base_name.
10469         * toplev.h (aux_base_name): New global.
10470         * doc/invoke.texi: Adjust documentation.
10471
10472 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10473
10474         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
10475         of TARGET_ALIGN_DOUBLE.
10476
10477 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
10478
10479         * diagnostic.c (inform): New function.
10480         * diagnostic.h (inform): Declare.
10481
10482 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
10483
10484         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
10485         (movhi_internal): Same.
10486         (movqi_internal): Same.
10487         (movdi_internal64): Same.
10488
10489         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
10490
10491         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
10492         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
10493         (COMMON_ASM_OP): Define.
10494         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
10495         Use ALIGN parameter.
10496         (LOCAL_COMMON_ASM_OP): Define.
10497         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
10498
10499 2002-08-03  Roger Sayle  <roger@eyesopen.com>
10500
10501         * builtins.def: Define new builtin functions exp, expf, expl,
10502         log, logf and logl (and their __builtin_* variants).
10503         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
10504         Define exp_optab and log_optab.
10505         * optabs.c (init_optans): Initialize exp_optab and log_optab.
10506         * genopinit.c (optabs): Implement exp_optab and log_optab
10507         using exp?f2 and log?f2 patterns.
10508         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
10509         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
10510         (expand_builtin): Ignore the new builtins (and all cos and
10511         sin variants) when not optimizing.  Expand new builtins via
10512         expand_builtin_mathfn when flag_unsafe_math_optimizations.
10513
10514         * doc/extend.texi: Document new exp and log builtins.
10515         * doc/md.texi: Document new exp?f2 and log?f2 patterns
10516         (and previously undocumented cos?f2 and sin?f2 patterns).
10517
10518 2002-08-03  Jason Merrill  <jason@redhat.com>
10519
10520         * explow.c (int_expr_size): New fn.
10521         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
10522         * expr.h: Declare it.
10523
10524 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
10525
10526         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
10527         gengtype-* dependencies.
10528
10529 2002-08-02  Eric Christopher  <echristo@redhat.com>
10530
10531         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
10532         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
10533         #ifndef to #undef.
10534         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
10535
10536 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
10537
10538         PR optimize/7067
10539         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
10540         small if optimizing for size.
10541
10542 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
10543
10544         * configure.in (FORBUILD): Use $build_alias.
10545         * configure: Regenerated.
10546
10547 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
10548
10549         * config.gcc: Don't include mips/abi64.h in $tm_file.
10550         * hard-reg-set.h (call_really_used_regs): Declare.
10551         * config/mips/abi64.h: Remove file.
10552         * config/mips/linux.h,
10553         * config/mips/iris6.h: Don't include it.
10554         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
10555         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
10556         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
10557         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
10558         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
10559         Bring across definitions from abi64.h.
10560         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
10561         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
10562         (struct mips_args): Use it.
10563         * config/mips/mips.c (mips_conditional_register_usage): Define.
10564
10565 2002-08-02  Jason Merrill  <jason@redhat.com>
10566
10567         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
10568         * langhooks.c (lhd_expr_size): Define default.
10569         * langhooks.h (struct lang_hooks): Add expr_size.
10570         * explow.c (expr_size): Call it.
10571         * expr.c (store_expr): Don't copy an expression of size zero.
10572         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
10573         to store.
10574         * Makefile.in (builtins.o): Depend on langhooks.h.
10575
10576 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10577
10578         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
10579         * ra-debug.c: Include "tm_p.h".
10580         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
10581
10582 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
10583
10584         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
10585         when not honoring signalling NaNs.
10586         (simplify_ternary_operation): a == b has a definite value
10587         when not honoring NaNs.
10588
10589 2002-08-02  Jason Merrill  <jason@redhat.com>
10590
10591         * gdbinit.in (pct): New macro.
10592
10593 2002-08-01  Stan Shebs  <shebs@apple.com>
10594             Andreas Tobler  <toa@pop.agri.ch>
10595
10596         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
10597         plays nice with Darwin headers.
10598         (_BSD_RUNE_T_DEFINED_): Likewise.
10599
10600 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
10601
10602         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
10603         * cppinit.c (cpp_post_options): Likewise.
10604
10605         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
10606         warning about 'LL' suffix (but not 'ULL' etc) when
10607         -Wno-long-long is in effect.
10608
10609         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
10610         Check for failing time()/localtime(), issue a warning, and
10611         make __TIME__ and __DATE__ expand to fallback strings.
10612
10613         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
10614         and __TIME__ when the date and time cannot be determined.
10615
10616 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
10617
10618         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
10619
10620 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
10621
10622         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
10623
10624 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
10625
10626         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
10627         (mipsisa64sb1el-*-elf*): Likewise.
10628         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
10629         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
10630         (TARGET_SB1, TUNE_SB1): New macros.
10631         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
10632         -mtune flags.
10633
10634 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
10635
10636         * varasm.c (asm_emit_uninitialized): Return false if global BSS
10637         and ASM_EMIT_BSS not supported by target.
10638         (assemble_variable): Do not duplicate uninitialized logic.
10639         Fall through if asm_emit_uninitialized failed.
10640
10641 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
10642
10643         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
10644
10645 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
10646
10647         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
10648         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
10649
10650         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
10651         HOST_BITS_PER_WIDE_INT == 64.
10652
10653 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10654
10655         * df.c (df_insn_table_realloc): Change parameter to unsigned.
10656         * optabs.c (expand_binop): Make variable unsigned.
10657         * simplify-rtx.c (simplify_subreg): Likewise.
10658         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
10659
10660 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10661
10662         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
10663
10664 2002-08-01  Richard Henderson  <rth@redhat.com>
10665
10666         * toplev.c (parse_options_and_default_flags): Don't set
10667         flag_reorder_blocks for -Os.
10668
10669         * config/avr/avr.c (avr_optimization_options): Remove.
10670         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
10671         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
10672         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
10673
10674 2002-08-01  H.J. Lu <hjl@gnu.org>
10675             Richard Henderson  <rth@redhat.com>
10676
10677         * output.h (DECL_READONLY_SECTION): Remove.
10678         (decl_readonly_section): Declare.
10679         * varasm.c (decl_readonly_section): New.
10680         (default_section_type_flags, default_select_section): Use it.
10681         * config/arm/pe.c (arm_pe_unique_section): Likewise.
10682         * config/i386/interix.c (i386_pe_unique_section): Likewise.
10683         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
10684         * config/mcore/mcore.c (mcore_unique_section): Likewise.
10685         * config/mips/mips.c (mips_unique_section): Likewise.
10686
10687 2002-08-01  Richard Henderson  <rth@redhat.com>
10688
10689         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
10690         refers to a subroutine parameter.
10691
10692 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
10693
10694         * varasm.c (assemble_visibility): Strip name encoding.
10695
10696 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
10697
10698         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
10699         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
10700         when there is no frame pointer.
10701         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
10702         registers properly.
10703         * config/ns32k/__unorddf2.c: New file.
10704         * config/ns32k/__unordsf2.c: New file.
10705         * config/ns32k/t-ns32k: New file.
10706         * config.gcc (ns32k-*-netbsd*): Use it.
10707
10708 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
10709
10710         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
10711
10712 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
10713
10714         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
10715
10716 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
10717
10718         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
10719
10720 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
10721
10722         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
10723
10724 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10725
10726         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
10727         n_sets): Removed.
10728         (expr_hash_table, set_hash_table): Type changed to ...
10729         (struct hash_table): New type.
10730         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
10731         insert_expr_in_table, insert_set_in_table, compute_hash_table,
10732         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
10733         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
10734         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
10735         (alloc_hash_table): New.
10736         (free_set_hash_table, free_expr_hash_table): Merged to ...
10737         (free_hash_table): New.
10738         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
10739         (compute_hash_table_work): New.
10740         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
10741         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
10742         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
10743         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
10744         hoist_code, one_code_hoisting_pass,
10745         trim_ld_motion_mems): Altered due to changed type of hash tables.
10746
10747 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
10748
10749         * final.c (output_alternate_entry_point):
10750         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
10751
10752 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10753
10754         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
10755         avoid ISO C style function definition.
10756
10757         * expr.c (expand_assignment): Delete unused variable.
10758
10759 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
10760
10761         * c-common.c (cb_register_builtins): Set
10762         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
10763         is given, and to 0 otherwise.
10764         * combine.c (simplify_if_then_else): HONOR_NANS
10765         implies FLOAT_MODE_P.
10766
10767 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
10768
10769         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
10770         (cpp_handle_option): Don't handle it.
10771         (print_help): Update.
10772         * doc/cppopts.texi: Update.
10773
10774 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
10775
10776         * c-common.c (cb_register_builtins): If C++, define
10777         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
10778         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
10779 cp:
10780         * lang-specs.h: Simplify in accordance with new code in
10781         c-common.c.
10782
10783 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
10784
10785         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
10786         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
10787         * c-decl.c: Move all warning and flag variables to c-common.c.
10788         * c-format.c: Move all warning variables to c-common.c.
10789         * c-tree.h: Move all warning and flag declarations to c-common.h.
10790         * objc/objc-act.c: Move all warning variables to c-common.c.
10791         (flag_warn_protocol): Rename warn_protocol.
10792
10793 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10794
10795         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
10796
10797 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
10798
10799         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
10800         .section prefix.
10801
10802 2002-07-31  Stan Shebs  <shebs@apple.com>
10803
10804         * config.gcc (i[34567]86-*-darwin*): New configuration.
10805         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
10806         defining.
10807         (TARGET_ENCODE_SECTION_INFO): Ditto.
10808         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
10809         * config/darwin.c (machopic_indirect_data_reference): Remove
10810         setting of RTX_UNCHANGING_P.
10811         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
10812         not to be applied to sums.
10813         * config/i386/t-darwin: New file.
10814         * config/i386/darwin.h: New file.
10815         * config/i386/i386.h (TARGET_MACHO): Add default definition.
10816         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
10817         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
10818         label and not the GOT add.
10819         (constant_address_p): For Mach-O, seeing a CONST is enough.
10820         (legitimate_pic_address_disp_p): Add a Mach-O case.
10821         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
10822         (legitimize_pic_address): Use generic Mach-O code to legitimize.
10823         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
10824         if outputting a difference.
10825         (ix86_output_addr_diff_elt): Add Mach-O case.
10826         (ix86_expand_move): Similarly.
10827         (ix86_expand_call): Similarly.
10828         (current_machopic_label_num): New global.
10829         (machopic_output_stub): New function.
10830         (ix86_value_regno): New function.
10831         (ix86_function_value): Use it instead of VALUE_REGNO.
10832         (ix86_libcall_value): Ditto.
10833         * config/i386/unix.h (VALUE_REGNO): Remove.
10834
10835 2002-07-31  Graham Stott  <grahas@btinternet.com>
10836
10837         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
10838         hash for LABEL_REF's.
10839
10840 2002-07-31  Graham Stott  <grahams@btinternet.com>
10841
10842         * config/rs6000/rs6000.c (spe_init_builtins,
10843         altivec_init_builtins, rs6000_common_init_builtins):
10844         Replace ANSI with K&R function def.
10845
10846 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
10847
10848         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
10849         for CCFPmode.
10850
10851 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
10852
10853         * config/mips/crtn.asm: Don't use __mips16 to determine the
10854         return-address offset.  Define RA to a suitable temporary
10855         register for the return address.
10856
10857 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
10858
10859         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
10860         constraints to 'd'.
10861
10862 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
10863
10864         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
10865         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
10866         patch on 2002-07-29.)
10867         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
10868
10869 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10870
10871         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
10872         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
10873         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
10874         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
10875         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
10876         (ASM_GLOBALIZE_LABEL): Delete.
10877         (GLOBAL_ASM_OP): Define.
10878
10879         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
10880
10881         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
10882         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
10883
10884 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
10885
10886         * doc/extend.texi (Hints implementation): Document that GCC
10887         mostly ignores `register'.
10888
10889 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
10890
10891         * flags.h: Declare flag_finite_math_only.
10892         Use it in definition of HONOR_NANS and
10893         HONOR_INFINITIES.
10894         * c-common.c (cb_register_builtins): Emit
10895         __FINITE_MATH_ONLY__ when flag_finite_math_only
10896         is set.
10897         * combine.c (simplify_if_then_else): If
10898         flag_finite_math_only is set, a == b has a
10899         definite value.
10900         * toplev.c: Initialize flag_finite_math_only.
10901         (set_flags_fast_math): Set it on -ffast-math.
10902         (flag_fast_math_set_p): Test it.
10903         * doc/invoke.texi: Document -ffinite-math-only.
10904
10905 2002-07-30  Richard Henderson  <rth@redhat.com>
10906
10907         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
10908         (noce_process_if_block): Likewise.
10909
10910 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
10911
10912         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
10913         Bail out early if false_expr is NULL and we'd crash due to this.
10914         * genemit.c (gen_expand): Recognize return insns even if the return
10915         appears in a parallel.
10916         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
10917         * config/fp-bit.c: Likewise.
10918         * doc/tm.texi: Document it.
10919
10920 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
10921             Zack Weinberg  <zack@codesourcery.com>
10922
10923         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
10924         CODE_FOR_nothing.  Change switch to if.
10925         (rs6000_expand_binop_builtin): Same.
10926         (rs6000_expand_builtin): Expand builtin if target support enabled.
10927         (rs6000_init_builtins): Init builtin if target support enabled.
10928         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
10929
10930 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10931
10932         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
10933
10934 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
10935
10936         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
10937
10938 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
10939
10940         * sh.md (cond_delay_slot): New attribute.
10941         (cbranch delay): Use it for anulled-true case.
10942         (stuff_delay_slot): New pattern.
10943         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
10944         delay slot insn.
10945         (gen_far_branch): Emit stuff_delay_slot pattern.
10946
10947 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
10948
10949         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
10950
10951 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
10952
10953         * fold-const.c: Fix comment typos.
10954         * gcse.c: Likewise.
10955         * reload1.c: Likewise.
10956
10957 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
10958
10959         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
10960         for TARGET_SPE.
10961
10962 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
10963
10964         * c-pretty-print.h (pp_c_statement): Declare.
10965         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
10966         (pp_c_statement): Define.
10967
10968 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10969
10970         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
10971         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
10972         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
10973         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
10974         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
10975         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
10976
10977         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
10978         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
10979
10980 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
10981
10982         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
10983         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
10984         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
10985         (pp_c_expression): Update.
10986
10987 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10988
10989         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
10990         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
10991         * alpha/vms-ld.c (main): Likewise.
10992         * dsp16xx.c (double_reg_to_memory): Likewise.
10993         * mcore.c (mcore_expand_prolog): Likewise.
10994         * cppfiles.c (read_name_map): Likewise.
10995         * gensupport.c (process_rtx, identify_predicable_attribute,
10996         alter_test_for_insn): Likewise.
10997         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
10998
10999 2002-07-29  Roger Sayle  <roger@eyesopen.com>
11000
11001         * builtins.c (expand_builtin):  Change the default behavior to
11002         only issue an error if the builtin function doesn't have a
11003         fallback library call.  Remove several cases handled by the
11004         new default.
11005
11006 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
11007
11008         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
11009         floating point format of the target is IEEE.
11010         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
11011         format of the target is DEC.
11012
11013 2002-07-29  Richard Henderson  <rth@redhat.com>
11014
11015         * unroll.c (verify_addresses): Remove.
11016         (find_splittable_givs): Never split DEST_ADDR givs.
11017
11018 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
11019
11020         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
11021         is exhaustive.
11022         (Files): Improve documentation on generated source files.
11023
11024         * doc/extend.texi (Translation implementation): Document what
11025         diagnostics look like.
11026         (Identifiers implementation): Document that there's normally no
11027         limit on identifier names.
11028         (Integers implementation): Document two's complement.
11029         (Hints implementation): Document that GCC honors 'inline', mostly.
11030         (Preprocessing directives implementation): Document that GCC
11031         requires the current time.
11032
11033 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11034
11035         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
11036         (pp_initializer): New macro.
11037         (pp_c_initializer): Declare.
11038         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
11039         (pp_c_initializer): Define.
11040         (pp_c_initializer_list): New function.
11041         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
11042         VECTOR_CST, CONSTRUCTOR.
11043         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
11044         IMAGPART_EXPR.
11045         (pp_c_cast_expression): Handle FLOAT_EXPR.
11046         (pp_c_assignment_expression): Handle INIT_EXPR.
11047         (pp_c_expression): Update.
11048
11049 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
11050
11051         * objc/objc-act.c (objc_init): Return immediately if filename
11052         is NULL.
11053
11054 2002-07-29  Eric Christopher  <echristo@redhat.com>
11055
11056         * config/mips/elf.h: Remove ecoff.h and gofast includes.
11057         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
11058         (SDB_DEBUGGING_INFO): Undefine.
11059         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
11060         (PUT_SDB_SIZE): Remove.
11061         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
11062         (STARTFILE_SPEC): Add isa3264 define.
11063         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
11064         * config/mips/ecoff.h: Remove. and here...
11065         * config/mips/iris3.h: and here...
11066         * config/mips/sni-svr4.h: and here...
11067         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
11068         Add assembler -mmdebug options for non-dwarf debugging.
11069         * config/mips/r3900.h: Remove debug info defines.
11070         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
11071         * config/mips/isa3264.h: Ditto.
11072         * config/mips/t-isa3264: Fix up for file removal and gofast configure
11073         change.
11074         * config/mips/t-elf: Ditto.
11075         * config/mips/t-ecoff: Ditto.
11076         * config/mips/t-r3900: Ditto.
11077         * config/mips/t-iris5-6: Ditto.
11078         * config/mips/t-isa3264: Ditto.
11079         * config/mips/t-linux: Remove.
11080         * config/mips/t-netbsd: Remove.
11081         * config/mips/t-mips: New file.
11082         * config/mips/t-gofast: Ditto.
11083         * config/mips/netbsd.h: Remove unnecessary undefines.
11084         * config/mips/linux.h: Remove #include of mips.h.
11085         * config.gcc: Add mips.h include for elf targets. Remove tm_file
11086         for ecoff. Add gofast configure option for mips.
11087
11088 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
11089
11090         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
11091         linker scripts use STARTUP directives consistently.
11092         * configure: Regenerate.
11093         * config.in: Regenerate.
11094         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
11095         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
11096         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11097         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
11098         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
11099         will be the same.
11100
11101 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11102
11103         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
11104
11105 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11106
11107         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
11108
11109 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
11110
11111         * config/rs6000/rs6000.md: Move altivec patterns from here...
11112
11113         * config/rs6000/altivec.md: ...to here.
11114
11115 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11116
11117         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
11118
11119 2002-07-29  Richard Henderson  <rth@redhat.com>
11120
11121         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
11122         set_mem_attributes and add BITPOS argument.  Subtract it from
11123         OFFSET when same is adjusted.
11124         (set_mem_attributes): New wrapper function.
11125         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
11126         remove offset adjustment hack.
11127         * expr.h (set_mem_attributes_minus_bitpos): Declare.
11128
11129 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
11130
11131         * Makefile.in (C_OBJS): Include c-pretty-print.o
11132         (c-pretty-print.o): Add depency rule.
11133         * pretty-print.h: Add more macros.
11134         * c-pretty-print.c: New file.
11135         * c-pretty-print.h: Likewise.
11136
11137 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11138
11139         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
11140         constants to __ev64_s32__.
11141         (__internal_ev_mwhgsmian): Same.
11142         (__internal_ev_mwhgsmfan): Same.
11143         (__internal_ev_mwhgssfan): Same.
11144         (__internal_ev_mwhgumiaa): Same.
11145         (__internal_ev_mwhgsmiaa): Same.
11146         (__internal_ev_mwhgsmfaa): Same.
11147         (__internal_ev_mwhgssfaa): Same.
11148
11149 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
11150
11151         * varasm.c (assemble_variable): Narrow test for uninitialized
11152         without BSS target support.
11153
11154 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
11155
11156         * profile.c: Add file comment describing the overall algorithm and
11157         structures.
11158         (struct edge_info): Add comments.
11159         (struct bb_info): Add comments.
11160         * basic-block.h (EDGE_*): Add comments.
11161         * doc/gcov.texi (Gcov Data Files): Document bit flags.
11162
11163 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
11164
11165         * config/xtensa/elf.h, config/xtensa/linux.h
11166         (TARGET_OS_CPP_BUILTINS): Define.
11167         (CPP_PREDEFINES): Remove.
11168         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
11169         (CPP_SPEC): Remove.
11170
11171 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
11172
11173         * gensupport.c: Include hashtab.h.
11174         (insn_elision, condition_table, hash_c_test, cmp_c_test,
11175         maybe_eval_c_test): New routines and data structures to
11176         support insn elision.
11177         (init_md_reader): Read and initialize the condition_table.
11178         (read_md_rtx): Discard insn patterns whose C test is provably
11179         always false.
11180         * gensupport.h: Declare new functions and data structures.
11181
11182         * genconditions.c, dummy-conditions.c: New files.
11183         * Makefile.in: Build genconditions; run it to construct
11184         insn-conditions.c; build that and link it into most gen*
11185         programs.
11186         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
11187         (GEN): Delete, unused.
11188         (STAGESTUFF): Update.
11189
11190         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
11191         CODE_FOR_nothing for all elided patterns.
11192         (main): Tweaked to support this.
11193         * genflags.c (gen_proto): Emit a static inline generator
11194         function here for all elided patterns, which simply returns
11195         NULL_RTX.
11196         (gen_insn): Do not define HAVE_xxx for elided patterns.
11197         (main): Tweaked to support this.  No need to forward-declare
11198         struct rtx_def.
11199         * genrecog.c: Do not bother emitting the C test if it's known
11200         to be true at compile time.
11201
11202 2002-07-29  Mike Stump  <mrs@apple.com>
11203
11204         * config.gcc (target_gtfiles): Initialize, as otherwise cross
11205         compilers hosted on powerpc-apple-darwin6.0 won't even build.
11206
11207 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
11208
11209         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
11210         remove clobber of LR.
11211         (sibcall_insn, sibcall_value_insn): Update accordingly.
11212         (sibcall_epilogue): Remove debugging comment from assembler stream.
11213
11214 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
11215
11216         * pretty-print.h: Define more macros.
11217         * diagnostic.h (output_formatted_integer): Moved from...
11218         * diagnostic.c: ... here.
11219
11220 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11221
11222         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
11223
11224 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
11225
11226         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
11227         arguments.  Always use ".-symbol" as expression argument.
11228         * doc/tm.texi: Update to match.  Document requirement for
11229         ".size symbol, .-symbol" to be acceptable to assembler.
11230
11231         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
11232         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
11233         config/i386/freebsd-aout.h, config/i386/sco5.h,
11234         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
11235         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
11236
11237 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11238
11239         * Makefile.in (gengtype-lex.c): Fix error in last change.
11240
11241         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
11242         backslash.
11243
11244         * Makefile.in (vmsdbgout.o): Depend on function.h.
11245
11246         * vmsdbgout.c: Include function.h.
11247
11248 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
11249
11250         * prefix.c (update_path): Don't strip single `.' path components
11251         unless stripping a later `..' component.  Exit loop as soon as
11252         a valid path is found.
11253
11254 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11255
11256         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
11257         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
11258         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
11259         floating point unordered comparisons (e.g. __builtin_isgreater)
11260         as const, and leave the remaining GCC_BUILTINs unchanged.
11261
11262         * c-decl.c (builtin_function): No need to explicitly mark
11263         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
11264
11265 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11266
11267         * Makefile.in: rtlanal.o now depends upon real.h.
11268
11269         * flags.h [flag_signaling_nans]: New flag.
11270         [HONOR_SNANS]: New macro.
11271
11272         * toplev.c [flag_signaling_nans]: Initialize to false.
11273         (f_options): Add processing for "-fsignaling-nans".
11274         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
11275         (process_options): flag_signaling_nans implies flag_trapping_math.
11276
11277         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
11278         when -fsignaling-nans.  First step to implementing WG14's N965.
11279
11280         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
11281         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
11282         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
11283
11284         * simplify-rtx.c (simplify_relational_operation): Conditionalize
11285         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
11286
11287         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
11288         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
11289         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
11290         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
11291         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
11292
11293         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
11294
11295 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11296
11297         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
11298         * gengtype-lex.l (YY_USE_PROTOS): Undef.
11299         (YY_DECL): Define.
11300
11301 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11302
11303         * doc/invoke.texi: Document that both -fno-builtin-foo and
11304         -fno-builtin are supported by the g++ front-end.
11305
11306 2002-07-27  Stan Shebs  <shebs@apple.com>
11307
11308         * configure.in: Rename config_gtfiles to target_gtfiles.
11309         * configure: Regenerate.
11310         * doc/gty.texi: Update reference.
11311         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
11312         instead of appending to it.
11313
11314 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
11315
11316         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
11317         vectors are split into two registers.
11318         (function_arg): Same.
11319
11320 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
11321
11322         * pa.md (extv): Check predicates before emitting extv_32.
11323
11324 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
11325
11326         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
11327         (rs6000_traceback): New var.
11328         (rs6000_override_options): Set rs6000_traceback.
11329         (rs6000_output_function_epilogue): Implement traceback options.
11330         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
11331         (rs6000_traceback_name): Declare.
11332
11333         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
11334         label reference when NO_PROFILE_COUNTERS.
11335
11336 2002-07-26  Jason Merrill  <jason@redhat.com>
11337
11338         * function.c (assign_parms): Handle frontend-directed pass by
11339         invisible reference.
11340
11341 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11342
11343         * doc/cppopts.texi: Update.
11344
11345 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11346
11347         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
11348         warnings on assertions.
11349
11350 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11351
11352         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
11353         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
11354         RID_COMPL): Remove.
11355         * c-parse.in (rid_to_yy): Similarly.
11356
11357 2002-07-26  Jason Merrill  <jason@redhat.com>
11358
11359         * c-dump.c: Resurrect.
11360         * tree-dump.c: Move C-specific stuff to c-dump.c.
11361         * c-common.h: Declare c_dump_tree.
11362         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
11363         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
11364         (c-dump.o): New rule.
11365
11366 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
11367
11368         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
11369         PowerPC64.  Replace "T" and "S" constraints with "n" when the
11370         predicate will do.  Formatting fixes.
11371         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
11372         as for extzvsi_internal1.
11373
11374 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11375
11376         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
11377         DERIV_END_LABEL_FMT): Remove.
11378         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
11379
11380 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11381
11382         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
11383         Remove.
11384
11385 2002-07-25  Stan Shebs  <shebs@apple.com>
11386
11387         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
11388         local var dwarfp.
11389         (output_compiler_stub): Remove unused locals.
11390         (output_call): Always initialize line number.
11391
11392 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
11393
11394         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
11395         * sh.md (truncdiqi2, movqi_media): Likewise.
11396
11397 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11398
11399         * gcse.c (obstack_chunk_alloc): Remove.
11400         (gcse_alloc): Fix to count allocated bytes.
11401         * collect2.c (SYMBOL__MAIN): Remove.
11402
11403 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11404
11405         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
11406         HAVE_TARGET_EXECUTABLE_SUFFIX.
11407
11408 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
11409
11410         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
11411         SIZE, EXPR and OFFSET.
11412
11413 2002-07-25  Richard Henderson  <rth@redhat.com>
11414
11415         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
11416         in ARRAY_REF of DECL_P case.
11417
11418 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
11419
11420         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
11421         description.  Document -mips32, -mips64, and the associated -march
11422         values.  Describe the "mipsN" arguments to -march.  Say that the
11423         -mipsN options are equivalent to -march.  Reword the description
11424         of default type sizes.
11425         * toplev.h (target_flags_explicit): Declare.
11426         * toplev.c (target_flags_explicit): New var.
11427         (set_target_switch): Update target_flags_explicit.
11428         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
11429         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
11430         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
11431         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
11432         * config/mips/mips.h (mips_cpu_info): New struct.
11433         (mips_cpu_string, mips_explicit_type_size_string): Remove.
11434         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
11435         (MIPS_CPP_SET_PROCESSOR): New macro.
11436         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
11437         Define _MIPS_ARCH and _MIPS_TUNE.
11438         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
11439         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
11440         MIPS_ISA_DEFAULT were already defined.
11441         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
11442         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
11443         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
11444         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
11445         (ABI_GAS_ASM_SPEC): Remove.
11446         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
11447         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
11448         Invoke %(asm_abi_default_spec) if no ABI was specified.
11449         (CC1_SPEC): Remove ISA -> register-size rules.
11450         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
11451         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
11452         (mips_cpu_string, mips_explicit_type_size_string): Remove.
11453         (mips_cpu_info_table): New array.
11454         (mips_set_architecture, mips_set_tune): New fns.
11455         (override_options): Rework to make -mipsN equivalent to -march.
11456         Detect more erroneous cases, including those removed from CC1_SPEC.
11457         Don't change the ABI based on architecture, or vice versa.
11458         Unify logic with GAS.
11459         (mips_asm_file_start): Get architecture name from mips_arch_info.
11460         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
11461         (mips_parse_cpu): Take the name of the option as argument.  Handle
11462         'from-abi'.  Raise an error if the option is wrong.
11463         (mips_cpu_info_from_isa): New fn.
11464
11465 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
11466
11467         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
11468         (tablejump_mips162): Likewise.
11469
11470 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
11471
11472         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
11473         int_mode_for_mode.
11474
11475 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
11476
11477         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
11478         complaining.
11479         * c-common.h (c_sizeof): Adjust definition.
11480         (c_alignof): Likewise.
11481         * c-tree.h (c_sizeof_nowarn): Now macro.
11482         * c-typeck.c (c_sizeof_nowarn): Remove definition.
11483
11484 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11485
11486         * c-decl.c (c_decode_option): No need to handle switches
11487         cpplib handles.
11488
11489 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
11490
11491         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
11492         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
11493         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
11494         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
11495
11496         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
11497         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
11498         config/cris/aout.h, config/i386/freebsd-aout.h,
11499         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
11500         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
11501         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
11502         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
11503         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
11504         config/xtensa/elf.h, config/xtensa/linux.h:
11505         Use the new macros.
11506         Where possible, remove redundant definitions of SIZE_ASM_OP,
11507         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
11508
11509 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
11510
11511         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
11512         TARGET_ISEL, and TARGET_FPRS.
11513
11514         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
11515         -mabi=spe, -mabi=no-spe, and -misel=.
11516
11517         * config/rs6000/rs6000-protos.h: Add output_isel.
11518         Move vrsave_operation prototype here.
11519
11520         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
11521         (smaxsi3): Same.
11522         (uminsi3): Same.
11523         (umaxsi3): Same.
11524         (abssi2_nopower): Disallow when TARGET_ISEL.
11525         (*ne0): Same.
11526         (negsf2): Change to expand and rename old pattern to *negsf2.
11527         (abssf2): Change to expand and rename old pattern to *abssf2.
11528
11529         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
11530         fixunssfsi2.
11531
11532         Change patterns that check for TARGET_HARD_FLOAT or
11533         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
11534
11535         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
11536         rs6000_isel, rs6000_fprs, rs6000_isel_string.
11537         (rs6000_override_options): Add 8540 case to
11538         processor_target_table.
11539         Set rs6000_isel for the 8540.
11540         Call rs6000_parse_isel_option.
11541         (enable_mask_for_builtins): New.
11542         (rs6000_parse_isel_option): New.
11543         (rs6000_parse_abi_options): Add spe and no-spe.
11544         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
11545         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
11546         for TARGET_HARD_FLOAT.
11547         Add case for SPE_VECTOR_MODE.
11548         (rs6000_legitimize_reload_address): Handle SPE vector modes.
11549         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
11550         vector modes.
11551         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
11552         (rs6000_emit_move): Check for TARGET_FPRS.
11553         Add cases for SPE vector modes.
11554         (function_arg_boundary): Return 64 for SPE vector modes.
11555         (function_arg_advance): Check for TARGET_FPRS and
11556         Handle SPE vectors.
11557         (function_arg): Same.
11558         (setup_incoming_varargs): Check for TARGET_FPRS.
11559         (rs6000_va_arg): Same.
11560         (struct builtin_description): Un-constify mask field.  Move up in
11561         file.
11562         (bdesc_2arg): Un-constify and add SPE builtins.
11563         (bdesc_1arg): Same.
11564         (bdesc_spe_predicates): New.
11565         (bdesc_spe_evsel): New.
11566         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
11567         (rs6000_expand_binop_builtin): Same.
11568         (bdesc_2arg_spe): New.
11569         (spe_expand_builtin): New.
11570         (spe_expand_predicate_builtin): New.
11571         (spe_expand_evsel_builtin): New.
11572         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
11573         (rs6000_init_builtins): Initialize SPE builtins.  Call
11574         rs6000_common_init_builtins.
11575         (altivec_init_builtins): Move all non-altivec builtin code to...
11576         (rs6000_common_init_builtins): ...here.  New function.
11577         (branch_positive_comparison_operator): Allow NE code for SPE.
11578         (ccr_bit): Return correct ccr bit for SPE fp.
11579         (print_operand): Emit crnor in 'D' case for SPE.
11580         New case 't'.
11581         Add SPE code for 'y' case.
11582         (rs6000_generate_compare): Generate rtl for SPE fp.
11583         (output_cbranch): Handle SPE hard floats.
11584         (rs6000_emit_cmove): Handle isel.
11585         (rs6000_emit_int_cmove): New.
11586         (output_isel): New.
11587         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
11588         64-bits for SPE.
11589         (debug_stack_info): Add SPE info.
11590         (gen_frame_mem_offset): New.
11591         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
11592         Change mode of frame pointer, when saving it, to Pmode.
11593         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
11594         Misc cleanups and use gen_frame_mem_offset when appropriate.
11595
11596         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
11597         (TARGET_SPE_ABI): New.
11598         (TARGET_SPE): New.
11599         (TARGET_ISEL): New.
11600         (TARGET_FPRS): New.
11601         (FIXED_SCRATCH): New.
11602         (RTX_COSTS): Add PROCESSOR_PPC8540.
11603         (ASM_CPU_SPEC): Add case for 8540.
11604         (TARGET_OPTIONS): Add isel= case.
11605         (rs6000_spe_abi): New.
11606         (rs6000_isel): New.
11607         (rs6000_fprs): New.
11608         (rs6000_isel_string): New.
11609         (UNITS_PER_SPE_WORD): New.
11610         (LOCAL_ALIGNMENT): Adjust for SPE.
11611         (HARD_REGNO_MODE_OK): Same.
11612         (DATA_ALIGNMENT): Same.
11613         (MEMBER_TYPE_FORCES_BLK): New.
11614         (FIRST_PSEUDO_REGISTER): Set to 113.
11615         (FIXED_REGISTERS): Add SPE registers.
11616         (reg_class): Same.
11617         (REG_CLASS_NAMES): Same.
11618         (REG_CLASS_CONTENTS): Same.
11619         (REGNO_REG_CLASS): Same.
11620         (REGISTER_NAMES): Same.
11621         (DEBUG_REGISTER_NAMES): Same.
11622         (ADDITIONAL_REGISTER_NAMES): Same.
11623         (CALL_USED_REGISTERS): Same.
11624         (CALL_REALLY_USED_REGISTERS): Same.
11625         (SPE_ACC_REGNO): New.
11626         (SPEFSCR_REGNO): New.
11627         (SPE_SIMD_REGNO_P): New.
11628         (HARD_REGNO_NREGS): Adjust for SPE.
11629         (VECTOR_MODE_SUPPORTED_P): Same.
11630         (REGNO_REG_CLASS): Same.
11631         (FUNCTION_VALUE): Same.
11632         (LIBCALL_VALUE): Same.
11633         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
11634         (SPE_VECTOR_MODE): New.
11635         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
11636         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
11637         (rs6000_stack): Add spe_gp_size, spe_padding_size,
11638         spe_gp_save_offset.
11639         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
11640         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
11641         (SPE_CONST_OFFSET_OK): New.
11642         (rs6000_builtins): Add SPE builtins.
11643
11644         * testsuite/gcc.dg/ppc-spe.c: New.
11645
11646         * config/rs6000/eabispe.h: New.
11647
11648         * config/rs6000/spe.h: New.
11649
11650         * config/rs600/spe.md: New.
11651
11652         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
11653         __SIMD__ for TARGET_SPE.
11654
11655         * config.gcc: Add powerpc-*-eabispe* case.
11656         Add spe.h to user headers for powerpc.
11657
11658 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
11659
11660         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
11661         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11662         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
11663
11664 2002-07-24  Richard Henderson  <rth@redhat.com>
11665
11666         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
11667         form when not optimizing.
11668
11669 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
11670
11671         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
11672         thread_pointer_rtx as unchanging.
11673
11674 2002-07-24  Michael Matz  <matz@suse.de>
11675
11676         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
11677         (free_reg): Use it.
11678
11679 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
11680
11681         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
11682         pattern.
11683         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
11684         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
11685
11686 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
11687
11688         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
11689         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11690         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
11691
11692 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
11693
11694         * toplev.c (rest_of_compilation): Dump loops before clobbering
11695         the structure.
11696
11697 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
11698
11699         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
11700
11701 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
11702
11703         PR optimization/7291
11704         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
11705         problem on x86_64.
11706
11707 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
11708
11709         * pretty-print.h: Add macros from cp/error.c
11710
11711 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
11712
11713         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
11714         (mask64_2_operand): Declare.
11715         (build_mask64_2_operands): Declare.
11716         (and64_2_operand): Declare.
11717         (extract_MB): Declare.
11718         (extract_ME): Declare.
11719         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
11720         CONST_DOUBLE code.
11721         (mask_operand_wrap): New insn predicate.
11722         (mask64_2_operand): Likewise.
11723         (and64_2_operand): Likewise.
11724         (build_mask64_2_operands): New function.
11725         (extract_MB): New function.
11726         (extract_ME): New function.
11727         (print_operand <case m,M>): Use extract_MB and extract_ME.
11728         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
11729         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
11730         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
11731         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
11732         * config/rs6000/rs6000.md (andsi3_internal3): New
11733         (andsi3_internal3+1): Enable split for powerpc64.
11734         (andsi3_internal3+2): New split.
11735         (andsi3_internal4): Renamed old andsi3_internal3.
11736         (andsi3_internal5): New.
11737         (andsi3_internal5+1): Enable split for powerpc64.
11738         (andsi3_internal5+2): New split.
11739         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
11740         (anddi3): Handle 't' constraint.
11741         (anddi3+1): New split.
11742         (anddi3_internal2): Handle 't' constraint.
11743         (anddi3_internal2+1): New split.
11744         (anddi3_internal3): Handle 't' constraint.
11745         (anddi3_internal3+1): New split.
11746
11747 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
11748
11749         * config/rs6000/rs6000.md: Remove scratch reg on insns using
11750         addze and similar (plus (comparison r1 r2) r3) insns.  Add
11751         missing scratch reg in one case.  Formatting fixes.
11752
11753 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
11754
11755         * cppexp.c (parse_defined): Mark macro used.
11756         * cpphash.h (struct cpp_macro): New member "used".
11757         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
11758         (struct cpp_reader): New member.
11759         * cppinit.c (cpp_finish_options): Set first_unused_line.
11760         (cpp_finish): Warn of unused macros if requested.
11761         (OPT_TABLE): New switches.
11762         (cpp_handle_option): Handle them.
11763         * cpplib.c (do_undef): Warn if macro unused.
11764         (do_ifdef, do_ifndef): Mark macro used.
11765         * cpplib.h (struct cpp_options): New member.
11766         * cppmacro.c (_cpp_warn_if_unused_macro): New.
11767         (enter_macro_context): Mark macro used.
11768         (_cpp_create_definition): Mark macro unused; warn if unused
11769         when redefined.
11770         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
11771         Mark macros used.
11772         * doc/cppopts.texi: Update.
11773
11774 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
11775
11776         * dwarf2out.c (SECTION_ASM_OP,
11777         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
11778         * system.h (SECTION_ASM_OP): Poison.
11779         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
11780         * config/alpha/alpha-interix.h, config/mips/linux.h
11781         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
11782         * config/mmix/mmix-protos.h, config/mmix/mmix.c
11783         (mmix_asm_output_define_label_difference_symbol): Remove.
11784         * config/mmix/mmix.h
11785         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
11786         * doc/tm.texi: Remove documentation.
11787
11788 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
11789
11790         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
11791         (constrain_operands): Likewise.
11792         * regclass.c (record_reg_classes): Likewise.
11793         * reload.c (find_reloads): Likewise.
11794         * doc/md.texi: Likewise.
11795
11796         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
11797         * simplify-rtx.c (simplify_subreg): When converting to a non-int
11798         mode, try to convert to an integer mode of matching size first.
11799
11800         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
11801         from individual subregs, check that each subreg has been generated
11802         sucessfully.
11803
11804 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
11805
11806         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
11807         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
11808         FOR_EACH_BB_IN_SBITMAP): Remove.
11809         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
11810         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
11811         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
11812         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
11813         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
11814         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
11815
11816 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
11817
11818         * pretty-print.h: New file.
11819
11820 2002-07-23      Paul Koning     <pkoning@equallogic.com>
11821
11822         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
11823         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
11824         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
11825         (TARGET_G_FLOAT): Default to 0 if not defined.
11826         (ieeetoe): New, common routine to convert target format floats
11827         to internal form.
11828         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
11829         vs. others.
11830         (e113toe): Change to use ieeetoe.
11831
11832 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11833
11834         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
11835         IBM.
11836         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
11837         (e64toe): Remove special cases for DEC and IBM. Remove support for
11838         ARM_EXTENDED_IEEE_FORMAT.
11839         (e24toe): Remove special cases for DEC.
11840         (significand_size): Simplify. Indent.
11841         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
11842         (etoieee, toieee): New.
11843         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
11844         etoieee and toieee for IEEE arithmetic.
11845
11846 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
11847
11848         * doc/extend.texi: Say ISO C90, not ISO C89.
11849         * doc/invoke.texi: Likewise.
11850         * doc/standards.texi: Likewise.
11851
11852 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
11853
11854         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
11855         Fix permutation of conversion and plus/mult.
11856         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
11857         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
11858         (expand_builtin_strncpy) Ditto.
11859         (expand_builtin_memset) Ditto.
11860
11861 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
11862
11863         Fix PR/7363:
11864         * c-common.c (c_sizeof_or_alignof_type): New function.
11865         (c_alignof): Remove definition.
11866         * c-common.h (c_sizeof, c_alignof): Define as macros.
11867         (c_sizeof_or_alignof_type): Declare.
11868         (my_friendly_assert): Moved from cp/cp-tree.h
11869         * c-typeck.c (c_sizeof): Remove definition.
11870
11871 2002-07-23  Jan Hubicka  <jh@suse.cz>
11872
11873         * gcse.c (try_replace_reg): Use num_changes_pending.
11874         * recog.c (num_changes_pending): New function.
11875         (validate_replace_src): Use validate_repalce_src_group.
11876         (validate_replace_src_group): New.
11877         * recog.h (validate_repalce_src_group): New.
11878         (num_changes_pending): Likewise.
11879
11880 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
11881
11882         * calls.c (emit_library_call_value_1): If
11883         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
11884         libcall, const call nor pure call.
11885
11886 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
11887
11888         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
11889
11890 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
11891
11892         * vmsdbgout.c (SECTION_ASM_OP): Remove.
11893
11894 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
11895
11896         * config/i386/i386.c (AT_BP): Remove.
11897
11898 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
11899
11900         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
11901         Default definition.
11902         * gcse.c: Don't define obstack_chunk_free.
11903         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
11904         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
11905         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
11906         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
11907         Don't define obstack macros.
11908
11909 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
11910
11911         PR target/6744
11912         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
11913         ASM_OPERANDS instructions.
11914
11915 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
11916
11917         PR target/7361
11918         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
11919         constant addresses only on 68HC12.
11920
11921 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
11922
11923         * cppfiles.c (stack_include_file): Correct test of whether
11924         a dependency should be output.
11925
11926 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
11927
11928         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
11929
11930 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
11931
11932         * arm.md (movqi): If optimizing and we can create pseudos, use
11933         a ZERO_EXTEND to load from memory, then copy the result into the
11934         target.
11935         (movhi): Likewise, but only for ARMv4.
11936
11937 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
11938
11939         * ssa-ccp.c (PHI_PARMS): Remove.
11940
11941 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
11942
11943         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
11944         on big-endian targets.
11945
11946 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11947
11948         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
11949         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
11950         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
11951         New formatting macros.
11952
11953         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
11954
11955 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
11956
11957         * rtlanal.c (subreg_regno_offset): Return correct offset for
11958         big endian paradoxical subregs.
11959
11960         * optabs.c (expand_vector_unop): Don't expand using sub_optab
11961         if we got the wrong mode.
11962
11963         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
11964         * genrecog.c (write_switch, write_cond): Use it.
11965         * genemit.c (gen_exp): Likewise.
11966
11967 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
11968
11969         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
11970
11971 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
11972
11973         * c-decl.c (build_compound_literal): Defer compound literal decls
11974         until until file end to emit them only if they are actually used.
11975
11976 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11977
11978         * ra-build.c (check_conflict_numbers): Hide unused function.
11979         (livethrough_conflicts_bb): Avoid automatic aggregate
11980         initialization.
11981         (parts_to_webs_1): Avoid `U' integer constant modifier.
11982         (conflicts_between_webs): Wrap a variable in the macro controlling
11983         its usage.
11984         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
11985         (dump_igraph, dump_graph_cost): Avoid string concatenation
11986         (dump_static_insn_cost): Avoid automatic aggregate
11987         initialization.
11988         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
11989         initialization.
11990         (dump_cost): Avoid string concatenation
11991
11992 2002-07-21  Richard Henderson  <rth@redhat.com>
11993
11994         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
11995         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
11996
11997 2002-07-21  Richard Henderson  <rth@redhat.com>
11998
11999         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
12000         that are not unrolled completely.
12001
12002 2002-07-21  Richard Henderson  <rth@redhat.com>
12003
12004         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
12005         * loop.c (strength_reduce): Update.
12006         * toplev.c (rest_of_compilation): Do unrolling in the first
12007         loop pass, not the second.
12008
12009 2002-07-21  Richard Henderson  <rth@redhat.com>
12010
12011         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
12012         when flag_argument_noalias == 2.
12013         * alias.c (nonoverlapping_memrefs_p): Handle that.
12014         * print-rtl.c (print_mem_expr): Likewise.
12015
12016 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
12017
12018         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
12019         instead of __negdi2 directly.
12020
12021 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12022
12023         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
12024         * function.c (SYMBOL__MAIN): Remove definition.
12025         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
12026         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
12027         * profile.c (GCOV_INDEX_TO_BB): Remove.
12028         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
12029         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
12030
12031 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12032
12033         * c-lex.c (GET_ENVIRONMENT): Remove.
12034         * collect2.c (GET_ENV_PATH_LIST): Remove.
12035         (prefix_from_env): Use GET_ENVIRONMENT.
12036         * cppinit.c (GET_ENV_PATH_LIST): Remove.
12037         (init_standard_includes): Use GET_ENVIRONMENT.
12038         * defaults.h (GET_ENVIRONMENT): Define here if not already.
12039         * gcc.c (GET_ENV_PATH_LIST): Remove.
12040         (make_relative_prefix, process_command): Update.
12041         * protoize.c (GET_ENV_PATH_LIST): Remove.
12042         (do_processing): Update.
12043
12044 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
12045
12046         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
12047         (grokdeclarator): Likewise.
12048         * c-format.c (C_STD_NAME): Likewise.
12049         * c-lex.c (interpret_integer): Likewise.
12050         * c-typeck.c (build_array_ref): Likewise.
12051         * cpplex.c (_cpp_lex_direct): Likewise.
12052         * toplev.c (documented_lang_options): Likewise.
12053
12054 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12055
12056         * c-format.c (T99_I, T99_UI): Remove.
12057
12058 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12059
12060         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
12061
12062 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
12063
12064         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
12065         do_local_cprop.
12066
12067 2002-07-21  Andreas Jaeger  <aj@suse.de>
12068
12069         * reload1.c (fixup_abnormal_edges): Remove unused variable.
12070
12071 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
12072
12073         Improvements for the ifcvt pass from Michael Meissner, with patches
12074         by Richard Sandiford <rsandifo@redhat.com>
12075         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
12076         * ifcvt.c (cond_exec_changed_p): New static variable.
12077         (last_active_insn): New function, renamed from last_active_insn_p
12078         and changed to return the last active insn in a basic block. All
12079         callers updated.
12080         (block_fallthru): New function.
12081         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
12082         IFCVT_MODIFY_INSN.  All callers updated.
12083         Return false if START or END are NULL.
12084         Handle case where we're processing an insn that is already
12085         conditional.
12086
12087         (noce_process_if_block): CE_INFO argument rather than
12088         multiple args containing the involved basic blocks.  All callers
12089         changed.
12090         (process_if_block, merge_if_block, find_if_block,
12091         cond_exec_process_if_block): Likewise.
12092
12093         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
12094         changed.
12095         Use new function last_active_insn to simplify some code.
12096         New code to handle multiple tests.
12097         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
12098         cond_exec_changed_p to TRUE.
12099
12100         (process_if_block): New code to handle multiple tests.
12101         (merge_if_block): Likewise.
12102         (find_if_header): New arg PASS.  Changed to return the currently
12103         processed basic block or NULL instead of true/false. All callers
12104         changed.
12105         Call IFCVT_INIT_EXTRA_FIELDS.
12106         (block_jumps_and_fallthru_p): New function.
12107         (find_if_block): Discover opportunities to convert multiple tests.
12108         Add additional debugging output.
12109         Update the ce_info structure before returning.
12110
12111         (if_convert): Run multiple passes of if-conversion.
12112         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
12113         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
12114         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
12115         these macros.
12116
12117 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
12118
12119         * gcse.c: Include cselib.h
12120         (constptop_register): Break out from ...
12121         (cprop_insn): ... here; kill basic_block argument.
12122         (do_local_cprop, local_cprop_pass): New functions.
12123         (one_cprop_pass): Call local_cprop_pass.
12124
12125 2002-07-20  Roger Sayle  <roger@eyesopen.com>
12126
12127         * simplify-rtx.c (simplify_relational_operation): Optimize
12128         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
12129
12130 2002-07-20  Michae Matz  <matz@suse.de>
12131
12132         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
12133
12134 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
12135
12136         * cppexp.c (struct op): Add token pointer.
12137         (check_promotion, CHECK_PROMOTION): New.
12138         (optab): Update.
12139         (_cpp_parse_expr): Update, use token pointer of struct op.
12140         (reduce): Warn about change of sign owing to promotion.
12141         * cppinit.c (cpp_handle_option): New warning if -Wall.
12142         * cpplib.h (struct cpp_options): New member.
12143
12144 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
12145
12146         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
12147         fpu list.  Separate Power4 compare and delayed_compare.  Correct
12148         Power4 fpcompare.
12149         (fix_truncdfsi2_internal): Restore FPR preference.
12150         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
12151         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
12152
12153 2002-07-19  Momchil Velikov <velco@fadata.bg>
12154
12155         * reload1.c (reload_as_needed): Duplicate oldpat.
12156
12157 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
12158
12159         PR optimization/7130
12160         * loop.h (struct loop_info): Add "preconditioned".
12161         * unroll.c (unroll_loop): Set it.
12162         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
12163
12164 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
12165
12166         * rtl.def (CODE_LABEL): Remove slot 8.
12167         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
12168         (LABEL_ALTERNATE_NAME): Delete.
12169         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
12170         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
12171
12172         * final.c (output_alternate_entry_point): New.
12173         (final_scan_insn): Use it instead of
12174         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
12175         of a case label being an alternate entry point.
12176
12177         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
12178         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
12179         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
12180         (field deleted).
12181         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
12182
12183         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
12184         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
12185         * doc/tm.texi: Delete documentation of
12186         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
12187
12188 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12189
12190         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
12191         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
12192         (LINK_SPEC): Define.
12193         (STARTFILE_SPEC): Define.
12194         (ENDFILE_SPEC): Define.
12195
12196         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
12197         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
12198
12199         * config/mips/iris6-o32-gas.h: New file.
12200         * config.gcc (mips-sgi-irix6*o32): Use it.
12201
12202         * config/mips/t-iris5-gas: New file.
12203         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
12204
12205 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
12206
12207         * cppexp.c (ALWAYS_EVAL): Remove.
12208         (optab, reduce): Always evaluate.
12209         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
12210         only if not skipping evaluation.
12211
12212 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12213
12214         * config/avr/avr.c (debug_hard_reg_set): Remove.
12215
12216 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
12217
12218         * gcc.c (cpp_options): Include "%1" (cc1_spec).
12219
12220 2002-07-19  Richard Henderson  <rth@redhat.com>
12221
12222         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
12223
12224 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
12225
12226         * prefix.c (update_path): Don't zap single `.' path components
12227         unless followed by another `.' and fix typo last patch.
12228
12229 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
12230
12231         * cppexp.c (cpp_num_mul): Remove unused parameter.
12232         (UNARY, BINARY, OTHER, binary_handler): Remove.
12233         (ALWAYS_EVAL): New.
12234         (optab): Update.
12235         (reduce): Refactor to a large switch, don't use a function
12236         pointer.
12237
12238 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
12239
12240         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
12241
12242 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
12243
12244         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
12245         (sh_expand_binop_v2sf): Likewise.
12246         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
12247         (int_gpr_dest, trunc_hi_operand): New functions.
12248         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
12249         trunc_hi_operand.
12250         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
12251         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
12252         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
12253         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
12254         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
12255         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
12256         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
12257         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
12258         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
12259         (movsf_ie+1): Likewise.
12260         (loaddi_trunc): Use int_gpr_dest predicate.
12261         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
12262         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
12263         (casesi_worker_0+[12], casesi_worker): Likewise.
12264         (shcompact_preserve_incoming_args): Likewise.
12265         (mov_nop): Use any_register_operand predicate.
12266         (mperm_w0): Use trunc_hi_operand predicate.
12267
12268 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12269
12270         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
12271         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
12272         numbering.
12273
12274 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12275
12276         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
12277
12278 2002-07-18  Richard Henderson  <rth@redhat.com>
12279
12280         PR optimization/7147
12281         * ifcvt.c (noce_get_condition): Make certain that the condition
12282         is valid at JUMP.
12283
12284 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
12285
12286         * sh.c (barrier_align, push): Shut up compiler warnings.
12287         (initial_elimination_offset,sh_media_init_builtins): Likewise.
12288         (reg_no_subreg_operand): Delete.
12289
12290 2002-07-17  Bo Thorsen  <bo@suse.de>
12291
12292         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
12293         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
12294         (STARTFILE_SPEC): Remove hardcoded library paths.
12295         (ENDFILE_SPEC): Likewise.
12296
12297 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
12298
12299         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
12300
12301         * gcse.c (try_replace_reg): Do not return false positives.
12302
12303 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
12304
12305         * prefix.c: (update_path): Strip ".." components when prior dir
12306         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
12307
12308         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
12309         (ASM_OUTPUT_REG_POP): Likewise.
12310
12311 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
12312
12313         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
12314         adjustments to first_reg for profiling case.
12315         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
12316         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
12317         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
12318         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
12319         (ASM_OUTPUT_REG_POP): Define.
12320         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
12321         (ASM_OUTPUT_REG_POP): Undef.
12322
12323 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
12324
12325         * cpplib.c (do_sccs): Handle #sccs on all systems.
12326         * system.h (SCCS_DIRECTIVE): Poison.
12327         * config/darwin.h, config/freebsd.h, config/netbsd.h,
12328         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
12329         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
12330         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
12331         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
12332         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
12333         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
12334         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
12335         Remove all references to SCCS_DIRECTIVE.
12336         * doc/cpp.texi, doc/tm.texi: Update.
12337
12338 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
12339
12340         * regrename.c (maybe_mode_change): New function.
12341         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
12342
12343 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
12344
12345         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
12346         suppress addition when either ct or cf are zero.
12347
12348 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
12349             Glen Nakamura <glen@imodulo.com>
12350
12351         PR optimization/6713
12352         * loop.c (loop_givs_rescan): Explicitly delete the insn that
12353         sets a non-replaceable giv after issuing the new one.
12354
12355 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
12356
12357         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
12358         eval_token): Clarify and correct use of "bool" variables.
12359         * cpplib.h (struct cpp_options): Similarly.
12360         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
12361         * cpptrad.c (recursive_macro): Similarly.
12362
12363 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
12364
12365         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
12366         SHmedia code.
12367
12368         * sh.md (cmpgtudi_media): Remove spurious @.
12369
12370         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
12371         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
12372
12373         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
12374         * sh-protos.h (sh_initialize_trampoline): Declare.
12375         * sh.c (sh_initialize_trampoline): New function.
12376         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
12377         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
12378         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
12379         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
12380         * sh.md (initialize_trampoline, double_shori): New patterns.
12381         (initialize_trampoline_compact): Likewise.
12382         (shmedia32_initialize_trampoline_big): Remove.
12383         (shmedia32_initialize_trampoline_little): Likewise.
12384
12385         * sh-protos.h (binary_float_operator): Remove declaration.
12386         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
12387         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
12388         (unary_float_operator, sh_expand_unop_v2sf): New functions.
12389         (sh_expand_binop_v2sf): Likewise.
12390         (zero_vec_operand): Delete.
12391         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
12392         all non-shared ones.
12393         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
12394         Enable nsb and byterev.
12395         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
12396         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
12397         in general regs.
12398         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
12399         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
12400         immediate operands.
12401         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
12402         Add DF_HI_REGS.
12403         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
12404         lowpart fp regs - only for big endian for now.
12405         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
12406         when FPU is in use.
12407         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
12408         (LOAD_EXTEND_OP): NIL for SImode.
12409         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
12410         general and fp registers is 4.
12411         PREDICATE_CODES: Amend binary_float_operator entry.
12412         Remove zero_vec_operand.  Add unary_float_operator.
12413         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
12414         subreg SET_DEST.
12415         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
12416         (truncdiqi2): Do sign extension.
12417         (movsi_media, movdi_media): Allow to use r63 to an fp register.
12418         (movdf_media, movsf_media): Likewise.
12419         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
12420         Collapse to one define_insn_and_split.  Allow immediate sources.
12421         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
12422         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
12423         (movv4sf): Allow immediate sources.
12424         (movsf_media_nofpu+1): Don't split moves to FP registers.
12425         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
12426         (movv8qi_i+3): Check against CONST0_RTX.
12427         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
12428         for input and output operands.  Fix argument 3 to gen_mextr_rl.
12429         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
12430         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
12431         (mshf0_w, fipr, ftrv): Likewise.
12432         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
12433
12434 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
12435
12436         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
12437         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
12438         * arm.c: Similarly.
12439
12440 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
12441
12442         * config/mips/mips-protos.h (mips_sign_extend): Declare.
12443         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
12444         (TARGET_SWITCHES): Remove debugh.
12445         (ISA_HAS_TRUNC_W): New macro.
12446         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
12447         (PREDICATE_CODES): Remove se_nonimmediate_operand.
12448         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
12449         any SImode move_operand.
12450         (se_nonimmediate_operand): Remove.
12451         (mips_sign_extend): New.
12452         (mips_move_2words): Use it for sign-extended source operands.
12453         (override_options): Allow integers to be put into single FPRs.
12454         (mips_secondary_reload_class): Handle integers in float registers.
12455         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
12456         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
12457         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
12458         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
12459         (fix_truncdfdi2): Provide only a single alternative, in which the
12460         integer is in a float register.  Depend on TARGET_FLOAT64 rather
12461         than TARGET_64BIT.
12462         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
12463         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
12464         (movdi_internal2): Don't allow the source operand to be sign-extended.
12465         Add alternatives for float registers.
12466         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
12467         allows sign-extension.
12468         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
12469         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
12470         float registers.  Remove TARGET_DEBUG_H_MODE test.
12471         (movhi_internal1): Rename to movhi_internal.  Don't check
12472         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
12473         (movqi_internal1): Rename to movqi_internal and remove
12474         TARGET_DEBUG_H_MODE dependency.
12475         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
12476
12477 2002-07-16  Jim Wilson  <wilson@redhat.com>
12478
12479         * toplev.c (lang_dependent_init): Create function context for
12480         init_expr_once.
12481
12482 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
12483
12484         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
12485         --gc-sections if -r.
12486         * config/cris/cris.h: Ditto.
12487
12488 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
12489
12490         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
12491         the comparison directly gives a mask suppress addition when cf is
12492         zero by complementing the mask.
12493
12494 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
12495
12496         * Makefile.in: Delete references to enquire.
12497         * enquire.c: Move to contrib.
12498
12499 2002-07-16  Stan Shebs  <shebs@apple.com>
12500
12501         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
12502         config/rs6000/darwin.h.
12503         (ASM_OUTPUT_SKIP): Ditto.
12504         (TEXT_SECTION_ASM_OP): Ditto.
12505         (DATA_SECTION_ASM_OP): Ditto.
12506         (ASM_APP_ON): Define.
12507         (ASM_APP_OFF): Define.
12508         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
12509         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
12510
12511         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
12512         (machopic_function_base_name): Declare result to be const.
12513         (machopic_non_lazy_ptr_name): Ditto.
12514         (machopic_stub_name): Ditto.
12515         * config/darwin-protos.h: Ditto for the prototypes.
12516
12517 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
12518
12519         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
12520
12521 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
12522
12523         * i386.md (prefetch): Fix for 64bit mode.
12524         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
12525
12526 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12527
12528         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
12529         * i386.c (x86_machine_dependent_reorg): New function.
12530         * i386-protos.h (x86_machine_dependent_reorg): Declare.
12531
12532 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
12533
12534         * builtins.c (std_expand_builtin_va_start): Remove unused
12535         first argument.
12536         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
12537         std_expand_builtin_va_start with just two arguments.
12538         * expr.h: Update prototypes.
12539
12540         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
12541         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
12542         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
12543         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
12544         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
12545         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
12546         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
12547         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
12548         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
12549         argument from all implementations of EXPAND_BUILTIN_VA_START
12550         and all uses of std_expand_builtin_va_start.
12551
12552 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
12553
12554         * regrename.c (copy_value): Don't record high part copies.
12555
12556 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
12557
12558         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
12559         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
12560         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
12561
12562 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
12563
12564         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
12565
12566         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
12567         into addsi3 using register class "x" and "y".
12568
12569         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
12570         "earlyclobber" constraint modifier for some alternative.
12571
12572         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
12573         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
12574         unordered.
12575         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
12576
12577         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
12578         (TARGET_SWITCHES): Add -mieee-compare option.
12579         (OVERRIDE_OPTIONS): 32332 is a subset of
12580         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
12581         (TARGET_SWITCHES): Fix description of bitfield option.
12582         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
12583         -mieee-compare option. Remove 32332 flag.
12584
12585 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
12586
12587         * explow.c (convert_memory_address): Remove special handling
12588         when POINTERS_EXTEND_UNSIGNED < 0.
12589         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
12590         (movedi_symbolic): Fix typo.
12591         (load_fptr): Remove mode restriction so it works for SI and DI.
12592         (load_fptr_internal1): Ditto.
12593         (load_gprel): Ditto.
12594         (load_symptr_internal1): Ditto.
12595         (call_pic): Ditto.
12596         * config/ia64.c (call_operand): Modify mode check.
12597         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
12598         (ia64_expand_move): Ditto.
12599         (ia64_assemble_integer): Handle SImode function pointers.
12600         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
12601         (ia64_expand_op_and_fetch): Ditto.
12602         (ia64_expand_compare_and_swap): Ditto.
12603         (ia64_expand_lock_test_and_set): Ditto.
12604         (ia64_expand_lock_release): Ditto.
12605
12606 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
12607
12608         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
12609
12610 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
12611             Richard Earnshaw  <rearnsha@arm.com>
12612
12613         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
12614         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
12615
12616 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
12617
12618         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
12619         understands to be a memory clobber.
12620         * arm.c (arm_expand_prologue): Use it.
12621
12622 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
12623
12624         * ra-rewrite.c: #include reload.h, insn-config.h
12625         * ra-build.c: #include reload.h
12626         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
12627         depend on reload.h, insn-config.h.
12628
12629 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
12630
12631         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
12632         the same size as a word.
12633
12634         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
12635         BYTES_BIG_ENDIAN into account.
12636
12637 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
12638
12639         * i386.md (prefetch): Fix for 64bit mode.
12640         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
12641
12642         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
12643
12644 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12645
12646         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
12647
12648 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
12649
12650         * ginclude/varargs.h: Replace with stub which issues #error.
12651         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
12652         __builtin_va_start.
12653
12654         * builtins.def (BUILT_IN_VARARGS_START): Delete.
12655         (BUILT_IN_VA_START): New.
12656         * builtins.c (expand_builtin_va_start): Eliminate first
12657         argument and code to implement pre-ISO varargs.
12658         (std_expand_builtin_va_start): Ignore first argument; it is
12659         always 1.
12660         (expand_builtin): Handle BUILT_IN_VA_START and
12661         BUILT_IN_STDARG_START identically.  Delete
12662         BUILT_IN_VARARGS_START case.
12663
12664         * function.c (assign_parms): Delete hide_last_arg and all
12665         its uses.
12666         (mark_varargs): Delete function.
12667         * function.h (struct function): Delete 'varargs' bit.
12668         (current_function_varargs): Delete macro.
12669         * tree.h: Don't declare mark_varargs.
12670
12671         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
12672         (c_expand_body): Don't call mark_varargs.
12673         * c-objc-common.c: Handle BUILT_IN_VA_START and
12674         BUILT_IN_STDARG_START identically.  Delete
12675         BUILT_IN_VARARGS_START case.
12676         * c-tree.h: Don't declare c_mark_varargs.
12677         * c-parse.in: Remove grammar rules for '&...' (which has been
12678         commented out since before 2.7.2) and for '...' in K+R
12679         argument declarations.
12680
12681         * builtins.c, function.c, integrate.c, sibcall.c,
12682         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
12683         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
12684         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
12685         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
12686         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
12687         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
12688         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
12689         config/stormy16/stormy16.c: Delete all references to
12690         current_function_varargs, and code predicated on that flag.
12691
12692         * config/alpha/alpha.c (alpha_va_start),
12693         config/arc/arc.c (arc_va_start),
12694         config/i386/i386.c (ix86_va_start),
12695         config/mips/mips.c (mips_va_start),
12696         config/mn10300/mn10300.c (mn10300_va_start),
12697         config/rs6000/rs6000.c (rs6000_va_start),
12698         config/s390/s390.c (s390_va_start),
12699         config/sh/sh.c (sh_va_start),
12700         Ignore first argument; it is always 1.
12701
12702         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
12703         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
12704         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
12705         Delete m68hc11_va_start.
12706         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
12707         No need to define EXPAND_BUILTIN_VA_START.
12708
12709         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
12710         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
12711
12712 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
12713
12714         PR optimization/7153
12715         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
12716         dies in more than one insn.
12717
12718 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
12719
12720         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
12721
12722 2002-07-15  Michael Matz  <matz@suse.de>,
12723             Daniel Berlin  <dberlin@dberlin.org>,
12724             Denis Chertykov  <denisc@overta.ru>
12725
12726         Add a new register allocator.
12727
12728         * ra.c: New file.
12729         * ra.h: New file.
12730         * ra-build.c: New file.
12731         * ra-colorize.c: New file.
12732         * ra-debug.c: New file.
12733         * ra-rewrite.c: New file.
12734
12735         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
12736         (ra-rewrite.o): New .o files for libbackend.a.
12737         (GTFILES): Add basic-block.h.
12738
12739         * toplev.c (flag_new_regalloc): New.
12740         (f_options): New option "new-ra".
12741         (rest_of_compilation): Call initialize_uninitialized_subregs()
12742         only for the old allocator.  If flag_new_regalloc is set, call
12743         new allocator, instead of local_alloc(), global_alloc() and
12744         friends.
12745
12746         * doc/invoke.texi: Document -fnew-ra.
12747         * basic-block.h (FOR_ALL_BB): New.
12748         * config/rs6000/rs6000.c (print_operand): Write small constants
12749         as @l+80.
12750
12751         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
12752         (df_reg_table_realloc): Make size at least as large as max_reg_num().
12753         (df_insn_table_realloc): Size argument now is absolute, not relative.
12754         Changed all callers.
12755
12756         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
12757         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
12758
12759         2002-06-20  Michael Matz  <matz@suse.de>
12760
12761         * df.h (struct ref.id): Make unsigned.
12762         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
12763
12764         2002-06-13  Michael Matz  <matz@suse.de>
12765
12766         * df.h (DF_REF_MODE_CHANGE): New flag.
12767         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
12768         involving subregs with invalid mode changes, when
12769         CLASS_CANNOT_CHANGE_MODE is defined.
12770
12771         2002-05-07  Michael Matz  <matz@suse.de>
12772
12773         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
12774
12775         2002-05-03  Michael Matz  <matz@suse.de>
12776
12777         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
12778
12779         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
12780
12781         * regclass.c (regclass): Work with all regs which have sets or
12782         refs.
12783         (reg_scan_mark_refs): Count regs inside (clobber ...).
12784
12785         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
12786
12787         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
12788         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
12789         add new refs.
12790         (df_bb_refs_update): Don't clear insns_modified here, ...
12791         (df_analyse): ... but here.
12792
12793         * sbitmap.c (dump_sbitmap_file): New.
12794         (debug_sbitmap): Use it.
12795
12796         * sbitmap.h (dump_sbitmap_file): Add prototype.
12797
12798         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
12799
12800         * df.c (df_insn_modify): Grow the UID table if necessary, rather
12801         than assume all emits go through df_insns_modify.
12802
12803         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
12804
12805         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
12806         increase REG_N_REFS (like flow does), so that regclass doesn't
12807         think a reg is useless, and thus, not calculate a class, when it
12808         really should have.
12809
12810         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
12811
12812         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
12813         dataflow analysis.
12814
12815 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
12816
12817         PR middle-end/7245
12818         * config/i386/i386.c (const_int_1_31_operand): New.
12819         * config/i386/i386.h (PREDICATE_CODES): Add it.
12820         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
12821         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
12822         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
12823
12824 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
12825
12826         PR target/7282
12827         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
12828         (floatunssidf2): Likewise.
12829         (floatsidf_ppc64): New insn_and_split.
12830         (floatunssidf_ppc64): Likewise.
12831
12832 2002-07-14  Andreas Jaeger  <aj@suse.de>
12833
12834         * config.gcc (sh64): Remove unused
12835         target_requires_64bit_host_wide_int.
12836
12837 2002-07-12  Roger Sayle  <roger@eyesopen.com>
12838
12839         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
12840         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
12841         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
12842         whether clear_by_pieces should be used to clear storage.
12843         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
12844
12845         * doc/tm.texi: Document these two new target macros.
12846
12847 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
12848
12849         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
12850         the scratch register.
12851         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
12852         of it, forbid reload to use it.
12853
12854 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12855
12856         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
12857         usage on 64-bit hosts, return value was truncated to 32 bits.
12858
12859 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
12860
12861         * simplify-rtx.c (simplify_subreg): Handle floating point
12862         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
12863         the element mode is requested, compute a subreg with an
12864         integer mode of the same size as the element mode first.
12865
12866 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
12867
12868         * combine.c (try_combine): When converting a paradoxical subreg
12869         to an extension, take LOAD_EXTEND_OP into account.
12870
12871 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12872
12873         * config.gcc (mips-sgi-irix6*o32): New configuration.
12874
12875         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
12876         configurations.
12877         * configure: Regenerate.
12878
12879         * config/mips/iris6-o32-as.h: New file.
12880         * config/mips/iris6-o32.h: New file.
12881
12882         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
12883         (NM_FLAGS): Define.
12884         (HAVE_AS_SHF_MERGE): Undefine.
12885
12886         * config/mips/t-iris5-as: New file.
12887         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
12888
12889         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
12890         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
12891         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
12892         dp-bit.c, fp-bit.c): Move ...
12893         * config/mips/t-iris5-6: ... here.
12894         New file, shared by IRIX 5 and IRIX 6.
12895         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
12896         mips-sgi-irix5*): Use it.
12897
12898         * config/mips/iris6.h: Remove duplicate comment.
12899
12900         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
12901         !TARGET_IRIX6]: Define.
12902         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
12903
12904         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
12905
12906 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12907
12908         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
12909         and delete code to force constant to register.
12910         * pa-protos.h (adddi3_operand): Add prototype.
12911         * pa.c (adddi3_operand): New function.
12912
12913 2002-07-11  Roger Sayle  <roger@eyesopen.com>
12914
12915         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
12916         non-ANSI builtin functions.
12917
12918 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
12919
12920         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
12921         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
12922         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
12923         (gen_const_vector_0): Use it.
12924
12925 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12926
12927         * pa.md (adddi3): For 32-bit targets, force constants to a register
12928         if they don't fit in an 11-bit immediate.  Change insn predicate to
12929         arith11_operand.  Remove comment.
12930         * pa.c (cint_ok_for_move): Fix comment.
12931         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
12932         targets.
12933
12934 2002-07-11  Tim Josling  <tej@melbpc.org.au>
12935
12936         Remove front end hard coding from gengtype.c.
12937
12938         * Makefile.in
12939         (STAGESTUFF): add gtyp-gen.h
12940         (GTFILES): Remove front end specific files.
12941         (GTFILES_FILES_LANGS): New, from configure..
12942         (GTFILES_FILES_FILES): Likewise.
12943         (GTFILES_LANG_DIR_NAMES): Likewise.
12944         (GTFILES_SRCDIR): Likewise.
12945         (gtyp-gen.h): Build from configure information.
12946         (s-gtype): Remove command line parameters from gengtype.
12947         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
12948         (mostlyclean): Delete files generated by and for gengtype.
12949
12950         * c-config-lang.in: New file.
12951
12952         * configure.in (all_gtfiles_files_langs): New. Accumulate files
12953         for each language.
12954         (all_gtfiles_files_files): New. Accumulate language for each file
12955         accumulated.
12956         (gtfiles): Pick up value for C.
12957         (srcdir): AC-SUBST this variable.
12958         (all_gtfiles_files_langs): AC-SUBST this variable.
12959         (all_gtfiles_files_files): AC-SUBST this variable.
12960
12961         * configure: Regenerate.
12962
12963         * gengtype-lex.l (parse_file): Make parameter const.
12964
12965         * gengtype.c (toplevel): include gtyp-gen.h.
12966         (BASE_FILE_<language> unnamed enum): Delete.
12967         (lang_names): Delete (replaced by gtyp-gen.h)
12968         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
12969         all references.
12970         (NUM_GT_FILES): New.
12971         (NUM_LANG_FILES): New.
12972         (srcdir_len): New.
12973         (NUM_BASE_FILES): Change calculation.
12974         (open_base_files): Change prototype to avoid warning.
12975         (startswith): Delete.
12976         (get_file_basename): Iterate through generated language list not
12977         hard coded list.
12978         (get_base_file_bitmap): Use generated list of files and languages.
12979         (close_output_files): Add prototype to rmove warning.
12980         (main): Iterate through list of generated files from gtyp-gen.h
12981         rather than command line paramaters.  Ignore duplicated file
12982         names.
12983
12984         * gengtype.h (parse_file): Amend prototype for const parameter.
12985
12986         * doc/sourcebuild.texi: Document gtfiles variable.
12987
12988         * doc/gty.texi: Document changes to gtfiles variable for front
12989         ends.
12990
12991         * objc/config-lang.in (gtfiles): Add files needed for objc front
12992         end.
12993
12994 2002-07-10  Roger Sayle  <roger@eyesopen.com>
12995
12996         PR c/2454
12997         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
12998         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
12999
13000 2002-07-10  Roger Sayle  <roger@eyesopen.com>
13001             Zack Weinberg <zack@codesourcery.com>
13002
13003         * builtins.def: Make the argument types of abort and exit
13004         independent of the front-end.
13005
13006 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
13007
13008         * config/rs6000/linux64.h (ASM_SPEC): Define.
13009
13010 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
13011
13012         * config/rs6000/rs6000.c (emit_frame_save): New.
13013         (rs6000_frame_related): Replace reg2 before reg.
13014         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
13015         and eh_return registers.
13016
13017 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
13018
13019         Revert all patches for optimization of Complex .op. Real.
13020         * complex_part_zero_p: Remove
13021         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
13022         with x.
13023         * expand_cmplxdiv_wide: Ditto.
13024         * expand_binop: Ditto.
13025
13026 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13027
13028         * config/avr/avr.md: Fix two 0x80000000 constants to make them
13029         negative also on 64-bit hosts.
13030
13031         Default to -fno-reorder-blocks when optimizing for size.
13032         * config/avr/avr-protos.h (avr_optimization_options): Declare.
13033         * config/avr/avr.c (avr_optimization_options): New function.
13034         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
13035
13036         Optimize returning from simple functions.
13037         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
13038         * config/avr/avr.c (avr_simple_epilogue): New function.
13039         * config/avr/avr.md (return): New insn.
13040
13041 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
13042
13043         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
13044         HAS_INIT_SECTION to protection.
13045
13046 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
13047
13048         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
13049         deprecated.
13050
13051 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
13052
13053         * combine.c (gen_lowpart_for_combine): Handle vector modes.
13054         Supply non-VOID mode to simplify_gen_subreg.
13055
13056 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
13057
13058         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
13059
13060 2002-07-10  Jeffrey A Law  <law@redhat.com>
13061
13062         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
13063         as appropriate.
13064
13065         * mn10200.c (expand_epilogue): Fix test to determine which scratch
13066         register to use.
13067
13068 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
13069
13070         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
13071         Get mode from dest.
13072         If simplify_gen_subreg fails, try next equivalent.
13073
13074 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
13075
13076         * diagnostic.h: #include location.h
13077         (location_t): Move definition to..
13078         * location.h: ... here.  New file.
13079         * tree.h: #include location.h
13080         (DECL_SOURCE_LOCATION): New macro.
13081         (DECL_SOURCE_FILE): Use.
13082         (DECL_SOURCE_LINE): Likewise.
13083         (struct tree_decl): REplace filename and linenum with locus.
13084         * Makefile.in (TREE_H): add location.h
13085         (diagnostic.o): Depends on gt-location.h
13086         (gt-location.h): Depends on s-gtype
13087
13088 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
13089
13090         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
13091         TARGET_OS_CPP_BUILTINS.
13092         * config/rs6000/aix31.h: Likewise.
13093         * config/rs6000/aix41.h: Likewise.
13094         * config/rs6000/aix43.h: Likewise.
13095         * config/rs6000/aix51.h: Likewise.
13096         * config/rs6000/beos.h: Likewise.
13097         * config/rs6000/darwin.h: Likewise.
13098         * config/rs6000/eabi.h: Likewise.
13099         * config/rs6000/eabisim.h: Likewise.
13100         * config/rs6000/linux.h: Likewise.
13101         * config/rs6000/linux64.h: Likewise.
13102         * config/rs6000/lynx.h: Likewise.
13103         * config/rs6000/mach.h: Likewise.
13104         * config/rs6000/rtems.h: Likewise.
13105         * config/rs6000/sysv4.h: Likewise.
13106         * config/rs6000/vxppc.h: Likewise.
13107
13108 2002-07-09 Devang Patel <dpatel@apple.com>
13109         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
13110         Do not allow ObjC objects as a parameter type for Objective-C methods.
13111         My previous patch restricted  'struct' also.
13112
13113 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
13114
13115         * cpperror.c (cpp_error): Default to directive_line within
13116         directives here.
13117         * cppexp.c (cpp_interpret_integer): Only use traditional
13118         number semantics in directives.
13119         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
13120         (do_include_common): Similarly.
13121         * cpptrad.c (scan_out_logical_line): Implement accurate
13122         quoting of <> in #include.
13123         * doc/cpp.texi: Update.
13124
13125 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
13126                           J"orn Rennecke <joern.rennecke@superh.com>
13127
13128         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
13129         * sh.md (attribute issues): Replace with:
13130         (attribute pipe_model).  All users changed.
13131         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
13132         All users changed.
13133         (function units sh5issue, sh5fds): New.
13134         (attribute is_mac_media): New.
13135         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
13136         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
13137         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
13138         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
13139         (call_media, call_value_media, sibcall_media): Likewise.
13140         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
13141         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
13142         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
13143         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
13144         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
13145         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
13146         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
13147         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
13148         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
13149         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
13150         (truncdfsf2_media): Likewise.
13151         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
13152         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
13153
13154 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
13155
13156         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
13157         * sh.c (general_extend_operand, inqhi_operand): New functions.
13158         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
13159         alternatives using 'N' modifier.  Add type.
13160         (adddi3z_media): Likewise.  Enable generator function generation.
13161         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
13162         exact predicates / constraints.  Add type.
13163         (subsi3): Allow 0 for SHMEDIA.
13164         (udivsi3_i4_media): Use match_operand for input values
13165         rather than hard registers.
13166         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
13167         unnecessarily through hard registers.  Keep copies of pseudo
13168         registers outside of the libcall sequence.
13169         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
13170         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
13171         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
13172         (extendhidi2, extendqidi2): Likewise.
13173         (andsi3_compact): Name.
13174         (andcdi3): Enable generator function generation.
13175         (zero_extendhisi2, zero_extendqisi2): Rename to
13176         (zero_extendhisi2_compact, zero_extendqisi2_compact).
13177         (extendhisi2, extendqisi2): Rename to
13178         (extendhisi2_compact, extendqisi2_compact).
13179         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
13180         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
13181         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
13182         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
13183         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
13184         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
13185         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
13186         (shmedia32_initialize_trampoline_big): Likewise.
13187         (shmedia32_initialize_trampoline_little): Likewise.
13188         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
13189         (negdi2): Remove spurious T clobber.
13190         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
13191         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
13192         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
13193         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
13194         (ic_invalidate_line_media): Write back data cache before invalidating
13195         instruction cache.  Add type.
13196         (movsf_media): Sign-extend when the destination is a general
13197         purpose register.  Add type.
13198         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
13199         (casesi_worker_0+1): Only increment ref count for proper label.
13200         (casesi_worker_0+2): Likewise.
13201
13202 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
13203
13204         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
13205
13206 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
13207
13208         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
13209         from Pmode to ptr_mode.
13210         (get_exception_pointer): Ditto.
13211         (connect_post_landing_pads): Ditto.
13212         (dw2_build_landing_pads): Ditto.
13213
13214 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
13215         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
13216         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
13217         (handle_pragma_redefine_extname): Change to use new function.
13218
13219 2002-07-08  Roger Sayle  <roger@eyesopen.com>
13220
13221         * combine.c (combine_simplify_rtx): Add an explicit cast
13222         to avoid signed/unsigned comparison warning.
13223         (simplify_if_then_else): Likewise.
13224         (extended_count): Likewise.
13225         (simplify_shift_const): Likewise.
13226         (simplify_comparison): Likewise.
13227
13228 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
13229
13230         * config/mips/mips.md: Add imadd type.  Update scheduler description
13231         to use imadd as well as imul.
13232         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
13233         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
13234         (*mul_sub_si): Likewise for first alternative.  Change second
13235         alternative from imul to multi.
13236
13237 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
13238
13239         * c-common.c (c_common_post_options): Update prototype;
13240         don't init backends if preprocessing only.
13241         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
13242         * langhooks.h (struct lang_hooks): Update post_options to
13243         return a boolean.
13244         * toplev.c (parse_options_and_default_flags, do_compile,
13245         lang_independent_init): Update prototypes.  Allow the
13246         front end to specify that there is no need to initialize
13247         the back end.
13248         (general_init): Move call to hex_init here...
13249         (toplev_main): ...from here.  Pass flag for back end init
13250         suppression.
13251
13252 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
13253
13254         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
13255         (PREDICATE_CODES): Add entries for equality_comparison_operator,
13256         greater_comparison_operator and less_comparison_operator.
13257         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
13258         more operators.
13259         (equality_comparison_operator): New function.
13260         (greater_comparison_operator, less_comparison_operator): Likewise.
13261         * sh.md (beq_media_i): Disable generator function generation.
13262         Use match_operator to handle a whole class of comparisons.  Add
13263         modifier in output template to provide branch prediction.  Add type.
13264         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
13265         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
13266         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
13267         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
13268
13269 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
13270
13271         Emit MMIX function prologue and epilogue as rtl.
13272         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
13273         not unprototyped get_hard_reg_initial_val.
13274         ("call_value", "nonlocal_goto_receiver"): Ditto.
13275         ("return"): Make define_expand.  Move real insn to...
13276         ("*expanded_return"): New pattern.
13277         ("prologue", "epilogue"): New define_expands.
13278         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
13279         (struct machine_function): New member in_prologue.
13280         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
13281         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
13282         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
13283         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
13284         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
13285         (LOCAL_REGNO): Define.  Adjust comment.
13286         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
13287         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
13288         leaf_function_p.
13289         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
13290         the prologue.
13291         (mmix_target_asm_function_prologue): Make static.  Just mark that
13292         the prologue is being emitted.  Move guts to...
13293         (mmix_expand_prologue): New function.  Adjust for emitting
13294         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
13295         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
13296         \n.  Move guts to...
13297         (mmix_expand_epilogue): New function.  Adjust for emitting
13298         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
13299         (mmix_target_asm_function_end_prologue): Mark that the prologue
13300         has ended.
13301         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
13302         (mmix_conditional_register_usage): Improve comments.
13303         (mmix_local_regno): New function.
13304         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
13305         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
13306         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
13307         (mmix_get_hard_reg_initial_val): Ditto.
13308
13309 2002-07-06  Andreas Jaeger  <aj@suse.de>
13310
13311         * toplev.c (set_fast_math_flags): Don't use ISO C style function
13312         definitions.
13313         * gengtype.c (open_base_files): Likewise.
13314         (close_output_files): Likewise.
13315         * tracer.c (find_best_predecessor): Likewise.
13316         (find_best_successor): Likewise.
13317         (ignore_bb_p): Likewise.
13318
13319 2002-07-05  Roger Sayle  <roger@eyesopen.com>
13320
13321         PR c++/7099
13322         * builtin-attrs.def: Define new attribute lists for use in
13323         builtins.def.
13324         * builtins.def [DEF_BUILTIN]: Modify to take an additional
13325         ATTRS argument, an enumerated value defined in builtin-attrs.def
13326         that represents the attribute list for the builtins.  Modify
13327         all builtin functions to pass an appropriate attribute list.
13328         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
13329         their required noreturn attributes.
13330         * tree.h (enum_builtin_function): Ignore the additional parameter
13331         to DEF_BUILTIN.
13332         * builtins.c (built_in_names): Likewise.
13333         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
13334         argument with a tree representing the functions attribute list.
13335         Pass this "attrs" argument to builtin_function.  No longer handle
13336         the noreturn_p processing manually.
13337         (built_in_attributes): Move the definitions from builtin-attrs.def
13338         before c_common_nodes_and_builtins.
13339         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
13340         DEF_BUILTIN, passing it to both builtin_function and the changed
13341         builtin_function_2.
13342
13343         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
13344         __builtin__exit and __builtin__Exit.
13345
13346 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13347
13348         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
13349         QI mode registers in soft registers.
13350         ("zero_extendqihi2"): Do not take into account soft registers
13351         for register allocation (use '*' constraint).
13352
13353 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13354
13355         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
13356         it is dead.
13357         ("*ashrsi3"): Likewise.
13358         ("*lshrsi3"): Likewise.
13359
13360 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
13361
13362         * genautomata.c (output_max_insn_queue_index_def): Take latencies
13363         into account.
13364
13365 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13366
13367         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
13368         address computation and memory moves.
13369
13370 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
13371
13372         PR c++/6706
13373         * dwarfout.c (output_reg_number): Fix warning message.
13374         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
13375         before using it.
13376
13377 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13378
13379         * gcc/gcc.c (asm_debug): Move initialization ...
13380         (init_spec): ... here.
13381
13382 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
13383
13384         * c-parse.in (extdef): Append ';'.
13385         (old_style_parm_decls): Append ';'.
13386
13387 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
13388
13389         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
13390         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
13391         to gcc_cv_as_gstabs_flag.
13392         * configure: Rebuilt.
13393
13394 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
13395
13396         * ggc.h (ggc_add_root): Document as obsolete.
13397
13398 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
13399
13400         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
13401         (mshflo_w): Likewise.
13402
13403 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
13404
13405         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
13406         vector mode subregs of constants to finding integer mode
13407         subregs of constants.
13408         * cse.c (cse_insn): Use simplify_gen_subreg.
13409         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
13410         From a vector mode expression of different size than the
13411         target mode.
13412
13413 2002-07-03  Eric Christopher  <echristo@redhat.com>
13414
13415         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
13416         * config/mips/mips.h: Remove deprecated -m<processor> options
13417         and cc1_cpu_spec associated.
13418         (CONSTANT_ADDRESS_P): Fix last patch.
13419         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
13420         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
13421         sunge_sf): Remove.
13422
13423 2002-07-03  Stan Shebs  <shebs@apple.com>
13424
13425         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
13426         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
13427         (CPP_SPEC): Remove insertion of APPLE_CC definition.
13428
13429 2002-07-03  Roger Sayle  <roger@eyesopen.com>
13430
13431         * combine.c (struct_undo): Change types of recorded substitutions
13432         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
13433         (do_SUBST_INT): Change types of the substitution from unsigned int
13434         to int, to avoid compilation warning from SUBST_INT's only caller.
13435
13436         (make_extraction): Add cast to avoid compilation warning.
13437         (force_to_mode): Remove cast to avoid compilation warning.
13438
13439 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
13440             Jeff Law  <law@redhat.com>
13441
13442         * i386.md (length_immediate attribute): Fix typo.
13443         (length_address attribute): Likewise.
13444         (modrm attribute): Set it to 0 for immediate call instructions.
13445         (jcc_1 pattern): Set modrm attribute to 0.
13446         (jcc_2 pattern ): Likewise.
13447         (jump pattern): Likewise.
13448         (doloop_end_internal pattern): Explicitly set length.
13449         (leave pattern): Fix typo.
13450         (leave_rex64 pattern): Likewise.
13451
13452 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
13453
13454         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
13455         in FPR as preference.
13456         (fctiwz): Same.
13457         (floatdidf2, fix_truncdfdi2): Same.
13458         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
13459         (floatditf2): Same.
13460         (floatsitf2, fix_trunctfsi2): SImode in GPR.
13461         (ctrdi): Remove FPR alternative and splitter.
13462
13463 2002-07-03  Will Cohen  <wcohen@redhat.com>
13464
13465         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
13466
13467 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
13468
13469         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
13470         than UNITS_PER_WORD, unless this is little endian and the first unit
13471         in this word.  Let extract_bit_field decide how to load an element.
13472         Force arguments to matching mode.
13473         (expand_vector_unop): Likewise.
13474
13475         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
13476         consist of word_mode elements.
13477         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
13478         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
13479         (build_unary_op): Allow vector types for BIT_NOT_EPR.
13480         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
13481         CONST_VECTOR.
13482         * optabs.c (expand_vector_binop): Try to perform operation in
13483         smaller vector modes with same inner size.  Add handling of AND, IOR
13484         and XOR.  Reject expansion to inner-mode sized scalars when using
13485         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
13486         (expand_vector_unop): Try to perform operation in smaller vector
13487         modes with same inner size.  Add handling of one's complement.
13488         When there is no vector negate operation, try a vector subtract
13489         operation.  Use simplify_gen_subreg on constants.
13490         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
13491         constants into smaller vectors with same inner mode, and to
13492         integer CONST_DOUBLEs.
13493
13494 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13495
13496         * c-parse.in (parsing_iso_function_signature): New variable.
13497         (extdef_1): New, copied from...
13498         (extdef): ... here.  Reset parsing_iso_function_signature.
13499         (old_style_parm_decls):  Reset parsing_iso_function_signature.
13500         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
13501         Warn about ISO C style function definitions.
13502         (nested_function, notype_nested_function): Reset
13503         parsing_iso_function_signature.
13504         (parmlist_2): Set parsing_iso_function_signature.
13505
13506         * doc/invoke.texi (-Wtraditional): Document new behavior.
13507
13508 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
13509
13510         * config.gcc (mips*el-*-*): Use tm_defines to set
13511         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
13512         * config/mips/little.h: Remove.
13513
13514 2002-07-02 Devang Patel <dpatel@apple.com>
13515
13516         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
13517         object as parameter. Prevent something like 'NSObject' to be
13518         used as the type for a method argument.
13519
13520 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
13521
13522         * cpptrad.c: Update comment.
13523
13524 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
13525
13526         * doc/cpp.texi: Update for traditional preprocessing changes.
13527         * goc/cppopts.texi: Similarly.
13528
13529 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
13530
13531         * c-parse.in (designator): Enable designated initializers if ObjC.
13532         (objcmessageexpr): Remove references to objc_receiver_context.
13533         * objc/objc-act.h (objc_receiver_context): Remove decl.
13534         * objc/objc-act.c (objc_receiver_context): Remove.
13535         (lookup_objc_ivar): Test objc_method_context instead of
13536         objc_receiver_context.
13537
13538 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
13539
13540         * sh.c (print_operand, case 'N'): Allow zero vector.
13541         (arith_reg_or_0_operand): Likewise.
13542         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
13543         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
13544         IOR, XOR, PLUS and SET and take their respective constant
13545         ranges into account.
13546         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
13547         * sh.md (subdi3, subdi3_media): Allow zero operand.
13548         (movv8qi_i+3): Only vector that is not split is the zero vector.
13549         Fix operand 3 to simplify_subreg.
13550         (movv2si_i): Split alternative 1.
13551         (mshfhi_l_di_rev+1): New splitter.
13552
13553 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
13554
13555         PR preprocessor/7029
13556         * cppinit.c (cpp_handle_option):  Suppress warnings with an
13557         implicit "-w" for "-M" and "-MM".
13558         * doc/cppopts.texi: Update.
13559
13560 2002-07-01  Roger Sayle  <roger@eyesopen.com>
13561
13562         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
13563         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
13564         builtin_function.
13565
13566 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
13567
13568         * README.Portability: Fix typos.
13569
13570 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
13571
13572         PR target/7177
13573         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
13574         of indirections for register inside sign-extended mem part.
13575
13576 2002-07-01  Roger Sayle  <roger@eyesopen.com>
13577
13578         * tree.h:  Modify builtin_function interface to take an extra
13579         argument ATTRS, which is a tree representing an attribute list.
13580
13581         * c-decl.c (builtin_function): Accept additional parameter.
13582         * objc/objc-act.c (builtin_function): Likewise.
13583         * f/com.c (builtin_function): Likewise.
13584         * java/decl.c (builtin_function): Likewise.
13585         * ada/utils.c (builtin_function): Likewise.
13586         * cp/decl.c (builtin_function): Likewise.
13587         (builtin_function_1): Likewise.
13588
13589         * c-common.c (c_common_nodes_and_builtins): Pass an additional
13590         NULL_TREE argument to builtin_function.  (builtin_function_2):
13591         Likewise.
13592         * cp/call.c (build_java_interface_fn_ref): Likewise.
13593         * objc/objc-act.c (synth_module_prologue): Likewise.
13594         * java/decl.c (java_init_decl_processing): Likewise.
13595         * f/com.c (ffe_com_init_0): Likewise.
13596
13597         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
13598         NULL_TREE argument to builtin_function.
13599         * config/arm/arm.c (def_builtin): Likewise.
13600         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
13601         * config/i386/i386.c (def_builtin): Likewise.
13602         * config/ia64/ia64.c (def_builtin): Likewise.
13603         * config/rs6000/rs6000.c (def_builtin): Likewise.
13604
13605 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
13606
13607         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
13608         * config/mips/t-isa3264: Likewise.
13609         * config/mmix/t-mmix: Likewise.
13610
13611 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13612
13613         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
13614
13615 2002-07-01  Roger Sayle  <roger@eyesopen.com>
13616
13617         PR opt/4046
13618         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
13619         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
13620         B are truth values.
13621
13622 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
13623
13624         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
13625
13626 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
13627
13628         * README.Portability (Function prototypes): Give an example of
13629         declaring and defining a function with no arguments.
13630
13631         * README.Portability (Function prototypes): Document new
13632         variable-argument function macros.
13633
13634 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
13635
13636         * sh.c (langhooks.h): Include.
13637         (sh_init_builtins, sh_media_init_builtins): New functions.
13638         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
13639         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
13640         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
13641         (builtin_description): New struct tag.
13642         (signature_args, bdesc): New arrays.
13643         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
13644         (print_operand): Add 'N' modifier.
13645         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
13646         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
13647         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
13648         (CONST_COSTS): Add special case for SHmedia AND.
13649         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
13650         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
13651         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
13652         target_operand can also be const or unspec.
13653         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
13654         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
13655         (attribute type): Add new types.
13656         (anddi3): Add splitter.
13657         (movdi_const_16bit+1): Add code to handle vector constants and
13658         bitmasks efficiently.
13659         (shori_media): Have generator function made.
13660         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
13661         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
13662         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
13663         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
13664         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
13665         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
13666         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
13667         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
13668         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
13669         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
13670         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
13671         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
13672         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
13673         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
13674         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
13675         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
13676         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
13677         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
13678         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
13679         (ftrv): Likewise.
13680
13681         (fpu_switch+1, fpu_switch+2): Remove constraint.
13682
13683 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
13684
13685         * tree.c (build_function_type_list): Update function comment.
13686         Rename first argument to return_type.
13687
13688 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
13689
13690         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
13691         tradcif.y and related files.
13692
13693 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
13694
13695         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
13696
13697 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13698
13699         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
13700
13701 See ChangeLog.7 for earlier changes.