OSDN Git Service

dca13eff81a4744a2783b3db8e5bceaab022f755
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-12-17  Jason Merrill  <jason@redhat.com>
2
3         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
4         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
5
6         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
7
8         * calls.c (expand_call): Don't try to be clever about expanding
9         the return slot address.
10
11         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
12         with special struct-return ABIs.
13
14 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
15
16         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
17         Define.
18
19 2002-12-17  Jason Merrill  <jason@redhat.com>
20
21         * genmultilib: Use 'cd ./foo'.
22
23 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
24
25         * doc/c-tree.texi: Restore deliberate spelling mistakes.
26
27 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
28
29         * doc/c-tree.texi: Fix typos and follow spelling conventions.
30         * doc/cpp.texi: Likewise.
31         * doc/extend.texi: Likewise.
32         * doc/gty.texi: Likewise.
33         * doc/install.texi: Likewise.
34         * doc/invoke.texi: Likewise.
35         * doc/md.texi: Likewise.
36         * doc/passes.texi: Likewise.
37         * doc/rtl.texi: Likewise.
38         * doc/sourcebuild.texi: Likewise.
39         * doc/tm.texi: Likewise.
40
41 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
42
43         * doc/invoke.texi: Minor spelling and grammar fixes.
44
45 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
46
47         * config/s390/s390.c (s390_output_constant_pool): Replace
48         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
49
50 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
51
52         * convert.c (convert_to_real): Disable function transformation for
53         now.
54
55 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
56
57         * gcc.c (handle_braces): Allow '@' as a switch name.
58
59 2002-12-16  Jason Merrill  <jason@redhat.com>
60
61         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
62         with special struct-return ABIs.
63
64         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
65         doesn't match the begin SCOPE_STMT in partialness.
66
67 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
68
69         * genmultilib: Create temporary files in unique subdirectory.
70
71         * gcc.c (validate_switches): Allow '@' as a switch name.
72
73 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
74
75         * Makefile.in (gcov-iov.h): Improve portability.
76
77 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
78
79         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
80         gas
81         * mips.md (tablejump insn): Likewise.
82
83 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
84
85         * doc/include/gcc-common.texi: Change version number to 3.4.
86
87 2002-12-16  Bruce Korb  <bkorb@gnu.org>
88
89         * fixinc/fixlib.h: add: #include <signal.h>
90         * fixinc/fixincl.c: remove: #include <signal.h>
91
92 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
93
94         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
95         (EXTRA_CONSTRAINT): Use it.
96         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
97
98 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
99
100         * config.gcc (need_64bit_hwint): New variable.
101         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
102         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
103         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
104         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
105         Set it.
106         (powerpc*-*-darwin*): Unset it.
107         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
108         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
109         deleted/nonexistent xm-*.h headers.
110         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
111         target set need_64bit_hwint in config.gcc.
112         * configure, config.in: Regenerate.
113
114         * hwint.h: Overhaul.  Don't bother trying int for
115         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
116         decision to force 64-bit HOST_WIDE_INT on
117         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
118         not visible at this point.  Don't allow prior definition of
119         any macro defined by this file.
120
121         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
122         HOST_BITS_PER_WIDE_INT.
123         * config/c4x/c4x.h: Adjust redefinition of
124         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
125         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
126         config/i386/xm-i386-interix.h: Delete file.
127
128 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
129             John David Anglin  <dave@hiauly1.hia.nrc.ca>
130
131         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
132         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
133
134 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
135
136         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
137
138 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
139
140         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
141         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
142         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
143         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
144         config/v850/t-v850:  Correct dependencies and normalize
145         compilation commands for files that include coretypes.h and tm.h.
146
147         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
148         not config.h and system.h.
149
150 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
151
152         * i386.c (flags_reg_operand):  New function.
153         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
154         * i386.md (cmov splitter, movqicc): Use new predicate.
155
156 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
157
158         * i386.md (movqicc splitter): Fix template.
159
160 2002-12-13  Jason Merrill  <jason@redhat.com>
161
162         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
163         * calls.c (expand_call): Handle it.
164         * tree-inline.c (struct inline_data): Remove target_exprs field.
165         (optimize_inline_calls): Don't initialize it.
166         (expand_call_inline): Don't modify it.  Handle
167         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
168         (declare_return_variable): Take return slot addr.
169         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
170         to return_slot_addr.
171         * langhooks-def.h, langhooks.c: Adjust.
172         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
173         a decl with no DECL_INITIAL.
174
175         * expr.c (expand_expr): Don't discard the target of a call which
176         returns in memory.
177
178 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
179
180         * cppinit.c (path_include): Take an environment variable name.
181         Tidy up.
182         (init_standard_includes): Simplify environment handling, and
183         move to ...
184         (cpp_read_main_file): ...here as -nostdinc should not affect
185         environment variable paths.
186
187 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
188
189         * pa.c (output_millicode_call): Correct typo.
190         (output_call): Likewise.
191
192 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
193
194         * config/mn10300/mn10300.c (print_operand) <case N>: Check
195         operand's range.  Print value directly, without aid from
196         output_address.
197         <case U>: New.
198         <case S>: Make sure argument to fprintf has the right type.
199         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
200         (EXTRA_CONSTRAINT): Adjust.
201         * config/mn10300/mn10300.md: Add new all-QImode pattern for
202         bclr.  Use %U for immediate operands of bset and bclr.
203         (iorqi3): New expand, with insns for AM33 and mn10300.
204
205 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
206
207         * sh.c (sh_register_operand): New function.
208         (prepare_move_operands): Use it.
209         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
210         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
211         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
212         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
213         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
214         (movv2si_i): Likewise.
215
216 2002-12-13  Jim Wilson  <wilson@redhat.com>
217
218         * doc/extend.texi (Complex Numbers): Update info on debug info.
219
220 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
221
222         * config/h8300/h8300.md (addhi3_h8300): Remove the last
223         alternative.
224
225 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
226
227         * hooks.h (hook_tree_tree_bool_false): Declare
228         hook_bool_tree_tree_false instead.
229
230 2002-12-12  Devang Patel  <dpatel@apple.com>
231
232         * doc/invoke.texi: Document Darwin linker options, -bundle
233         -bind_at_load, -all_load and -arch_errors_fatal
234
235 2002-12-12  Jim Wilson  <wilson@redhat.com>
236
237         * dbxout.c (dbxout_fptype_value): New.
238         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
239
240 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
241
242         * c-decl.c: Fix a comment typo.
243         * cfg.c: Likewise.
244         * cfgcleanup.c: Likewise.
245         * cfglayout.c: Likewise.
246         * cfgrtl.c: Likewise.
247         * c-typeck.c: Likewise.
248         * dominance.c: Likewise.
249         * dwarf2asm.c: Likewise.
250         * dwarfout.c: Likewise.
251         * expmed.c: Likewise.
252         * expr.c: Likewise.
253         * final.c: Likewise.
254         * flow.c: Likewise.
255         * function.c: Likewise.
256         * gcc.c: Likewise.
257         * genautomata.c: Likewise.
258         * integrate.c: Likewise.
259         * loop.c: Likewise.
260         * loop.h: Likewise.
261         * output.h: Likewise.
262         * profile.c: Likewise.
263         * ra.h: Likewise.
264         * reload1.c: Likewise.
265         * reload.c: Likewise.
266         * sched-rgn.c: Likewise.
267         * stmt.c: Likewise.
268         * tree.h: Likewise.
269         * vmsdbgout.c: Likewise.
270
271 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
272
273         * config/h8300/h8300.md: Add a new peephole2.
274
275 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
276
277         * config/h8300/h8300.md (a peephole2): Accept a constant
278         that's accepted by CONST_OK_FOR_J.
279
280 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
281
282         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
283         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
284         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
285         (*addhi_h8300hs): Likewise.
286
287 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
288
289         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
290         (sh_register_move_cost): Add clause for SImode fp-fp moves.
291         Increase cost for moves involving multiple general purpose registers.
292         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
293         TARGET_FMOVD.
294         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
295         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
296         (enum reg_class reg_class_from_letter): No longer const.
297         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
298         REGCLASS_HAS_GENERAL_REG.
299         Handle SImode moves from/to fp registers.
300         ! TARGET_SHMEDIA && TARGET_FMOVD.
301         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
302         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
303
304 2002-12-12  Andreas Schwab  <schwab@suse.de>
305
306         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
307         change and some warnings.
308
309 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
310
311         * doc/md.texi (pushm): Fix a typo.
312
313 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
314
315         * config/mips/mips.c (mips_output_conditional_branch): Support
316         PIC-safe out-of-range branch and branch-likely.
317         * config/mips/mips.md (attr length): PIC-safe out-of-range
318         branches are longer.
319         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
320         unused code to support indirect jumps.
321
322 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
323
324         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
325         $(tm_file_list).
326
327 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
328
329         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
330
331 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
332
333         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
334
335 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
336
337         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
338         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
339         BIGGEST_ALIGNMENT.
340         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
341         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
342
343 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
344
345         * doc/invoke.texi: Correct dump file names.
346
347 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
348
349         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
350         name to globalize_label or assemble_name.
351
352 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
353
354         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
355         if not TARGET_SHMEDIA.
356
357 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
358
359         * sh.h (REG_CLASS_HAS_FP_REG): New.
360         (REGISTER_MOVE_COST) Use it.  Put body into a function and
361         move it into:
362         * sh.c (sh_register_move_cost).
363         * sh-protos.h (sh_register_move_cost): Declare.
364
365         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
366         (sh_adjust_cost): Always return a value.
367
368 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
369
370         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
371         (REGISTER_MOVE_COST): Use it.
372
373 2002-12-11  Richard Henderson  <rth@redhat.com>
374
375         * tree.h (MODULE_LOCAL_P): Kill.
376         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
377
378 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
379
380         * config/h8300/h8300.md (two define_peephole2): New.
381
382 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
383
384         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
385         (CONST_OK_FOR_K): Likewise.
386         (CONST_OK_FOR_M): Likewise.
387         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
388
389 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
390
391         * c-common.c (builtin_define_type_max): Handle unsigned
392         types too.
393
394 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
395
396         * haifa-sched.c (rank_for_schedule): Correct style.
397
398 2002-12-10  Per Bothner  <pbothner@apple.com>
399
400         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
401         directive_index into an unsigned field and a new is_directive field.
402         * cppinit.c (mark_named_operators):  Update to set new fields.
403         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
404         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
405         No longer need to subtract 1 from directive_index.
406         (_cpp_init_directives):  No longer need to add 1 to directive_index.
407         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
408
409 2002-12-10  Roger Sayle  <roger@eyesopen.com>
410
411         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
412         check for evaluating sqrt of a constant at compile time.
413         * simplify-rtx.c (simplify_unary_operation): Likewise.
414
415 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
416
417         PR other/8882
418         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
419
420 2002-12-10  Devang Patel  <dpatel@appple.com>
421
422         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
423         * doc/invoke.texi: Add new "Darwin Options" section.
424
425 2002-12-10  Jim Wilson  <wilson@redhat.com>
426
427         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
428         memory.
429
430 2002-12-10  Andrew Haley  <aph@redhat.com>
431
432         * cse.c (cse_insn): Don't cse past a basic block boundary.
433
434 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
435
436         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
437         -shared.
438         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
439         * config/alpha/linux.h (LIB_SPEC): Likewise.
440         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
441         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
442         * config/sparc/linux.h (LIB_SPEC): Likewise.
443         * config/sparc/linux64.h (LIB_SPEC): Likewise.
444
445 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
446
447         * doc/invoke.texi: Document UltraSparc III option.
448
449 2002-12-09  Richard Henderson  <rth@redhat.com>
450
451         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
452         __tune_pentium2__ and __tune_pentium3__ as necessary.
453
454 2002-12-09  Richard Henderson  <rth@redhat.com>
455
456         * target.h (gcc_target): Add cannot_force_const_mem.
457         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
458         (TARGET_INITIALIZER): Add it.
459         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
460         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
461         * reload1.c (reload): Likewise.
462         * hooks.c (hook_bool_rtx_false): New.
463         * hooks.h: Declare it.
464
465         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
466         (TARGET_CANNOT_FORCE_CONST_MEM): New.
467         (ix86_expand_move): Remove de-const-pooling hack.
468
469 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
470
471         * toplev.c (dump_file): Fix order to match reality.
472
473 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
474
475         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
476         (store_multiple): Likewise.
477
478 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
479
480         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
481         function pointers in page 0.
482
483 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
484
485         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
486         definition
487         (MEMBER_TYPE_FORCES_BLK): Move.
488         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
489         aggregate arguments.
490         (ia64_function_value): Use PARALLEL to return aggregate values.
491
492 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
493
494         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
495         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
496         * calls.c (store_unaligned_arguments_into_pseudos) Remove
497         FUNCTION_ARG_REG_LITTLE_ENDIAN.
498         * stmt.c (expand_return): Ditto.
499         * expr.c (move_block_from_reg): Ditto.
500         (copy_blkmode_from_reg): Ditto.
501         * expmed.c (store_bit_field): Ditto.
502
503 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
504
505         * config.gcc: Added tic4x-* target as an alias to c4x-*
506
507 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
508
509         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
510         constructing insn directly.
511
512 2002-12-06  Per Bothner  <pbothner@apple.com>
513
514         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
515         char to an int bit-field, for hosts where char is unsigned.
516
517 2002-12-07  Roger Sayle  <roger@eyesopen.com>
518             Richard Henderson <rth@redhat.com>
519
520         * real.c (ieee_extended_motorola_format,
521         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
522         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
523         Provide appropriate values for new signbit field.
524
525 2002-12-07  Roger Sayle  <roger@eyesopen.com>
526
527         * real.h (real_format): Add signbit field.
528         * real.c (ieee_single_format, ieee_double_format,
529         ieee_extended_motorola_format, ieee_extended_intel_96_format,
530         ieee_extended_intel_128_format, ibm_extended_format,
531         ieee_quad_format, vax_f_format, vax_d_format,
532         vax_g_format, i370_single_format, i370_double_format,
533         c4x_single_format, c4x_extended_format, real_internal_format):
534         Provide suitable signbit value, or -1 to avoid bit twiddling.
535
536         * optabs.c (expand_unop): Try implementing negation of
537         floating point modes by flipping the sign bit.
538         (expand_abs): Try implementing abs of floating point modes
539         by clearing the sign bit.
540
541 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
542
543         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
544         of constructing insn directly.
545
546 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
547
548         * config/h8300/h8300.md (*iorhi_shift_8): New.
549
550 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
551
552         * doc/invoke.texi: Document FRV port options.
553         * doc/md.texi: Document FRV register classes.
554
555 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
556
557         * doc/install.texi (Configuration): Improve description of cases
558         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
559
560 2002-12-06  Per Bothner  <pbothner@apple.com>
561
562         * cpplib.h (NODE_MACRO_ARG):  New flag.
563         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
564         Remove value.operator field.  Move arg_index field to value union.
565         (directive_index):  Make signed, since also used for C++ operators.
566         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
567         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
568         Save node->value, and set node->value.arg_index.
569         (_cpp_create_definition):  For each paramater, restore node->value.
570         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
571         * cpptrad.c (scan_out_logical_line): Likewise.
572         (scan_out_logical_line): Check for directive > 0.
573         * cpplib.c (cpp_handle_directive):  Likewise.
574         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
575         by negative of directive_index.
576         * cppinit.c (mark_named_operators):  Likewise.
577
578         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
579
580 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
581
582         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
583         FPU.
584         (push): Generate push_fpscr.
585         (pop): Generate pop_fpscr.
586         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
587         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
588
589 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
590
591         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
592         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
593
594 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
595
596         * sh.md (movdi_i): Name.  Remove inappropriate comment.
597
598 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
599         Merged from basic improvements branch (excerpt):
600
601         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
602         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
603
604 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
605
606         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
607
608 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
609
610         * i386.md (dimode peep2s): Re-add "&& 1".
611
612 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
613
614         * i386.c (ix86_expand_prologue):  Add comment, do not use
615         fast prologues for cold and normal functions.
616
617 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
618
619         * i386.c (x86_rep_movl_optimal): New variable.
620         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
621         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
622
623         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
624         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
625         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
626         generate unnecesary subregs.
627
628 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
629
630         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
631         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
632
633 2002-12-05  Dale Johannesen  <dalej@apple.com>
634
635         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
636
637 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
638
639         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
640         PROFILE_HOOK.
641         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
642
643 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
644
645         * config/rs6000/spe.h (__ev_mwlufi): Remove.
646         (__ev_mwlufia): Remove.
647         (__ev_mwlumfaaw): Remove.
648         (__ev_mwlusfaaw): Remove.
649         (__ev_mwlumfanw): Remove.
650         (__ev_mwlusfanw): Remove.
651
652 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
653
654         * config/h8300/h8300.md (*andorsi3_shift_8): New.
655
656 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
657
658         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
659         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
660         (get_shift_alg): Return optimal assembly instructions for the
661         shifts mentioned above.
662
663 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
664
665         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
666         condtiional moves.
667
668 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
669
670         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
671         implement ashiftrt:HI by 13 bits on H8S.
672
673 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
674
675         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
676         * pa.md (canonicalize_funcptr_for_compare): Output library call to
677         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
678         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
679         CTOR_LIST_BEGIN): New defines.
680         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
681         (fptr.c): Add make rules.
682
683 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
684
685         * combine.c (combine_simplify_rtx): Add new canonicalizations.
686         * doc/md.texi (Insn Canonicalizations): Document new
687         canonicalizations for multiply/add combinations.
688         * config/rs6000/rs6000.md: Add and modify floating add/multiply
689         patterns to ensure they're used whenever they can be.
690
691 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
692
693         * config/h8300/h8300.c: Update the comments related to shifts.
694
695 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
696
697         * config/mips/mips.md (get_fnaddr): Correct length attribute.
698
699 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
700
701         * config/h8300/h8300.md (*extzv_8_8): New.
702         (*extzv_8_16): Likewise.
703
704 2002-12-04  Jason Merrill  <jason@redhat.com>
705
706         PR c++/8461, c++/8625
707         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
708         references.
709         * tree-inline.c (initialize_inlined_parameters): Likewise.
710
711         * tree.c (variably_modified_type_p): Just return an error_mark_node.
712
713 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
714
715         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
716         macro instruction in a branch delay slot, to avoid assembler
717         warnings.
718
719 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
720
721         PR c/7622
722         * c-semantics (genrtl_scope_stmt): Do not output inlined
723         nested functions that contain no code.
724
725 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
726
727         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
728         to be forced into nonfallthru.
729
730 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
731
732         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
733
734 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
735
736         * config/rs6000/spe.md (*movv1di_const0): New pattern.
737
738 2002-12-03  Richard Henderson  <rth@redhat.com>
739
740         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
741
742 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
743
744         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
745         Initialize tmp.using_obstack to 0.
746
747 2002-12-03  Andreas Schwab  <schwab@suse.de>
748
749         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
750         (EH_RETURN_STACKADJ_RTX): Define.
751         (EH_RETURN_HANDLER_RTX): Define.
752         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
753         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
754         registers and don't save fixed registers.
755         (m68k_output_function_prologue): Use it.
756         (use_return_insn): Likewise.
757         (m68k_output_function_epilogue): Likewise.
758
759 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
760
761         * config/h8300/h8300.c (single_one_operand): Fix a warning.
762         (single_zero_operand): Likewise.
763
764 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
765
766         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
767         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
768         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
769         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
770         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
771         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
772         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
773         doc/install-old.texi: Replace hconfig.h with bconfig.h.
774         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
775
776 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
777
778         * config/rs6000/rs6000.md (ffssi): Convert to expander.
779         (ffsdi): Likewise.
780         (cntlzw2, cntlzd2): New patterns.
781
782 2002-12-02  H.J. Lu <hjl@gnu.org>
783
784         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
785         (mips*-*-linux*): Remove mips/t-linux.
786
787 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
788
789         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
790
791 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
792
793         * config/h8300/h8300.c (dosize): Replace argument op with
794         sign.
795         (h8300_output_function_prologue): Update the call to dosize.
796         (h8300_output_function_epilogue): Likewise.
797
798 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
799
800         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
801
802 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
803
804         * configure.in: Use "missing" script to generate warning if
805         flex or bison programs not found, instead of invoking "false".
806         * configure: Rebuilt.
807
808 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
809
810         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
811
812 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
813
814         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
815
816 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
817
818         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
819         (push): Likewise.
820         (pop): Likewise.
821         (h8300_output_function_prologue): Likewise.
822         (h8300_output_function_epilogue): Likewise.
823
824 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
825
826         * expmed.c (store_bit_field): Use int_mode_for_mode to find
827         corresponding mode of non-integer mode, unless it is VOIDmode.
828
829 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
830
831         * config/h8300/h8300.md (stm_h8300s_2): New.
832         (stm_h8300s_3): Likewise.
833         (stm_h8300s_4): Likewise.
834         (five define_peephole2): Likewise.
835
836 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
837
838         * ra-build.c: Fix a comment typo.
839
840 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
841
842         * i386.c (ix86_expand_int_movcc): fix
843         reversed BRANCH_COST test; be curefull about infinite recursion.
844
845 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
846
847         * config/h8300/h8300.c (h8300_output_function_prologue):
848         Remove variable idx.
849         (h8300_output_function_epilogue): Likewise.
850
851 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
852
853         * config/frv/xm-frv.h: Delete, unnecessary.
854
855 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
856
857         * config/h8300/h8300.md: Add comments for define_peephole2.
858
859 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
860
861         * builtin-types.def (BT_SIZE): Use size_type_node.
862         * builtins.c (fold_builtin): Make the builtin strlen returns a
863         size_t, not a sizetype.
864         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
865         c_size_type_node.
866         (c_alignof_expr): Likewise.
867         (c_common_nodes_and_builtins): Likewise.
868         * c-common.h (CTI_C_SIZE_TYPE): Remove.
869         (c_size_type_node): Likewise.
870         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
871         * tree.h (TI_SIZE_TYPE): New enumeral.
872         (size_type_node): Likewise.
873
874 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
875
876         * configure.in: Don't put ${tm_file} into host_xm_file,
877         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
878         Take location of tm-preds.h into account when calculating
879         tm_p_file_list.
880         * configure: Regenerate.
881         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
882         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
883         Remove special case code for tm_p.h and *config.h; add new
884         special case code for tm.h and tconfig.h. Clean up a bit.
885
886         * Makefile.in (tm_file, tm_file_list): New variables set from
887         @-substitutions.
888         (GCONFIG_H): Deleted.
889         (GTM_H, TM_H): New.
890         (CONFIG_H): Is now just config.h $(host_xm_file_list).
891         (TM_P_H): Move up with the other mkconfig.sh-generated
892         headers; don't mention tm-preds.h explicitly.
893         (tm.h, cs-tm.h): New rule.
894         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
895         invocations of mkconfig.sh for changes to that program.
896         (mostlyclean): Delete print-rtl1.c.
897         (clean): Delete tm.h.
898         Update dependencies for the files listed below.
899
900         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
901
902         * coretypes.h: New file.
903         * system.h: #define malloc to xmalloc and realloc to xrealloc
904         when FLEX_SCANNER or YYBISON is defined, independent of the
905         value of GCC_VERSION.
906         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
907         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
908         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
909         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
910         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
911         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
912         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
913         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
914         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
915         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
916         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
917         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
918         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
919         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
920         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
921         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
922         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
923         genconstants.c, genemit.c, genextract.c, genflags.c,
924         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
925         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
926         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
927         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
928         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
929         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
930         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
931         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
932         print-tree.c, profile.c, protoize.c, ra-build.c,
933         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
934         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
935         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
936         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
937         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
938         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
939         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
940         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
941         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
942         xcoffout.c, config/darwin-c.c, config/darwin.c,
943         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
944         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
945         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
946         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
947         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
948         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
949         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
950         config/i960/i960-c.c, config/i960/i960.c,
951         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
952         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
953         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
954         config/mips/irix6-libc-compat.c, config/mips/mips.c,
955         config/mmix/mmix.c, config/mn10200/mn10200.c,
956         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
957         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
958         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
959         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
960         config/sparc/sparc.c, config/stormy16/stormy16.c,
961         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
962         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
963         Include coretypes.h and tm.h.
964
965         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
966         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
967         genrecog.c: Include coretypes.h and tm.h from the file
968         generated by this program.
969
970         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
971         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
972         coretypes.h and tm.h, and tsystem.h when not already included.
973         No need to include stddef.h nor stdlib.h.
974
975         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
976         include auto-host.h or ansidecl.h/
977         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
978         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
979         include auto-host.h, ansidecl.h, or system.h.
980         * fixinc/server.c: Likewise.  Also, do not include signal.h,
981         and do not redefine volatile.
982
983 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
984
985         * i386.md (movdf_integer):  Always enable in 64bit.
986         (movdf_nointeger): Always disable in 64bit.
987
988 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
989
990         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
991         pseudo register number plus 1.
992
993 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
994
995         * expmed.c (store_bit_field): Use int_mode_for_mode to find
996         corresponding mode of non-integer mode, unless it is VOIDmode.
997
998 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
999
1000         * cpplib.c (_cpp_test_assertion): Default *value to 0.
1001
1002         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
1003
1004 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
1005
1006         * config/s390/t-crtstuff: New target makefile fragment.
1007         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
1008
1009 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1010
1011         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
1012         alternatives to correct the length when the memory operand is
1013         either pre_dec or post_inc.
1014
1015 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1016
1017         * config/h8300/h8300.md (an anonymous pattern): Give an
1018         internal name *tst_extzv_bitqi_1_n.
1019         Accept bit_operand instead of bit_memory_operand.
1020         Do not accept bit tests with the MSB.
1021         (*tst_extzv_memqi_1_n): New.
1022
1023 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
1024
1025         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
1026         sharing when operand is SUBREG.
1027
1028 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
1029
1030         * athlon.md (athlon-decodev): New reservation unit.
1031         (athlon-direct0): New reservation.
1032         (athlon-vector): New use athlon-decodev.
1033         (athlon-double, athlon-direct): Better model.
1034         (athlon_imul_k8): Use athlon-direct0.
1035         (athlon_movlpd_load): New insn reservation.
1036
1037 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1038
1039         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
1040         Fix a comment typo.
1041         (h8300_tiny_constant_address_p): Likewise.
1042
1043 2002-11-28  Michael Matz  <matz@suse.de>
1044
1045         * doc/passes.texi: Mention the other register allocator.
1046
1047 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1048
1049         * config/h8300/h8300.md (6 new peephole2 patterns): New.
1050
1051 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
1052
1053         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
1054         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
1055         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
1056
1057 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1058
1059         * config/h8300/h8300.c (h8300_and_costs): New.
1060         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
1061         * config/h8300/h8300-protos.h: Add a prototype for
1062         h8300_and_costs.
1063
1064 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
1065
1066         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
1067         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
1068         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
1069         * i386.md (truncdfsf patterns and splitters): Use
1070         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
1071
1072 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
1073
1074         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
1075         pointer argument in the prototypes of the following builtins
1076         be (const TYPE *) rather than (TYPE *):
1077          + __builtin_altivec_ld_internal_4sf
1078          + __builtin_altivec_ld_internal_4si
1079          + __builtin_altivec_ld_internal_8hi
1080          + __builtin_altivec_ld_internal_16qi
1081          + __builtin_altivec_lvsl
1082          + __builtin_altivec_lvsr
1083          + __builtin_altivec_lvebx
1084          + __builtin_altivec_lvehx
1085          + __builtin_altivec_lvewx
1086          + __builtin_altivec_lvxl
1087          + __builtin_altivec_lvx
1088          + __builtin_altivec_dst
1089          + __builtin_altivec_dstt
1090          + __builtin_altivec_dstst
1091          + __builtin_altivec_dststt
1092
1093 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1094
1095         * except.c (default_exception_section): Move variable into the
1096         scope where it is used.
1097
1098 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
1099
1100         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
1101         correct version.
1102
1103 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1104
1105         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
1106
1107 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1108
1109         * config/h8300/h8300.c (h8300_shift_costs): New.
1110         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
1111         * config/h8300/h8300-protos.h: Add a prototype for
1112         h8300_shift_costs.
1113
1114 2002-11-27  Jim Wilson  <wilson@redhat.com>
1115
1116         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
1117         in output template.
1118
1119 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
1120
1121         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
1122         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
1123         DLL_IMPORT_EXPORT_PREFIX, not '@'.
1124         (i386_pe_dllimport_name_p): Likewise.
1125         (i386_pe_mark_dllexport): Likewise.
1126         (i386_pe_mark_dllimport): Likewise.
1127         (i386_pe_encode_section_info): Likewise.
1128         (i386_pe_strip_name_encoding): Likewise.
1129
1130 2002-11-27  Richard Henderson  <rth@redhat.com>
1131
1132         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
1133         (nm && NF == 3): Set sawsymbol true.
1134         (END): Exit if no symbols seen.
1135         (output): Fix map syntax error if no globals for the version.
1136
1137 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
1138
1139         * builtins.def (DEF_C99_BUILTIN): Fix.
1140
1141 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
1142
1143         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
1144         (all): Add .size and .type information.
1145
1146 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
1147
1148         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
1149         partial_reg_stall target.
1150
1151 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1152
1153         * i386.md (movhicc): Allow general operand.
1154         (movqicc): New expander.
1155         (movqicc_noc): New pattern.
1156         * i386.c (ix86_expand_carry_flag_compare): New function.
1157         (ix86_expand_int_movcc): Optimize harder using sbb; support more
1158         HImode conversion; support QImode conditional moves
1159
1160 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
1161
1162         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
1163         (ix86_expand_prologue): Multiply the count by amount of registers to be
1164         pushed.
1165
1166 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
1167
1168         * i386.c (override_options): Error about wrong -mcpu on x86-64
1169         compilation.
1170
1171 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
1172
1173         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
1174
1175 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
1176
1177         * i386-protos.h (x86_extended_QIreg_mentioned_p,
1178         x86_extended_reg_mentioned_p): Declare.
1179         * i386.c (extended_reg_mentioned_1): New static function.
1180         (x86_extended_QIreg_mentioned_p,
1181         x86_extended_reg_mentioned_p): New global functions.
1182         * i386.h (REX_SSE_REGNO_P): New macro.
1183         * i386.md (prefix_rex): New attribute.
1184         (length attribute): Add rex.
1185
1186 2002-11-26  Andrew Haley  <aph@redhat.com>
1187
1188         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
1189         from_Unwind_Find_Enclosing_Function.
1190         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
1191         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
1192         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
1193         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
1194         * unwind.h (_Unwind_FindEnclosingFunction): Add.
1195
1196 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1197
1198         * config/s390/s390.c (390_output_constant_pool): Set alignment
1199         before label in 64 bit mode, behind otherwise.
1200
1201 2002-11-26  Richard Henderson  <rth@redhat.com>
1202
1203         * c-common.c (handle_visibility_attribute): Accept "default".
1204         * tree.h (enum symbol_visibility): New.
1205         (decl_visibility): Declare.
1206         * target.h (gcc_target.visibility): Take visibility arg as integer.
1207         * varasm.c (default_assemble_visibility): Likewise.
1208         (decl_visibility): New.
1209         (maybe_assemble_visibility): Use it.
1210         * output.h (default_assemble_visibility): Update prototype.
1211         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
1212         visibility arg as integer.
1213         * doc/extend.texi: Document default visibility.
1214
1215 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
1216
1217         * config/h8300/h8300.c: Adjust spacing.
1218         * config/h8300/h8300.h: Likewise.
1219
1220 2002-11-26  Richard Henderson  <rth@redhat.com>
1221
1222         * hooks.c (hook_bool_void_false, hook_void_tree_int,
1223         hook_void_FILEptr_constcharptr): Rename so that the return
1224         type is first.
1225         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
1226         hook_bool_tree_false): New.
1227         * hooks.h: Update.
1228         * langhooks-def.h: Update for renames.
1229         * target-def.h: Likewise.
1230         * tree.c (default_comp_type_attributes,
1231         default_set_default_type_attributes, default_insert_attributes,
1232         default_function_attribute_inlinable_p,
1233         default_ms_bitfield_layout_p): Remove.
1234         * tree.h: Update.
1235
1236 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1237
1238         * pa-protos.h (function_value): New prototype.
1239         * pa.c (function_value): Use a PARALLEL to return small aggregates on
1240         TARGET_64BIT.
1241         * pa.h (FUNCTION_VALUE): Use function_value.
1242         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
1243         call_value_internal_reg, sibcall_value_internal_symref,
1244         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
1245         value.
1246
1247 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1248
1249         * expr.c (gen_group_rtx, emit_group_move): New functions.
1250         * expr.h (gen_group_rtx, emit_group_move): Prototype.
1251         * function.c (expand_function_start): Use gen_group_rtx to create a
1252         PARALLEL rtx to hold the return value when the real return rtx is a
1253         PARALLEL.
1254         (expand_function_end): Use emit_group_move to move the return value
1255         from a PARALLEL to the real return registers.
1256         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
1257         in PARALLELs.
1258
1259 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1260
1261         * config/t-libc-ok: Fix typo.
1262
1263 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1264
1265         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
1266         before AC_PROG_CC.
1267         * configure: Rebuilt.
1268
1269 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
1270
1271         * c-decl.c: (start_struct): Commonize flag setting.
1272
1273 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1274
1275         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
1276         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
1277         RS6000_CPU_CPP_ENDIAN_BUILTINS.
1278         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
1279
1280 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1281
1282         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
1283         insns.
1284         * config/s390/s390.c (struct machine_function): Introduction of
1285         struct machine_function.
1286         (s390_output_symbolic_const): Use of cfun.
1287         (s390_optimize_prolog): Likewise.
1288         (s390_fixup_clobbered_return_reg): Likewise.
1289         (s390_frame_info): Likewise.
1290         (s390_emit_prologue, s390_emit_epilogue): Likewise.
1291         (s390_init_machine_status): New function.
1292         (override_options): call s390_init_machine_status.
1293         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
1294         prototype.
1295
1296 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1297
1298         * varasm.c (output_constant_pool): For pool constants in mergeable
1299         section ensure each constant is padded to multiple of entity size.
1300
1301 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1302
1303         * varasm.c (default_exception_section): Move to...
1304         * except.c (default_exception_section): ... here. Make
1305         .gcc_except_table read-only if it is not expected to have any
1306         dynamic relocations and linker handles it.
1307         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
1308         if it is not expected to have any dynamic relocations and linker
1309         handles it.
1310         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
1311         when linking read-only and read-write sections together.
1312         * configure, config.in: Rebuilt.
1313         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
1314         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
1315
1316 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
1317
1318         * i386.md (pushsf_rex64): Fix typo.
1319
1320 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1321
1322         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
1323         new function.
1324         (__ev_create_ufix32_fs): Same.
1325         (__ev_get_sfix32_fs_internal): New.
1326         (__ev_get_sfix32_fs): Define to use function.
1327         (__ev_get_ufix32_fs_internal): New.
1328         (__ev_get_ufix32_fs): Define to use function.
1329         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
1330         (__ev_get_lower_ufix32_fs): Same.
1331         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
1332         (__ev_get_lower_sfix32_fs): Same.
1333         (__ev_set_sfix32_fs_internal): New.
1334         (__ev_set_ufix32_fs_internal): New.
1335         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
1336         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
1337         (__ev_set_upper_sfix32_fs): Call function.
1338         (__ev_set_lower_sfix32_fs): Same.
1339         (__ev_set_upper_ufix32_fs): Same.
1340         (__ev_set_lower_ufix32_fs): Same.
1341
1342 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
1343
1344         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
1345
1346 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1347
1348         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
1349         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1350         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1351         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
1352         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
1353         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1354         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
1355         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
1356         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1357         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1358         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
1359         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
1360         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
1361         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1362         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
1363         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
1364         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
1365         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
1366         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
1367         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
1368         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1369         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
1370         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
1371         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
1372         defining.
1373         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
1374         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
1375
1376 2002-11-25  Dave Pitts  <dpitts@cozx.com>
1377
1378         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
1379
1380 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
1381
1382         * config/h8300/h8300.md (an anonymous pattern): New.
1383
1384 2002-11-25  Richard Henderson  <rth@redhat.com>
1385
1386         * alias.c (find_base_value): Use new_reg_base_value if it's live.
1387         (copying_arguments): Make boolean.
1388
1389 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1390
1391         * gcc.c (static_spec_functions): Add if-exists-else spec
1392         function.
1393         (if_exists_else_spec_function): New function.
1394         * doc/invoke.texi: Document the if-exists-else spec function.
1395
1396         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
1397         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
1398
1399 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1400
1401         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
1402         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
1403         "${tmake_file} rs6000/t-netbsd".
1404         * config/rs6000/netbsd.h: Rewrite.
1405         * config/rs6000/t-netbsd: New file.
1406
1407 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
1408
1409         * config/h8300/h8300.md (an anonymous pattern): Relax the
1410         condition for the pattern.
1411
1412 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1413
1414         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
1415         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
1416         evmwlssfanw, evmwlsmfanw.
1417
1418         * config/rs6000/rs6000.c (bdesc_2arg): Same.
1419
1420         * config/rs6000/spe.md: Same for patterns.
1421
1422 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
1423
1424         PR c/8639
1425         * fold-const.c (extract_muldiv): Don't propagate division unless
1426         both arguments are multiples of C.
1427
1428 2002-11-25  Andrew Haley  <aph@redhat.com>
1429
1430         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
1431         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
1432         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
1433         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
1434
1435 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
1436
1437         * i386.c (x86_use_ffreep): New global variable.
1438         * i386.h (x86_use_frfeep): Declare
1439         (TARGET_USE_FFREEP): New macro
1440         * i386.md  (movs?f*): Use freep when asked for.
1441         (push?f): Remove dead code.
1442
1443 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1444
1445         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
1446         target help message.
1447
1448 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1449
1450         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
1451         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
1452         crtbeginT.o".
1453         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
1454         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
1455         to "" for a.out configurations.
1456         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
1457
1458 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1459
1460         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
1461         NETBSD_CPP_SPEC directly.
1462         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
1463         netbsd_endfile_spec.
1464         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
1465
1466 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1467
1468         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
1469         NETBSD_STARTFILE_SPEC.
1470         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
1471         (ENDFILE_SPEC): Likewise.
1472         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
1473
1474 2002-11-24  Andreas Schwab  <schwab@suse.de>
1475
1476         * Makefile.in (install-driver): Remove versioned link before
1477         trying to create it.
1478
1479         * config/m68k/m68k.c: Fix typo in last change defining
1480         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
1481
1482 2002-11-23  H.J. Lu <hjl@gnu.org>
1483
1484         * aclocal.m4: Include ../config/accross.m4.
1485         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
1486         (gcc_AC_C_COMPILE_ENDIAN): Removed.
1487         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
1488         instead of $ac_cv_c_compile_endian.
1489
1490         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
1491         AC_COMPILE_CHECK_SIZEOF.
1492         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
1493         * configure: Rebuild.
1494
1495 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
1496
1497         * config/h8300/h8300.c (print_operand): Update the use of
1498         h8300_tiny_constant_address_p.
1499         (h8300_adjust_insn_length): Likewise.
1500         (h8300_tiny_constant_address_p): Check if the given rtx is a
1501         variable declared with __attribute__ ((tiny_data)).
1502
1503 2002-11-22  Dale Johannesen  <dalej@apple.com>
1504
1505         * toplev.c (rest_of_compilation):  Fix comments.
1506
1507 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
1508
1509         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
1510         allow mmap from /dev/zero.  Don't make decisions for the host
1511         based on presence or absence of /dev/zero on the build machine.
1512         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
1513         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
1514         * configure: Regenerate.
1515
1516 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
1517
1518         * gcc.c (make_relative_prefix, split_directories)
1519         (free_split_directories): Removed.
1520
1521 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
1522
1523         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
1524         * configure: Regenerated.
1525
1526 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
1527
1528         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
1529         length computation when xor.l is output.
1530
1531 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
1532
1533         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
1534         (call_vms_1, call_value_vms_1): Cleanup syntax.
1535
1536 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
1537
1538         * athlon.md (define_atuomaton): Add athlon_load.
1539         (athlon-double): New reservation.
1540         (athlon-ieu0): New CPU unit.
1541         (athlon-load?): Use athlon_load automaton.
1542         (*_k8 reservations): New.
1543         (other insn revervations): Activate for K8.
1544
1545 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
1546
1547         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
1548
1549 2002-11-21  Jim Wilson  <wilson@redhat.com>
1550
1551         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
1552         vectors to SI.
1553
1554 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
1555
1556         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
1557         * config/xtensa/xtensa.c (struct machine_function): Add
1558         incoming_a7_copied flag.
1559         (xtensa_copy_incoming_a7): Define.
1560         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
1561         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
1562
1563 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
1564
1565         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
1566         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
1567         x86_64_nonmemory_operand, x86_64_movabs_operand,
1568         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
1569         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
1570         (local_symbolic_operand): Do not care the 64bit limits.
1571         (x86_64_sign_extended_value): Remove allow_rip support.
1572         (legitimate_pic_address_disp_p): Handle all cases allowed
1573         with RIP addressing.
1574         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
1575         (legitimize_pic_address): Reorganize.
1576         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
1577
1578 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1579
1580         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
1581         * config/arm/netbsd-elf.h: New file.
1582
1583 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1584
1585         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
1586         subtarget_asm_float_spec.
1587         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
1588         defaults from...
1589         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
1590
1591 2002-11-21  Nick Clifton  <nickc@redhat.com>
1592
1593         * config/fr30/fr30.md (movsf_constant_store): Move code to
1594         detect 0.0 into fr30.c.
1595         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
1596         Prototype.
1597         * config/fr30/fr30.c (fr30_const_double_is_zero): New
1598         function.  Return true if the rtx is 0.0.
1599
1600 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1601
1602         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
1603         if -mlittle-endian is specified.
1604
1605 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
1606
1607         PR optimization/2903
1608         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
1609         (anddi_notsesidi_di): Likewise.
1610
1611 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
1612
1613         * config/h8300/h8300.c (print_operand): Use
1614         h8300_eightbit_constant_address_p and
1615         h8300_tiny_constant_address_p.
1616         (h8300_adjust_insn_length): Likewise.
1617         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
1618         (TINY_CONSTANT_ADDRESS_P): Likewise.
1619         (OK_FOR_U): Use eightbit_constant_address_p.
1620
1621 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
1622
1623         * config/s390/libgcc-libc.ver: Add multilib support.
1624         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
1625         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
1626         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
1627         EXTRA_MULTILIB_PARTS): Define.
1628
1629 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
1630
1631         * arm.c (arm_get_frame_size): A leaf function does not need its
1632         stack padding to an aligned boundary if it has no frame.
1633         (thumb_get_frame_size): Likewise.
1634
1635 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
1636
1637         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
1638         (override_options): Likewise.
1639
1640 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
1641
1642         * config.gcc: Add k8 target alias support
1643         * i386.c (_cost): Declare costs for various variants of divides and
1644         multiplies.
1645         (k8_cost): New.
1646         (m_K8, m_ATHLON_K8): New macros.
1647         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
1648         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
1649         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
1650         x86_integer_DFmode_moves, x86_partial_reg_dependency,
1651         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
1652         x86_prologue_using_move, x86_epilogue_using_move,
1653         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
1654         x86_sse_typeless_stores): Set for K8
1655         (override_options): Add k8 support; fix athlon alignment;
1656         complain about non-x86-64 capable CPU being used in x86-64 compilation.
1657         (ix86_issue_rate): Set for K8.
1658         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
1659         x86_machine_dependent_reorg): Handle K8 like
1660         * i386.h
1661         (x86_costs):  Change mult_init and divide into array.
1662         (TARGET_K8, TARGET_ATHLON): New macros.
1663         (MODE_INDEX): New macro.
1664         (RTX_COST): Use new costs.
1665         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
1666         (TARGET_CPU_DEFAULT_NAMES): Add k8
1667         (TARGET_CPU_DEFAULT_k8): New constant
1668         (enum processor_type): Add PROCESSOR_K8.
1669         * i386.md (cpu attribute): Add k8.
1670
1671         * invoke.texi: Document -march=k8.
1672
1673         * i386.md (type attribute): Add leave
1674         (mode attribute): Remove unknownfp.
1675         (length_immediate, modrm, memory attributes): Handle leave correctly.
1676         (fp comparison patterns): Determine FP mode.
1677         (leave, leave_rex64): Remove special cases.
1678         * ppro.md (ppro_uops, ppro_p2): Add leave
1679         * pentiun.md (pent_pop): Handle leave too.
1680         * k6.md (k6_load): Handle leave.
1681         * athlon.md (athlon_leave, athlon_pop): Fix.
1682         (athlon_decode): Handle leave.
1683
1684 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
1685
1686         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
1687         to component type using GET_MODE_INNER.
1688         * expr.c (emit_move_insn_1): Ditto.
1689         * optabs.c (expand_binop): Ditto.
1690         (expand_unop): Ditto.
1691         (expand_complex_abs): Ditto.
1692
1693 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
1694
1695         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
1696
1697 2002-11-20  DJ Delorie  <dj@redhat.com>
1698
1699         * config/stormy16/stormy16.c (s16builtins,
1700         xstormy16_init_builtins, xstormy16_expand_builtin): New.
1701         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
1702
1703 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
1704
1705         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
1706         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
1707         (executing gencheck, genconfigs, genconditions, genflags,
1708         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
1709         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
1710         gengtype, genprotos): Prepend $(RUN_GEN).
1711         * configure.in: Move host compiler tests before --enable-checking
1712         tests.
1713         (--enable-checking=valgrind): New.
1714         * config.in, configure: Regenerate.
1715         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1716         Define as empty.
1717         (read_include_file): When doing the mmap+1 trick,
1718         valgrind-annotate the byte after the mmap:ed area as readable.
1719         (purge_cache): Remove above annotation.
1720         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
1721         VALGRIND_PATH -q to each command.
1722
1723         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1724         Define as empty.
1725         (ggc_realloc): Update valgrind annotations.
1726         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1727         Define as empty.
1728         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
1729         valgrind-annotate memory.
1730
1731 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
1732
1733         * recog.c (constrain_operands): Prefer exact match over reloadable
1734         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
1735
1736         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
1737         operands in Pmode.
1738
1739 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
1740
1741         PR c/8518
1742         * c-decl.c (duplicate_decls): Outline the second definition
1743         of an extern inline function in all cases.
1744
1745 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1746
1747         * stor-layout.c (place_field): Update rli->offset as well as
1748         rli->bitpos.
1749
1750 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1751
1752         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
1753
1754 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1755
1756         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
1757         into a libcall block.
1758         (divsi3): Likewise divsi3_i4_media.
1759
1760 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1761
1762         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
1763         out another register.
1764
1765 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
1766
1767         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
1768         (not just mask) are set in C.
1769
1770 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
1771
1772         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
1773
1774 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1775
1776         * profile.c (index_counts_file): Fix obvious mistake.
1777
1778 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1779
1780         * Makefile.in (profile.o): Add hashtab.h dependency.
1781         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
1782         * profile.c: Include hashtab.h.
1783         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
1784         cleanup_counts_index, index_counts_file, struct section_reference,
1785         struct da_index_entry, counts_file_name, counts_file_index): New.
1786         (get_exec_counts, init_branch_prob): Modified.
1787
1788 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
1789
1790         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
1791         to tmake_file. Remove setting gas and gnu_ld here.
1792         * config/sh/libgcc-glibc.ver: New file.
1793         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
1794         (SHLIB_MAPFILES): New.
1795         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
1796         (MD_STARTFILE_PREFIX): Likewise.
1797         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
1798         (DWARF2_UNWIND_INFO): Redefine.
1799         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1800         (LINK_EH_SPEC): Redefine.
1801         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
1802         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
1803         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
1804         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
1805         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
1806         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
1807         SH_DWARF_FRAME_FPSCR): Likewise.
1808         * config/sh/sh-protos.h (sh_set_return_address): Declare.
1809         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
1810         registers if the current function calls EH return.
1811         (sh_expand_epilogue): Handle EH stack adjustments.
1812         (sh_set_return_address): New function.
1813         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
1814         Don't abort even if the number is mapped to -1.
1815         (EH_RETURN_DATA_REGNO): Define.
1816         (EH_RETURN_STACKADJ_RTX): Define.
1817         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
1818         (eh_return): New pattern.
1819         (eh_set_ra_di, eh_set_ra_si): Likewise.
1820         Add splitter to perform EH return after reload.
1821
1822 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
1823
1824         * stor-layout.c (excess_unit_span): New function.
1825         (place_field): Use it.
1826
1827 2002-11-19  Andreas Schwab  <schwab@suse.de>
1828
1829         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
1830         not valid in C++.
1831
1832 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
1833
1834         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
1835         * configure: Regenerate.
1836
1837 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
1838
1839         * convert.c (strip_float_extensions): New function.
1840         (convert_to_real): Optimize some cases.
1841
1842 2002-11-19  Andreas Jaeger  <aj@suse.de>
1843
1844         * loop.c (record_giv): Initialize not_replaceable.
1845         (check_final_value): Likewise.
1846
1847 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
1848
1849         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
1850         MASK_H8300S.
1851
1852 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
1853
1854         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
1855         only if -mh or -ms present.
1856         (h8300_eightbit_constant_address_p): Support the normal mode.
1857         (h8300_tiny_constant_address_p): Likewise.
1858         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
1859         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
1860         (Pmode): Evaluate to HImode for the normal mode.
1861         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
1862         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
1863         (ASM_WORD_OP): Evaluate to word for the normal mode.
1864         * config/h8300/h8300.md (tablejump_normal_mode): New.
1865         (indirect_jump_normal_mode): New.
1866         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
1867         directory.
1868         (MULTILIB_DIRNAMES): Create target dependent directory
1869         'normal'.
1870         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
1871         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
1872
1873 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
1874
1875         * i386.md (length_immediate): Do not refer to insn address.
1876         (jcc*, jmp patterns):  Compute length explicitly.
1877
1878 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
1879
1880         PR c/8588
1881         * optabs.c (expand_binop): Convert CONST_INTs in shift
1882         operations too.
1883
1884 2002-11-19  Roger Sayle  <roger@eyesopen.com>
1885
1886         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
1887
1888 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
1889
1890         * config/h8300/h8300.md (an anonymous pattern): Relax the
1891         condition to accept the same operands and/or subregs.
1892
1893 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
1894
1895         * config/sh/sh.c (gen_shl_and): Revert previous patch.
1896         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
1897         reload_completed.
1898
1899 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
1900
1901         * config/h8300/h8300.c (print_operand): Update the use of
1902         EIGHTBIT_CONSTANT_ADDRESS_P.
1903         (h8300_adjust_insn_length): Likewise.
1904         (h8300_eightbit_constant_address_p): Check if the given rtx is
1905         a variable with __attribute__((eightbit_data)).
1906         * config/h8300/h8300.h (OK_FOR_U): Update the use of
1907         EIGHTBIT_CONSTANT_ADDRESS_P.
1908
1909 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1910
1911         * doc/contrib.texi (Contributors): Add self as second contact in
1912         addition to Jeff Law.
1913
1914 2002-11-19  Andreas Jaeger  <aj@suse.de>
1915
1916         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
1917         find_alloca_call to right place.
1918
1919 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
1920
1921         * cppfiles.c: Fix formatting.
1922
1923 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
1924
1925         * gcc.c (The Specs Language): Document spec functions.
1926         (static_spec_functions, lookup_spec_function)
1927         (eval_spec_function, handle_spec_function)
1928         (if_exists_spec_function, alloc_args): New.
1929         (execute): Abort if processing_spec_function is true.
1930         (do_spec_1): Hand off spec to handle_spec_function if %:
1931         is encountered.  If processing_spec_function is true,
1932         end any pending argument when the end of the string is reached.
1933         (main): Use alloc_args to allocate the initial argument vector.
1934         * gcc.h (struct spec_function): New.
1935         (lang_specific_spec_functions): New extern.
1936
1937         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
1938         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
1939         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
1940
1941         * doc/invoke.texi: Document spec functions.
1942
1943         * cppspec.c (lang_specific_spec_functions): New.
1944         * gccspec.c: Likewise.
1945
1946 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
1947
1948         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
1949         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
1950         (fixunstfsi_libfunc): Change.
1951         (fixunstfdi_libfunc): Change.
1952         (sdiv_optab): Don't zero out SImode handler.
1953         (udiv_optab): Don't zero out SImode handler.
1954         (smod_optab): Don't zero out SImode handler.
1955         (umod_optab): Don't zero out SImode handler.
1956
1957 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
1958
1959         PR preprocessor/8524
1960         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
1961         Add a new one in its place, which hopefully works.
1962         (skip_rest_of_line): Change test for bottom-of-context-stack.
1963
1964 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
1965
1966         * i386.md (addqi_1_slp): Fix output template.
1967         (subqi_1_slp): Fix type.
1968
1969 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
1970
1971         * calls.c (alloca_call_p): New global function.
1972         * tree.h (alloca_call_p): New.
1973         * tree-inline.c (inlinable_function_p):  Do not inline when
1974         function calls alloca.
1975         (find_alloca_call, find_alloca_call_1): New functions.
1976
1977 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
1978
1979         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
1980         bst.  Update the insn length.
1981         (*andorhi3): Likewise.
1982         (*andorsi3): Likewise.
1983
1984 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
1985
1986         * config/sh/sh-protos.h (sh_mark_label): Declare.
1987         * config/sh/sh.c (sh_mark_label): New function, taken from
1988         movdi_const, but fixing the case when the address has an addend.
1989         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
1990
1991 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
1992
1993         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
1994         (add_constant): Set it.
1995         (dump_table): Don't reorder a constant if part_of_sequence_p.
1996         (machine_dependent_reorg): Assume that float constants will
1997         stay in their original order if used as a sequence.
1998
1999 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2000
2001         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
2002         in compact code.
2003
2004 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2005
2006         * config/sh/sh.md (initialize_trampoline): Do not force the
2007         trampoline address into R0_REGS here.
2008
2009 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
2010
2011         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
2012         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
2013         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
2014         generate unnecesary subregs.
2015
2016 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2017
2018         * df.c: Fix formatting.
2019
2020 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2021
2022         * config/h8300/h8300.md (two anonymous patterns): Fix insn
2023         lengths.
2024
2025 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
2026
2027         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
2028         is not an arith_reg_operand.
2029
2030 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
2031
2032         * real.c (real_to_decimal): Fix buffer overrun when buffer size
2033         is smaller than representation.
2034
2035 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2036
2037         * builtins.c: Fix formatting.
2038
2039 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
2040
2041         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
2042         floats?dff2_i387):
2043         Work around regclass stupidity.
2044         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
2045
2046 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
2047
2048         * i386.md (fop_df_6): New pattern.
2049         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
2050         (fop_xf_6): Rewrite
2051         (fop_xf_7): Delete.
2052         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
2053         (fop_tf_6): Rewrite
2054         (fop_tf_7): Delete.
2055
2056 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2057
2058         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
2059
2060 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2061
2062         * config/h8300/h8300.md: Fix formatting.
2063
2064 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2065
2066         * config/h8300/h8300.md: Replace spaces with tabs.
2067         * config/h8300/t-h8300: Remove a trailing empty line.
2068
2069 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2070
2071         * tlink.c: Fix formatting.
2072
2073 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
2074
2075         PR 8362
2076         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
2077         * config/rs6000/rs6000.md (movti_string): Remove output modifier
2078         when scratch register never needed.
2079         (ldmsi[3-8]): New patterns.
2080
2081 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2082
2083         * hard-reg-set.h: Follow spelling conventions.
2084         * real.c: Likewise.
2085         * target.h: Likewise.
2086
2087 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
2088
2089         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
2090
2091 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2092
2093         * optabs.c: Fix formatting.
2094
2095 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
2096
2097         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
2098         * i386.md (attribute type): Add type shift1 and rotate1.
2099         (*_slp): Rewrite to have just two operands to avoid reload problems.
2100
2101 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
2102
2103         * config/h8300/h8300.md (4 anonymous patterns): New.
2104
2105 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
2106
2107         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
2108         * doc/invoke.texi: Correct description of what needs to be done to
2109         force collection at every ggc_collect call.
2110
2111 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2112
2113         * config/s390/s390.c (optimization_options): Set
2114         flag_asynchronous_unwind_tables to 1 by default.
2115
2116 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2117
2118         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2119
2120 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2121
2122         * i386-protos.h (x86_function_profiler): New function
2123         * i386.h (MCOUNT_NAME): New.
2124         (PROFILE_COUNT_REGISTER): New.
2125         (FUNCTION_PROFILER): Move offline to ...
2126         * i386.c (x86_function_profiler) ... here; fix 64bit support
2127         * beos-elf.h (FUNCTION_PROFILER): Kill.
2128         (MCOUNT_NAME): New.
2129         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
2130         (MCOUNT_NAME): New.
2131         (PROFILE_COUNT_REGISTER): New.
2132         * linux.h (FUNCTION_PROFILER): Kill.
2133         (MCOUNT_NAME): New.
2134         * x86-64.h (FUNCTION_PROFILER): Kill.
2135         (MCOUNT_NAME): New.
2136         * freebsd.h (FUNCTION_PROFILER): Kill.
2137         (MCOUNT_NAME): New.
2138
2139 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
2140
2141         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
2142         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
2143         * config/arm/arm.c (arm_va_arg,
2144         arm_function_arg_pass_by_reference): New.
2145         * config/arm/arm-protos.h: Add prototypes.
2146
2147 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2148
2149         * gthr-single.h: Fix formatting.
2150
2151 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
2152
2153         * tree.c (tree_vec_elt_check_failed): New function.
2154         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
2155         (TREE_VEC_ELT): Use it.
2156
2157         * tree-inline.c (optimize_inline_calls): Don't copy a
2158         zero-length vector.
2159
2160 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2161
2162         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
2163
2164 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
2165
2166         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
2167         both operands contain local relocations.
2168         (categorize_decl_for_section): Don't use mergeable sections if
2169         initializer has any relocations.
2170
2171 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2172
2173         * gthr-vxworks.h: Fix formatting.
2174
2175 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
2176
2177         * doc/install.texi (Testing): Document extra Java testing.
2178         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
2179
2180 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2181
2182         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
2183         beginning of the spec.
2184         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
2185         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
2186         regarding problems with global constructors when using GNU ld.
2187
2188 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2189
2190         * gthr-solaris.h: Fix formatting.
2191
2192 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2193
2194         * gthr-posix.h: Fix formatting.
2195
2196 2002-11-12  Devang Patel <dpatel@apple.com>
2197
2198         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
2199         (process_command): Same.
2200         * doc/invoke.texi: Info about these two new options.
2201
2202 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2203
2204         * config/h8300/h8300.md (*andorsi3): New.
2205
2206 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2207
2208         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
2209
2210 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2211
2212         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
2213         expressions appropriately.
2214
2215 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2216
2217         * gthr-win32.h: Fix formatting.
2218
2219 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2220
2221         * config/h8300/h8300.c (single_one_operand): Correctly compute
2222         mask when mode is SImode.
2223         (single_zero_operand): Likewise.
2224         * config/h8300/h8300.md (two new anonymous insns): New.
2225
2226 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2227
2228         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
2229         to that entire project.
2230
2231 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2232
2233         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
2234         directories.
2235
2236 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
2237
2238         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
2239         * doc/invoke.texi: Document them.
2240
2241         * ggc-page.c: Include params.h.  Remove definitions of
2242         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
2243         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
2244         (init_gcc): Don't set G.allocated_last_gc here.
2245         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
2246         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
2247         perform collection.
2248         * ggc-simple.c: Similarly.
2249         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
2250         dependencies.
2251
2252 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
2253
2254         * gthr-dce.h: Fix formatting.
2255
2256 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2257
2258         PR c/8467
2259         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
2260         mode of DECL_RTL case.
2261
2262 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
2263
2264         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
2265
2266 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
2267
2268         * i386.c (construct_container): Fix handling of SSE_CLASS.
2269
2270 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
2271
2272         * config/m68k/t-crtstuff (crti.o): Use this...
2273         ($(T)crti.o): ... instead.
2274         (crtn.o): Use this...
2275         ($(T)crtn.o): ... instead.
2276
2277 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
2278
2279         PR c/8439
2280         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
2281         if there is something new to be simplified.
2282
2283 2002-11-10  H.J. Lu <hjl@gnu.org>
2284
2285         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
2286         * expr.c (PUSH_ARGS_REVERSED): Likewise.
2287
2288         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
2289
2290 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
2291
2292         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
2293         * config/rs6000/linux.h, config/rs6000/linux64.h,
2294         config/rs6000/windiss.h: ... not here.
2295
2296 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
2297
2298         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
2299         __ABICALLS__ if TARGET_ABICALLS.
2300
2301 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
2302
2303         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
2304
2305 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
2306
2307         * c-decl.c (grokdeclarator): Make error for duplicate type
2308         qualifiers into a pedwarn, disabled for C99.
2309
2310 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
2311
2312         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
2313         as FUNCTION_ARG_PASS_BY_REFERENCE.
2314
2315 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
2316
2317         * doc/install.texi: Add *-*-vxworks* specific installation
2318         instructions.
2319
2320         * config/vxlib.c: Rewrite using generation numbers to identify
2321         valid TSD keys.
2322
2323 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
2324
2325         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
2326
2327 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2328
2329         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
2330
2331         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
2332         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
2333         * pa.c (output_millicode_call): Use symbol difference rather than
2334         $PIC_pcrel$0 when using HP assembler.
2335         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
2336         not elfos.h (i.e., gas) is being used.
2337         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
2338         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
2339         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
2340         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
2341         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
2342         using elfos.h.
2343         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
2344         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
2345         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
2346         using elfos.h.
2347         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
2348         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
2349         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
2350         Don't define when not using elfos.h.
2351         (ASM_DECLARE_RESULT): Don't define.
2352         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
2353         doesn't work on hppa64-hp-hpux11.
2354         (hppa*-hp-hpux11): Update.
2355
2356 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
2357
2358         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
2359         to the assembler if -mno-abicalls was specified.
2360
2361 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2362
2363         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
2364         ASM_OUTPUT_DEF): Delete.
2365
2366 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
2367
2368         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
2369
2370 2002-11-08  Roger Sayle  <roger@eyesopen.com>
2371
2372         * real.c (real_sqrt): Update comment with bibliographic reference.
2373
2374 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
2375
2376         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
2377
2378 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
2379
2380         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
2381
2382 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
2383
2384         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
2385         (expand_builtin): Likewise.
2386         * builtins.def: Add
2387         __builtin_floor, __builtin_floorf, __builtin_floorl
2388         __builtin_ceil, __builtin_ceilf, __builtin_ceill
2389         __builtin_round, __builtin_roundf, __builtin_roundl
2390         __builtin_trunc, __builtin_truncf, __builtin_truncl
2391         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
2392         * genopinit.c (optabs): Initialize the new optabs.
2393         * optab.c (init_optabs): Likewise.
2394         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
2395         OTI_round, OTI_nearbyint.
2396         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
2397         * doc/md.texi: Document new named patterns.
2398         * doc/extend.texi (builtin functions)  Document
2399         floor, floorf, floorl, ceil, ceilf,
2400         ceill, round, roundf, roundl, trunc,
2401         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
2402
2403 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
2404
2405         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
2406
2407 2002-11-08  Dale Johannesen  <dalej@apple.com>
2408
2409         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
2410
2411 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
2412
2413         PR preprocessor/8497
2414         PR preprocessor/8501
2415         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
2416         start a directive.  In assembler, #NUM is not a line directive.
2417
2418 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
2419
2420         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
2421         buffers.
2422
2423 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
2424
2425         * config/h8300/h8300.md (two anonymous test insns): New.
2426
2427 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2428
2429         * jump.c (mark_jump_label): Handle subregs of label_refs.
2430
2431 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
2432
2433         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
2434         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
2435
2436 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
2437
2438         * config/ia64/crtend.asm: Include "auto-host.h".
2439         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
2440         * config/ia64/crtbegin.asm: Similarly.
2441         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
2442         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
2443
2444         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
2445         * configure.in: Use it if --enable-initfini-array not specified.
2446         * doc/install.texi (Configuration): Document --enable-initfini-array.
2447         * configure, config.in: Rebuild.
2448
2449 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
2450
2451         * config/arm/arm-protos.h (arm_get_frame_size)
2452         (thumb_get_frame_size): New prototypes.
2453         * config/arm/arm.c (arm_get_frame_size)
2454         (thumb_get_frame_size): New functions.
2455         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
2456         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
2457         arm_get_frame_size.
2458         (thumb_expand_prologue, thumb_expand_epilogue): Use
2459         thumb_get_frame_size.
2460         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
2461         (machine_function): Add frame_size member.
2462         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
2463
2464 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
2465
2466         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
2467         Adjust code to use portable unsigned bit manipulation.
2468         (insn_flags, tune_flags): Change type to unsigned.
2469         (struct processors): Make flags unsigned long.
2470         (arm_override_options): Change type of count and current_bit_count
2471         to unsigned.
2472
2473 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
2474
2475         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
2476
2477 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
2478
2479         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
2480
2481 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
2482
2483         * reg-stack.c (compensate_edge): Fix sanity check.
2484
2485 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
2486
2487         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
2488         crt2.o.  Rearrange t-darwin makefiles.
2489         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
2490         * unwind-dw2-fde-darwin.c: New.
2491         * unwind-dw2-fde-glibc.c: Correct comment.
2492         * unwind-dw2-fde.c (__register_frame_info_bases)
2493         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
2494         (classify_object_over_fdes): Use last_fde.
2495         (add_fdes): Likewise.
2496         (linear_search_fdes): Likewise.
2497         * unwind-dw2-fde.h (struct object)
2498         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
2499         (last_fde): New.
2500         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
2501         (ENDFILE_SPEC): No crtend.o.
2502         * config/t-darwin: New.
2503         * config/i386/t-darwin: Delete.
2504         * config/darwin-crt2.c: New.
2505         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
2506         or config/t-darwin.
2507
2508 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
2509
2510         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
2511         MASK_MS_BITFIELD_LAYOUT
2512         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
2513         MS bitfields for Objective-C.
2514         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
2515         defines.
2516
2517         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
2518         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
2519         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
2520
2521         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
2522         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
2523         (TARGET_SWITCHES): Add above mask.
2524
2525         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
2526         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
2527         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
2528         flags for interix.
2529
2530 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
2531
2532         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
2533         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
2534         assembler.
2535         * config/mips/mips.md (tablejump_internal3): Output .cpadd
2536         before jump on ABI_N32 too.
2537         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
2538         length to match.
2539
2540 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
2541
2542         * i386.md (negsf splitter): Accept memory operand in second register.
2543         (abssf/absdf splitters): Simplify
2544         (sse_loadss, sse_loadsd): Turn into expander.
2545
2546 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
2547
2548         PR target/8480
2549         * config/rs6000/rs6000.md (movdi_internal64): Discourage
2550         FPR to FPR moves.
2551
2552 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
2553
2554         * doc/contrib.texi: Merge in the list from the Java web pages.
2555
2556 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
2557
2558         * config/sparc/freebsd: Fix typo.
2559
2560 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2561
2562         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
2563
2564 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
2565
2566         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
2567         non-SImode addresses.
2568
2569 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
2570
2571         * i386.md (float_truncate SSE splitter): Ensure that operand is not
2572         stack register.
2573         (float SSE splitters): Reorder conditional.
2574
2575 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
2576
2577         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
2578
2579 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
2580
2581         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
2582         (STARTFILE_SPEC): Remove p and pg options.
2583
2584 2002-11-05  Andrew Haley  <aph@redhat.com>
2585
2586         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
2587         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
2588
2589 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
2590
2591         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
2592         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
2593
2594 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
2595
2596         * gthr-vxworks.h: Rewritten from scratch.
2597         * config/vxlib.c: New file.
2598         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
2599         * config/rs6000/t-vxworks: Add config/vxlib.c to
2600         LIB2FUNCS_EXTRA here too, because of clash with
2601         config/rs6000/t-ppccomm.
2602
2603 2002-11-04  Dale Johannesen  <dalej@apple.com>
2604
2605         * doloop.c (doloop_modify_runtime):  Fix loop count computation
2606         for unrolled loops.
2607         * loop.c (loop_invariant_p):  Support calling from unroller.
2608
2609 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
2610
2611         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
2612         for comparison.
2613
2614 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
2615
2616         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
2617
2618         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
2619         (CLASS_CANNOT_CHANGE_MODE): Remove.
2620         (CANNOT_CHANGE_MODE_CLASS): New.
2621
2622         * config/alpha/alpha.h: Same.
2623
2624         * config/ia64/ia64.h: Same.
2625
2626         * config/mips/mips.h: Same.
2627
2628         * config/s390/s390.h: Same.
2629
2630         * config/sh/sh.h: Same.
2631
2632         * config/pa/pa64-regs.h: Same.
2633
2634         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
2635
2636         * config/sh/sh.c (sh_cannot_change_mode_class): New.
2637
2638         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
2639         prototype.
2640
2641         * config/mips/mips.c (mips_cannot_change_mode_class): New.
2642
2643         * doc/tm.texi (Register Classes): Remove
2644         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
2645         Document CANNOT_CHANGE_MODE_CLASS.
2646
2647         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
2648         (push_reload): Same.
2649
2650         * simplify-rtx.c (simplify_subreg): Same.
2651
2652         * reload1.c (choose_reload_regs): Same.
2653
2654         * recog.c (register_operand): Same.
2655
2656         * regrename.c (mode_change_ok): Change to use new
2657         CANNOT_CHANGE_MODE_CLASS infrastructure.
2658
2659         * regclass.c (cannot_change_mode_set_regs): New.
2660         Declare subregs_of_mode.
2661         (regclass): Use subregs_of_mode.
2662         Remove references to reg_changes_mode.
2663         (init_reg_sets_1): Remove class_can_change_mode and
2664         reg_changes_mode code.
2665         (invalid_mode_change_p): New.
2666         (dump_regclass): Use invalid_mode_change_p instead of
2667         class_can_change_mode.
2668         (regclass): Same.
2669         (record_operand_costs): Do not set reg_changes_mode.
2670
2671         * local-alloc.c (struct qty): Remove changes_mode field.
2672         (alloc_qty): Remove changes_mode initialization.
2673         (update_qty_class): Remove set of changes_mode.
2674         (find_free_reg): Use subregs_of_mode.
2675
2676         * global.c (find_reg): Use subregs_of_mode info.
2677
2678         * rtl.h (cannot_change_mode_set_regs): New prototype.
2679         (invalid_mode_change_p): Same.
2680         (REG_CANNOT_CHANGE_MODE_P): New macro.
2681
2682         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
2683         REG_CHANGES_MODE.
2684         (life_analysis): Clear subregs_of_mode.
2685
2686         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
2687         Remove use of CLASS_CANNOT_CHANGE_MODE.
2688         (simplify_set): Same.
2689         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
2690         REG_CHANGES_MODE.
2691
2692         * regs.h: Add extern for subregs_of_mode;
2693         Include hard-reg-set and basic-block.
2694         (REG_CHANGES_MODE): Delete.
2695
2696 2002-11-03  Roger Sayle  <roger@eyesopen.com>
2697
2698         * real.c (real_sqrt): New function to calculate square roots.
2699         * real.h (real_sqrt): Add function prototype.
2700         * builtins.c (fold_builtin): Fold sqrt of constant argument.
2701         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
2702         of constant argument.
2703
2704 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2705
2706         * jump.c (never_reached_warning): Don't set contains_insn until the
2707         first line note is seen.
2708
2709 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
2710
2711         * config/rs6000/rs6000.md (movti_string): Use string instructions.
2712
2713 2002-11-03  Roger Sayle  <roger@eyesopen.com>
2714
2715         PR c/7128
2716         * c-typeck.c (c_expand_asm_operands): Defend against
2717         error_mark_nodes in the output argument to avoid ICE.
2718
2719 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
2720
2721         PR middle-end/8408
2722         * genrecog.c (preds): Handle ADDRESSOF.
2723         (validate_pattern): Mark it as an lvalue.
2724
2725 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
2726
2727         * config/rs6000/rs6000.c (rs6000_override_options): Use string
2728         instructions when optimizing for size.
2729
2730 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
2731
2732         * config/h8300/h8300.h: Fix comment typos.
2733         * config/h8300/h8300.md: Likewise.
2734         * config/h8300/lib1funcs.asm: Likewise.
2735
2736 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2737
2738         Revert this change:
2739
2740         *doc/install.texi (Installing GCC: Configuration): Clarify
2741         the only supported ways to configure gcc.
2742
2743 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
2744
2745         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
2746         instead of 'O' for the constraint for the second operand.
2747
2748 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
2749
2750         PR c++/8391
2751         * toplev.c (rest_of_compilation): Do not refuse to output code for
2752         an inline function in a local class.
2753
2754 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
2755
2756         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
2757         (TRANSFER_FROM_TRAMPOLINE): Reformat.
2758         Add comment.
2759
2760 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
2761
2762         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
2763
2764 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
2765
2766         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
2767
2768 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
2769
2770         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
2771         (MASK_INLINE_DIV_THR): Remove.
2772         (TARGET_INLINE_DIV_LAT): Remove.
2773         (TARGET_INLINE_DIV_THR): Remove.
2774         (TARGET_INLINE_DIV): Remove.
2775         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
2776         (MASK_INLINE_FLOAT_DIV_THR): New macro.
2777         (MASK_INLINE_INT_DIV_LAT): New macro.
2778         (MASK_INLINE_INT_DIV_THR): New macro.
2779         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
2780         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
2781         (TARGET_INLINE_INT_DIV_LAT): New macro.
2782         (TARGET_INLINE_INT_DIV_THR): New macro.
2783         (TARGET_INLINE_FLOAT_DIV): New macro.
2784         (TARGET_INLINE_INT_DIV): New macro.
2785         * config/ia64/ia64.md (divsi3): Change to use new macros.
2786         (modsi3): Ditto.
2787         (udivsi3): Ditto.
2788         (umodsi3): Ditto.
2789         (divsi3_internal): Ditto.
2790         (divdi3): Ditto.
2791         (moddi3): Ditto.
2792         (udivdi3): Ditto.
2793         (umoddi3): Ditto.
2794         (divdi3_internal_lat): Ditto.
2795         (divdi3_internal_thr): Ditto.
2796         (divsf3): Ditto.
2797         (divsf3_internal_lat): Ditto.
2798         (divsf3_internal_thr): Ditto.
2799         (divdf3): Ditto.
2800         (divdf3_internal_lat): Ditto.
2801         (divdf3_internal_thr): Ditto.
2802         (divtf3): Ditto.
2803         (divtf3_internal_lat): Ditto.
2804         (divtf3_internal_thr): Ditto.
2805         * config/ia64/ia64.c (ia64_override_options): Change
2806         to check new macros for conflicts in settings.
2807         * doc/invoke.texi (-minline-divide-min-latency): Remove.
2808         (-minline-divide-max-throughput): Remove.
2809         (-minline-float-divide-min-latency): New.
2810         (-minline-float-divide-max-throughput): New.
2811         (-minline-int-divide-min-latency): New.
2812         (-minline-int-divide-max-throughput): New.
2813
2814 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
2815
2816         PR target/7856
2817         * arm.c (use_return_insn): Don't use a return insn if there are
2818         saved integer regs, but LR is not one of them.
2819
2820 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
2821
2822         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
2823         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
2824
2825 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
2826
2827         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
2828         (movps, movpd splitters): Use canonical form.
2829         (movv2di): Fix merge problem.
2830
2831 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
2832
2833         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
2834
2835 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
2836
2837         PR optimization/6162
2838         * doc/md.texi: Document restriction on commutative operand
2839         specification.
2840
2841 2002-10-31  Eric Christopher  <echristo@redhat.com>
2842
2843         * explow.c (convert_memory_address): Use shallow_copy_rtx.
2844
2845 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
2846
2847         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
2848
2849 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
2850
2851         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
2852
2853 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
2854
2855         * config/rs6000/darwin.h:  Correct formatting in previous.
2856
2857 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
2858
2859         * config/rs6000/darwin.h:  Enable -falign-xxx options.
2860
2861 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
2862
2863         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
2864         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
2865         * i386.c (optimization_options): Set flag_omit_frame_pointer,
2866         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
2867         Do not clear -momit-leaf-frame-pointer when profiling.
2868         (ix86_frame_pointer_required): Frame pointer is always required when
2869         profiling.
2870
2871 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2872
2873         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
2874
2875 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
2876
2877         * sh.h (binary_logical_operator): Declare.
2878         * sh.c (binary_logical_operator): New function.
2879         * sh.md (xordi3+1): New combiner splitter pattern.
2880
2881 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
2882
2883         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
2884         __enable_execute_stack function.
2885
2886 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
2887
2888         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
2889         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
2890         * unwind-sjlj.c (fc_key_dtor): Delete.
2891         (fc_key_init): Adjust __gthread_key_create call to match.
2892
2893 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
2894
2895         * c-common.c: Add GTY to vector_type_node_list.
2896
2897 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
2898
2899         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
2900         * pa-protos.h (attr_length_millicode_call, attr_length_call,
2901         pa_init_machine_status): Declare new global functions.
2902         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
2903         implement new functions.
2904         (attr_length_millicode_call, attr_length_call): Implement.
2905         (total_code_bytes): Change type to long.
2906         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
2907         Reset counter if flag_function_sections.
2908         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
2909         (output_cbranch): Move call to gen_label_rtx.
2910         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
2911         delay slot in all variants, shorten pc-relative calls.
2912         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
2913         slot usage and exposure, various new call variants, and shortened
2914         sequences for some variants on TARGET_PA_20.
2915         Miscellaneous format changes.
2916         * pa.h (total_code_bytes): Change type to long.
2917         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
2918         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
2919         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
2920         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
2921         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
2922         stores on TARGET_ELF32.
2923         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
2924         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
2925         canonicalize_funcptr_for_compare expanders): Calculate attribute length
2926         attr_length_millicode_call().
2927         (call_internal_symref, call_value_internal_symref): Clobber register 1.
2928         Calculate attribute length using attr_length_call().
2929         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
2930         to delay slot.
2931         (sibcall, sibcall_value): Rewrite.
2932         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
2933         register 1.  Use attr_length_call().
2934         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
2935         New patterns.
2936         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
2937         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
2938         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
2939         * doc/invoke.texi (mlong-calls): Document.
2940
2941 2002-10-30  Roger Sayle  <roger@eyesopen.com>
2942
2943         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
2944         handling of cases where one or both branches of the conditional
2945         have void type, i.e. throw an exception or don't return.
2946         (fold): Only apply (and undo) type conversion to the non-void
2947         branches of a COND_EXPR.
2948
2949 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
2950
2951         PR c++/8333
2952         * varasm.c (asm_output_aligned_bss): Do not call
2953         ASM_GLOBALIZE_LABEL.
2954
2955 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
2956             Torbjorn Granlund  <tege@swox.com>
2957
2958         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
2959         for addressibility.
2960         (load_toc_v4_PIC_1b): Same.
2961
2962 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
2963
2964         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
2965         Truncate the addresses for H8/300 using HImode.
2966
2967 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
2968
2969         * i386.md (negdf splitter): Fix construction of the constant.
2970
2971 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
2972
2973         * i386.md (negsf, negdf): Reorganize to use vector modes
2974         for SSE variants.
2975         (abssf, absdf): Use force_reg.
2976         (movv4sf, movv2df): New splitters.
2977         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
2978         * i386.c (zero_extended_scalar_load_operand
2979
2980         * i386-protos.h (ix86_expand_call): Update prototype.
2981         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
2982         (ix86_expand_call): Use r11 for indirect sibcalls.
2983         * i386.md (call, call_value, untyped_call, call_value_pop):
2984         update x86_expand_call call.
2985         (sibcall, sibcall_value): new patterns
2986         (call_rex64, call_value_rex64): Do not accept sibcalls.
2987         (sibcall_rex64, sibcall_value_rex64,
2988         sibcall_rex64_v, sibcall_value_rex64_v): New.
2989
2990 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
2991
2992         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
2993         before final pass.
2994
2995 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
2996
2997         * toplev.c (rest_of_type_compilation): Return early in case of
2998         errors.
2999         (check_global_declarations): Don't call debug_hooks->global_decl
3000         in case of errors.
3001
3002 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
3003
3004         * doc/c-tree.texi (Tree overview): Fix typos.
3005
3006 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
3007
3008         * Makefile.in (gnucompare*):  Only record bad comparisons
3009         if there really was a bad comparison.
3010
3011 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
3012
3013         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
3014         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
3015         * md.texi (machine dependent constraints): Document 'C'
3016
3017         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
3018
3019         * i386.c (ix86_expand_vector_move): Fix.
3020
3021         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
3022         * i386.md (sse2_maskmovdqu_rex64): New pattern
3023
3024         PR target/8322
3025         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
3026         (ix86_init_mmx_sse_builtins): Fix type.
3027
3028 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
3029
3030         * gthr-posix.h: Include <unistd.h> for feature tests.
3031         (sched_get_priority_max, sched_get_priority_min)
3032         (pthread_getschedparam, pthread_setschedparam): Only use
3033         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
3034         (__gthread_objc_thread_set_priority): Don't treat all non-zero
3035         returns from sched_get_priority_max and sched_get_priority_min
3036         as an error.
3037
3038 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3039
3040         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
3041         MASK_QUICKCALL.
3042
3043 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3044
3045         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
3046         (h8300_tiny_constant_address_p): Likewise.
3047         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
3048         h8300_eightbit_constant_address_p.
3049         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
3050         * config/h8300/h8300-protos.h: Add the prototypes for the two
3051         new functions.
3052
3053 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3054
3055         * reload1.c (update_eliminables): Unconditionally check if
3056         frame_pointer_needed has changed.
3057
3058 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3059
3060         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
3061         before final pass.
3062
3063 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
3064
3065         PR optimization/8334
3066         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
3067         check for zero operands explicitly.
3068
3069 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
3070
3071         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
3072         memory after adjusting to BLKmode.
3073
3074 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3075
3076         * config/h8300/h8300.h (MASK_*): New.
3077         (TARGET_*): Use MASK_*.
3078
3079 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
3080
3081         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
3082         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
3083         config/rs6000/vxworks.h: New files.
3084         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
3085
3086         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
3087         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
3088         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
3089         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
3090         sparc-*-vxsim*): Delete stanzas.
3091         * gthr-vxworks.h: Rip out all substantive code and just
3092         include gthr-single.h.
3093
3094         * config/alpha/vxworks.h, config/arm/vxarm.h,
3095         config/i386/vxi386.h, config/i960/t-vxworks960,
3096         config/i960/vx960-coff.h, config/i960/vx960.h,
3097         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
3098         config/mips/vxworks.h, config/rs6000/vxppc.h,
3099         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
3100         config/sparc/vxsim.h, config/sparc/vxsparc.h,
3101         config/sparc/vxsparc64.h: Delete files.
3102
3103 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
3104
3105         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
3106         tm_defines if pthreads are enabled.
3107         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
3108         if NETBSD_ENABLE_PTHREADS is defined.
3109
3110 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
3111
3112         * ChangeLog.1: Fix typos.
3113         * cse.c: Fix a comment typo.
3114         * reload1.c: Likewise.
3115
3116 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
3117
3118         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
3119         * fixinc/tests/base/_G_config.h: New file.
3120
3121 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3122
3123         * combine.c: Fix comment formatting.
3124         * loop.c: Likewise.
3125         * real.c: Likewise.
3126         * regclass.c: Likewise.
3127         * regmove.c: Likewise.
3128         * regrename.c: Likewise.
3129         * reg-stack.c: Likewise.
3130         * reload1.c: Likewise.
3131         * reload.c: Likewise.
3132         * reload.h: Likewise.
3133         * unroll.c: Likewise.
3134
3135 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3136
3137         * reload1.c (reload): Fix a comment typo.
3138
3139 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
3140
3141         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
3142
3143 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3144
3145         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
3146         * dwarf2out.c: Include hashtab.h.
3147         (is_main_source): New static variable.
3148         (attr_checksum, die_checksum): Modified to handle die references.
3149         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
3150         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
3151         record_comdat_symbol_number): New static functions.
3152         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
3153         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
3154         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
3155         declarations added.
3156
3157 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
3158
3159         * config/h8300/h8300.c (initial_offset): Change to
3160         h8300_initial_elimination_offset.
3161         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
3162         h8300_initial_elimination_offset.
3163         * config/h8300/h8300-protos.h: Update the prototype.
3164
3165 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
3166
3167         * config/mmix/mmix.h (LIBCALL_VALUE): Use
3168         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
3169         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
3170         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
3171         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
3172         and RTX_CODE.
3173         (mmix_function_value_regno_p): Declare.
3174
3175         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
3176         invalid for floating point mode result, with fix.
3177
3178 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
3179
3180         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
3181         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
3182         (stage1_build): Likewise.
3183
3184 2002-10-25  Mike Stump  <mrs@apple.com>
3185
3186         Fixes gcc.dg/warn-1.c.
3187         * c-typeck.c (warn_for_assignment): Don't print argument number,
3188         if zero.
3189
3190 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
3191
3192         * toplev.c (dump_file_index): Add DFI_ce3.
3193         (dump_file_info): Likewise.
3194         (rest_of_compilation): Run first ifcvt pass before tracer.
3195
3196 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
3197
3198         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
3199
3200 2002-10-25  Richard Henderson  <rth@redhat.com>
3201
3202         * real.c (real_to_decimal): If the >1 tens reduction loop results
3203         in a negative exponent, fall into the <1 pten computation.
3204
3205 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
3206
3207         PR middle-end/6994
3208         * c-objc-common.c (inline_forbidden_p): Can not inline
3209         functions containing structures or unions containing VLAs.
3210         * tree-inline.c (walk_tree): For all class 't' nodes, walk
3211         TYPE_SIZE and TYPE_SIZE_UNIT.
3212         (copy_tree_r): Copy types if they are variably modified.
3213
3214 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3215
3216         * config/s390/s390.md: Remove old-style peepholes.
3217
3218 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3219
3220         * config/s390/s390.c (s390_decompose_address): Do not range check the
3221         displacement if base or index is the argument pointer register.
3222
3223 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
3224
3225         PR other/3337
3226         PR bootstrap/6763
3227         PR bootstrap/8122
3228         * fixinc/inclhack.def (libc1_G_va_list): New fix.
3229         * fixinc/fixincl.x: Regenerate.
3230         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
3231         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
3232         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
3233         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
3234         * config.in, configure: Regenerate.
3235
3236 2002-10-24  Igor Shevlyakov <igor@microunity.com>
3237
3238         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
3239
3240 2002-10-24  Richard Henderson  <rth@redhat.com>
3241
3242         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
3243
3244 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3245
3246         * config/h8300/h8300.c (initial_offset): Simplify by using
3247         round_frame_size.
3248
3249 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
3250
3251         * doc/install.texi (avr): Update required binutils version.
3252
3253 2002-10-24  Theodore A. Roth  <troth@openavr.org>
3254
3255         * doc/install.texi: Point avr users at more up-to-date information.
3256
3257 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3258
3259         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
3260         to pull operands out of the literal pool where possible.
3261
3262 2002-10-24  Denis Chertykov  <denisc@overta.ru>
3263
3264         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
3265
3266 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
3267
3268         * expr.c (convert_move): If unsignedp is less then zero there
3269         is no equivalent code.
3270
3271 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
3272
3273         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
3274
3275 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3276
3277         * config/s390/s390.h: Rework comments; re-sort target macro definitions
3278         according to the sequence they are defined in the manual.
3279         (POINTER_BOUNDARY): Remove.
3280
3281 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3282
3283         * config/h8300/h8300.c (round_frame_size): Replace 8 with
3284         BITS_PER_UNIT.
3285
3286 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3287
3288         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
3289         64-bit safe.
3290         (TINY_CONSTANT_ADDRESS_P): Likewise.
3291
3292 2002-10-24  Richard Henderson  <rth@redhat.com>
3293
3294         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3295         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
3296         vcall offset.
3297
3298 2002-10-24  Richard Henderson  <rth@redhat.com>
3299
3300         PR opt/7944
3301         * reload.c (find_reloads_toplev): Mode of X is not important
3302         when simplifying subregs of constants.
3303
3304 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3305
3306         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
3307         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
3308         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
3309         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
3310         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
3311
3312 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3313
3314         * optabs.c (expand_binop): Don't reuse the shift target in the
3315         middle of shift sequences.
3316
3317 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
3318
3319         * i386.md (abs splitters): Do not produce nested subregs.
3320
3321 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
3322
3323         * i386.md (movti_rex64): Fix constraints.
3324
3325 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
3326
3327         * i386.md (abssf,absdf): Use vector operands for SSE
3328         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
3329         vector operand.
3330
3331 2002-10-23  Ziemowit Laski <zlaski@apple.com>
3332
3333         * objc/objc-act.c (get_static_reference): Remove unneeded
3334         TYPE_BINFO initialization.
3335         (get_object-reference): Likewise.
3336         (build_constructor): Tighten precondition check.
3337         (finish_message_expr): Likewise.
3338
3339 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
3340
3341         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
3342         after CONST test.
3343
3344 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
3345
3346         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
3347         in HFAs.
3348
3349 2002-10-23  Richard Henderson  <rth@redhat.com>
3350
3351         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3352         (alpha_output_mi_thunk_osf): Handle vcall_offset.
3353
3354 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
3355
3356         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
3357         var_mod_type_p.
3358         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
3359         hook_tree_bool_false.
3360
3361         * tree.c (variably_modified_type_p): Moved here from
3362         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
3363         language-specific cases.  Due to this, must weaken some 'if
3364         and only if' checks to merely 'if'.
3365         * tree.h: Prototype variably_modified_type_p.
3366
3367         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
3368
3369 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
3370
3371         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
3372         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
3373
3374         * config/s390/s390-protos.h (fp_operand): Remove.
3375         * config/s390/s390.c (fp_operand): Remove.
3376         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
3377         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
3378         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
3379         (movdi_31, movdf_31 splitters): Likewise.
3380
3381         * config/s390/s390.h (IEEE_FLOAT): Remove.
3382         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
3383         (INT_REGNO_P): Rename to ...
3384         (GENERAL_REGNO_P): ... this.
3385         (FLOAT_REGNO_P): Rename to ...
3386         (FP_REGNO_P): ... this.
3387         (ADDR_REGNO_P): New macro.
3388         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
3389         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
3390         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
3391         (HARD_REGNO_NREGS): Adapt to macro renaming.
3392         (HARD_REGNO_MODE_OK): Likewise.
3393
3394 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
3395             Geoff Keating  <geoffk@apple.com>
3396
3397         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
3398         (rs6000_memory_move_cost): New function.
3399         * config/rs6000/rs6000-protos.h: Declare them.
3400         * config/rs6000/rs6000.h: Use them.
3401
3402 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
3403
3404         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
3405         inlining it into other libgcc2 routines.
3406         (__udivmoddi4): Likewise.
3407
3408 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
3409
3410         * doc/sourcebuild.texi (Test Suites): Improve.
3411
3412 2002-10-22  Stan Shebs  <shebs@apple.com>
3413
3414         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
3415         case for Darwin.
3416
3417 2002-10-22  Jim Wilson  <wilson@redhat.com>
3418
3419         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
3420
3421 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
3422
3423         PR other/8289
3424         * xmmintrin.h: Add const to the argument of loads.
3425
3426         * i386.md (pushv2di): New pattern.
3427         PR target/6890
3428         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
3429
3430 2002-10-22  Richard Henderson  <rth@redhat.com>
3431
3432         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
3433         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
3434         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
3435         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3436         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3437         (TARGET_ASM_OUT): Update.
3438         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
3439         (hook_bool_tree_hwi_hwi_tree_true): New.
3440         (default_can_output_mi_thunk_no_vcall): New.
3441         * hooks.h: Declare them.
3442         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
3443
3444         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3445         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
3446         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
3447         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
3448         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
3449         config/stormy16/stormy16.c: Similarly.
3450
3451         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
3452         Handle 64-bit properly.  Streamline.
3453         (x86_output_mi_vcall_thunk): Remove.
3454         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
3455         (x86_can_output_mi_thunk): New.
3456         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3457         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3458         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
3459
3460         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
3461         output_mi_thunk; make static; always use function_section.
3462         (TARGET_ASM_OUTPUT_MI_THUNK): New.
3463         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3464         (rs6000_ra_ever_killed): Test no_new_pseudos not
3465         targetm.asm_out.output_mi_thunk in conjunction with thunks.
3466         * config/rs6000/rs6000-protos.h: Update.
3467         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3468         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
3469         xcoffout_declare_function when using rs6000_output_mi_thunk.
3470
3471         * config/s390/s390.c (s390_output_mi_thunk): Rename from
3472         s390_output_mi_vcall_thunk.
3473         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3474         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3475
3476         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
3477         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3478         * config/vax/vax-protos.h: Update.
3479         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
3480
3481 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
3482
3483         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
3484         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
3485         * i386.md (movti_internal): Use 'C'
3486
3487         * xmmintrin.h (_mm_cmplt_epi*): New.
3488
3489 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3490
3491         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
3492         ("*movdf_64"): Likewise.
3493         ("*lshrdi3_64"): Likewise.
3494         ("blockage"): Add length attribute.
3495         ("lit"): Likewise.
3496
3497 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
3498
3499         * i386.md: FIx typo.
3500         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
3501         (sse2_umulv2siv2di3): Fix predicate.
3502         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
3503         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
3504         * xmmintrin.h (_mm_mul_epu16): Rename to...
3505         (_mm_mul_epu32): This one.
3506         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
3507
3508         (contains_128bit_aligned_vector_p): Undo accidental checkin.
3509
3510 2002-10-22  Eric Christopher  <echristo@redhat.com>
3511
3512         * config/sparc/sparc.h: Add #error.
3513
3514 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3515
3516         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
3517         [s390x-*-linux*]: Likewise.
3518         * config/s390/t-linux: Remove.
3519         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
3520
3521 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
3522
3523         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
3524         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
3525         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
3526         * i386.md (mmx_punpck?dq): Simplify.
3527         (sse2_pubpcklqdq): Fix.
3528         (sse2_pubpckhqdq): New.
3529         * xmmintrin.h (_mm_unpackhi_epi32): New.
3530
3531         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
3532         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
3533
3534 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
3535
3536         PR c++/7209
3537         * fold_const.c (fold_binary_op_with_conditional_arg): Always
3538         build compound_expr if we used save_expr.
3539
3540 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
3541
3542         * output.h (SECTION_NOTYPE): Define.
3543         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
3544         init array sections.
3545         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
3546         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
3547         merge TLS support.
3548
3549 2002-10-21  Richard Henderson  <rth@redhat.com>
3550
3551         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
3552         the function type, not the return type.
3553
3554 2002-10-21  Richard Henderson  <rth@redhat.com>
3555
3556         * real.c (sticky_rshift_significand): Return inexact, don't
3557         or it in immediately.
3558         (sub_significands): Accept incomming carry.
3559         (div_significands, rtd_divmod): Update for sub_significands change.
3560         (round_for_format): Update for sticky_rshift_significand change.
3561         (do_add): Don't involve the inexact bit in addition, do give the
3562         inexact bit as the subtraction carry-in.
3563         (encode_internal, decode_internal, real_internal_format): New.
3564         * real.h (real_internal_format): Declare.
3565
3566 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3567
3568         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
3569         don't define sdiv_qrnnd.
3570
3571 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
3572
3573         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
3574         using IN_RANGE.
3575         (TINY_CONSTANT_ADDRESS_P): Likewise.
3576
3577 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
3578
3579         * i386.c (builtin_description): Add punpcklqdq and movdq2q
3580         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
3581         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
3582         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
3583         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
3584         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
3585         __builtin_ia32_setzero128.
3586         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
3587         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
3588         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
3589         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
3590         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
3591         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
3592         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
3593         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
3594         sse2_movq): New patterns.
3595         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
3596         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
3597         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
3598         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
3599         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
3600         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
3601         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
3602         (_mm_insert_epi16): Fix.
3603
3604 2002-10-21  Dale Johannesen  <dalej@apple.com>
3605
3606         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
3607             unsafe math reversals correctly for RTL generation.
3608           (output_cbranch):  Replace rs6000_reverse_condition call
3609             by its former definition.
3610
3611 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
3612
3613         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
3614         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
3615         from constant pool or LABEL_REFs as sign extended if allow_rip.
3616         Change all +-1GB limits to +-16MB.
3617         (x86_64_general_operand, x86_64_szext_general_operand,
3618         x86_64_nonmemory_operand, x86_64_movabs_operand,
3619         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
3620         legitimate_address_p, ix86_expand_int_movcc): Update callers.
3621         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
3622         in CM_SMALL_PIC model.
3623         (legitimate_pic_address_disp_p): Don't check offsets before
3624         calling local_symbolic_operand.
3625         (legitimize_pic_address): Force offsets bigger than +-16MB into
3626         register.
3627         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
3628         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
3629         prototype.
3630
3631         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
3632         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
3633         * configure: Rebuilt.
3634         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
3635         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
3636         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
3637         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
3638         -fpic.
3639         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
3640         non-pic code if TARGET_64BIT.
3641         (legitimize_address): Generate 64-bit TLS sequences.
3642         (output_pic_addr_const): Support x86-64 TLS operators.
3643         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
3644         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
3645         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
3646         (output_addr_const_extra): Support x86-64 TLS operators.
3647         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
3648         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
3649         unconditionally.
3650         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
3651         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
3652         (*tls_global_dynamic_sun): Renamed to...
3653         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
3654         (tls_global_dynamic): Renamed to...
3655         (tls_global_dynamic_32): ... this.
3656         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
3657         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
3658         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
3659         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
3660         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
3661         (tls_local_dynamic_base_dynamic): Renamed to...
3662         (tls_local_dynamic_base_dynamic_32): ... this.
3663         (tls_local_dynamic_base_dynamic_64,
3664         *tls_local_dynamic_base_dynamic_64): New.
3665         (*tls_local_dynamic_once): Renamed to...
3666         (*tls_local_dynamic_32_once): ... this.
3667
3668 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3669
3670         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
3671         __divdi3, __umoddi3, or __moddi3.
3672
3673 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3674
3675         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
3676         instead of just opt_index as switch expression.
3677
3678         * calls.c (store_one_arg): Change type of 'excess_align'
3679         to unsigned int.
3680
3681         * profile.c (output_gcov_string): Change type of 'temp'
3682         to size_t.
3683
3684 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3685
3686         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
3687         (__fixunssfdi, __fixsfdi): Likewise.
3688         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
3689         (s390_single_qi): Likewise.
3690         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
3691         unsigned comparison warning.
3692         (s390_return_addr_rtx): New function.
3693         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
3694         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
3695         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
3696
3697 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3698
3699         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
3700         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
3701         (s390_output_mi_thunk): Remove.
3702         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3703
3704 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
3705
3706         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
3707
3708 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
3709
3710         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
3711         inverted test in the conditional determining the possibility
3712         of sibcalls in PIC mode.
3713
3714 2002-10-20  Richard Henderson  <rth@redhat.com>
3715
3716         * target.h (struct gcc_target): Line wrap.
3717
3718         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
3719         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
3720         * config/alpha/alpha.h: ... not here.
3721         * config/alpha/alpha-protos.h: Update.
3722
3723         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
3724         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
3725         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
3726         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
3727         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
3728         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
3729         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
3730         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
3731         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
3732         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
3733         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
3734         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
3735         config/sparc/sparc.c, config/sparc/sparc.h,
3736         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
3737         config/stormy16/stormy16.h: Similarly.
3738
3739         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
3740         selection logic from call patterns.
3741
3742 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
3743
3744         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
3745
3746 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3747
3748         PR other/8202
3749         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
3750         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
3751         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
3752         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
3753
3754 2002-10-20  Roger Sayle  <roger@eyesopen.com>
3755
3756         PR c/761
3757         * toplev.c (flag_unsafe_profile_arcs): Remove.
3758         (flag_bounded_pointers): Remove.
3759         (flag_bounds_check): Correct comments.
3760         (lang_independent_options): Remove -funsafe-profile-arcs and
3761         -fbounded-pointers.  Correct -fbounds-check comments.
3762
3763         * flags.h: Correct flag_schedule_interblock comments.
3764         (flag_bounded_pointers): Remove prototype.
3765         (flag_bounds_check): Correct comments.
3766
3767         * c-opts.c (c_common_init_options): No need to mark
3768         flag_bounds_check as unspecified.
3769         (c_common_post_options): And no need to set it from
3770         flag_bounded_pointers if its still unspecified.
3771
3772         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
3773         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
3774         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
3775         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
3776
3777 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
3778         Angela Marie Thomas  <angela@releasedominatrix.com>
3779         Brendan Kehoe  <brendan@zen.org>
3780         Nick Clifton  <nickc@redhat.com>
3781         Andrew Haley  <aph@redhat.com>
3782
3783         * configure.in (--with-sysroot): New.  Don't inhibit libc if
3784         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
3785         and CROSS_SYSTEM_HEADER_DIR.
3786         * configure: Rebuilt.
3787         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
3788         (TARGET_SYSTEM_ROOT): New.
3789         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
3790         CROSS_SYSTEM_HEADER_DIR.
3791         (install-gcc-tooldir): New target.
3792         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
3793         if SYSTEM_HEADER_DIR does not exist and it's not the default
3794         sys-include directory.
3795         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
3796         (install-mkheaders): Likewise.
3797         * gcc.c (target_system_root): New variable.
3798         (add_sysrooted_prefix): New function.
3799         (process_command): Recompute run-time target_system_root from
3800         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
3801         does not exist.
3802         (do_spec_1): Process 'R' spec.
3803         (main): Add md_exec_prefix to exec_prefixes regardless of
3804         startfile_prefix_spec.  Use add_sysrooted_prefix for
3805         startfile_prefixes, and don't skip the default ones when cross
3806         compiling with sysroot enabled.  Removed unused case of
3807         non-absolute standard_startfile_prefix.
3808         * config/interix.h: Remove the only potential, yet disabled,
3809         occurrence of non-absolute (empty) standard_startfile_prefix.
3810         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
3811         linking.
3812         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
3813         * doc/install.texi (--with-sysroot): Document.
3814         (--with-headers, --with-libs): Deprecate.
3815
3816 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3817             Mark Mitchell  <mark@codesourcery.com>
3818
3819         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
3820         match target.h.
3821         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
3822         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
3823         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
3824         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
3825         x86_output_mi_thunk): Likewise.
3826         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
3827         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
3828         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
3829         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
3830         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
3831         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
3832         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
3833         Likewise.
3834         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
3835
3836         * target.h (gcc_target): Update output_mi_thunk and
3837         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
3838         vcall_index.
3839
3840         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
3841         TARGET_ASM_OUTPUT_MI_THUNK in comments.
3842         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
3843         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
3844         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
3845         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
3846         signature.
3847         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
3848         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
3849         TARGET_ASM_OUTPUT_MI_THUNK in comments.
3850         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
3851         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
3852         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
3853         TARGET_ASM_OUTPUT_MI_THUNK in comments.
3854         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
3855         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
3856
3857         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
3858         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
3859
3860 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
3861
3862         * real.c (do_add): Fix 0+0 sign corner case.
3863         (do_divide): Fix Inf/0 corner case.
3864
3865 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
3866
3867         * i386.c (classify_argument): Pass MMX arguments in memory
3868         (ix86_expand_builtin): Expand proper address mode for cflush.
3869         * i386.md (movdqa): Fix typo.
3870         (sse2_cflush): Accept DImode addresses.
3871
3872         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
3873         (_mm_max_sd): Fix pasto.
3874         (_mm_storeh_pd, _mm_storel_pd): Fix.
3875
3876         * i386.c (bdesc_comi): Fix to match specification.
3877         (ix86_expand_sse_comi): Emit the comparison properly.
3878         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
3879         Do not use comparison operator.
3880         (vnmaskcmp): Fix template.
3881
3882         * xmmintrin.h (_mm_cvtps_pi16): Fix.
3883
3884 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
3885
3886         * dependence.c : Removed.
3887         * Makefile.in : Remove dependence.o.
3888
3889 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
3890
3891         * mmintrin.h (__m64): typedef it to v2si.
3892         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
3893         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
3894         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
3895         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
3896         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
3897         * xmmintrin.h (_mm_setzero_si64): Likewise.
3898
3899         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
3900         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
3901
3902         PR target/7693
3903         Patch by Shawn Wagner
3904         * mmintrin.h: Replace pi64 by si64.
3905
3906 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
3907
3908         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
3909         Use length of 4 not *.
3910         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
3911         (movdf_softfloat64): Likewise.
3912         (movdi_internal32): Use length of 4 not *.
3913         (movti_power): Same.
3914         (ctrsi, ctrdi): Same.
3915
3916 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
3917
3918         * c-decl.c (start_decl): Point users of the old initialized-
3919         typedef extension at __typeof__.
3920
3921 2002-10-18  Richard Henderson  <rth@redhat.com>
3922
3923         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
3924         (real_to_decimal): Re-implement using the logic from the
3925         gcc 3.2 etoasc.  Comment heavily.
3926         (div_significands): Simplify loop startup and comparison logic.
3927
3928 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
3929
3930         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
3931         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
3932         (TARGET_ASM_OUT): Add them.
3933         * target.h (asm_out): Add output_mi_thunk and
3934         output_mi_vcall_thunk.
3935         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3936         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3937         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
3938         * config/arm/arm.c (arm_output_mi_thunk): Define.
3939         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3940         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3941         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3942         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3943         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3944         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3945         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
3946         prototype.
3947         (x86_output_mi_vcall_thunk): Declare.
3948         * config/i386/i386.c (override_options): Clear
3949         output_mi_vcall_thunk in 64-bit mode.
3950         (ix86_fntype_regparm): New function.
3951         (ix86_return_pops_args): Use it.
3952         (ia32_this_parameter): New function.
3953         (x86_output_mi_vcall_thunk): New function.
3954         (x86_output_mi_thunk): Use it
3955         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
3956         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
3957         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
3958         * config/i960/i960.c (i960_output_mi_thunk): New function.
3959         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
3960         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
3961         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
3962         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3963         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3964         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
3965         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3966         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3967         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3968         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3969         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3970         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3971         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3972         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3973         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3974         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3975         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
3976         * config/s390/s390.c (s390_output_mi_thunk): Define.
3977         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3978         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3979         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3980         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3981         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3982         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3983         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
3984         * config/vax/vax.c (vax_output_mi_thunk): Define.
3985         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3986         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3987         * doc/tm.texi: Adjust documentation.
3988
3989 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
3990
3991         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
3992         __enable_execute_stack function.
3993         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
3994         as NETBSD_ENABLE_EXECUTE_STACK.
3995         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3996         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3997         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3998         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
3999         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4000
4001 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
4002
4003         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
4004         to __enable_execute_stack with the address of the trampoline
4005         if TRANSFER_FROM_TRAMPOLINE is defined.
4006         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
4007         constant if building libgcc2.
4008
4009 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
4010
4011         * i386.c (pentium4_cost): Fix according to Intel recommendations.
4012         (ix86_memory_move_cost): Fix for 64bit compilation.
4013
4014 2002-10-17  Roger Sayle  <roger@eyesopen.com>
4015
4016         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
4017
4018 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
4019
4020         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
4021         in CTR/LR/MQ.
4022         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
4023         to/from CTR/LR/MQ.
4024         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
4025         (movsf_softfloat): Likewise.
4026
4027 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
4028
4029         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
4030
4031 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
4032
4033         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
4034         tramp, not addr, to pass the trampoline address to
4035         __enable_execute_stack.
4036
4037 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
4038
4039         * mmintrin.h: Guard by __MMX__
4040         * xmmintrin.h: Guard by __SSE__
4041
4042         PR other/8062
4043         * xmmintrin.h (_MM_SHUFFLE2): New macro.
4044         (_mm_load*_?d): New functions.
4045         (_mm_set*_?d): New functions.
4046         (_mm_store*_?d): New functions.
4047
4048 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
4049
4050         Really commit patch announced at Oct 14
4051         PR c/7344
4052         * predict.c (can_predict_insn_p): New function.
4053         (estimate_probability): Avoid unnecesary work.
4054         (process_note_prediction): Likewise.
4055         * toplev.c (rest_of_compilation): Account early branch prediction pass
4056         as TV_BRANCH_PROB.
4057
4058         PR other/8048
4059         Found by Ian Ollmann
4060         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
4061         (_mm_load?_pd): Likewise.
4062         (_mm_store?_pd): Likewise.
4063
4064         PR target/7386
4065         * i386.c (builtin_description):Drop cmpg[te]s[sd].
4066         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
4067         swapped alternative.
4068
4069         PR opt/7630
4070         * reload1.c (reload_inner_reg_of_subreg): New argument output;
4071         (push_reload): Update call.
4072
4073 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
4074
4075         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
4076         if using mips/elf.h or mips/elf64.h.
4077         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
4078         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
4079
4080 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
4081
4082         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
4083         SI.
4084
4085 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
4086
4087         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
4088         (LPREFIX): Likewise.
4089         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
4090         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
4091         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
4092         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
4093         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
4094
4095         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
4096         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
4097         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4098         BSS_SECTION_ASM_OP): Move from linux.h.
4099         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4100         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4101
4102         * config/s390/s390.c (s390_function_profiler): Use
4103         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4104
4105 2002-10-15  Eric Christopher  <echristo@redhat.com>
4106
4107         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
4108         * java/parse.y (obtain_incomplete_type): Make pointer
4109         ptr_mode.
4110
4111 2002-10-15  Richard Henderson  <rth@redhat.com>
4112
4113         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
4114         as arguments.  Bound DIGITS by the available buffer size.
4115         (real_to_hexadecimal): Likewise.
4116         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
4117         (REAL_VALUE_TO_DECIMAL): Remove.
4118         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
4119         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
4120         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
4121         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4122         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
4123         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
4124         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
4125         use real_to_decimal directly, and with the proper arguments.
4126         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
4127
4128 2002-10-15  Jim Wilson  <wilson@redhat.com>
4129
4130         * reload1.c (merge_assigned_reloads): After converting overlapping
4131         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
4132
4133         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
4134
4135 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
4136
4137         * expr.c (do_tablejump): Fix typo in my previous commit.
4138
4139 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
4140
4141         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
4142
4143 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4144
4145         * config/s390/s390.c (s390_split_branches): Add return
4146         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
4147
4148         (find_base_register_in_addr): New function.
4149         (find_base_register_ref): New function.
4150         (replace_base_register_ref): New function.
4151
4152         (struct constant_pool): Add members pool_insn, insns, and anchor.
4153         Remove member last_insn.
4154         (s390_start_pool): Initialize them.
4155         (s390_end_pool): Emit pool placeholder insn.
4156         (s390_add_pool_insn): New function.
4157         (s390_find_pool): Use insns bitmap instead of addresses.
4158         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
4159         Replace unspec 104 by local-pool-relative references.
4160         (s390_output_constant_pool): Output anchor label if required.
4161         (s390_output_symbolic_const): Handle unspec 104 and 105.
4162         (s390_add_pool): Remove, replace by ...
4163         (s390_add_constant, s390_find_constant): ... these new functions.
4164         (s390_add_anchor): New function.
4165
4166         (s390_chunkify_pool): Delete, replace by ...
4167         (s390_chunkify_start, s390_chunkify_finish,
4168         s390_chunkify_cancel): ... these new functions.
4169         (s390_optimize_prolog): Add parameter TEMP_REGNO.
4170         Recompute register live data for special registers.
4171         (s390_fixup_clobbered_return_reg): New function.
4172         (s390_machine_dependent_reorg): Rewrite to use new
4173         s390_chunkify_... routines.
4174
4175         config/s390/s390.md ("reload_base"): Rename to ...
4176         ("reload_base_31"): ... this.
4177         ("reload_base_64"): New insn.
4178         ("reload_base2"): Remove.
4179         ("reload_anchor"): New insn.
4180         ("pool"): New insn.
4181
4182         s390.c (s390_pool_overflow): Remove.
4183         s390.h (s390_pool_overflow): Likewise.
4184         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
4185
4186 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
4187
4188         * sh.md (movv8qi_i+2): Don't split if source is -1.
4189
4190 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
4191
4192         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
4193
4194 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4195
4196         PR opt/7409
4197         * loop.c (loop_regs_scan): Mark registers used for function
4198         argument passing as MAY_NOT_OPTIMIZE.
4199
4200 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
4201
4202         * gcov-io.h (gcov_info): Fix type.
4203         * profile.c (create_profiler): Fix type mismatch.
4204
4205 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
4206
4207         * i386.md (movv2di_internal): New pattern.
4208         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
4209         (movv2di): New expander.
4210         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
4211
4212         * i386.c (ix86_expand_timode_binop_builtin): Delete.
4213         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
4214         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
4215         (ix86_expand_builtin): Likewise.
4216         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4217         sse_andti3,
4218         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4219         sse_andnti3,
4220         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
4221         sse_orti3,
4222         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
4223         sse_xorti3): Kill.
4224         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
4225          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
4226         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
4227          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
4228         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
4229          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
4230
4231         * xmmintrin.h (__m128i): Define as __v2di.
4232
4233         PR c++/6419
4234         (expand_expr): Use DECL_RTL_SET_P.
4235
4236 2002-10-14  Roger Sayle  <roger@eyesopen.com>
4237
4238         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
4239
4240 2002-10-14  Roger Sayle  <roger@eyesopen.com>
4241             Zack Weinberg <zack@codesourcery.com>
4242
4243         * config/i386/i386.c (k6_cost): Correct typo.
4244
4245 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
4246
4247         PR optimization/6631
4248         * alias.c (objects_must_conflict_p): Check honor_readonly when
4249         examining TYPE_READONLY.
4250         * function.c (assign_stack_temp_for_type): Likewise.
4251
4252 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
4253
4254         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
4255         Swap zero extension arguments.
4256         (umaxhi3): Fix instruction class.
4257         PR target/7211
4258         (prefetch): Fix prefetch instructions.
4259         PR target/7238
4260         (pkwb): Fix output constraint.
4261
4262 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
4263
4264         * config/mips/mips.c (print_operand): Increase buffer size for
4265         real numbers.
4266
4267 2002-10-14  Richard Henderson  <rth@redhat.com>
4268
4269         PR opt/8165
4270         * gcse.c (adjust_libcall_notes): Revert last change.
4271         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
4272
4273 2002-10-14  Andrew Haley  <aph@redhat.com>
4274
4275         * tree-inline.c (remap_block): All local class initialization
4276         flags go in the outermost scope.
4277         (expand_call_inline): Call java_inlining_map_static_initializers.
4278         (expand_call_inline): Call java_inlining_merge_static_initializers.
4279         * java/lang.c (merge_init_test_initialization): New.
4280         (java_inlining_merge_static_initializers): New.
4281         (inline_init_test_initialization): New.
4282         (java_inlining_map_static_initializers): New.
4283
4284         * tree-inline.c (expand_call_inline): Convert retvar to expected
4285         type.
4286
4287 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
4288
4289         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
4290
4291 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
4292
4293         * stmt.c: Fix typo in comment.
4294
4295 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
4296
4297         * c-common.c (c_common_type_for_mode): Add V2HImode case.
4298         * tree.c (build_common_tree_nodes_2): Initialize
4299         unsigned_V2HI_type_node and V2HI_type_node.
4300         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
4301         (unsigned_V2HI_type_node, V2HI_type_node): Define.
4302
4303 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
4304
4305         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
4306         Handle TARGET_64BIT.
4307
4308 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
4309
4310         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
4311         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
4312         (MULTILIB_DIRNAMES): Remove long32.
4313         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
4314         (MULTILIB_REDUNDANT_DIRS): Remove.
4315
4316 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
4317
4318         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
4319         * gcc.c (driver_self_specs): New variable.
4320         (do_self_spec): New function.
4321         (main): Use it to process driver_self_specs.
4322
4323 2002-10-13  Richard Henderson  <rth@redhat.com>
4324
4325         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
4326         indirect sibcalls when regparm >= 3.
4327
4328         * config/i386/i386.c (sibcall_insn_operand): New.
4329         * config/i386/i386.h (PREDICATE_CODES): Update.
4330         * config/i386/i386-protos.h: Update.
4331         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
4332
4333         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
4334
4335 2002-10-12  Roger Sayle  <roger@eyesopen.com>
4336
4337         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
4338         arithmetic right shifts of ~0 during RTL simplifications.
4339
4340 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
4341
4342         PR preprocessor/7862
4343         PR preprocessor/8190
4344         * gcc.c (cpp_unique_options): Don't delete .d files.
4345         Remove stray whitespace.
4346
4347 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
4348
4349         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
4350         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
4351         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
4352         (pdp11_output_function_epilogue, output_ascii): Likewise.
4353         (output_addr_const_pdp11): Likewise.
4354         * pdp11.md (movdi): Use offsetable memory for floating store.
4355         (lshrsi3, negsi2): Delete irrelevant comment.
4356
4357 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
4358
4359         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
4360         indirect calls to be sibcall optimized.
4361         * config/i386/i386.md (sibcall_1): New.
4362         (call_1): Add no-sibcalls condition.
4363         (sibcall_value_1): New.
4364         (call_value_1): Add no-sibcalls condition.
4365
4366 2002-10-11  Eric Christopher  <echristo@redhat.com>
4367
4368        * output.h (default_valid_pointer_mode): Declare.
4369        * varasm.c (default_valid_pointer_mode): Define.
4370        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
4371        * target.h: Ditto.
4372        * tree.c (build_pointer_type_for_mode): New function.
4373        (build_pointer_type): Use.
4374        (build_reference_type_for_mode): New function.
4375        (build_reference_type): Use.
4376        * tree.h: Declare new functions.
4377        * c-common.c (handle_mode_attribute): Use new functions, check
4378        for type.
4379        * stor-layout.c (layout_type): Depend on machine mode for
4380        REFERENCE_TYPE and POINTER_TYPE.
4381        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
4382        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
4383        and REFERENCE_TYPE.
4384        * config/mips/mips.c (mips_valid_pointer_mode): New function.
4385        (TARGET_VALID_POINTER_MODE): Use and define.
4386        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
4387
4388 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
4389
4390         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
4391         not the address of the REG.
4392         (struct cse_reg_info): Make subreg_ticked unsigned.
4393
4394 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
4395
4396         * doc/compat.texi: Add info about C++ libraries.
4397
4398 2002-10-11  Richard Henderson  <rth@redhat.com>
4399
4400         PR opt/8165
4401         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
4402
4403 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4404
4405         * cfganal.c (dfs_enumerate_from): Use PARAMS.
4406         * genautomata.c (output_insn_code_cases): Likewise.
4407         * real.c (real_format): Likewise.
4408         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
4409         ensure value is promoted before doing subtraction.
4410
4411 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
4412
4413         * calls.c (expand_call): Simplify noreturn call.
4414
4415         PR c/7344
4416         * cfgbuild.c (make_edges): Create edge cache when we do have
4417         large jumptable.
4418         * expr.c (do_tablejump): Note size of maximal jumptable.
4419         * function.c (prepare_function_start): Zero out size.
4420         * function.h (function): Add max_jumptable_ents.
4421
4422         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
4423
4424 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
4425
4426         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
4427         register for mperm_w operation.
4428
4429 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
4430
4431         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
4432         an integer, use simplify_gen_subreg.
4433
4434 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
4435
4436         * calls.c (flags_from_decl_or_type): Make extern.
4437         (ECF_*): Move ...
4438         * rtl.h (ECF_*): ... here.
4439         (flags_from_decl_or_type): Declare.
4440
4441 2002-10-10  Roger Sayle  <roger@eyesopen.com>
4442             Nathan Sidwell <nathan@codesourcery.com>
4443
4444         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
4445         shifts of the form -1 >> x.
4446
4447 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
4448
4449         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
4450
4451 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
4452
4453         * extend.texi (Vector Extensions): Remove comment about single
4454         element vectors.
4455
4456 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4457
4458         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
4459         * function.c (insns_for_mem_hash): Likewise.
4460         * varasm.c (STRHASH): Likewise.
4461
4462 2002-10-10  Stuart Hastings  <stuart@apple.com>
4463
4464         * cse.c (struct cse_reg_info): Add subreg_ticked.
4465         (SUBREG_TICKED): New.
4466         (get_cse_reg_info): Initialize SUBREG_TICKED.
4467         (mention_regs): Use it.
4468         (invalidate): Set SUBREG_TICKED.
4469         (invalidate_for_call): Likewise.
4470         (addr_affects_sp_p): Likewise.
4471
4472 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
4473
4474         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
4475         into proper operand.
4476
4477 2002-10-10  Denis Chertykov  <denisc@overta.ru>
4478
4479         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
4480         deallocation.
4481         * config/ip2k/libgcc.S: Combine routines used by function
4482         epilogue.
4483
4484 2002-10-10  Jim Wilson  <wilson@redhat.com>
4485
4486         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
4487         UDIV.
4488
4489 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
4490
4491         * config/rs6000/aix52.h: New file.
4492         * config/rs6000/t-aix52: New File.
4493         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
4494         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
4495
4496 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
4497
4498         PR target/5610
4499         * invoke.texi (-msse-math): Kill
4500         (-msse): Add note to mfpmath=sse.
4501
4502 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
4503
4504         PR target/7723
4505         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
4506
4507 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
4508
4509         PR preprocessor/8179
4510         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
4511         as cc1_options.
4512         (default_compilers): Pass debug options when preprocessing
4513         stdin.
4514
4515 2002-10-06  Richard Henderson  <rth@redhat.com>
4516
4517         * toplev.c (rest_of_compilation): Revert opt/2960 change.
4518
4519 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
4520
4521         * i386.c (*_cost): Add branch costs.
4522         (override_options): set ix86_branch_cost.
4523         (ix86_expand_int_movcc): Use BRANCH_COST.
4524         * i386.h (costs): Add branch_cost.
4525
4526 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
4527
4528         PR c/7353
4529         * c-decl.c (start_decl): Unconditionally issue error for
4530         'typedef foo = bar'.
4531         (finish_decl): Remove special case for TYPE_DECL with initializer.
4532
4533         * doc/extend.texi: Delete "Naming Types" section.  Change all
4534         cross-references to that section to refer to "Typeof" instead.
4535         Add the useful safe-max()-macro example from "Naming Types" to
4536         "Typeof", rewritten using that extension.  Add some compatibility
4537         notes to "Typeof."
4538
4539 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4540
4541         * loop.c: Revert 2002-08-15 change.
4542         (LOOP_REGNO_NREGS): Ensure type is int.
4543
4544 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
4545
4546         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
4547         which copies first FPR and clears second.
4548         (extendsftf2): Same.
4549         (floatditf2): Fix typo.
4550         (floatsitf2): Same.
4551         (fix_trunctfdi2): Same.
4552         (fix_trunctfsi2): Same.
4553
4554 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4555
4556         * conflict.c (arc_hash): Change return type to hashval_t.
4557         * cselib.c (get_value_hash): Likewise.
4558         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
4559         state_hash, automata_list_hash): Likewise.
4560         * read-rtl.c (def_hash): Likewise.
4561         * tree.c (type_hash_hash): Likewise.
4562
4563 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
4564
4565         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
4566         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
4567
4568 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
4569
4570         * sh.md (ffssi2): Fix emitted code.
4571
4572 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
4573
4574         * cse.c (insn_live_p): Pass insn pattern, not full insn
4575         to may_trap_p.
4576
4577 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
4578
4579         * cppmacro.c (paste_tokens): Only allow / to paste with =.
4580
4581 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
4582
4583         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
4584         64-bit hosts.
4585         (movtf_internal): Reference correct displacement for second value
4586         in memory.
4587         (movtf splitter): Correct generation of constants in 64-bit mode.
4588
4589 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
4590
4591         * libgcc2.c (__floatdisf): Properly cure double rounding.
4592
4593 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4594
4595         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
4596         * doc/cpp.texi (Common Predefined Macros): Document.
4597
4598 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4599
4600         PR doc/7484
4601         * doc/invoke.texi (Option Summary): List
4602         -Wmissing-declarations as a C only option.
4603
4604 2002-10-08  Roger Sayle  <roger@eyesopen.com>
4605
4606         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
4607         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
4608         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
4609
4610 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
4611
4612         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
4613         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
4614         variables.
4615         (safe_vector_operand): Update sse_clrv4sf call.
4616         (ix86_expand_buildin): Likewise
4617         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
4618         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
4619         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
4620         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
4621         macros.
4622         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
4623         movv4si):  Obey the new flags.
4624         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
4625         reformating penalty.
4626         (anddf, cmov patterns): Avoid reformating by first converting.
4627         (sse_cvtsd2ss): Fix predicate.
4628         (sse2_clrti): Fix mode,
4629         (sse_clrv4sf): Avoid unspec.
4630
4631 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
4632
4633         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
4634         mno-app-regs|mcmodel=medany.
4635         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
4636         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
4637         (CRTSTUFF_T_CFLAGS): Define.
4638
4639 2002-10-08  Roger Sayle  <roger@eyesopen.com>
4640
4641         PR target/8087
4642         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
4643         pool references that are constructed using LO_SUM.
4644
4645 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
4646
4647         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
4648         -Wall.
4649         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
4650         message.
4651         * flags.h (warn_strict_aliasing): Declare.
4652         * toplev.c (warn_strict_aliasing): Define.
4653         (lang_independent_options): Add it.
4654         * doc/invoke.texi (-Wstrict-aliasing): Document it.
4655
4656 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
4657
4658         * system.h (GCCBUGURL): Delete.
4659         * version.c (bug_report_url): New.  Add commentary about
4660         modifying both these strings in modified distributions.
4661         * version.h: Declare bug_report_url.
4662
4663         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
4664         bug_report_url.
4665
4666 2002-10-08  Nick Clifton  <nickc@redhat.com>
4667
4668         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
4669         convert uint64_t into __ev64_opaque__.
4670         (__ev_set_acc_s64): Likewise, but using signed types.
4671
4672 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
4673
4674         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
4675         ("*doloop_di_long"): Likewise.
4676
4677 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
4678
4679         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
4680
4681 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
4682
4683         * config/mips/mips.md (define_attr cpu): Add r4111.
4684
4685 2002-10-08  Anthony Green  <green@redhat.com>
4686
4687         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
4688
4689 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4690
4691         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
4692         for REAL_VALUE_TO_DECIMAL output.
4693
4694 2002-10-07  Richard Henderson  <rth@redhat.com>
4695
4696         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
4697         function; cleanup PLUS case by using recursion.  Update all users.
4698         (NONZERO_BASE_PLUS_P): Remove.
4699         (find_comparison_args): Use rtx_addr_can_trap_p instead.
4700         (fold_rtx): Use nonzero_address_p.
4701         * rtl.h (nonzero_address_p): Declare.
4702         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
4703         (rtx_addr_can_trap_p): Likewise.
4704         (nonzero_address_p): New.
4705         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
4706         (simplify_relational_operation): Use nonzero_address_p.
4707
4708 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
4709
4710         * config/rs6000/rs6000.c (rs6000_override_options): Set
4711         real_format_for_mode for IBM extended format, if enabled.
4712         (easy_fp_constant): Add TFmode.
4713         (rs6000_legitimize_address): Add TFmode.
4714         (rs6000_legitimate_address): Same.
4715         (function_arg_advance): TFmode uses two FPRs.
4716         (rs6000_emit_prologue): Fix warning.
4717         (rs6000_output_function_epilogue): Add TFmode.
4718         (output_toc): Add TFmode.
4719         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
4720         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
4721         * rs6000.md (movtf splitter): Load TFmode constant.
4722
4723 2002-10-07  Dale Johannesen  <dalej@apple.com>
4724
4725         * rtl.h:  Add NOTE_PRECONDITIONED.
4726         * unroll.c:  Set it.
4727         * loop.c:  Set loop_info->preconditioned from it.
4728         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
4729
4730 2002-10-07  Richard Henderson  <rth@redhat.com>
4731
4732         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
4733         new rtx for comparing the argument pointer against zero.
4734         (i960_va_start): Similarly.
4735
4736 2002-10-07  Richard Henderson  <rth@redhat.com>
4737
4738         * config/i960/i960.md (*): Use TFmode, not XFmode.
4739         * config/i960/i960.c (*): Likewise.
4740         (i960_arg_size_and_align): Remove XFmode alignment hack.
4741         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
4742         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
4743         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
4744         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
4745
4746 2002-10-07  Richard Henderson  <rth@redhat.com>
4747
4748         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
4749         entry points; use void return value and argument list.
4750
4751 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
4752
4753         * calls.c (expand_call): Fix function-is-volatile check.
4754
4755 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
4756
4757         * t-pdp11: Add MULTILIB support for msoft-float.
4758         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
4759
4760         * t-pdp11: Add LIB2FUNCS_EXTRA.
4761         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
4762         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
4763         'fldd' to 'ldd', rename 'fstd' to 'std'.
4764         (pdp11_output_function_epilogue): Likewise.
4765         (output_move_quad): Make the comment gas compatible.
4766         (output_ascii): Add preceding 0 to the octal constant.
4767         (print_operand_address): Add pre_modify, post_modify.
4768         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
4769         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
4770         with the indication of Paul Koning.
4771         (PRINT_OPERAND): Fix floating constant.
4772         * pdp11.md (movdi): Restrict matching pattern.
4773         (movqi): Generalize the matching pattern.
4774         (movdf): Restrict matching pattern.
4775         (zero_extendqihi2): Change constant representation.
4776         (floatsidf2): Fix wrong operands.
4777         (addqi3): Fix wrong instruction name.
4778         (subqi3): Fix wrong instruction name.
4779         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
4780         (xorsi3): Fix wrong insn.
4781         (one_cmplqi2): Add two operand pattern.
4782         (lsrsi3): New.
4783         (negsi2): New.
4784         (call): Add register indirect case.
4785         (mod): Fix wrong subreg.
4786
4787 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
4788             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4789
4790         PR c/7411
4791         * expr.c (expand_expr) [PLUS]: Simplify after the operands
4792         have been expanded in EXPAND_NORMAL mode.
4793
4794 2002-10-06  Richard Henderson  <rth@redhat.com>
4795
4796         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
4797
4798 2002-10-06  Richard Henderson  <rth@redhat.com>
4799
4800         PR optimization/2960
4801         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
4802         optimize_size.
4803
4804 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
4805
4806         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
4807         previously definitions.
4808
4809 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
4810
4811         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
4812         * c-opts.c (find_opt): Similarly.
4813
4814 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
4815
4816         * athlon.md: rewrite to DFA.
4817         * i386 (ix86_adjust_cost): Drop memory latency code.
4818         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
4819
4820 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
4821
4822         * gcc.c (set_multilib_dir): Don't access *end.
4823         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
4824         (print_multilib_info): Don't show paths starting with ".:".
4825         * genmultilib: Add new option, "yes" if multilibs are enabled.
4826         Update comments.  If multilibs not enabled, print .:${osdirout}
4827         for each directory.  If multilibs are enabled, always print
4828         ${dirout}:${osdirout}, even if the two are the same.
4829         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
4830         Pass all MULTILIB_* variables to genmultilib even if
4831         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
4832
4833 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
4834
4835         * gcc.c (process_command): Set .validated for -pipe.  Correct
4836         grammar in comment.
4837
4838 2002-10-04  Bruce Korb  <bkorb@gnu.org>
4839
4840         * fixinc/inclhack.def(hpux11_abs):  use format fix
4841         * fixinc/fixincl.x: regenerate
4842         * fixinc/tests/base/stdlib.h: accommodate new fix test
4843
4844 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
4845
4846         * c-common.c (cb_register_builtins):  Use really_no_inline.
4847
4848 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
4849
4850         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
4851         copied instruction if the note is not loop invariant.
4852
4853 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
4854
4855         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
4856
4857 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
4858
4859         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
4860         and -mhp-ld options to list of options.  Add -mgnu-ld
4861         and -mhp-ld option descriptions.
4862
4863 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
4864
4865         * fixinc/inclhack.def (hpux11_abs):  New.
4866         (stdio_va_list): change __va_list__ to __gnuc_va_list.
4867         * fixinc/fixincl.x: Rebuild.
4868
4869 2002-10-04  Roger Sayle  <roger@eyesopen.com>
4870
4871         * config/i386/i386.h (processor_costs): Add new fields fadd,
4872         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
4873         (RTX_COSTS): Use these fields to determine the RTX costs
4874         of floating point addition/subtraction, multiplication,
4875         division, fabs, negation and square root respectively.
4876         * config/i386/i386.c (size_cost): Provide instruction sizes
4877         for these new fields.
4878         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
4879         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
4880         counts for these new fields for all x86 processor variants.
4881
4882 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4883
4884         * mips.c (mips_const_double_ok): Delete unused variable.
4885
4886         * gengtype.c (rtx_next): Change type to int.
4887
4888 2002-10-04  Andreas Jaeger  <aj@suse.de>
4889
4890         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
4891
4892 2002-10-04  Richard Henderson  <rth@redhat.com>
4893
4894         * real.h (SIGNIFICAND_BITS): Add one more word.
4895         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
4896         * real.c (times_pten): New.
4897         (real_to_decimal, real_from_string): Use it.
4898         (sticky_rshift_significand): Use & to find modulus.
4899         (rshift_significand, lshift_significand): Likewise.
4900         (do_divide): Apply sticky bit after normalization.
4901         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
4902
4903 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
4904
4905         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
4906         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
4907
4908 2002-10-03  Andreas Jaeger  <aj@suse.de>
4909
4910         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
4911         to unsigned long, adjust printf format string.
4912         (output_mangled_typename): Likewise.
4913
4914 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
4915
4916         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
4917         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
4918         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
4919         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
4920         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
4921         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
4922         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
4923         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
4924
4925 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
4926
4927         * doc/invoke.texi (-Wabi): Document mangling bug.
4928
4929 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
4930
4931         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
4932         name for the tbtab label that depends on the function asm name.
4933         Don't output tbtab label unless optional_tbtab.
4934         (output_mi_thunk): Formatting.
4935
4936 2002-10-03  Richard Henderson  <rth@redhat.com>
4937
4938         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
4939         * config/m68k/m68k.c (override_options): ... here.
4940         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
4941         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
4942         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
4943         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
4944
4945 2002-10-03  Richard Henderson  <rth@redhat.com>
4946
4947         * real.h (struct real_value): Use ENUM_BITFIELD.
4948
4949 2002-10-03  Richard Henderson  <rth@redhat.com>
4950
4951         * config/i960/i960.md (call, call_value): Use emit_call_insn.
4952
4953 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
4954
4955         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
4956
4957 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
4958
4959         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
4960         * config/pa/pa.h (MASK_GNU_LD): New.
4961         (TARGET_GNU_LD): New.
4962         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
4963         on gnu-ld and MASK_GNU_LD.
4964         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
4965
4966 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
4967
4968         * i386.c (athlon_cost): Fix the move costs.
4969
4970 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
4971
4972         * final.c (final): Use symbol name as function name for profiling.
4973         * profile.c (get_exec_counts): Likewise.
4974         (branch_prob): Likewise.
4975
4976 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
4977
4978         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
4979
4980 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
4981
4982         * gcc.c (print_multi_os_directory): New variable.
4983         (option_map): Support --print-multi-os-directory.
4984         (struct prefix_list): Add os_multilib field.
4985         (multilib_os_dir): New variable.
4986         (static_specs): Add multilib_options.
4987         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
4988         subdirs if non-zero.
4989         (read_specs, execute): Update callers.
4990         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
4991         pass 1 as multilib option.
4992         (display_help): Include --print-multi-os-directory.
4993         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
4994         (process_command): Update callers.  Handle --print-multi-os-directory.
4995         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
4996         set.
4997         (main): Update find_a_file and add_prefix callers.
4998         Handle print_multi_os_directory.
4999         (struct mdswitchstr): New.
5000         (mdswitches, n_mdswitches): New variables.
5001         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
5002         present on the command line nor their mutually incompatible
5003         switches.
5004         (default_arg): Optimize.
5005         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
5006         array.
5007         (print_multilib_info): Only print GCC multilib dir name, not OS
5008         multilib dirname.
5009         * genmultilib: Add osdirnames parameter.  Output multilib_options
5010         variable.  If osdirnames is specified, output dirnames as
5011         dirname:osdirname.
5012         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
5013         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
5014         to compute libgcc_s soname and install path.
5015         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
5016         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
5017         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
5018         argument.
5019
5020         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
5021         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5022         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
5023         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
5024         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
5025         and -m64.
5026         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
5027         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5028         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
5029         (STARTFILE_ARCH_SPEC): Remove.
5030         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
5031         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5032         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
5033         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
5034         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5035
5036 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
5037
5038         * predict.c (choose_function_section): Avoid choice for linkonce functions.
5039
5040 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
5041
5042         * i386.md (lea to mul peep2): Fix condition.
5043
5044 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5045
5046         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
5047         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
5048
5049 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
5050
5051         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
5052         attribute "unused".
5053
5054         * config/t-libunwind: Mention unwind-sjlj.c.
5055         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
5056         to #ifndef __USING_SJLJ_EXCEPTIONS__.
5057
5058         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
5059         before inclusion of config.gcc, but after configuring the compiler etc.
5060         Determine default value for --enable-libunwind-exceptions based on
5061         whether the host has a libunwind library (not guaranteed to be correct,
5062         but it's a reasonable first guess and can always be overridden with an
5063         explicit --enable/disable-libunwind-exceptions.
5064         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
5065         tmake_file when $use_libunwind_exceptions is enabled.
5066         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
5067         ia64 (e.g., config/t-linux also updates it).
5068         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
5069         along with the shared version of libgcc since the latter requires
5070         the former.
5071         * unwind-libunwind.c: New file.
5072         * config/t-libunwind: Ditto.
5073
5074 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5075
5076         * config.gcc: Remove support for vax-*-vms*.
5077         * config/vax/vms.h: Remove.
5078         * config/vax/xm-vms.h: Remove.
5079         * config/vax/vax-protos.h: Remove VMS-specific code.
5080         * config/vax/vax.c: Remove VMS-specific code.
5081
5082 2002-10-02  Richard Henderson  <rth@redhat.com>
5083
5084         PR opt/7124
5085         * config/i386/i386.c (ix86_register_move_cost): Increase cost
5086         for secondary_memory_needed pairs.
5087
5088 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5089
5090         * doc/vms.texi: Blow away false include file section.
5091
5092 2002-10-02  Roger Sayle  <roger@eyesopen.com>
5093
5094         PR optimization/6627
5095         * toplev.c (force_align_functions_log): New global variable.
5096         * flags.h (force_align_functions_log): Add extern prototype.
5097         * varasm.c (assemble_start_function): Use it to force minimum
5098         function alignment.
5099         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
5100         minimum function alignment to one byte.
5101         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
5102         the least significant bit of vtable member function pointers.
5103         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
5104         here from cp/cp-tree.h.
5105
5106 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
5107
5108         * i386.c (print_operand_address): Use RIP addressing for offsetted
5109         label refs too.
5110
5111 2002-09-30  David S. Miller  <davem@redhat.com>
5112
5113         PR middle-end/7151
5114         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
5115         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
5116
5117 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
5118
5119         * calls.c (expand_call): Remove the `no indirect check'
5120         for sibcall optimization; use function_ok_for_sibcall
5121         target hook; refine check for `function is volatile'.
5122         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
5123         * hooks.c (hook_tree_tree_bool_false): New.
5124         * hooks.h (hook_tree_tree_bool_false): Declare.
5125         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
5126         (TARGET_INITIALIZER): Add it.
5127         * target.h (struct gcc_target): Add function_ok_for_sibcall.
5128         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
5129         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5130         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5131         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
5132         Remove function declaration.
5133         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
5134         function static and accept another argument of type `tree'.
5135         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5136         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5137         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5138         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
5139         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5140         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5141         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5142         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
5143         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
5144         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5145         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5146         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
5147         Remove function declaration.
5148         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
5149         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
5150         rename first argument to `decl'; accept another argument
5151         of type `tree'; make static.
5152         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5153         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5154         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
5155         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5156         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5157         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
5158         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5159         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5160         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5161
5162 2002-10-01  Roger Sayle  <roger@eyesopen.com>
5163
5164         * unroll.c (loop_iterations): Revert 2002-09-08 change.
5165
5166 2002-10-01  Richard Henderson  <rth@redhat.com>
5167
5168         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
5169         (real_to_hexadecimal): Likewise.
5170         * print-rtl.c (print_rtx): If we are linked with real.c, don't
5171         dump the XWINT fields of a floating point CONST_DOUBLE.
5172
5173 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
5174
5175         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
5176
5177 2002-10-01  Richard Henderson  <rth@redhat.com>
5178
5179         * calls.c (precompute_register_parameters): Force non-legitimate
5180         constants into pseudos.
5181
5182 2002-10-01  Nick Clifton  <nickc@redhat.com>
5183
5184         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
5185         to assembler template.
5186
5187 2002-10-01  Richard Henderson  <rth@redhat.com>
5188
5189         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
5190         for TLS debug info to !DECL_EXTERNAL.
5191
5192 2002-10-01  Matt Thomas  <matt@3am-software.com>
5193             Jason Thorpe  <thorpej@wasabisystems.com>
5194
5195         * config.gcc (vax-*-netbsdelf*): Enable configuration.
5196         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
5197         if not already defined.
5198         * config/vax/elf.h: New file.
5199         * config/vax/netbsd-elf.h: New file.
5200         * config/vax/vax.c: Include "debug.h".
5201         (vax_output_function_prologue): Add dwarf2 support.  Use
5202         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
5203         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
5204         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
5205         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
5206         (VAX_ISTREAM_SYNC): Remove.
5207         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
5208         (JUMP_TABLES_IN_TEXT_SECTION): Define.
5209         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
5210         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
5211         and assemble_name.
5212         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5213         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
5214         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
5215         (INCOMING_RETURN_ADDR_RTX): Define.
5216         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
5217         (VUNSPEC_SYNC_ISTREAM): Define.
5218         (blockage): Use VUNSPEC_BLOCKAGE.
5219         (sync_istream): New insn.
5220
5221 2002-10-01  Richard Henderson  <rth@redhat.com>
5222
5223         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
5224         (*call_value_pop, call, call_value): Add dwarf2 EH support.
5225         (*call): New insn.
5226
5227 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
5228
5229         PR c/8083
5230         * c-typeck.c (build_c_cast): Warn about type punning which breaks
5231         type based aliasing.
5232
5233 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
5234
5235         * stor-layout.c (update_alignment_for_field): New function.
5236         (place_union_field): Use it.
5237         (place_field): Likewise.
5238
5239 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
5240
5241         PR other/8077
5242         * gcc.c (cc1_options): Add space on -auxbase-strip.
5243
5244 2002-10-01  Jim Wilson  <wilson@redhat.com>
5245
5246         * config/v850/v850.h (EPILOGUE_USES): Define.
5247
5248 2002-09-30  Andrew Haley  <aph@redhat.com>
5249
5250         * flow.c (insn_dead_p): When using non-call-exceptions, don't
5251         eliminate insns that may trap.
5252         * cse.c (insn_live_p): Likewise.
5253
5254 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5255
5256         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
5257         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
5258         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
5259         * config/mips/mips.md: Apply same renaming here.
5260
5261 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5262
5263         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
5264         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
5265         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
5266         * config/mips/mips.md (define_attr cpu): Remove r4320.
5267         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
5268
5269 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5270
5271         * config/mips/mips.c (mips16_strings): New variable.
5272         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
5273         symbol in mips16_strings.  Free the list.
5274         (mips_encode_section_info): Keep track of local strings.
5275
5276 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5277
5278         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
5279         (sordered_df, sordered_sf): Remove.
5280         * config/mips/mips.c (get_float_compare_codes): New fn.
5281         (gen_int_relational, gen_conditional_move): Use it.
5282
5283 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5284
5285         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
5286         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
5287         * config/mips/mips.c (fcc_register_operand): New function.
5288         (mips_emit_fcc_reload): New function, extracted from reload_incc.
5289         (override_options): Allow TFmode values in float registers
5290         if ISA_HAS_8CC.
5291         * cnfig/mips/mips.md (reload_incc): Change destination prediate
5292         to fcc_register_operand.  Remove misleading source constraint.
5293         Use mips_emit_fcc_reload.
5294         (reload_outcc): Duplicate reload_incc.
5295
5296 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
5297
5298         * gcc.c (validate_switches): Handle all new forms of spec
5299         syntax introduced recently.  Now returns a char *.
5300         (validate_all_switches): Repetitive logic broken out to...
5301         (validate_switches_from_spec): ...here.
5302         * mklibgcc.in: Don't @-flag commands to generate .oS files.
5303
5304 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
5305
5306         * longlong.h: Partially synchronize with GMP-4.1 version:
5307         Use i370 definitions also for s390.
5308         Add generic definition of umul_ppmm in terms of smul_ppmm.
5309         [s390] (umul_ppmm): Remove.
5310         [s390] (smul_ppmm): Fix incorrect assembler constraints.
5311         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
5312
5313 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
5314
5315         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
5316         Add new RL_REGS register class.
5317         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
5318         Call xtensa_preferred_reload_class for both input and output reloads.
5319         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
5320         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
5321         instead of either AR_REGS or GR_REGS classes.
5322         (xtensa_secondary_reload_class): Use new RL_REGS class.
5323         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
5324
5325 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5326
5327         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
5328         (pa_strip_name_encoding): Strip '@' and '*', in that order.
5329         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
5330         there is a '*' prefix in NAME.
5331
5332 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
5333
5334         * reload.c (push_reload): Handle subregs and secondary memory.
5335         * reload1.c (gen_reload): Likewise.
5336
5337         * jump.c (reg_or_subregno): New function.
5338         * rtl.h (reg_or_subregno): Declare
5339         * unroll.c (find_splittable_givs): Handle subregs.
5340
5341 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
5342
5343         * store-layout.c (finish_record_layout): Add free_p parameter.
5344         (layout_type): Pass it.
5345         * tree.h (finish_record_layout): Update prototype.
5346
5347 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
5348
5349         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
5350
5351         * gcse.c (cprop_jump): Check that the register has not
5352         been modified
5353         (cprop_jump): Likewise.
5354
5355 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
5356
5357         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
5358         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
5359         that we have a SImode access, and only then if reload hasn't completed;
5360         for all other cases, use LO_REGS.
5361
5362 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5363
5364         * openbsd.h: Fix typo in last change.
5365
5366 2002-09-29  Richard Henderson  <rth@redhat.com>
5367
5368         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
5369
5370 2002-09-29  Richard Henderson  <rth@redhat.com>
5371
5372         PR c/8002
5373         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
5374         for CONST_INT.
5375
5376 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
5377
5378         * real.h (ibm_extended_format): Declare.
5379         * real.c (encode_ibm_extended, decode_ibm_extended): New
5380         functions.
5381
5382 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5383
5384         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
5385
5386         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
5387
5388 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5389
5390         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
5391
5392 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
5393
5394         * builtins.def: Fix comment formatting.
5395         * c-common.def: Likewise.
5396         * cfgcleanup.c: Likewise.
5397         * combine.c: Likewise.
5398         * gengtype.c: Likewise.
5399         * params.def: Likewise.
5400         * predict.def: Likewise.
5401         * rtl.def: Likewise.
5402         * stab.def: Likewise.
5403         * stor-layout.c: Likewise.
5404         * tree.def: Likewise.
5405         * config/darwin.c: Likewise.
5406         * config/darwin.h: Likewise.
5407         * config/dbxcoff.h: Likewise.
5408         * config/elfos.h: Likewise.
5409         * config/fp-bit.c: Likewise.
5410         * config/freebsd-spec.h: Likewise.
5411         * config/interix.h: Likewise.
5412         * config/libgloss.h: Likewise.
5413         * config/linux-aout.h: Likewise.
5414         * config/linux.h: Likewise.
5415         * config/lynx-ng.h: Likewise.
5416         * config/lynx.h: Likewise.
5417         * config/netbsd-aout.h: Likewise.
5418         * config/netbsd.h: Likewise.
5419         * config/netware.h: Likewise.
5420         * config/psos.h: Likewise.
5421         * config/ptx4.h: Likewise.
5422
5423 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
5424
5425         * ChangeLog.4: Fix typos.
5426         * ChangeLog.6: Likewise.
5427         * FSFChangeLog.10: Likewise.
5428         * genattrtab.c: Fix comment typos.
5429         * haifa-sched.c: Likewise.
5430         * real.c: Likewise.
5431         * tree.h: Likewise.
5432         * config/arm/arm.c: Likewise.
5433         * config/arm/crti.asm: Likewise.
5434         * config/arm/crtn.asm: Likewise.
5435         * config/frv/frv.c: Likewise.
5436         * config/frv/frv.md: Likewise.
5437         * config/h8300/h8300.md: Likewise.
5438         * config/i386/rtemself.h: Likewise.
5439         * config/ia64/unwind-ia64.c: Likewise.
5440         * config/ip2k/ip2k.h: Likewise.
5441         * config/m88k/m88k.c: Likewise.
5442         * config/m88k/m88k.md: Likewise.
5443         * config/mips/sr71k.md: Likewise.
5444         * config/mmix/mmix.c: Likewise.
5445         * config/rs6000/rs6000.c: Likewise.
5446         * config/sh/sh.md: Likewise.
5447
5448 2002-09-26  Theodore A. Roth  <troth@verinet.com>
5449
5450         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
5451         * config/avr/avr.md: Ditto.
5452
5453 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
5454
5455         PR preprocessor/8055
5456         * cppmacro.c (stringify_arg): Do not overflow the buffer
5457         with the terminating NUL when the argument to be stringified
5458         has no tokens.
5459
5460 2002-09-27  Richard Henderson  <rth@redhat.com>
5461
5462         * unroll.c (simplify_cmp_and_jump_insns): New.
5463         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
5464         instead of expand_simple_foo.
5465
5466 2002-09-27  Richard Henderson  <rth@redhat.com>
5467
5468         PR optimization/7520
5469         * cfganal.c (flow_active_insn_p): New.
5470         (forwarder_block_p): Use it.
5471
5472 2002-09-27  Richard Henderson  <rth@redhat.com>
5473
5474         * emit-rtl.c (active_insn_p): Revert last change.
5475
5476 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
5477
5478         * doc/extend.texi (tls_model): Document.
5479         * varasm.c (decl_tls_model): New.
5480         * c-common.c (handle_tls_model_attribute): New.
5481         (c_common_attribute_table): Add tls_model.
5482         * config/alpha/alpha.c (alpha_encode_section_info): Use
5483         decl_tls_model.
5484         * flags.h (enum tls_model, flag_tls_default): Move...
5485         * tree.h (enum tls_model, flag_tls_default): ...here.
5486         (decl_tls_model): New prototype.
5487         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
5488         * config/i386/i386.c (ix86_encode_section_info): Likewise.
5489         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
5490         Allow !flag_pic.
5491
5492 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
5493
5494         * LANGUAGES: Follow spelling conventions.
5495         * rtl.def: Likewise.
5496         * sbitmap.c: Likewise.
5497         * sched-int.h: Likewise.
5498         * sched-rgn.c: Likewise.
5499         * sibcall.c: Likewise.
5500         * simplify-rtx.c: Likewise.
5501         * ssa.c: Likewise.
5502         * stab.def: Likewise.
5503         * stmt.c: Likewise.
5504         * stor-layout.c: Likewise.
5505         * target.h: Likewise.
5506         * timevar.c: Likewise.
5507         * toplev.c: Likewise.
5508         * tree-dump.c: Likewise.
5509         * tree-inline.c: Likewise.
5510         * tree.c: Likewise.
5511         * tree.def: Likewise.
5512         * tree.h: Likewise.
5513         * unroll.c: Likewise.
5514         * varasm.c: Likewise.
5515         * vmsdbgout.c: Likewise.
5516         * treelang/treelang.texi: Likewise.
5517         * treelang/treetree.c: Likewise.
5518
5519 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
5520
5521         * config/h8300/h8300.c (compute_saved_regs): Use a macro
5522         instead of a hard register number.
5523         (get_shift_alg): Use an enumerated type instead of numbers.
5524         (h8300_shift_needs_scratch_p): Likewise.
5525
5526 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5527
5528         * varasm.c (force_data_section): Remove.
5529         (assemble_constant_align): Likewise.
5530         * output.h: Remove corresponding prototypes.
5531
5532 2002-09-26  Roger Sayle  <roger@eyesopen.com>
5533
5534         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
5535         jump, if the loop to exit is the top of the current nesting stack.
5536
5537 2002-09-26  Torbjorn Granlund  <tege@swox.com>
5538
5539         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
5540         arithmetic.
5541
5542 2002-09-26  David S. Miller  <davem@redhat.com>
5543
5544         PR optimization/7335
5545         * calls.c (emit_library_call_value_1): Passing args by reference
5546         converts a CONST function into a PURE one.
5547
5548 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
5549
5550         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
5551         text_section.
5552         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
5553         text section.
5554         * config/rs6000/rs6000.c (rs6000_override_options): Allow
5555         function-sections and data-sections functionality on AIX.
5556
5557 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
5558             Dale Johannesen  <dalej@apple.com>
5559
5560         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
5561         in RTL for sub-word loads from memory.
5562
5563 2002-09-26  Richard Henderson  <rth@redhat.com>
5564
5565         PR c/7160
5566         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
5567         on call insns.
5568
5569 2002-09-26  Richard Henderson  <rth@redhat.com>
5570
5571         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
5572
5573 2002-09-26  Chris Lattner  <sabre@nondot.org>
5574
5575         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
5576         handling undefined values.
5577
5578 2002-09-26  Richard Henderson  <rth@redhat.com>
5579
5580         PR opt/7520
5581         * emit-rtl.c (active_insn_p): Consider a clobber of the
5582         function return value to be active even after reload.
5583
5584 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
5585
5586         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
5587         by absolute loop increment, not loop increment.
5588
5589 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5590
5591         * c-common.h: Follow spelling conventions.
5592         * cpplex.c: Likewise.
5593         * cpplib.h: Likewise.
5594         * gthr-dce.h: Likewise.
5595         * gthr-posix.h: Likewise.
5596         * optabs.c: Likewise.
5597         * output.h: Likewise.
5598         * profile.c: Likewise.
5599         * protoize.c: Likewise.
5600         * ra-rewrite.c: Likewise.
5601         * real.c: Likewise.
5602         * recog.c: Likewise.
5603         * reg-stack.c: Likewise.
5604         * regclass.c: Likewise.
5605         * regmove.c: Likewise.
5606         * reload.c: Likewise.
5607         * reload.h: Likewise.
5608         * reload1.c: Likewise.
5609         * reorg.c: Likewise.
5610         * resource.c: Likewise.
5611         * rtl.h: Likewise.
5612         * rtlanal.c: Likewise.
5613
5614 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
5615
5616         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
5617         for symbol address.
5618
5619 2002-09-24  Eric Christopher  <echristo@redhat.com>
5620
5621         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
5622         * config/mips/elf64.h: Ditto.
5623
5624 2002-09-24  Eric Christopher  <echristo@redhat.com>
5625
5626         * except.c (expand_builtin_extract_return_address): Handle case
5627         where Pmode != ptr_mode.
5628
5629 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
5630
5631         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
5632
5633 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
5634
5635         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
5636
5637 2002-09-26  Igor Shevlyakov <igor@microunity.com>
5638
5639         * combine.c (simplify_set): Don't call to force_to_mode if size
5640         of integer type is larger than HOST_BITS_PER_WIDE_INT.
5641
5642 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
5643
5644         * Makefile.in (qmtest-g++): Fix file path.
5645
5646 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
5647
5648         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
5649         A + (-const) on RTX level, even for unsigned types.
5650
5651 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
5652
5653         * reload.c (dup_replacements): New function.
5654         (find_reloads): Use it to duplicate replacements at the top level
5655         of match_dup operands.
5656
5657 2002-09-26  Miles Bader  <miles@gnu.org>
5658
5659         * v850.md ("length"): Change default value to 4.
5660
5661 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5662
5663         * ChangeLog.1: Follow spelling conventions.
5664         * ChangeLog.4: Likewise.
5665         * ChangeLog.6: Likewise.
5666         * FSFChangeLog.11: Likewise.
5667         * doc/cpp.texi: Likewise.
5668         * doc/invoke.texi: Likewise.
5669         * doc/tm.texi: Likewise.
5670
5671 2002-09-26  Nick Clifton  <nickc@redhat.com>
5672
5673         * config.gcc: Add x prefix to v850e case for handling
5674         --with-cpu=v850e.
5675
5676 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
5677
5678         * gcc.c (input_suffix_matches, switch_matches,
5679         mark_matching_switches, process_marked_switches,
5680         process_brace_body): New functions - split from handle_braces.
5681         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
5682         and ignore whitespace in more places.
5683         (specs documentation comment): Document %{S:X;T:Y;:D}.
5684         Clarify other %{...} docs.
5685         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
5686         %{...} docs.
5687
5688         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
5689         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
5690
5691 2002-09-25  David S. Miller  <davem@redhat.com>
5692
5693         PR target/7842
5694         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
5695         extend.
5696
5697 2002-09-25  Richard Henderson  <rth@redhat.com>
5698
5699         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
5700         fp CONST_DOUBLE; use real_identical.
5701
5702 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
5703
5704         * doc/invoke.texi: Add more -Wabi examples.
5705
5706 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
5707
5708         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
5709
5710 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
5711
5712         * profile.c (end_branch_prob): Only look for __gcov_init on
5713         weak-enabled native compilers.
5714
5715 2002-09-24  Denis Chertykov  <denisc@overta.ru>
5716
5717         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
5718         cases of optimizing "add sp,w" to "inc sp".
5719
5720 2002-09-24  Adam Nemet  <anemet@lnxw.com>
5721
5722         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
5723         epilogue for naked functions.
5724
5725 2002-09-24  Adam Nemet  <anemet@lnxw.com>
5726             Nick Clifton  <nickc@redhat.com>
5727
5728         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
5729         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
5730         is defined.
5731
5732 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
5733
5734         * config/s390/s390.c (preferred_la_operand_p): New function.
5735         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
5736         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
5737         ("*la_64_cc", "*la_31_cc", splitters): ... these.
5738         ("*la_31"): Deactivate for TARGET_64BIT.
5739         ("*la_31_and", "*la_31_and_cc"): New.
5740
5741 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5742
5743         * real.h (real_value): Make `exp' explicitly signed.
5744
5745 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
5746
5747         * config/elfos.h: Follow spelling conventions.
5748         * config/alpha/alpha.h: Likewise.
5749         * config/arc/arc.h: Likewise.
5750         * config/arm/arm.md: Likewise.
5751         * config/avr/avr.h: Likewise.
5752         * config/cris/cris.md: Likewise.
5753         * config/d30v/d30v.h: Likewise.
5754         * config/frv/frv.c: Likewise.
5755         * config/frv/frv.h: Likewise.
5756         * config/h8300/h8300.c: Likewise.
5757         * config/h8300/h8300.h: Likewise.
5758         * config/h8300/h8300.md: Likewise.
5759         * config/i386/cygwin.h: Likewise.
5760         * config/i386/i386.h: Likewise.
5761         * config/i386/sysv3.h: Likewise.
5762         * config/i960/i960.h: Likewise.
5763         * config/ia64/ia64.h: Likewise.
5764         * config/ia64/ia64.md: Likewise.
5765         * config/ip2k/ip2k.h: Likewise.
5766         * config/m32r/m32r.h: Likewise.
5767         * config/m68k/m68k.h: Likewise.
5768         * config/m88k/m88k.h: Likewise.
5769         * config/mcore/mcore.c: Likewise.
5770         * config/mcore/mcore.h: Likewise.
5771         * config/mcore/mcore.md: Likewise.
5772         * config/mips/mips.h: Likewise.
5773         * config/mmix/mmix.h: Likewise.
5774         * config/mmix/mmix.md: Likewise.
5775         * config/ns32k/netbsd.h: Likewise.
5776         * config/ns32k/ns32k.h: Likewise.
5777         * config/ns32k/ns32k.md: Likewise.
5778         * config/pa/pa.h: Likewise.
5779         * config/romp/romp.h: Likewise.
5780         * config/rs6000/rs6000.h: Likewise.
5781         * config/rs6000/rs6000.md: Likewise.
5782         * config/sparc/sparc.h: Likewise.
5783         * config/stormy16/stormy-abi: Likewise.
5784         * config/stormy16/stormy16.h: Likewise.
5785         * config/vax/vax.h: Likewise.
5786
5787 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
5788
5789         * config/alpha/alpha.h: Remove commented-out macro
5790         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
5791         * config/avr/avr.h: Likewise.
5792         * config/d30v/d30v.h: Likewise.
5793         * config/dsp16xx/dsp16xx.h: Likewise.
5794         * config/i370/i370.h: Likewise.
5795         * config/i386/i386.h: Likewise.
5796         * config/i960/i960.h: Likewise.
5797         * config/m68k/m68k.h: Likewise.
5798         * config/m88k/m88k.h: Likewise.
5799         * config/mips/mips.h: Likewise.
5800         * config/ns32k/ns32k.h: Likewise.
5801         * config/pdp11/pdp11.h: Likewise.
5802         * config/romp/romp.h: Likewise.
5803         * config/rs6000/rs6000.h: Likewise.
5804         * config/s390/s390.h: Likewise.
5805         * config/sh/sh.h: Likewise.
5806         * config/sparc/sparc.h: Likewise.
5807         * config/stormy16/stormy16.h: Likewise.
5808         * config/vax/vax.h: Likewise.
5809
5810 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
5811
5812         * function.c (push_temp_slots_for_block): Remove.
5813         (push_temp_slots_for_target): Likewise.
5814         (get_target_temp_slot_level): Likewise.
5815         (set_target_temp_slot_level): Likewise.
5816         (get_first_block_beg): Likewise.
5817         * function.h: Remove corresponding prototypes.
5818
5819 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
5820
5821         * version.c (version_string): Now const char[].
5822         * version.h: Update to match.
5823
5824 2002-09-23  Richard Henderson  <rth@redhat.com>
5825
5826         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
5827         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
5828         (TARGET_SWITCHES): Don't reference them.
5829         * config/i386/i386.c (override_options): Use target_flags_explicit
5830         to examine bits set by the user.
5831
5832 2002-09-23  Dale Johannesen  <dalej@apple.com>
5833
5834         * dbxout.c (dbxout_parms):  Set current_sym_code for params
5835         passed on stack by invisible reference.
5836
5837 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
5838
5839         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
5840         at least one byte of space.
5841
5842 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
5843
5844         * c-common.h (flag_abi_version): Fix typo in comment.
5845         * doc/invoke.texi (flag_abi_version): Document default value.
5846
5847 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
5848
5849         * doc/extend.texi (Extended Asm): Clarify that overlap between
5850         asm-declared register variables used in an asm and the asm clobber
5851         list is not allowed.
5852         * stmt.c (decl_conflicts_with_clobbers_p): New function.
5853         (expand_asm_operands): Keep track of clobbered registers.  Call
5854         decl_conflicts_with_clobbers_p for each input and output operand.
5855         If no conflicts found before, also do conflict sanity check when
5856         emitting clobbers.
5857
5858 2002-09-23  Richard Henderson  <rth@redhat.com>
5859
5860         * c-common.c (cpp_define_data_format): Remove.
5861         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
5862         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
5863         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
5864         * doc/cpp.texi: Don't document them either.
5865         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
5866         __LONG_LONG_MAX__): Document.
5867         (__TARGET_FLOAT_FORMAT__): Remove.
5868
5869 2002-09-23  Richard Henderson  <rth@redhat.com>
5870
5871         * real.c (do_multiply): Normalize U before addition.
5872
5873 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
5874
5875         * c-common.c (flag_abi_version): New variable.
5876         * c-common.h (flag_abi_version): Declare it.
5877         * c-opts.c (missing_arg): Add -fabi-version.
5878         (c_common_decode_option): Process -fabi-version.
5879         * doc/invoke.texi (-fabi-version): Document it.
5880         (-Wabi): Add information about bit-fields in unions.
5881
5882 2002-09-22  Roger Sayle  <roger@eyesopen.com>
5883
5884         * expr.c (STORE_BY_PIECES_P): New target macro.
5885         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
5886         instead of MOVE_BY_PIECES_P.
5887         * doc/tm.texi: Document this new macro.
5888
5889 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
5890
5891         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
5892         unless -fno-pic or -fno-PIC is specified.
5893
5894 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5895
5896         * c-common.c (preprocessing_trad_p): Define.
5897         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
5898         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
5899         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
5900         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
5901         * pa-linux.h (CPP_PREDEFINES): Delete.
5902         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
5903         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
5904         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
5905         (TARGET_OS_CPP_BUILTINS): Define.
5906         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
5907         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
5908         (SUBTARGET_SWITCHES): Provide default definition.
5909         (TARGET_OPTIONS): Reformat.  Use N_() macro.
5910         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
5911         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
5912         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
5913         (TARGET_CPU_CPP_BUILTINS): Define.
5914         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
5915         * doc/invoke.texi (msio, mwsio): Document new hppa options.
5916         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
5917         preprocessing_trad_p().
5918
5919 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
5920
5921         * doc/install.texi: Document behavior of --with-headers and
5922         --with-libs when arguments are omitted.
5923
5924 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
5925
5926         * dbxout.c: Follow spelling conventions.
5927         * defaults.h: Likewise.
5928         * df.c: Likewise.
5929         * diagnostic.h: Likewise.
5930         * doloop.c: Likewise.
5931         * dwarf2out.c: Likewise.
5932         * dwarfout.c: Likewise.
5933         * emit-rtl.c: Likewise.
5934         * except.c: Likewise.
5935         * explow.c: Likewise.
5936         * expmed.c: Likewise.
5937         * expr.c: Likewise.
5938         * expr.h: Likewise.
5939         * flags.h: Likewise.
5940         * flow.c: Likewise.
5941         * fold-const.c: Likewise.
5942         * function.c: Likewise.
5943         * function.h: Likewise.
5944         * gcc.c: Likewise.
5945         * gcov-io.h: Likewise.
5946         * gcov.c: Likewise.
5947         * gcse.c: Likewise.
5948         * genattrtab.c: Likewise.
5949         * genconfig.c: Likewise.
5950         * genrecog.c: Likewise.
5951         * ggc-page.c: Likewise.
5952         * ggc.h: Likewise.
5953         * global.c: Likewise.
5954         * gthr-win32.h: Likewise.
5955         * integrate.c: Likewise.
5956         * jump.c: Likewise.
5957         * langhooks.c: Likewise.
5958         * langhooks.h: Likewise.
5959         * line-map.h: Likewise.
5960         * local-alloc.c: Likewise.
5961         * longlong.h: Likewise.
5962         * loop.c: Likewise.
5963         * loop.h: Likewise.
5964
5965 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
5966
5967         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
5968
5969 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
5970
5971         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
5972         for -Os/TARGET_64BIT too.
5973
5974 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
5975
5976         * ChangeLog: Follow spelling conventions.
5977         * ChangeLog.0: Likewise.
5978         * ChangeLog.1: Likewise.
5979         * ChangeLog.2: Likewise.
5980         * ChangeLog.3: Likewise.
5981         * ChangeLog.4: Likewise.
5982         * ChangeLog.5: Likewise.
5983         * ChangeLog.6: Likewise.
5984         * FSFChangeLog.10: Likewise.
5985         * FSFChangeLog.11: Likewise.
5986         * alias.c: Likewise.
5987         * basic-block.h: Likewise.
5988         * c-aux-info.c: Likewise.
5989         * c-common.c: Likewise.
5990         * c-common.h: Likewise.
5991         * c-decl.c: Likewise.
5992         * c-format.c: Likewise.
5993         * c-semantics.c: Likewise.
5994         * c-typeck.c: Likewise.
5995         * calls.c: Likewise.
5996         * cfganal.c: Likewise.
5997         * cfgloop.c: Likewise.
5998         * collect2.c: Likewise.
5999         * combine.c: Likewise.
6000         * conflict.c: Likewise.
6001         * cppexp.c: Likewise.
6002         * cppfiles.c: Likewise.
6003         * cpphash.h: Likewise.
6004         * cppinit.c: Likewise.
6005         * cpplex.c: Likewise.
6006         * cpplib.c: Likewise.
6007         * cpplib.h: Likewise.
6008         * cppmacro.c: Likewise.
6009         * cse.c: Likewise.
6010
6011 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
6012
6013         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
6014         LINK_SPEC.
6015         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
6016         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
6017         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
6018
6019 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
6020
6021         PR opt/7930
6022         * cse.c (fold_rtx): Calculate old_cost before we fold each
6023         operand.
6024
6025 2002-09-21  Richard Henderson  <rth@redhat.com>
6026
6027         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
6028         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
6029         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
6030         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
6031         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
6032         * doc/cpp.texi: Don't document them.
6033
6034 2002-09-21  Richard Henderson  <rth@redhat.com>
6035
6036         * c-common.c (builtin_define_float_constants): Use real_format
6037         to get the floating-point parameters.
6038
6039 2002-09-21  Richard Henderson  <rth@redhat.com>
6040
6041         * real.c (struct real_format): Move to real.h.
6042         (real_format_for_mode): Rename from fmt_for_mode; update all users;
6043         initialize with ieee defaults.
6044         (real_to_target_fmt, real_from_target_fmt): New.
6045         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
6046         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6047         ieee_quad_format, i370_single_format, i370_double_format,
6048         c4x_single_format, c4x_extended_format): Rename from s/_format//.
6049         (ieee_quad_format): Fix emin.
6050         (format_for_size, init_real_once): Remove.
6051         * real.h (struct real_format): Move from real.c.
6052         (real_format_for_mode): Declare.
6053         (real_to_target_fmt, real_from_target_fmt): Declare.
6054         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
6055         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6056         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
6057         i370_single_format, i370_double_format, c4x_single_format,
6058         c4x_extended_format): Declare.
6059         * toplev.c (do_compile): Don't call init_real_once.
6060
6061         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6062         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6063
6064         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
6065         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
6066         * config/alpha/alpha.c (override_options): Set real_format_for_mode
6067         for VAX, if enabled.
6068
6069         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
6070         for C4X.
6071
6072         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
6073         * config/i370/i370.c (override_options): New.
6074         * config/i370/i370-protos.h: Update.
6075
6076         * config/i386/i386.c (override_options): Set real_format_for_mode
6077         for Intel 80-bit extended.
6078         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6079
6080         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
6081         (OVERRIDE_OPTIONS): Move code...
6082         * config/i960/i960.c (i960_initialize): ... here.  Set
6083         real_format_for_mode for Intel 80-bit extended.
6084
6085         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
6086         for Intel 80-bit extended, if enabled.
6087
6088         * config/m68k/m68k.c (override_options): Set real_format_for_mode
6089         for Motorola 96-bit extended.
6090
6091         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
6092         * config/vax/vax.c (override_options): New.
6093         * config/vax/vax-protos.h: Update.
6094
6095 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
6096
6097         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
6098         #if TARGET_MACHO.
6099
6100         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
6101         insns.  Supply missing clobber of scratch reg.
6102
6103 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
6104
6105         * config/m32r/m32r.c: Follow spelling conventions.
6106         * config/m32r/m32r.h: Likewise.
6107         * config/m32r/m32r.md: Likewise.
6108         * config/m68k/m68k.c: Likewise.
6109         * config/m88k/m88k.c: Likewise.
6110         * config/mcore/mcore.c: Likewise.
6111         * config/mips/mips.c: Likewise.
6112         * config/mips/mips.h: Likewise.
6113         * config/mmix/mmix.c: Likewise.
6114         * config/mn10200/mn10200.c: Likewise.
6115         * config/ns32k/ns32k.h: Likewise.
6116         * config/pa/pa.c: Likewise.
6117         * config/pa/pa64-linux.h: Likewise.
6118         * config/pdp11/pdp11.h: Likewise.
6119         * config/romp/romp.c: Likewise.
6120         * config/romp/romp.h: Likewise.
6121         * config/rs6000/eabi.asm: Likewise.
6122         * config/rs6000/linux64.h: Likewise.
6123         * config/rs6000/rs6000.c: Likewise.
6124         * config/rs6000/rs6000.h: Likewise.
6125         * config/rs6000/rs6000.md: Likewise.
6126         * config/rs6000/sysv4.h: Likewise.
6127         * config/rs6000/xcoff.h: Likewise.
6128
6129 2002-09-20  Jim Wilson  <wilson@redhat.com>
6130
6131         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
6132
6133 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
6134
6135         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
6136         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
6137         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
6138         (legitimate_address_p): Likewise.
6139         (legitimize_address): Use @gotntpoff and @indntpoff.
6140         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
6141         (output_addr_const_extra): Likewise.
6142
6143 2002-09-20  Jim Wilson  <wilson@redhat.com>
6144
6145         * combine.c (try_combine): When split an instruction pair, where the
6146         first has a sign_extend src, verify that the src and dest modes match.
6147
6148 2002-09-20  Richard Henderson  <rth@redhat.com>
6149
6150         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
6151         (override_options): Do not initialize them.
6152         (mips_const_double_ok): Allow no fp constants except zero,
6153         and not even that for mips16.
6154         (const_float_1_operand): Use dconst1.
6155         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
6156         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
6157         Don't allow arbitrary constants; fix predicates and C constraint.
6158
6159 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
6160
6161         * cppmacro.c: Don't warn about function-like macros without
6162         '(' during pre-expansion.
6163
6164 2002-09-20  Jim Wilson  <wilson@redhat.com>
6165
6166         * config/v850/v850.c (current_function_anonymous_args): Delete.
6167         (expand_prologue): Use current_function_args_info.anonymous_args.
6168         (expand_epilogue): Delete use of current_function_anonymous_args.
6169         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
6170         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
6171         (current_function_anonymous_args): Delete extern declaration.
6172         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
6173
6174 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
6175
6176         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
6177         to load_macho_picbase.
6178         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
6179         (load_macho_picbase): Take the symbol to use as a parameter.
6180         (macho_correct_pic): New insn.
6181         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
6182
6183         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
6184         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
6185         (CAN_ELIMINATE): Likewise.
6186         (INITIAL_ELIMINATION_OFFSET): Likewise.
6187         (TOC_REGISTER): Likewise.
6188
6189 2002-09-20  Richard Henderson  <rth@redhat.com>
6190
6191         * real.c (real_hash): New.
6192         * real.h: Declare it.
6193         * cse.c (canon_hash): Use it.
6194         * cselib.c (hash_rtx): Likewise.
6195         * emit-rtl.c (const_double_htab_hash): Likewise.
6196         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
6197         * varasm.c (struct rtx_const): Reduce vector size; separate
6198         integer and fp vectors.
6199         (HASHBITS): Remove.
6200         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
6201         take modulus MAX_HASH_TABLE.
6202         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
6203         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
6204         (SYMHASH): Don't use HASHBITS.
6205         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
6206         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
6207         (simplify_subtraction): Fix kind comparison.
6208         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
6209         Use a union to pun integer array.
6210         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
6211         only hash two words of integral CONST_DOUBLE.
6212
6213 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
6214
6215         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
6216         (STARTFILE_PREFIX_SPEC): New.
6217         (LINK_SPEC): Modify.
6218         (LIB_SPEC): Modify.
6219         (LIBGCC_SPEC): New.
6220
6221 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
6222
6223         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
6224         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
6225
6226 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
6227
6228         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
6229         Add clobber of the condition code register.
6230
6231 2002-09-20  Richard Henderson  <rth@redhat.com>
6232
6233         * real.c (do_fix_trunc): Static.
6234         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
6235         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
6236         encode_i370_single, encode_i370_double, encode_c4x_single,
6237         encode_c4x_extended): Add default abort case.
6238
6239 2002-09-20  Richard Henderson  <rth@redhat.com>
6240
6241         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
6242         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
6243         (struct realvaluetype): Remove.
6244         (REAL_VALUE_TYPE): Use struct real_value.
6245         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
6246         (test_real_width): New.
6247         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
6248         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
6249         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
6250         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
6251         real_to_integer, real_to_integer2, real_to_decimal,
6252         real_to_hexadecimal, real_from_string, real_from_integer,
6253         real_inf, real_nan, real_2expN, real_convert, real_to_target,
6254         real_from_target): Likewise.
6255         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
6256         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
6257
6258 2002-09-20  Richard Henderson  <rth@redhat.com>
6259
6260         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
6261         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
6262         * defaults.h: ... here.
6263         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
6264         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
6265         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
6266         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
6267
6268 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
6269
6270         * config/mmix/mmix.md ("negdf2"): Rewrite.
6271         ("*expanded_negdf2"): New.
6272
6273 2002-09-19  Jim Wilson  <wilson@redhat.com>
6274
6275         * combine.c (simplify_set): When optimizing a subreg src with a
6276         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
6277
6278 2002-09-19  Dale Johannesen <dalej@apple.com>
6279         * combine.c (make_extraction): Don't create
6280         invalid subreg.
6281
6282 2002-09-19  Roger Sayle  <roger@eyesopen.com>
6283
6284         * tree.c (integer_nonzerop): New predicate for nonzero integers.
6285         * tree.h (integer_nonzerop): Add function prototype.
6286         * stmt.c (expand_end_loop):  Don't rotate the loop when there
6287         are no instructions in the test, i.e. the loop is unconditional.
6288         (expand_exit_loop_if_false):  Optimize RTL generation of loop
6289         tests when the condition is always true or always false.
6290         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
6291         do-loops when the condition is always true.
6292         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
6293         the for-expression is empty.
6294
6295 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
6296
6297         * gcc.c (use_pipes): New flag.
6298         (process_command): Set it.  Adjust check for -pipe conflicting
6299         with -time or -save-temps.
6300         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
6301         %<SWITCH.  Drop %| (without a SUFFIX).
6302         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
6303         (give_switch): Third argument eliminated.
6304         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
6305         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
6306         (specs documentation comment): Update.
6307
6308         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
6309         config/svr4.h, config/i386/freebsd-aout.h,
6310         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
6311         config/m68k/openbsd.h, config/mips/openbsd.h,
6312         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
6313         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
6314         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
6315         * config/cris/cris.h: Update comment.
6316
6317         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
6318         error messages.  Don't use %{^SWITCH}.
6319         * ada/misc.c (gnat_decode_option): Handle -I with a
6320         separate argument.
6321
6322         * f/lang-specs.h: Use %| and %m.
6323         * java/jvspec.c: Use %m and %(invoke_as).  Change all
6324         uses of %{<SWITCH} to %<SWITCH.
6325
6326         * doc/invoke.texi: Update documentation of specs.
6327         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
6328
6329 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
6330
6331         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
6332         and STRICT_LOW_PART within SET_DEST.
6333         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
6334         splitters, replacing pre-reload splitters.
6335         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
6336         "*zero_extendqihi2_31"): New insns.
6337         ("*zero_extendqihi2_64"): Do not clobber CC.
6338
6339 2002-09-18  Devang Patel  <dpatel@apple.com>
6340
6341         * cp/cp-tree.h: New prototype for walk_vtables().
6342         * cp/decl.c (walk_vtables_r): New function.
6343         (struct cp_binding_level): Add new members, namespaces,
6344         names_size and vtables.
6345         (add_decl_to_level): Add decl in namespaces or vtables
6346         chain, if conditions match.
6347         (walk_vtables): New function.
6348         (walk_namespaces_r): Travers separate namespace chain
6349         for namespace decls.
6350         (wrapup_globals_for_namespace): Use names_size instead
6351         of list_length().
6352         * cp/decl2.c (finish_file): Use walk_vtables() instead of
6353         walk_globals() to walk vtable decls.
6354
6355 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
6356
6357         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
6358         (DTORS_SECTION_ASM_OP): Ditto.
6359         (READONLY_DATA_SECTION_ASM_OP): Moved.
6360         (DATA_SECTION_ASM_OP): New.
6361         (SDATA_SECTION_ASM_OP): New.
6362         (BSS_SECTION_ASM_OP): New.
6363         (SBSS_SECTION_ASM_OP): New.
6364         (TEXT_SECTION_ASM_OP): New.
6365
6366 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
6367
6368         * config/fp-bit.c: Follow spelling conventions.
6369         * config/d30v/d30v.c: Likewise.
6370         * config/d30v/d30v.h: Likewise.
6371         * config/fr30/fr30.c: Likewise.
6372         * config/fr30/fr30.h: Likewise.
6373         * config/fr30/fr30.md: Likewise.
6374         * config/frv/frv.c: Likewise.
6375         * config/frv/frv.h: Likewise.
6376         * config/h8300/h8300.c: Likewise.
6377         * config/h8300/lib1funcs.asm: Likewise.
6378         * config/i370/i370.c: Likewise.
6379         * config/i386/i386.h: Likewise.
6380         * config/i386/i386.md: Likewise.
6381         * config/i386/pentium.md: Likewise.
6382         * config/i386/winnt.c: Likewise.
6383         * config/i960/i960.c: Likewise.
6384         * config/ia64/ia64.h: Likewise.
6385         * config/ip2k/ip2k.c: Likewise.
6386         * config/ip2k/ip2k.h: Likewise.
6387         * config/ip2k/ip2k.md: Likewise.
6388         * config/ip2k/libgcc.S: Likewise.
6389
6390 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
6391
6392         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
6393         (GOTOFF_P): Extend to allow gotoff plus constant.
6394
6395 2002-09-18  Richard Henderson  <rth@redhat.com>
6396
6397         * ifcvt.c (noce_process_if_block): Correctly detect X modified
6398         with INSN_B before COND_EARLIEST.  Don't check A and B for
6399         modification in condition range.  Reorder INSN_B for A==B properly.
6400         (if_convert): Iterate until no matches for a block.
6401
6402 2002-09-18  Richard Henderson  <rth@redhat.com>
6403
6404         * calls.c (store_one_arg): Rename default_align to parm_align;
6405         always adjust parm_align for downward padding.
6406
6407 2002-09-18  Richard Henderson  <rth@redhat.com>
6408
6409         * toplev.c (backend_init): Move init_real_once invocation ...
6410         (do_compile): ... here.
6411
6412 2002-09-18  Richard Henderson  <rth@redhat.com>
6413
6414         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
6415         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
6416
6417 2002-09-18  Richard Henderson  <rth@redhat.com>
6418
6419         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
6420
6421 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
6422
6423         * config/rs6000/rs6000.md: (floatdisf2): Rename to
6424         floatdisf2_internal1.
6425         (floatdisf2): New define_expand.
6426         (floatdisf2_internal2): Likewise.
6427
6428 2002-09-18  Richard Henderson  <rth@redhat.com>
6429
6430         * real.c (sticky_rshift_significand): Collect sticky as
6431         unsigned long, not bool.
6432
6433 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
6434
6435         * config/s390/s390.c (s390_address_cost): New function.
6436         config/s390/s390-protos.h (s390_address_cost): Add prototype.
6437         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
6438         (RTX_COST): Use COSTS_N_INSNS.
6439
6440 2002-09-18  Douglas Rupp  <rupp@gnat.com>
6441             Donn Terry  <donnte@microsoft.com>
6442
6443         * stor-layout.c (place_field): Handle alignment of whole
6444         structures when MSVC compatible bitfields are involved.
6445         Change method of computing location of MS bitfields to
6446         be compatible with #pragma pack(n).
6447
6448         * tree.h (record_layout_info): Add new field
6449         remaining_in_alignment.
6450
6451         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
6452         (pragma pack): Add paragraph on MSVC bitfield packing.
6453
6454 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
6455
6456         PR optimization/7967
6457         * arm.md (ne_zeroextractsi): Add clobber of the condition code
6458         register.
6459
6460 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
6461
6462         * config/s390/s390.c: Follow spelling conventions.
6463         * config/sh/lib1funcs.asm: Likewise.
6464         * config/sh/sh.c: Likewise.
6465         * config/sh/sh.h: Likewise.
6466         * config/sparc/sparc.c: Likewise.
6467         * config/sparc/sparc.h: Likewise.
6468         * config/sparc/sparc.md: Likewise.
6469         * config/stormy16/stormy16.c: Likewise.
6470         * config/stormy16/stormy16.h: Likewise.
6471         * config/v850/v850.c: Likewise.
6472         * config/v850/v850.h: Likewise.
6473         * config/vax/vax.c: Likewise.
6474         * config/vax/vax.h: Likewise.
6475
6476 2002-09-18  Nick Clifton  <nickc@redhat.com>
6477
6478         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
6479         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
6480         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
6481
6482 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6483
6484         * function.c (max_parm_reg_num): Remove.
6485         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
6486         drop_through_at_end_p, move_cleanups_up,
6487         expand_end_case_dummy, case_index_expr_type): Likewise.
6488         * stor-layout.c (pos_from_byte): Likewise.
6489         * tree.c (chain_member_value, chain_member_purpose, listify,
6490         tree_int_cst_msb, index_type_equal): Likewise.
6491         * tree.h: Remove prototypes for unused functions.
6492
6493 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
6494
6495         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
6496         statement that the only translation is to en_UK.
6497
6498 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6499
6500         * config/alpha/alpha.c: Follow spelling conventions.
6501         * config/alpha/alpha.h: Likewise.
6502         * config/alpha/alpha.md: Likewise.
6503         * config/arc/arc.h: Likewise.
6504         * config/arm/arm.c: Likewise.
6505         * config/arm/arm.h: Likewise.
6506         * config/arm/arm.md: Likewise.
6507         * config/arm/pe.c: Likewise.
6508         * config/arm/unknown-elf.h: Likewise.
6509         * config/avr/avr.c: Likewise.
6510         * config/avr/avr.h: Likewise.
6511         * config/c4x/c4x.c: Likewise.
6512         * config/cris/cris.c: Likewise.
6513         * config/cris/cris.h: Likewise.
6514
6515 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
6516
6517         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
6518         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
6519         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
6520
6521 2002-09-17  Dale Johannesen  <dalej@apple.com>
6522
6523         * cfgcleanup.c (try_forward_edges):  Do not forward a
6524         branch to just after a loop exit before loop optimization;
6525         this interfered with doloop detection.
6526
6527 2002-09-17  Nick Clifton  <nickc@redhat.com>
6528
6529         * config/arm/arm.c (output_return_instruction): Do not
6530         writeback the stack pointer when it is being loaded.
6531         (arm_output_epilogue): Likewise.
6532
6533 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6534
6535         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
6536         generate a pseudo reg that receives the result of a libcall.
6537         (prepare_float_lib_cmp): Likewise.
6538
6539 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
6540
6541         * config/ia64/elf.h: Remove CPP_PREDEFINES.
6542
6543 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
6544
6545         Fix PR/7014 and related objc bugs:
6546         * c-typeck.c (comp_target_types): Added a reflexive argument.
6547         Pass it to ObjC when/if calling objc_comptypes().  Updated all
6548         callers to provide the appropriate reflexive argument.
6549         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
6550         typechecking for all cases of comparisons and assignments,
6551         particularly the obscure and less common ones involving protocols.
6552
6553 2002-09-17  Nick Clifton  <nickc@redhat.com>
6554
6555         * machmode.def (V1DImode): New mode.  A single element vector.
6556         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
6557         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
6558         * tree.c (build_common_tree_nodes_2): Build
6559         unsigned_V1DI_type_node and V1D1_type_node.
6560         * c-common.c (c_common_type_for_mode): Return
6561         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
6562         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
6563
6564 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
6565
6566         * doc/objc.texi (Constant string objects): Extended documentation
6567         to make clear that the constant string class ivar layout is
6568         completely fixed.
6569
6570 2002-09-17  Roger Sayle  <roger@eyesopen.com>
6571
6572         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
6573         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
6574
6575 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
6576
6577         * config/mips/mips.c (save_restore_insns): Remove unused variable.
6578         * gcc.c (make_relative_prefix): Likewise.
6579         * loop.c (check_final_value): Likewise.
6580         * jump.c (init_label_info): Remove return value.
6581         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
6582
6583 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6584
6585         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
6586         (ASM_PN_FORMAT): Define.
6587
6588 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6589
6590         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
6591         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
6592         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
6593         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
6594         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
6595         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
6596         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
6597         Delete.
6598         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
6599         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
6600         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
6601
6602         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
6603         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
6604
6605 2002-09-16  Richard Henderson  <rth@redhat.com>
6606
6607         * expr.c (emit_block_move): Set memory block size as appropriate
6608         for the copy.
6609
6610 2002-09-16  Richard Henderson  <rth@redhat.com>
6611
6612         PR fortran/3924
6613         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
6614
6615 2002-09-16  Richard Henderson  <rth@redhat.com>
6616
6617         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
6618         as well as OFFSET for BITPOS.
6619
6620 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
6621
6622         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
6623         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
6624         winchip2 and c3.
6625         * doc/invoke.texi: Mention new aliases.
6626
6627 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6628
6629         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
6630         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
6631         downward.
6632         * function.c (pad_below):  Always compile.
6633         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
6634         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
6635         Pad below when the argument is not in a register and the padding
6636         direction is downward.
6637
6638         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
6639         (PAD_VARARGS_DOWN): Define.
6640         * pa.c (function_arg_padding): Revise padding directions to make them
6641         compatible with the 32 and 64-bit runtime architecture documentation.
6642         (hppa_va_arg):  Add code to handle variable and size zero arguments
6643         passed by reference on TARGET_64BIT.  Reformat.
6644         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
6645         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
6646         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
6647         Add comments.
6648         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
6649         (RETURN_IN_MEMORY): Return size zero types in memory.
6650         (FUNCTION_VALUE): Return TFmode in general registers.
6651         (MUST_PASS_IN_STACK): Define.
6652         (FUNCTION_ARG_BOUNDARY): Simplify.
6653         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
6654         by reference.
6655         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
6656
6657 2002-09-16  Richard Henderson  <rth@redhat.com>
6658
6659         * real.c (do_fix_trunc): New.
6660         (real_arithmetic): Call it.
6661         * simplify-rtx.c (simplify_unary_operation): Handle FIX
6662         with a floating-point result mode.
6663
6664 2002-09-16  Richard Henderson  <rth@redhat.com>
6665
6666         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
6667         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
6668         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
6669         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
6670         * builtins.c (fold_builtin_nan): New.
6671         (fold_builtin): Call it.
6672         * real.c (real_nan): Parse a non-empty string.
6673         (round_for_format): Fix NaN significand truncation.
6674         * real.h (real_nan): Return bool.
6675         * doc/extend.texi: Document new builtins.
6676
6677 2002-09-16  Jason Merrill  <jason@redhat.com>
6678             Danny Smith  <dannysmith@users.sourceforge.net>
6679
6680         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
6681         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
6682         (i386_pe_mark_dllimport): Not here.
6683
6684 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
6685
6686         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
6687
6688 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
6689
6690         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
6691         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
6692         < 64.
6693         (rs6000_emit_cmove): Use real_isinf not target_isinf.
6694
6695 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
6696
6697         * calls.c (emit_library_call_value_1): Don't refer to
6698         hard_libcall_value.
6699         * optabs.c (prepare_float_lib_cmp): Likewise.
6700
6701 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
6702
6703         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
6704         mangling.
6705
6706         The following changes are merged from pch-branch:
6707
6708         * doc/gty.texi (GTY Options): Document %a.
6709         * gengtype.c (do_scalar_typedef): New function.
6710         (process_gc_options): Handle `length' option.
6711         (set_gc_used_type): A pointer to an array of structures doesn't
6712         qualify as a pointer to a structure.
6713         (output_escaped_param): Add `%a' escape.
6714         (write_gc_structure_fields): Allow 'desc' on array of unions.
6715         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
6716         do_scalar_typedef.
6717
6718         * gengtype.c (enum rtx_code): Make global.
6719         (rtx_format): Make global.
6720         (rtx_next): New.
6721         (gen_rtx_next): New.
6722         (write_rtx_next): New.
6723         (adjust_field_rtx_def): Skip fields marked by chain_next.
6724         (open_base_files): Delete redundant prototype.
6725         (write_enum_defn): New.
6726         (output_mangled_typename): Correct abort call.
6727         (write_gc_marker_routine_for_structure): Handle chain_next and
6728         chain_prev options.
6729         (finish_root_table): Don't output redundant \n.
6730         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
6731         * c-tree.h (union lang_tree_node): Add chain_next option.
6732
6733         * gengtype.h (NUM_PARAM): New definition.
6734         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
6735         * gengtype.c (find_param_structure): New.
6736         (adjust_field_type): Handle param<n>_is option.
6737         (process_gc_options): Detect use_params option.  Update callers.
6738         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
6739         'use_params' option.
6740         (open_base_files): Add splay-tree.h to list of files included.
6741         (output_mangled_typename): New.
6742         (write_gc_structure_fields): Update 'param' parameter to support
6743         multiple parameters.  Change name mangling.  Allow parameterized
6744         fields to have an apparent scalar type.  Handle param<n>_is options,
6745         use_param option.
6746         (write_gc_marker_routine_for_structure): Update for change to name
6747         mangling.  Better guess the output file for parameterized types.
6748         (write_gc_types): Update for change to name mangling.
6749         (write_gc_root): Update for change to name mangling.  Handle (ignore)
6750         param<n>_is options.
6751         * doc/gty.texi (GTY Options): Add description of param<n>_is
6752         options, use_params option.
6753         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
6754         * gengtype-lex.l: Produce token for param<n>_is.
6755         * gengtype-yacc.y: Parse param<n>_is.
6756
6757         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
6758
6759         * rtl.c: Update comment describing rtx_format.
6760         * rtl.h (union rtunion): Separate definition and typedef.
6761         (struct rtx_def): Use gengtype to mark.
6762         * Makefile.in (gengtype.o): Also depend on rtl.def.
6763         * ggc.h (ggc_mark_rtx_children): Delete prototype.
6764         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
6765         * ggc-common.c (ggc_mark_rtx_children): Delete.
6766         (ggc_mark_rtx_children_1): Delete.
6767         (gt_ggc_m_rtx_def): Delete.
6768         * gengtype.c (adjust_field_rtx_def): New.
6769         (adjust_field_type): Call adjust_field_rtx_def.
6770         (write_gc_structure_fields): Add 'default' case to switch if none
6771         is specified; remove unused code.
6772
6773         * tree.h (struct tree_exp): Update for change to meaning
6774         of special.
6775         * gengtype.c (adjust_field_tree_exp): New function.
6776         (adjust_field_type): Handle `tree_exp' special here.
6777         (write_gc_structure_fields): Don't handle `tree_exp' special here.
6778         Handle new `dot' option.
6779
6780         * gengtype.h: Make `info' a pointer-to-const.
6781         * gengtype-yacc.y (yacc_ids): Use xasprintf.
6782
6783         * gengtype.c (write_gc_structure_fields): Remove implementation
6784         of `always' option, add `default' option.
6785         * doc/gty.texi (GTY Options): Remove documentation of `always',
6786         add `default'.
6787
6788 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
6789
6790         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
6791
6792 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6793
6794         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
6795
6796         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
6797         instead of the *-protos.h file directly.
6798         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
6799         * darwin.c (machopic_output_stub): Move prototype ...
6800         * darwin-protos.h (machopic_output_stub): ... here.
6801         * rs6000-protos.h (machopic_output_stub): Don't declare.
6802
6803 2002-09-16  Richard Henderson  <rth@redhat.com>
6804
6805         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
6806
6807 2002-09-16  Richard Henderson  <rth@redhat.com>
6808
6809         * real.c, real.h: Rewrite from scratch.
6810
6811         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
6812         (paranoia): New target.
6813         * builtins.c (fold_builtin_inf): Use new real.h interface.
6814         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
6815         * c-lex.c (interpret_float): Likewise.
6816         * emit-rtl.c (gen_lowpart_common): Likewise.
6817         * optabs.c (expand_float): Use real_2expN.
6818         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
6819         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
6820         (FLOAT_WORDS_BIG_ENDIAN): New.
6821         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
6822         directly to REAL_VALUE_NEGATIVE.
6823         * loop.c (canonicalize_condition): Likewise.
6824         * simplify-rtx.c: Include tree.h.
6825         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
6826         with floating-point result modes.
6827         * toplev.c (backend_init): Call init_real_once.
6828
6829         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
6830         * tree.c (build_real): Likewise.
6831         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
6832         float_values, inited_float_values, check_float_value): Remove.
6833         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
6834         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
6835         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
6836         (VAX_HALFWORD_ORDER): Remove.
6837
6838 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
6839
6840         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
6841         (s390_load_address): ... this new function.
6842         (s390_decompose_address): Allow the argument pointer and all
6843         virtual registers as 'pointer' registers.
6844         (s390_expand_plus_operand): Use s390_load_address.
6845         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
6846         ("force_la_31"): New insn pattern.
6847         config/s390/s390-protos.h (legitimize_la_operand): Remove.
6848         (s390_load_address): Add prototype.
6849
6850         * config/s390/s390.c: Include "optabs.h".
6851         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
6852         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
6853         s390_expand_cmpstr): Add prototypes.
6854         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
6855         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
6856         for operands 0 and 1 to "memory_operand".  Add type attribute.
6857         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
6858         for operands 0 and 1 to "memory_operand".  Add type attribute.
6859         ("movstrdi_long", "movstrsi_long"): Remove.
6860         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
6861         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
6862         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
6863         ("clrstrsico"): Remove, replace by ...
6864         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
6865         ("clrstrsi_64"): Rename to "clrstr_long_64".
6866         ("clrstrsi_31"): Rename to "clrstr_long_31".
6867         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
6868         ("cmpstr_const"): Remove, replace by ...
6869         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
6870         ("cmpstr_64"): Rename to "cmpstr_long_64".
6871         ("cmpstr_31"): Rename to "cmpstr_long_31".
6872
6873 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
6874
6875         * ABOUT-NLS: Follow spelling conventions.
6876         * ChangeLog: Likewise.
6877         * ChangeLog.1: Likewise.
6878         * ChangeLog.2: Likewise.
6879         * ChangeLog.3: Likewise.
6880         * ChangeLog.4: Likewise.
6881         * ChangeLog.5: Likewise.
6882         * ChangeLog.6: Likewise.
6883         * FSFChangeLog.10: Likewise.
6884         * FSFChangeLog.11: Likewise.
6885         * c-common.c: Likewise.
6886         * c-lex.c: Likewise.
6887         * c-objc-common.c: Likewise.
6888         * cppexp.c: Likewise.
6889         * cppinit.c: Likewise.
6890         * cpplex.c: Likewise.
6891         * doloop.c: Likewise.
6892         * flow.c: Likewise.
6893         * function.c: Likewise.
6894         * integrate.c: Likewise.
6895         * loop.c: Likewise.
6896         * reg-stack.c: Likewise.
6897         * reload.h: Likewise.
6898         * ssa.c: Likewise.
6899
6900 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6901
6902         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
6903         * vmsdbgout.c: Include "target.h".
6904
6905 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
6906
6907         * ChangeLog: Follow spelling conventions.
6908         * ChangeLog.0: Likewise.
6909         * ChangeLog.1: Likewise.
6910         * ChangeLog.2: Likewise.
6911         * ChangeLog.4: Likewise.
6912         * ChangeLog.6: Likewise.
6913         * config.gcc: Likewise.
6914         * dwarfout.c: Likewise.
6915         * reload1.c: Likewise.
6916         * simplify-rtx.c: Likewise.
6917         * unwind-sjlj.c: Likewise.
6918         * config/avr/avr.h: Likewise.
6919         * config/d30v/d30v.h: Likewise.
6920         * config/frv/frv.c: Likewise.
6921         * config/frv/frv.h: Likewise.
6922         * config/ip2k/ip2k.h: Likewise.
6923         * config/m88k/m88k-move.sh: Likewise.
6924         * config/stormy16/stormy16.c: Likewise.
6925         * config/stormy16/stormy16.h: Likewise.
6926         * doc/extend.texi: Likewise.
6927         * doc/interface.texi: Likewise.
6928         * doc/invoke.texi: Likewise.
6929         * doc/md.texi: Likewise.
6930         * doc/rtl.texi: Likewise.
6931         * doc/tm.texi: Likewise.
6932         * doc/trouble.texi: Likewise.
6933         * ginclude/float.h: Likewise.
6934         * treelang/treelang.texi: Likewise.
6935
6936 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6937
6938         * i386-protos.h (i386_pe_dllexport_name_p,
6939         i386_pe_dllimport_name_p, i386_pe_unique_section,
6940         i386_pe_declare_function_type, i386_pe_record_external_function,
6941         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
6942         prototype.
6943         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
6944         * i386/t-interix (winnt.o): Likewise.
6945
6946         * v850-protos.h (v850_output_addr_const_extra): Prototype.
6947
6948 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
6949
6950         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
6951         MIPS ABI CPP macros.
6952         (TARGET_CPU_CPP_BUILTINS): Redefine.
6953         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
6954         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
6955
6956 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6957
6958         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
6959
6960 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
6961
6962         * ChangeLog: Follow spelling conventions.
6963         * ChangeLog.0: Likewise.
6964         * ChangeLog.1: Likewise.
6965         * ChangeLog.2: Likewise.
6966         * ChangeLog.3: Likewise.
6967         * ChangeLog.4: Likewise.
6968         * ChangeLog.5: Likewise.
6969         * ChangeLog.6: Likewise.
6970         * FSFChangeLog.10: Likewise.
6971         * FSFChangeLog.11: Likewise.
6972         * c-common.c: Likewise.
6973         * c-common.h: Likewise.
6974         * c-format.c: Likewise.
6975         * c-opts.c: Likewise.
6976         * cpplib.c: Likewise.
6977         * langhooks.h: Likewise.
6978         * real.c: Likewise.
6979         * reg-stack.c: Likewise.
6980         * toplev.c: Likewise.
6981         * config/arm/arm.c: Likewise.
6982         * config/arm/arm.md: Likewise.
6983         * config/arm/linux-gas.h: Likewise.
6984         * config/arm/netbsd.h: Likewise.
6985         * config/c4x/c4x.c: Likewise.
6986         * config/c4x/c4x.h: Likewise.
6987         * config/c4x/c4x.md: Likewise.
6988         * config/c4x/libgcc.S: Likewise.
6989         * config/fr30/fr30.md: Likewise.
6990         * config/frv/frv.md: Likewise.
6991         * config/ia64/ia64.md: Likewise.
6992         * config/mips/mips.h: Likewise.
6993         * config/mn10300/mn10300.c: Likewise.
6994         * config/stormy16/stormy16.c: Likewise.
6995         * config/v850/v850.md: Likewise.
6996         * doc/extend.texi: Likewise.
6997         * doc/invoke.texi: Likewise.
6998         * doc/md.texi: Likewise.
6999
7000 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7001
7002         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
7003         library if -pthread is specified.
7004
7005 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7006
7007         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
7008         for --enable-threads=yes and --enable-threads=posix.
7009
7010 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7011
7012         * config/sparc/cypress.md: Replace Sparc with SPARC.
7013         * config/sparc/freebsd.h: Likewise.
7014         * config/sparc/gmon-sol2.c: Likewise.
7015         * config/sparc/hypersparc.md: Likewise.
7016         * config/sparc/lb1spc.asm: Likewise.
7017         * config/sparc/lb1spl.asm: Likewise.
7018         * config/sparc/linux.h: Likewise.
7019         * config/sparc/linux64.h: Likewise.
7020         * config/sparc/lynx.h: Likewise.
7021         * config/sparc/sol2.h: Likewise.
7022         * config/sparc/sparc-modes.def: Likewise.
7023         * config/sparc/sparc.c: Likewise.
7024         * config/sparc/sparc.h: Likewise.
7025         * config/sparc/sparc.md: Likewise.
7026         * config/sparc/sparclet.md: Likewise.
7027         * config/sparc/supersparc.md: Likewise.
7028         * config/sparc/sysv4.h: Likewise.
7029         * config/sparc/vxsim.h: Likewise.
7030         * config/sparc/vxsparc64.h: Likewise.
7031
7032 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7033
7034         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
7035         * collect2.c (ignore_library, aix_std_libs): Move into the context
7036         where it is used.
7037         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
7038         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
7039         * m88k.c (output_call): Wrap variables with macro controlling use.
7040         * rs6000.md: Likewise.  Const-ify variable.
7041         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
7042         * final.c (only_leaf_regs_used): Likewise.
7043         * regrename.c (maybe_mode_change): Mark parameter with
7044         ATTRIBUTE_UNUSED.
7045         * reload.c (find_valid_class): Likewise.  Likewise for variable.
7046         (find_reloads_address_1): Likewise.
7047         * varasm.c (weak_finish): Wrap variable with macro controlling use.
7048
7049 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
7050
7051         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
7052
7053 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7054
7055         * ChangeLog: Follow spelling conventions.
7056         * ChangeLog.0: Likewise.
7057         * ChangeLog.2: Likewise.
7058         * ChangeLog.3: Likewise.
7059         * ChangeLog.4: Likewise.
7060         * ChangeLog.5: Likewise.
7061         * ChangeLog.6: Likewise.
7062         * cppfiles.c: Likewise.
7063         * cppinit.c: Likewise.
7064         * cpplib.h: Likewise.
7065         * cse.c: Likewise.
7066         * debug.h: Likewise.
7067         * df.c: Likewise.
7068         * dominance.c: Likewise.
7069         * hashtable.c: Likewise.
7070         * hashtable.h: Likewise.
7071         * loop.c: Likewise.
7072         * config/arm/README-interworking: Likewise.
7073         * config/arm/arm.c: Likewise.
7074         * config/arm/arm.h: Likewise.
7075         * config/arm/arm.md: Likewise.
7076         * config/dsp16xx/dsp16xx.h: Likewise.
7077         * config/frv/frv.c: Likewise.
7078         * config/frv/frv.h: Likewise.
7079         * config/ip2k/ip2k.h: Likewise.
7080         * config/rs6000/rs6000.c: Likewise.
7081         * config/stormy16/stormy-abi: Likewise.
7082         * config/stormy16/stormy16.h: Likewise.
7083         * config/v850/v850.c: Likewise.
7084
7085 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7086
7087         * loop.c: Fix a comment typo.
7088
7089 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7090
7091         * config/fr30/fr30.h: Fix comment typos.
7092         * config/frv/frv.c: Likewise.
7093         * config/i386/xmmintrin.h: Likewise.
7094         * config/mips/mips.c: Likewise.
7095         * config/sh/sh.c: Likewise.
7096
7097 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7098
7099         * haifa-sched.c: Follow spelling conventions.
7100         * regclass.c: Likewise.
7101         * regrename.c: Likewise.
7102         * config/fp-bit.c: Likewise.
7103         * config/frv/frv.h: Likewise.
7104         * config/m88k/m88k.c: Likewise.
7105         * config/mcore/mcore.c: Likewise.
7106         * config/rs6000/darwin.h: Likewise.
7107         * config/rs6000/gnu.h: Likewise.
7108         * config/rs6000/linux.h: Likewise.
7109         * config/rs6000/linux64.h: Likewise.
7110         * config/rs6000/rs6000.c: Likewise.
7111         * config/rs6000/rs6000.h: Likewise.
7112         * config/sh/sh.c: Likewise.
7113         * config/sparc/sparc.c: Likewise.
7114         * config/sparc/ultra1_2.md: Likewise.
7115
7116 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
7117
7118         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
7119         memory operand when source is 0 (K constraint).
7120         ("movsi_internal"): Likewise.
7121         ("movdf_internal"): Likewise.
7122         ("movsf_internal"): Likewise.
7123
7124 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
7125
7126         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
7127         targetm.binds_local_p to set SYMBOL_REF_FLAG.
7128         (rs6000_xcoff_encode_section_info): Likewise.
7129         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
7130
7131 2002-09-10  Theodore A. Roth  <troth@verinet.com>
7132
7133         * gcc/config/avr/avr.h: Set default options for C++ for avr.
7134
7135 2002-09-13  Roger Sayle  <roger@eyesopen.com>
7136
7137         * stmt.c (struct nexting): Remove unused alt_end_label field.
7138         (expand_start_loop): Delete initialization of alt_end_label.
7139         (expand_start_null_loop): Likewise.
7140         (expand_exit_loop_if_false): Delete updating of alt_end_label.
7141
7142 2002-09-13  Richard Henderson  <rth@redhat.com>
7143
7144         * Makefile.in (toplev.o): Depend on real.h.
7145         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
7146
7147 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
7148
7149         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
7150         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
7151         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
7152
7153 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
7154
7155         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
7156
7157 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7158
7159         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
7160         ia64*-*-linux*): Set extra_parts.
7161         * config/ia64/t-aix (EXTRA_PARTS): Remove.
7162         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
7163
7164 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
7165
7166         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
7167         * config/h8300/h8300.c: Likewise.
7168         * config/h8300/h8300.h: Likewise.
7169         * config/h8300/h8300.md: Likewise.
7170         * doc/invoke.texi: Likewise.
7171
7172 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
7173
7174         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
7175
7176 2002-09-13  Richard Henderson  <rth@redhat.com>
7177
7178         * config/alpha/alpha.md (attr type): Add callpal.
7179         (imb, trap, load_tp, set_tp): Use it.
7180         * config/alpha/ev4.md (ev4_callpal): New.
7181         * config/alpha/ev5.md (ev5_callpal): New.
7182         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
7183         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
7184         (alphaev5_insn_pipe): Likewise.
7185
7186 2002-09-13  Andreas Jaeger  <aj@suse.de>
7187
7188         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
7189
7190 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7191
7192         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
7193         LIB2ADDEH): New, set to NULL.
7194         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
7195
7196 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7197
7198         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
7199         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
7200         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
7201         Add declarations.
7202         (_U_Qfneg): Remove.
7203
7204 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
7205
7206         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
7207         for H8/300, H8S aa:8 mode.
7208         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
7209         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
7210         for H8/300 aa:8 mode.
7211
7212 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
7213
7214         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
7215         insns.
7216
7217 2002-09-12  Richard Henderson  <rth@redhat.com>
7218
7219         * Makefile.in (HOST_PRINT): Use print-rtl1.o
7220         (print-rtl.o): Don't define GENERATOR_FILE.
7221         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
7222         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
7223         unless GENERATOR_FILE.
7224
7225 2002-09-12  Stan Shebs  <shebs@apple.com>
7226
7227         * config/darwin.h (USER_LABEL_PREFIX): Define here...
7228         * config/i386/darwin.h: ... instead of here.
7229
7230         * target.h (struct gcc_target): New field
7231         terminate_dw2_eh_frame_info.
7232         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
7233         (TARGET_INITIALIZER): Add it.
7234         * dwarf2out.c (output_call_frame_info): Use target hook.
7235         * dwarf2asm.c (dw2_asm_output_delta): Use macro
7236         ASM_OUTPUT_DWARF_DELTA if defined.
7237         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
7238         (ASM_OUTPUT_DWARF_DELTA): Ditto.
7239         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
7240         (ASM_OUTPUT_DWARF_PCREL): Ditto.
7241         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
7242         (powerpc-*-darwin*): Ditto.
7243         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
7244         to work correctly for Darwin.
7245         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
7246         (STARTFILE_SPEC): Add crtbegin.o.
7247         (ENDFILE_SPEC): Define.
7248         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
7249         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
7250         (ASM_OUTPUT_DWARF_DELTA): Define.
7251         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
7252         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
7253
7254 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
7255
7256         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
7257         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
7258         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
7259
7260 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
7261
7262         * toplev.c: Move default definition of USER_LABEL_PREFIX...
7263         * defaults.h: ... here.
7264
7265 2002-09-12  Richard Henderson  <rth@redhat.com>
7266
7267         * vax.c: Include tree.h earlier.
7268
7269 2002-09-12  Stan Shebs  <shebs@apple.com>
7270
7271         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
7272         (machopic_operand_p): Ditto.
7273
7274 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7275
7276         * config/arm/arm.c (arm_compute_initial_elimination_offset):
7277         Fix a comment typo.
7278
7279 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7280
7281         * toplev.c (do_abort): Fix a comment typo.
7282
7283 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7284
7285         * cselib.c: Fix comment formatting.
7286         * gengtype.c: Likewise.
7287
7288 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7289
7290         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
7291         (udivmodhi4): Likewise.
7292
7293 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
7294             Roger Sayle  <roger@eyesopen.com>
7295
7296         * i386.c (any_fp_register_operand, fp_register_operand,
7297         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
7298         New predicate functions.
7299         * i386-protos.h:  Add their prototypes.
7300         * i386.h: Add them to PREDICATE_CODES.
7301         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
7302         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
7303         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
7304         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
7305         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
7306         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
7307         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
7308         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
7309         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
7310         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
7311         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
7312         Use these new predicates to simplify and correct the use of
7313         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
7314
7315 2002-09-12  Jason Merrill  <jason@redhat.com>
7316
7317         * diagnostic.c (output_add_identifier): New fn.
7318         * diagnostic.h: Declare it.
7319
7320         * calls.c (store_one_arg): Use size_in_bytes to determine the
7321         amount of space to push.
7322
7323 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
7324
7325         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
7326
7327 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
7328
7329         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
7330         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
7331         (s390_select_ccmode): Likewise.
7332         (s390_branch_condition_mask): Likewise.
7333         (optimization_options): Do not set flag_branch_on_count.
7334         (s390_split_branches): Handle doloop branches.
7335         (s390_chunkify_pool): Likewise.
7336         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
7337         ("doloop_end"): New expander.
7338         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
7339         associated splitters): New.
7340
7341 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7342
7343         * genattrtab.c (simplify_cond): Remove unused variable(s).
7344         * global.c (record_conflicts): Likewise.
7345         * jump.c (rebuild_jump_labels): Likewise.
7346         * loop.c (scan_loop, check_final_value): Likewise.
7347         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
7348         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
7349         * rtlanal.c (reg_set_p): Likewise.
7350         * stmt.c (expand_asm_operands, expand_decl): Likewise.
7351         * genautomata.c (empty_reserv): Remove.
7352         * loop.c (max_luid): Likewise.
7353         * sched-rgn.c (bitlst_table_size): Likewise.
7354
7355 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
7356
7357         Reimplement gcov format.
7358         * gcov-io.h: Replace.
7359         * gcov.c: Reimplement.
7360         * gcov-iov.c: New file.
7361         * gcov-dump.c: New file.
7362         * libgcc2.c (L_bb): Replace with ...
7363         (L_gcov): ... this.
7364         (struct bb_function_info, struct bb): Remove.
7365         (inhibit_libc): Never inhibit.
7366         (gcov_list, gcov_crc): New static variables.
7367         (gcov_version_mismatch): New static function.
7368         (__bb_exit_func): Renamed to ...
7369         (__gcov_exit): ... here. Made static. Reimplement.
7370         (__gcov_init_func): Rename to ...
7371         (__gcov_init): ... here. Check version, update crc.
7372         (__bb_fork_func): Rename to ...
7373         (__gcov_flush): ... here.
7374         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
7375         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
7376         * calls.c (expand_call): Call __gcov_flush.
7377         * profile.c (bb_file, last_bb_file_name): Remove.
7378         (bbg_file_name): New global variable.
7379         (output_gcov_string): Remove.
7380         (get_exec_counts): Reimplement.
7381         (branch_prob): Reimplement gcov file writing.
7382         (init_branch_prob): Create bbg_file_name, don't create
7383         bb_file_name.
7384         (end_branch_prob): Adjust. Don't remove counter file when
7385         instrumenting ourselves.
7386         (create_profiler): Adjust.
7387         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
7388         point to gcov-io.h.
7389         * Makefile.in (LANGUAGES): Add gcov-dump.
7390         (coverageexts): Remove .bb.
7391         (STAGESTUFF): Add gcov-dump.
7392         (LIB2FUNCS_ST): Replace _bb with _gcov.
7393         (profile.o): Depend on gcov-iov.h.
7394         (final.o): Don't depend on profile.h, gcov.h.
7395         (gcov.o): Depend on gcov-iov.h.
7396         (gcov-iov.o): New target.
7397         (gcov-iov): New target.
7398         (gcov-iov.h): New target.
7399         (gcov-dump.o): New target.
7400         (GCOV_DUMP_OBJS): New variable.
7401         (gcov-dump): New target.
7402         (distclean): Remove coverageexts.
7403         (stage1): Remove coverageexts.
7404
7405 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
7406
7407         * fold-const.c (make_range): Only narrow to signed range if
7408         the signed range is smaller than the unsigned range.
7409
7410 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
7411
7412         * emit-rtl.c (set_mem_size): New function.
7413         * expr.h (set_mem_size): Declare.
7414         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
7415         (expand_block_move): Instead, use adjust_address and
7416         replace_equiv_address to generate proper aliasing info.
7417         Move common code out of conditionals.  Localize vars.
7418
7419 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
7420
7421         * optabs.c (expand_binop): Minor cleanup.
7422         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
7423
7424 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
7425
7426         * print-tree.c (print_node): Print the restrict qualifier.
7427
7428 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
7429
7430         * doc/install.texi: Fix typos.
7431
7432 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
7433
7434         * Makefile.in: Remove all references to s-under and underscore.c.
7435         * collect2.c, tlink.c: Change all uses of prepends_underscore
7436         to look directly at USER_LABEL_PREFIX.
7437
7438 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
7439
7440         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
7441         alignment to csect.
7442         (rs6000_xcoff_unique_section): Only set section name for public
7443         data.
7444         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
7445         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
7446         duplicate definition.
7447
7448 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7449
7450         * pa.md (extzv): Check predicates before emitting extzv_32.
7451         (insv): Likewise.
7452
7453 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
7454
7455         * config/s390/s390.h (MOVE_MAX): Define to correct value.
7456         (MAX_MOVE_MAX): Define.
7457         (MOVE_BY_PIECES_P): Define.
7458         (CLEAR_BY_PIECES_P): Define.
7459
7460 2002-09-10  Denis Chertykov  <denisc@overta.ru>
7461
7462         * config/avr/avr.md (movstrhi): Use right operands for conversion.
7463
7464 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
7465
7466         PR c/7873
7467         * arm.md (insv): Use reg_or_int_operand for operand[3].
7468
7469 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
7470
7471         * rs6000.c (rs6000_assemble_visibility): Protect declaration
7472         inside macro.  Correct function definition typo.
7473         (rs6000_xcoff_section_type_flags): New function.
7474         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
7475         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
7476         with appropriate PIC test.
7477         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
7478         determine readonly.
7479         (rs6000_binds_local_p): Combine PIC flags.
7480         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
7481         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
7482
7483 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7484
7485         * h8300.md: Fix signed/unsigned warnings.
7486         * mcore.md: Likewise.
7487         * mn10300.c (mask_ok_for_mem_btst): Likewise.
7488
7489 2002-09-09  Per Bothner  <per@bothner.com>
7490
7491         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
7492         characters, and only print TREE_STRING_LENGTH chars.
7493
7494 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
7495
7496         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
7497         (ASM_FILE_END) New.
7498         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
7499         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
7500         * config/ia64/ia64.c (ia64_asm_output_external): Create list
7501         of external functions if TARGET_HPUX_LD is true.
7502         (ia64_hpux_add_extern_decl): New, routine to put names on
7503         list of external functions.
7504         (ia64_hpux_asm_file_end): Put out declarations for external
7505         functions if and only if they are used.
7506
7507 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7508
7509         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
7510         on TARGET_64BIT before pic register restore.
7511
7512 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
7513
7514         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
7515         (TARGET_HAVE_TLS): New description.
7516
7517 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
7518
7519         * doc/extend.texi (Statement Exprs): Fix broken link.
7520
7521 2002-09-09  Denis Chertykov  <denisc@overta.ru>
7522
7523         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
7524         right conversion of operands[1].
7525
7526 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
7527
7528         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
7529         commutative.  Use "nonimmediate_operand" instead of "register_operand"
7530         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
7531
7532         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
7533         as commutative.
7534
7535         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
7536         mark as commutative.  Use "nonimmediate_operand" instead of
7537         "register_operand" as predicate for operand 1.
7538
7539         ("movstrictsi"): Fix typo in insn name.
7540
7541 2002-09-09  Jan Hubicka  <jh@suse.cz>
7542
7543         * i386.c (index_register_operand): New.
7544         * i386.h (predicate_codes): Add new predicate.
7545         * i386.md (lea_general_*): Use index_register_operand
7546         (ashift to lea splitter): Do not produce invalid leas
7547         (ashift to mov+ashift split): New.
7548
7549 2002-09-09  Nick Clifton  <nickc@redhat.com>
7550
7551         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
7552         Fix folding marks.
7553
7554 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
7555             J"orn Rennecke <joern.rennecke@superh.com>
7556
7557         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
7558
7559 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
7560
7561         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
7562         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
7563         attributes.
7564
7565 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
7566
7567         * basic_block.h (gcov_type): Explain why it is signed.
7568         * final.c: Don't include profile.h.
7569         (struct function_list, functions_head, functions_tail,
7570         end_final): Moved to profile.c
7571         (final): Move arc chaining code to profile.c.
7572         * function.c (prepare_function_start): Remove duplicate line.
7573         * output.h (end_final): Remove prototype.
7574         * predict.c (estimate_loops_at_level): Use gcov_type.
7575         * profile.c (struct function_list, functions_head,
7576         functions_tail): Moved from final.c
7577         (need_func_profiler): Remove.
7578         (instrument_edges): Don't set need_func_profiler.
7579         (get_exec_counts): Avoid signed/unsigned warning.
7580         (compute_checksum): Use crc32.
7581         (branch_prob): Adjust. Chain onto functions_head.
7582         (init_branch_prob): Absorb init_edge_profiler.
7583         (init_edge_profiler): Remove.
7584         (create_profiler): Moved and renamed from final.c:end_final.
7585         Emit data and constructor.
7586         (output_func_start_profiler): Remove.
7587         * profile.h (struct profile_info): checksum is unsigned.
7588         * rtl.h (output_func_start_profiler): Remove prototype.
7589         (create_profiler): Declare.
7590         * toplev.c (compile_file): Call create_profiler, if instrumenting
7591         arcs. Don't call end_final.
7592
7593 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7594
7595         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
7596
7597 2002-09-08  Richard Henderson  <rth@redhat.com>
7598
7599         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
7600         (DW_OP_GNU_push_tls_address): New.
7601         (DW_OP_lo_user): Fix.
7602         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
7603         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
7604         (size_of_loc_descr): Likewise.
7605         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
7606         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
7607         (loc_descriptor_from_tree): Handle TLS variables.
7608         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
7609         (add_location_or_const_value_attribute): ... not here.  Defer
7610         to loc_descriptor_from_tree for TLS variables.
7611
7612         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
7613         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
7614         * config/i386/i386-protos.h: Update.
7615
7616 2002-09-08  Roger Sayle  <roger@eyesopen.com>
7617
7618         PR optimization/6405
7619         * unroll.c (loop_iterations): last_loop_insn should be the previous
7620         non-note instruction before loop->end.
7621         * loop.c (strength_reduce): The conditional jump is the last
7622         non-note instruction before loop->end (as above).
7623
7624 2002-09-08  Roger Sayle  <roger@eyesopen.com>
7625
7626         * combine.c (try_combine): Handle the case that undobuf.other_insn
7627         has been turned into a return or unconditional jump, by inserting
7628         a BARRIER if necessary.
7629         (simplify_set):  Test if a condition code setter has a constant
7630         comparison at compile time, if so convert this insn to a no-op move
7631         and update/simplify the condition code user (undobuf.other_insn).
7632
7633 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
7634
7635         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
7636         (CLEAR_INSN_CACHE): Define.
7637
7638 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
7639
7640         * basic-block.h: Fix comment formatting.
7641         * c-common.c: Likewise.
7642         * c-common.h: Likewise.
7643         * c-lex.c: Likewise.
7644         * c-pretty-print.c: Likewise.
7645         * cfglayout.c: Likewise.
7646         * cfgloop.c: Likewise.
7647         * defaults.h: Likewise.
7648         * et-forest.c: Likewise.
7649         * explow.c: Likewise.
7650         * function.h: Likewise.
7651         * gcov.c: Likewise.
7652         * genattrtab.c: Likewise.
7653         * gengtype.c: Likewise.
7654         * ifcvt.c: Likewise.
7655         * libgcc2.c: Likewise.
7656         * loop.c: Likewise.
7657         * profile.c: Likewise.
7658         * ra-build.c: Likewise.
7659         * real.c: Likewise.
7660         * rtl.h: Likewise.
7661         * tracer.c: Likewise.
7662         * tree-inline.c: Likewise.
7663         * varasm.c: Likewise.
7664
7665 2002-09-08  Jan Hubicka  <jh@suse.cz>
7666
7667         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
7668         handling.
7669
7670         * loop.c (loop_givs_reduce):  Emit addition after.
7671
7672 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
7673
7674         * varasm.c (default_assemble_visibility): Rename from
7675         assemble_visibility.
7676         * output.h: Here too.
7677         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
7678         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
7679
7680 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
7681
7682         * reload.c (find_reloads <p constraint>): Pass operand_mode to
7683         find_reloads_address.
7684
7685 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
7686
7687         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
7688         (anonymous pattern): Likewise.
7689
7690 2002-09-07  Igor Shevlyakov <igor@microunity.com>
7691
7692         * machmode.def: Add modes for half-float vectors.
7693
7694 2002-09-07  Scott Snyder  <snyder@fnal.gov>
7695
7696         PR target/7374
7697         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
7698
7699 2002-09-07  Roger Sayle  <roger@eyesopen.com>
7700
7701         * basic-block.h (struct loop): Remove unused cont_dominator field.
7702
7703 2002-09-07  Igor Shevlyakov <igor@microunity.com>
7704
7705         * varasm.c (decode_rtx_const): Don't check undefined field for
7706         CONST_VECTOR.
7707
7708 2002-09-07  Glen Nakamura  <glen@imodulo.com>
7709
7710         PR opt/7814
7711         * sched-deps.c (sched_analyze_insn): Make sure to add insn
7712         to reg_last->sets after flushing the dependency lists to guarantee
7713         that subsequent clobbers will be dependent on it.
7714
7715 2002-09-07  Igor Shevlyakov <igor@microunity.com>
7716
7717         * combine.c (simplify_shift_const): Calculate rotate count
7718         correctly for vector operands.
7719
7720 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
7721
7722         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
7723         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
7724         tree_expr_nonnegative_p.
7725         (build_conditional_expr): Likewise.
7726         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
7727
7728 2002-09-07  Richard Henderson  <rth@redhat.com>
7729
7730         * builtins.def (inf, inff, infl): Mark const.
7731         (huge_val, huge_valf, huge_vall): Likewise.
7732         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
7733
7734         * real.c (ereal_inf): Clear E before use.
7735
7736 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
7737
7738         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
7739         an expander and an anonymous pattern.  Zero out the upper half
7740         of the dividend in the expander.
7741         (udivmodqi4): Likewise.
7742
7743 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
7744
7745         * config/h8300/h8300.c: Fix formatting.
7746         * config/h8300/h8300.h: Likewise.
7747         * config/h8300/h8300.md: Likewise.
7748
7749 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7750
7751         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
7752         information.
7753
7754 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
7755
7756        * rtlanal.c (dead_or_set_regno_p): Fix typo.
7757
7758 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
7759
7760         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7761
7762         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
7763         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
7764         (TARGET_ASM_OUT): Add the above here.
7765         * target.h (struct gcc_target): Add "visibility" field.
7766         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
7767         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
7768         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
7769         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
7770
7771 2002-09-06  Ziemowit Laski <zlaski@apple.com>
7772
7773         * c-lang.c (objc_is_id): New stub.
7774         * c-tree.h (objc_is_id): New forward declaration.
7775         * c-typeck.c (build_c_cast): Do not strip protocol
7776         qualifiers from 'id' type.
7777         * objc/objc-act.c (objc_comptypes): Correct handling
7778         of protocol qualifiers.
7779         (objc_is_id): New.
7780
7781 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
7782
7783         * pentium.md (pentium-firstvboth): Fix typo.
7784
7785 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
7786
7787         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
7788         (enum shift_type, enum h8_cpu): Likewise.
7789         (INL, ROT, LOP, SPC macros): Likewise.
7790         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
7791         const designator.
7792         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
7793         space efficient algorithms when optimize for codesize.
7794
7795 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
7796
7797         Fix PR/1727 and long-standing failing testcase
7798         objc/formal-protocol-6.m.
7799         * objc-act.c (build_protocol_expr): If compiling for the GNU
7800         runtime, create a list of Protocol statically allocated instances
7801         if it doesn't exist, then add the Protocol object to this same
7802         list.
7803         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
7804         instead of TREE_CHAIN.
7805
7806 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
7807
7808         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
7809         10k.  Fixed category dumping - print out category names with the
7810         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
7811         interface.
7812         (finish_objc): Fixed the -gen-decls option.  It was printing out
7813         only the last class.  Dump an interface declaration of all classes
7814         being compiled instead.
7815
7816 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
7817
7818         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
7819         prototype.
7820         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
7821         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
7822         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
7823         rather than GEN_INT.
7824         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
7825         (return_addr_mask, *check_arch2): New.
7826
7827 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
7828
7829         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
7830         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
7831         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
7832         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
7833         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
7834         "adddf3", "*adddf3", "*adddf3_ibm",
7835         "addsf3", "*addsf3", "*addsf3_ibm",
7836         "muldi3", "mulsi3", "mulsidi3",
7837         "muldf3", "*muldf3", "*muldf3_ibm",
7838         "mulsf3", "*mulsf3", "*mulsf3_ibm",
7839         "*anddi3_cc", "*anddi3_cconly", "anddi3",
7840         "*andsi3_cc", "*andsi3_cconly", "andsi3",
7841         "*iordi3_cc", "*iordi3_cconly", "iordi3",
7842         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
7843         "*xordi3_cc", "*xordi3_cconly", "xordi3",
7844         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
7845         instead of "register_operand" as predicate for "%0" operand.
7846
7847 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
7848
7849         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
7850         unconditionally when gcc_cv_as_flags64 checks are gone.
7851         * configure: Rebuilt.
7852
7853 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
7854
7855         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
7856         2002-07-26 change.  Comment.
7857
7858 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7859
7860         * frv.c (frv_unique_section, frv_select_section,
7861         frv_select_rtx_section): Delete.
7862         (frv_in_small_data_p): New.
7863         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
7864         TARGET_ASM_SELECT_RTX_SECTION): Delete.
7865         (TARGET_IN_SMALL_DATA_P): Define.
7866
7867 2002-09-05  Dale Johannesen  <dalej@apple.com>
7868
7869         * reload1.c (reload):  Retain only those memory clobbers
7870         added for variable-array handling.
7871
7872 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
7873
7874         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
7875         return-in-memory rules.
7876         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
7877
7878 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
7879
7880         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
7881         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
7882
7883 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
7884
7885         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
7886         not a compile-time constant for the non-IBM case.
7887         * config/arm/arm-protos.h (arm_float_words_big_endian): New
7888         prototype.
7889         * config/arm/arm.c (arm_float_words_big_endian): New function.
7890         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
7891         if TARGET_VFP  and not TARGET_HARD_FLOAT.
7892         (ARM_FLAG_VFP, TARGET_VFP): Define.
7893         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
7894
7895 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
7896
7897         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
7898         URLs.  Fix AIX wording.
7899
7900 2002-09-05  Stan Shebs  <shebs@apple.com>
7901
7902         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
7903         -fPIC equivalent on Darwin.
7904
7905 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
7906
7907         * sh.c (sh_expand_builtin): Return early if encountering an
7908         error_mark for a type.
7909
7910 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
7911
7912         * config/s390/s390.c (s390_expand_plus_operand): Do not require
7913         double-word scratch register.
7914         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
7915
7916         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
7917         "*cli"): Replace s_operand by memory_operand.
7918         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
7919
7920 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
7921
7922         * config/h8300/h8300.c (asm_file_start): Add a missing
7923         semicolon.
7924
7925 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7926
7927         * c-typeck.c (build_function_call): Remove unused variable(s).
7928         (build_c_cast): Likewise.
7929         * calls.c (rtx_for_function_call): Likewise.
7930         * cfglayout.c (duplicate_insn_chain): Likewise.
7931         * cfgloop.c (flow_loop_nodes_find): Likewise.
7932         * cfgrtl.c (split_edge): Likewise.
7933         * df.c (df_ref_create): Likewise.
7934         * except.c (expand_end_catch): Likewise.
7935         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
7936         * function.c (emit_return_into_block): Likewise.
7937         (reposition_prologue_and_epilogue_notes): Likewise.
7938         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
7939         * combine.c (subst_prev_insn, need_refresh): Remove.
7940         * dwarf2out.c (primary_filename): Remove.
7941         * final.c (new_block): Remove.
7942         * gcse.c (orig_bb_count): Remove.
7943
7944 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7945
7946         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
7947         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
7948         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
7949         directly instead of using a function pointer.
7950
7951 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
7952
7953         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
7954         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
7955         (ix86_output_addr_diff_elt) Likewise.
7956         (x86_output_mi_thunk) Likewise.
7957         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
7958
7959 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7960
7961         * frv.c (frv_encode_section_info): Fix error in last change.
7962
7963 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
7964
7965         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
7966         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
7967         (TARGET_BINDS_LOCAL_P): Define.
7968         (rs6000_override_options): Save original flag_pic value.
7969         (rs6000_elf_select_section): Call default_elf_select_section_1.
7970         (rs6000_elf_unique_section): Call default_unique_section_1.
7971         (rs6000_elf_in_small_data_p): New function.
7972         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
7973         (rs6000_xcoff_select_section): Update based on defaults.
7974         (rs6000_xcoff_unique_section): Set to basic name if not common.
7975         (rs6000_binds_local_p): New function.
7976         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
7977         targetm.have_srodata_section if SDATA_EABI.
7978         (TARGET_IN_SMALL_DATA_P): Define.
7979
7980 2002-09-04  Dale Johannesen  <dalej@apple.com>
7981
7982         * varasm.c (struct rtx_const, decode_rtx_const):
7983         Make veclo and vechi fields not share storage.
7984
7985 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
7986
7987         * loop.c (scan_loop): Don't mark separate insns out of a libcall
7988         for moving.
7989         (move_movables): Abort if we see the first insn of a libcall.
7990
7991 2002-09-04  Richard Henderson  <rth@redhat.com>
7992
7993         * builtin-types.def (BT_FN_FLOAT): New.
7994         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
7995         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
7996         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
7997         * builtins.c (fold_builtin_inf): New.
7998         (fold_builtin): Call it.
7999         * real.c (ereal_inf): New.
8000         * real.h: Declare it.
8001         * doc/extend.texi: Document new builtins.
8002
8003 2002-09-04  Richard Henderson  <rth@redhat.com>
8004
8005         * cse.c (cse_insn): Avoid subreg games if the equivalence
8006         is already in the proper mode.
8007
8008 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
8009
8010         PR c/7102
8011         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
8012
8013 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8014
8015         * pa.md (setccfp0, setccfp1): New patterns.
8016
8017 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8018
8019         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
8020         frv_select_section, frv_select_rtx_section,
8021         frv_encode_section_info, frv_unique_section): Delete.
8022         * frv.c: Update for target hooks.
8023         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
8024         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
8025         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
8026
8027 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8028
8029         * ip2k-protos.h (function_prologue, function_epilogue,
8030         encode_section_info): Update to match target hook specification.
8031         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
8032         (function_prologue, function_epilogue, encode_section_info):
8033         Update to match target hook specification.
8034         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
8035         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
8036         (NOTICE_UPDATE_CC): Cast to void.
8037         * ip2k.md: Add defaults in switch statements.
8038
8039 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8040
8041         * doc/trouble.texi (Interoperation): Update information about C++ ABI
8042         issues.
8043
8044 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
8045
8046         * config/sparc/t-netbsd64: Disable multilib for now.
8047
8048 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
8049
8050         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
8051         * target.h (gcc_target): Add have_srodata_section member.
8052         * varasm.c (section_category): Add SECCAT_SRODATA.
8053         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
8054         READONLY_SDATA_SECTION defined.
8055         (decl_readonly_section_1): True for SECCAT_SRODATA also.
8056         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
8057         (default_unique_section_1): Likewise.
8058
8059 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8060
8061         * expr.c (emit_group_load): Revise to allow splitting TCmode source
8062         into DImode pieces.
8063
8064         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
8065         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
8066         for floating-point register class.
8067         * pa.c (function_arg): Fix handling of modes wider than one word for
8068         TARGET_64BIT.
8069
8070 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
8071
8072         * combine.c (make_compound_operation): Don't generate zero / sign
8073         extensions in floating point modes.
8074
8075 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8076
8077         * doc/c-tree.texi: Fix overfull hboxes.
8078         * doc/cppopts.texi: Ditto.
8079         * doc/extend.texi: Ditto.
8080         * doc/gty.texi: Ditto.
8081         * doc/invoke.texi: Ditto.
8082         * doc/makefile.texi: Ditto.
8083         * doc/rtl.texi: Ditto.
8084         * doc/standards.texi: Ditto.
8085         * doc/tm.texi: Ditto.
8086
8087 2002-09-04  Richard Henderson  <rth@redhat.com>
8088
8089         * c-common.c (builtin_define_with_hex_fp_value): New.
8090         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
8091
8092 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8093
8094         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
8095         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
8096         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
8097         Warn that these options can break ABI compatibility.
8098
8099 2002-09-04  Richard Henderson  <rth@redhat.com>
8100
8101         * real.c (ereal_to_decimal): Add digits parameter.
8102         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
8103         * c-pretty-print.c (pp_c_real_literal): Update call.
8104         * print-rtl.c (print_rtx): Likewise.
8105         * print-tree.c (print_node_brief, print_node): Likewise.
8106         * sched-vis.c (print_value): Likewise.
8107         * config/arc/arc.c (arc_print_operand): Likewise.
8108         * config/c4x/c4x.c (c4x_print_operand): Likewise.
8109         * config/i370/i370.h (PRINT_OPERAND): Likewise.
8110         * config/i386/i386.c (print_operand): Likewise.
8111         * config/i960/i960.c (i960_print_operand): Likewise.
8112         * config/ip2k/ip2k.c (asm_output_float): Likewise.
8113         * config/m32r/m32r.c (m32r_print_operand): Likewise.
8114         * config/m68hc11/m68hc11.c (print_operand): Likewise.
8115         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
8116         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
8117         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
8118         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
8119         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
8120         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
8121         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
8122         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
8123         * config/mips/mips.c (print_operand): Likewise.
8124         * config/ns32k/ns32k.c (print_operand): Likewise.
8125         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
8126         * config/vax/vax.h (PRINT_OPERAND): Likewise.
8127         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
8128
8129 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
8130
8131         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
8132         xtensa_multibss_section_type_flags.
8133         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
8134
8135 2002-09-04  Richard Henderson  <rth@redhat.com>
8136
8137         * doc/install-old.texi: Don't mention enquire.
8138         * doc/sourcebuild.texi: Update float.h description.
8139
8140 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
8141
8142         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
8143
8144 2002-09-03  Roger Sayle  <roger@eyesopen.com>
8145
8146         * builtins.c (build_function_call_expr): Remove prototype, export
8147         as non-static and add a comment above function definition.
8148         (builtin_mathfn_code): New function to check for math builtins.
8149         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
8150         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
8151         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
8152         log(sqrt(x)) as log(x)/2.0.
8153
8154         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
8155         in new "builtins.c" section.  Place the build_range_type prototype
8156         with the other prototypes from "tree.c".
8157
8158         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
8159         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
8160         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
8161         x/exp(y) as x*exp(-y).
8162
8163 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
8164
8165         * varasm.c (default_section_type_flags): Append _1 to name with
8166         shlib parameter.  Use original name to call new function with
8167         implicit flag_pic.
8168         (decl_readonly_section): Likewise.
8169         (default_elf_select_section): Likewise.
8170         (default_unique_section): Likewise.
8171         (default_bind_local_p): Likewise.
8172         (categorize_decl_for_section): Add shlib parameter to use in place
8173         of implicit flag_pic.
8174         * output.h: Declare new functions with _1 and shlib argument.
8175
8176 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
8177
8178         * doc/install.texi: Fix typos, formatting problems, and obvious
8179         overfull/underfull boxes.
8180
8181         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
8182         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
8183         include its file, compat.texi.
8184         * doc/compat.texi: New file with new chapter, Binary Compatibility.
8185
8186 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
8187
8188         Debian BTS Bug #157416
8189         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
8190         * cpplib.c (destringize_and_run): Kludge around getting
8191         tokens from in-progress macros.
8192         (_cpp_do__Pragma): Simplify.
8193
8194 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
8195
8196         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
8197         (CPP_CPU_SPEC): Remove.
8198         (TARGET_CPU_CPP_BUILTINS): New.
8199         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
8200         (CPP_SPEC): Remove.
8201         (TARGET_OS_CPP_BUILTINS): New.
8202         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
8203         (TARGET_OS_CPP_BUILTINS): New.
8204         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
8205         TARGET_OS_CPP_BUILTINS.
8206         (CPP_PREDEFINES): Remove.
8207         (CPLUSPLUS_CPP_SPEC): Remove.
8208         (TARGET_OS_CPP_BUILTINS): New.
8209
8210 2002-09-03  Richard Henderson  <rth@redhat.com>
8211
8212         * Makefile.in (USER_H): Add ginclude/float.h.
8213         (FLOAT_H): Remove.
8214         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
8215         (mostlyclean): Don't remove float.h intermediate files.
8216         (distclean): Don't remove float.h.
8217         * config.gcc: Remove all float_format references.
8218         * configure.in (float_format, float_h_file): Remove.
8219
8220         * c-common.c: Include tree-inline.h.
8221         (builtin_define_with_int_value): New.
8222         (builtin_define_type_precision): Use it.
8223         (builtin_define_float_constants): New.
8224         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
8225         __FLT_EVAL_METHOD__.
8226         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
8227         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
8228         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
8229         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
8230         (TARGET_FLT_EVAL_METHOD): New.
8231
8232         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
8233         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
8234         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
8235         * ginclude/float.h: New.
8236
8237 2002-09-03  Stan Shebs  <shebs@apple.com>
8238
8239         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
8240         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
8241         (PREFERRED_DEBUGGING_TYPE): Ditto.
8242         (ASM_OUTPUT_IDENT): Remove empty definition.
8243
8244 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
8245
8246         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
8247         cxx_target.
8248         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
8249         handling routine for builtin pragma.
8250         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
8251         Registered pragma handling routine.
8252         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
8253         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
8254         If builtin pragma seen for math routine and C89 conformance is
8255         requested use different math function in order to set errno.
8256         * t-ia64 (ia64-c.o): Add new rule for new file.
8257
8258 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
8259
8260         * config/s390/s390.md ("movti"): Add Q->Q alternative.
8261         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
8262         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
8263
8264         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
8265         "*movsf_ss"): Remove.
8266
8267 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8268
8269         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
8270         Delete macros.
8271
8272 2002-09-03   Arati Dikey  <aratid@kpit.com>
8273
8274         * h8300.c (asm_file_start): Corrected optimization comment.
8275
8276 2002-09-03  Stan Shebs  <shebs@apple.com>
8277
8278         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
8279         * c-tree.h (recognize_objc_keyword): Remove decl.
8280         * c-typeck.c (comp_target_types): Update a comment.
8281
8282 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
8283
8284         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
8285         and register validity checks.
8286         (general_s_operand): Adapt to s390_decompose_address interface change.
8287         (q_constraint): Likewise.
8288         (s390_expand_plus_operand): Likewise.
8289         (legitimiate_address_p): Likewise.
8290         (legitimate_la_operand_p): Likewise.
8291         (legitimize_la_operand): Likewise.
8292         (print_operand_address): Likewise.
8293         (print_operand): Likewise.
8294
8295 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8296
8297         PR objc/5956:
8298         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
8299         was causing the new selector never to match the existing ones
8300         (Patch by Alexander Malmberg <alexander@malmberg.org>).
8301
8302 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
8303
8304         * config/i386/i386.md ("femms"): Add "memory" attr "none".
8305
8306 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
8307
8308         * expr.c (expand_expr): Remove extraneous comment and code.
8309
8310 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
8311
8312         * stor-layout (finish_builtin_struct): Renamed and moved from c++
8313         frontend. Take chain of fields. Allow NULL alignment type.
8314         * tree.h (finish_builtin_struct): Declare.
8315
8316 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8317
8318         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
8319         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
8320         config/arc/arc.c config/arc/arc.h config/arm/aout.h
8321         config/arm/arm.c config/arm/arm.h config/arm/arm.md
8322         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
8323         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
8324         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
8325         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
8326         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
8327         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
8328         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
8329         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
8330         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
8331         config/pa/pa.h config/pa/pa.md config/romp/romp.h
8332         config/rs6000/linux64.h config/rs6000/lynx.h
8333         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
8334         config/s390/s390.c config/s390/s390.md config/sh/sh.c
8335         config/sparc/sparc.c config/sparc/sysv4.h
8336         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
8337         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
8338         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
8339
8340         * doc/tm.texi: Update docs.
8341         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
8342         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
8343
8344 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8345
8346         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
8347         * arc.c (arc_internal_label): New function.
8348         (TARGET_ASM_INTERNAL_LABEL): Set.
8349         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8350         * arm.c (arm_internal_label): New function.
8351         (TARGET_ASM_INTERNAL_LABEL): Set.
8352         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8353         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8354         * i370.c (i370_internal_label): New function.
8355         (TARGET_ASM_INTERNAL_LABEL): Set.
8356         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8357         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8358         * m68k.c (m68k_hp320_internal_label): New function.
8359         (TARGET_ASM_INTERNAL_LABEL): Set.
8360         * m88k.c (m88k_internal_label): New function.
8361         (TARGET_ASM_INTERNAL_LABEL): Set.
8362         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8363         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
8364         * genoutput.c (output_prologue): Include target.h in output file.
8365         * output.h (default_internal_label): Declare.
8366         * sdbout.c: Include target.h.
8367         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
8368         TARGET_ASM_OUT.
8369         * target.h (internal_label): Add to struct gcc_target.
8370         * varasm.c (default_internal_label): New function.
8371
8372 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8373
8374         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8375         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8376         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8377         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8378         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8379         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8380         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8381         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8382         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8383         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8384         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8385         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8386         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8387         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8388         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8389         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8390         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8391         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8392         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8393         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8394         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8395         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8396         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8397         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8398         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8399         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
8400         * mmix.c (mmix_asm_output_internal_label): Likewise.
8401         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8402         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8403         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8404         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8405         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8406         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8407         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8408         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8409         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8410         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8411         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8412         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8413         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8414         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8415         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8416         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8417         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8418         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8419         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8420
8421         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
8422
8423 2002-08-31  Richard Henderson  <rth@redhat.com>
8424
8425         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
8426
8427 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8428
8429         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
8430
8431 2002-08-30  Richard Henderson  <rth@redhat.com>
8432
8433         PR opt/7515
8434         * c-objc-common.c: Include target.h.
8435         (c_cannot_inline_tree_fn): Don't auto-inline functions that
8436         don't bind locally.  Factor setting DECL_UNINLINABLE.
8437         * Makefile.in (c-objc-common.o): Update.
8438
8439 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
8440
8441         * doc/install.texi (Configuration, Building): Fix a typo and
8442         some formatting directives.
8443
8444 2002-08-30  Paul Koning <pkoning@equallogic.com>
8445
8446         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
8447         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
8448         implemented" note.
8449         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
8450         for alphabetic order.
8451         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
8452         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
8453         (VAX_HALFWORD_ORDER): Document.
8454         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
8455         IEEE float format.
8456         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
8457         (ASM_OUTPUT_LABEL_REF): Fix font.
8458         (CASE_VECTOR_SHORTEN_MODE): Ditto.
8459
8460 2002-08-30  Denis Chertykov  <denisc@overta.ru>
8461
8462         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
8463         stuff.
8464         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
8465         CONST_DOUBLE constants.
8466
8467 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
8468
8469         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
8470         related defines to...
8471         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
8472         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
8473         as a no-op.
8474
8475 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
8476
8477         * config/arm/arm.c (arm_asm_output_labelref): New function.
8478         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
8479         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
8480
8481 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
8482
8483         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
8484         memory exhausted" workarounds.
8485
8486 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8487
8488         * diagnostic.c (fancy_abort): Don't repeat "internal error".
8489         * toplev.c (crash_signal): Likewise.
8490
8491 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8492
8493         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
8494         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
8495         Extended, updated documentation.
8496         (-Wundeclared-selector): Documented.
8497
8498 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
8499
8500         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
8501         the value 1.  Do not undef before defining.
8502         * config/darwin.h: Likewise.
8503         * config/dbx.h: Likewise.
8504         * config/dbxcoff.h: Likewise.
8505         * config/dbxelf.h: Likewise.
8506         * config/elfos.h: Likewise.
8507         * config/interix.h: Likewise.
8508         * config/lynx-ng.h: Likewise.
8509         * config/lynx.h: Likewise.
8510         * config/netware.h: Likewise.
8511         * config/psos.h: Likewise.
8512         * config/svr3.h: Likewise.
8513         * config/alpha/alpha.h: Likewise.
8514         * config/alpha/elf.h: Likewise.
8515         * config/alpha/vms.h: Likewise.
8516         * config/arc/arc.h: Likewise.
8517         * config/arm/aout.h: Likewise.
8518         * config/arm/coff.h: Likewise.
8519         * config/c4x/c4x.h: Likewise.
8520         * config/h8300/h8300.h: Likewise.
8521         * config/i386/cygwin.h: Likewise.
8522         * config/i386/djgpp.h: Likewise.
8523         * config/i386/gas.h: Likewise.
8524         * config/i386/gstabs.h: Likewise.
8525         * config/i386/i386-coff.h: Likewise.
8526         * config/i386/i386-interix.h: Likewise.
8527         * config/i386/sco5.h: Likewise.
8528         * config/i386/svr3dbx.h: Likewise.
8529         * config/i386/sysv3.h: Likewise.
8530         * config/i386/win32.h: Likewise.
8531         * config/i386/x86-64.h: Likewise.
8532         * config/i960/i960.h: Likewise.
8533         * config/ia64/ia64.h: Likewise.
8534         * config/ip2k/ip2k.h: Likewise.
8535         * config/m32r/m32r.h: Likewise.
8536         * config/m68k/3b1.h: Likewise.
8537         * config/m68k/3b1g.h: Likewise.
8538         * config/m68k/ccur-GAS.h: Likewise.
8539         * config/m68k/coff.h: Likewise.
8540         * config/m68k/hp2bsd.h: Likewise.
8541         * config/m68k/hp310g.h: Likewise.
8542         * config/m68k/hp320g.h: Likewise.
8543         * config/m68k/hp3bsd.h: Likewise.
8544         * config/m68k/hp3bsd44.h: Likewise.
8545         * config/m68k/linux-aout.h: Likewise.
8546         * config/m68k/m68k-aout.h: Likewise.
8547         * config/m68k/mot3300.h: Likewise.
8548         * config/m68k/netbsd.h: Likewise.
8549         * config/m68k/openbsd.h: Likewise.
8550         * config/m68k/pbb.h: Likewise.
8551         * config/m68k/plexus.h: Likewise.
8552         * config/m68k/sun2.h: Likewise.
8553         * config/m68k/sun3.h: Likewise.
8554         * config/m68k/tower-as.h: Likewise.
8555         * config/m68k/vxm68k.h: Likewise.
8556         * config/m88k/aout-dbx.h: Likewise.
8557         * config/m88k/m88k-aout.h: Likewise.
8558         * config/mcore/mcore-elf.h: Likewise.
8559         * config/mcore/mcore-pe.h: Likewise.
8560         * config/mips/elf.h: Likewise.
8561         * config/mips/elf64.h: Likewise.
8562         * config/mips/iris5gas.h: Likewise.
8563         * config/mips/iris6.h: Likewise.
8564         * config/mips/mips.h: Likewise.
8565         * config/mips/sni-gas.h: Likewise.
8566         * config/mmix/mmix.h: Likewise.
8567         * config/ns32k/netbsd.h: Likewise.
8568         * config/pa/pa64-hpux.h: Likewise.
8569         * config/romp/romp.h: Likewise.
8570         * config/rs6000/sysv4.h: Likewise.
8571         * config/rs6000/xcoff.h: Likewise.
8572         * config/sh/coff.h: Likewise.
8573         * config/sh/elf.h: Likewise.
8574         * config/sparc/linux64.h: Likewise.
8575         * config/sparc/liteelf.h: Likewise.
8576         * config/sparc/netbsd.h: Likewise.
8577         * config/sparc/openbsd.h: Likewise.
8578         * config/sparc/pbd.h: Likewise.
8579         * config/sparc/sp64-elf.h: Likewise.
8580         * config/sparc/sp86x-elf.h: Likewise.
8581         * config/sparc/sparc.h: Likewise.
8582         * config/vax/vax.h: Likewise.
8583         * config/vax/vaxv.h: Likewise.
8584
8585 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
8586
8587         * h8300.c (shift_alg_hi): Various tweaks to improve performance
8588         of HImode shifts.
8589         (get_shift_alg): Corresponding changes.
8590
8591 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8592
8593         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
8594
8595 2002-08-29  Richard Henderson  <rth@redhat.com>
8596
8597         * expr.h (enum block_op_methods): New.
8598         (emit_block_move): Update prototype.
8599         * expr.c (block_move_libcall_safe_for_call_parm): New.
8600         (emit_block_move_via_loop): New.
8601         (emit_block_move): Use them.  New argument METHOD.
8602         (emit_push_insn): Always respect the given alignment.
8603         (expand_assignment): Update call to emit_block_move.
8604         (store_expr, store_field, expand_expr): Likewise.
8605         * builtins.c (expand_builtin_apply): Likewise.
8606         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
8607         * function.c (expand_function_end): Likewise.
8608         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
8609         * config/sparc/sparc.c (sparc_va_arg): Likewise.
8610         * calls.c (expand_call, emit_library_call_value_1): Likewise.
8611         (save_fixed_argument_area): Use emit_block_move with
8612         BLOCK_OP_CALL_PARM instead of move_by_pieces.
8613         (restore_fixed_argument_area): Likewise.
8614         (store_one_arg): Fix alignment parameter to emit_push_insn.
8615
8616 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8617
8618         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
8619
8620 2002-08-29  Catherine Moore  <clm@redhat.com>
8621
8622         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
8623         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
8624         (PREDICATE_CODES): Include new predicates.
8625         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
8626         (TARGET_SWITCHES):  Add strict-align.
8627         (TARGET_STRICT_ALIGN): New.
8628         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
8629         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
8630         Define.
8631         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
8632         v850_muldi3.
8633         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
8634         L_callt_save_r2_r31, L_return_r2_r31,
8635         L_save_all_interrupt): Change addi to add.
8636         (L_save_interrupt, L_return_interrupt): Rework.
8637         (__return_r31):  Correct .size directive.
8638         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
8639         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
8640         New routines.
8641         * config/v850/v850.c (expand_prologue): Call
8642         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
8643         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
8644         (reg_or_int9_operand): New predicate.
8645         (reg_or_const_operand): New routine.
8646         * config/v850/v850.md (return_interrupt): Changed from
8647         restore_interrupt.
8648         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
8649         (callt_save_interrupt): Change save sequence.
8650         (callt_return_interrupt): New.
8651         (save_interrupt): Don't use runtime function for LONG_CALLS
8652         and TARGET_PROLOG_FUNCTION.
8653         (save_all_interrupt): Likewise.
8654         (mulsi3): Use new predicate.
8655         (moviscc): Disallow some combination of constants.
8656         Fix define_split for sasf insns, so that it will not generate bad
8657         code if operand0 and operand5 are the same.
8658         * config/v850/v850-protos.h: Prototype new predicates.
8659
8660 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
8661
8662         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
8663         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
8664
8665 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8666
8667         * c-common.c (builtin_define_type_precision): New function.
8668         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
8669         wchar_t is unsigned in C++.
8670         * doc/cpp.texi (Common Predefined Macros): Document
8671         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
8672         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
8673         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
8674
8675 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
8676
8677         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
8678         section.  Mention that it is enabled by -Wall.
8679         (-Wall): Mention that there can be language-specific warnings as well.
8680         (-Wctor-dtor-privacy): Mention that it is enabled by default.
8681         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
8682
8683 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
8684
8685         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
8686         if it is ever live.
8687
8688         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
8689         attribute for SHCOMPACT.
8690
8691         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
8692         appropriately.
8693         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
8694         by the ABI.
8695
8696         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
8697
8698 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
8699
8700         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
8701         "MASK_GAS|MASK_ABICALLS".
8702         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
8703         (TARGET_DEFAULT): Remove.
8704         (MACHINE_TYPE): Undefine before defining.
8705         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
8706
8707 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
8708
8709         * c-common.c (warn_abi): New variable.
8710         * c-common.h (warn_abi): Likewise.
8711         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
8712         (c_common_decode_option): Handle it.
8713         * doc/invoke.texi: Document -Wabi.
8714
8715 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8716
8717         * c-common.c (warn_undeclared_selector): New variable.
8718         * c-common.h (warn_undeclared_selector): Idem.
8719         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
8720         to on when -Wundeclared-selector is found.
8721         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
8722         * objc/objc-act.c (build_selector_expr): If
8723         warn_undeclared_selector is set, check that the selector has
8724         already been defined, and emit a warning if not.
8725
8726 2002-08-27  Nick Clifton  <nickc@redhat.com>
8727             Catherine Moore  <clm@redhat.com>
8728             Jim Wilson  <wilson@cygnus.com>
8729
8730         * config.gcc: Add v850e-*-* target.
8731         Add --with-cpu= support for v850.
8732         * config/v850/lib1funcs.asm: Add v850e callt functions.
8733         * config/v850/v850.h: Add support for v850e target.
8734         * config/v850/v850.c: Add functions to support v850e target.
8735         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
8736         * config/v850/v850.md: Add patterns for v850e instructions.
8737         * doc/invoke.texi: Document new v850e command line switches.
8738
8739 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
8740                           Aldy Hernandez <aldyh at redhat dot com>
8741
8742         * doc/tm.texi: Applied numerous fixes to the automaton based
8743         scheduler descrition.
8744
8745 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
8746
8747         * i386.c (classify_argument): Handle variable sized objects.
8748
8749 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
8750
8751         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
8752
8753 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
8754
8755         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
8756
8757 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
8758
8759         * i386.c (classify_argument): Properly compute word size of the analyzed object.
8760
8761 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
8762
8763         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
8764         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
8765         accordingly.
8766         (attribute insn_class): Provide default definitions based on type.
8767         Remove all insn-specific settings.
8768         (various function units): Remove old SH4 scheduling.
8769         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
8770         New attributes.  Set them where appropriate.
8771         (cpu unit FS): Don't define / use.
8772         (F3, load_store): New cpu units.
8773         (F01): New reservation.
8774         (all insn_reservations): Make dependent on sh4 pipeline model.
8775         Fix latencies.
8776         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
8777         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
8778         (mt insn_reservation): Use type mt_group.
8779         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
8780         sh4_fload and sh4_store.
8781         (insn_reservation branch_zero and branch): Replace with sh4_branch.
8782         (insn_reservation branch_far): Replace with sh4_return.
8783         (insn_reservation return_from_exp): Rename to:
8784         (sh4_return_from_exp).  Change to be just d_lock*5.
8785         (insn_reservation lds_to_pr): Rename to:
8786         (sh4_lds_to_pr).  Change to be just d_lock*2.
8787         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
8788         d_lock*2.
8789         (insn_reservation prload_mem): Rename to:
8790         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
8791         (insn_reservation fpscr_store): Rename to:
8792         (fpscr_load).  Change to d_lock,nothing,F1*3.
8793         (insn_reservation fpscr_store_mem): Rename to:
8794         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
8795         (insn_reservation multi): Change to
8796         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
8797         (insn_reservation fp_arith): Change to issue,F01,F2.
8798         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
8799         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
8800         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
8801         (insn_reservation fp_double_cmp): Change to
8802         d_lock,(d_lock+F01),F1+F2,F2.
8803         (insn_reservation dp_div): Change to
8804         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
8805         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
8806         (sh_adjust_cost, SHcompact): Differentiate between different
8807         kinds of dependencies.  Drop factor of ten for superscalar.
8808         Use new instruction types.  Add new exception rules.
8809
8810         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
8811
8812         * sh.md (mperm_w): Add DONE.
8813
8814 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
8815
8816         * longlong.h: Import current PowerPC defintion from GMP-4.1.
8817
8818         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
8819
8820         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
8821
8822 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
8823
8824         * sh.h (MAX_FIXED_MODE_SIZE): Define.
8825
8826 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
8827
8828         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
8829         delimiter.
8830
8831 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8832
8833         * c-common.c (cpp_define_data_format): New function.
8834         (cb_register_builtins): Call it.
8835
8836         * doc/cpp.texi (Common Predefined Macros): Document
8837         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
8838         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
8839         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
8840         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
8841         __TARGET_USES_VAX_H_FLOAT__.
8842
8843 2002-08-26  Ziemowit Laski <zlaski@apple.com>
8844
8845         * objc/objc-act.c (get_super_receiver): If inside a class method
8846         of a category, cast the receiver to 'id' before accessing the 'isa'
8847         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
8848
8849 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
8850
8851         * config/s390/s390-protos.h (s390_function_prologue,
8852         s390_function_epilogue): Remove.
8853         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
8854         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
8855
8856         config/s390/s390.c (s390_machine_dependent_recorg): New function.
8857         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
8858         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
8859         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
8860         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
8861
8862         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
8863         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
8864         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
8865         function is not a leaf function.  Use save_gprs and restore_gprs.
8866         (s390_emit_epilogue): Likewise.
8867         (save_gprs, restore_gprs): New functions.
8868         (struct s390_frame): Remove return_reg_saved_p member.
8869         (save_fprs_p): Remove.
8870         (s390_optimize_prolog): New function.
8871         (s390_legitimate_reload_constant): Remove now unnecessary check.
8872
8873         (s390_function_count): Remove.
8874         (s390_output_symbolic_const): Replace s390_function_count by
8875         current_function_funcdef_no.
8876         (s390_output_constant_pool): Likewise.
8877
8878         (legitimize_pic_address): Use regs_ever_live to track PIC register
8879         instead of current_function_uses_pic_offset_table.
8880         (s390_emit_prologue): Likewise.
8881         config/s390/s390.md ("call", "call_value"): Likewise.
8882
8883 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
8884
8885         * c-opts.c (find_opt): Don't complain about wrong languages
8886         here.  Return exact matches even for wrong language.
8887         (c_common_decode_option): Complain about wrong languages
8888         here.
8889
8890 2002-08-24  Stuart Hastings  <stuart@apple.com>
8891
8892         * function.h (struct function): Add flag
8893         all_throwers_are_sibcalls.
8894         * except.c (set_nothrow_function_flags): Replaces
8895         nothrow_function_p. Set new flag.
8896         * except.h (set_nothrow_function_flags): Replaces
8897         nothrow_function_p.
8898         * dwarf2out.c (struct dw_fde_struct): Add flag
8899         all_throwers_are_sibcalls.
8900         (output_call_frame_info): Test it.
8901         (dwarf2out_begin_prologue) Propagate it from cfun to
8902         dw_fde_struct.
8903         * toplev.c (rest_of_compilation): Update calls to
8904         nothrow_function_p.
8905
8906 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
8907
8908         * ggc-page.c (compute_inverse): Short circuit calculation for
8909         object sizes larger than half a page.
8910
8911 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
8912
8913         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
8914         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
8915         default.
8916         (rs6000_elf_unique_section): Likewise.
8917
8918 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8919
8920         * ns32k.c (ns32k_globalize_label): Delete.
8921         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
8922
8923 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
8924
8925         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
8926         for loading delta with num_insns_constant_wide.  Calculate
8927         delta_low, delta_high without using a conditional.
8928
8929 2002-08-22  Jason Merrill  <jason@redhat.com>
8930
8931         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
8932         * c-common.def: Adjust.
8933         * c-dump.c (c_dump_tree): Adjust.
8934         * c-semantics.c (genrtl_return_stmt): Adjust.
8935         * c-pretty-print.c (pp_c_statement): Adjust.
8936         * tree-inline.c (copy_body_r): Adjust.
8937
8938 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
8939
8940         * ggc-page.c: Avoid division in ggc_set_mark.
8941         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
8942         compute_inverse): New.
8943         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
8944         (init_ggc): Initialize inverse_table.
8945
8946 2002-08-22  Tom Tromey  <tromey@redhat.com>
8947
8948         * doc/install.texi (Configuration): Document --datadir.
8949
8950 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
8951
8952         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
8953
8954 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
8955
8956         * gengtype-lex.l (ID): Allow underscore as first character.
8957
8958 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
8959
8960         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
8961         function.
8962         (rs6000_xcoff_asm_named_section): Rename.
8963         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
8964
8965 2002-08-21  Tom Tromey  <tromey@redhat.com>
8966
8967         For PR java/6005 and PR java/7611:
8968         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
8969         (fold): Likewise.
8970         * langhooks.c (lhd_can_use_bit_fields_p): New function.
8971         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
8972         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
8973         (LANG_HOOKS_INITIALIZER): Use it.
8974         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
8975         field.
8976
8977 2002-08-21  Stan Shebs  <shebs@apple.com>
8978
8979         * tree.c (finish_vector_type): Fix a typo in a comment.
8980         * Makefile.in: Fix "the the" stutters in comments.
8981         * genautomata.c: Ditto.
8982         * ifcvt.c: Ditto.
8983         * regrename.c: Ditto.
8984         * config/alpha/alpha.c: Ditto.
8985         * config/alpha/vms-crt0-64.c: Ditto.
8986         * config/alpha/vms-crt0.c: Ditto.
8987         * config/alpha/vms-psxcrt0-64.c: Ditto.
8988         * config/alpha/vms-psxcrt0.c: Ditto.
8989         * config/d30v/d30v.h: Ditto.
8990         * config/fr30/fr30.h: Ditto.
8991         * config/rs6000/rs6000.c: Ditto.
8992         * config/stormy16/stormy16.h: Ditto.
8993         * doc/md.texi: Ditto.
8994
8995 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8996
8997         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
8998
8999 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
9000
9001         * c-decl.c (grokdeclarator): Make invalid combinations with long,
9002         short, signed or unsigned into hard errors.  Fixes PR c/4319.
9003         Also make duplicate modifiers such as "short short" into hard
9004         errors.
9005
9006 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
9007             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9008
9009         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
9010         to the actual end.  Add '@end table' and '@table @code'.
9011
9012 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
9013
9014         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
9015
9016         * unroll.c (biv_total_increment): Don't try to compute the total
9017         increment for FP BIVs.
9018
9019 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9020
9021         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
9022         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
9023         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9024         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
9025         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
9026         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
9027         (GLOBAL_ASM_OP): Define.
9028         * arm.c (aof_globalize_label): New function.
9029         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
9030         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9031         * c4x.c (c4x_globalize_label): New function.
9032         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
9033         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
9034         (GLOBAL_ASM_OP): Define.
9035         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
9036         * darwin-protos.h (darwin_globalize_label): Declare.
9037         * darwin.c (darwin_globalize_label): New function.
9038         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
9039         (ASM_GLOBALIZE_LABEL): Delete.
9040         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
9041         * dsp16xx.c (asm_output_common): Use target hook.
9042         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
9043         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
9044         (GLOBAL_ASM_OP): Define.
9045         * i370.c (i370_globalize_label): New function.
9046         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
9047         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
9048         * i386.c (ix86_asm_file_end): Use target hook.
9049         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
9050         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
9051         * ia64.c (ia64_asm_output_external): Likewise.
9052         * ia64/sysv4.h: Update comment.
9053         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9054         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
9055         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
9056         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
9057         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
9058         * mmix-protos.h (mmix_asm_globalize_label): Delete.
9059         * mmix.c (mmix_asm_globalize_label): Likewise.
9060         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
9061         (GLOBAL_ASM_OP): Define.
9062         * ns32k.c (ns32k_globalize_label): New function.
9063         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
9064         (ASM_GLOBALIZE_LABEL): Delete.
9065         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
9066         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
9067         * pa.c (pa_globalize_label): New function.
9068         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
9069         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
9070         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
9071         (GLOBAL_ASM_OP): Define.
9072         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
9073         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9074         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
9075         (GLOBAL_ASM_OP): Define.
9076         * v850.c (v850_output_aligned_bss): Use target hook.
9077         * vax.c (vms_globalize_label): New function.
9078         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
9079         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
9080         (GLOBAL_ASM_OP): Define.
9081         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
9082         * doc/tm.texi: Update docs.
9083         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
9084         target hook.
9085         * final.c (output_alternate_entry_point): Likewise.
9086         * hooks.c (hook_FILEptr_constcharptr_void): New function.
9087         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
9088         * output.h (assemble_global): Delete.
9089         (default_globalize_label): Declare.
9090         * system.h (ASM_GLOBALIZE_LABEL): Poison.
9091         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
9092         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
9093         * target.h (gcc_target): Add globalize_label member.
9094         * varasm.c (asm_output_bss, asm_output_aligned_bss,
9095         globalize_decl): Use target hook.
9096         (assemble_global): Delete.
9097         (default_globalize_label): New function.
9098
9099 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9100
9101         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
9102
9103 2002-08-20  Devang Patel  <dpatel@apple.com>
9104         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
9105
9106 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9107
9108         * arc.c (output_shift): Use stdio instead of asm_fprintf.
9109         * arm.c (thumb_output_function_prologue): Likewise.
9110         * avr.c (print_operand): Likewise.
9111         * c4x.c (c4x_print_operand): Likewise.
9112         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
9113         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
9114         * cris.c (cris_target_asm_function_prologue,
9115         cris_asm_output_mi_thunk): Likewise.
9116         * h8300.c (print_operand): Likewise.
9117         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9118         * ip2k.c (print_operand): Likewise.  Fix format specifier.
9119         * m68hc11.c (asm_print_register, print_operand,
9120         print_operand_address): Use stdio instead of asm_fprintf.
9121         (print_operand_address): Fix format specifier.
9122         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
9123         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
9124         asm_fprintf.
9125         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9126         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9127         * m68k.c (m68k_output_function_prologue,
9128         m68k_output_function_epilogue, print_operand): Likewise.
9129         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
9130         Likewise.  Fix format specifier.
9131         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9132         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9133         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9134
9135 2002-08-15  Eric Christopher  <echristo@redhat.com>
9136             Jeff Knaggs  <jknaggs@redhat.com>
9137
9138         * config.gcc (mipsisa64sr71k-elf): New target.
9139         * config/mips/sr71k.md: New file.
9140         * config/mips/mips.md: Use it.
9141         (rot*): Add sr71k specifics.
9142         * config/mips/t-sr71k: New file.
9143         * config/mips/mips.h (sr71k): New cpu.
9144         (TARGET_SR71K): Use it.
9145         (TUNE_SR71K): Ditto.
9146         (GENERATE_BRANCHLIKELY): Ditto.
9147         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
9148         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
9149         * config/mips/mips.c (sr71k): New cpu.
9150         (mips_use_dfa_pipeline_interface): Use.
9151
9152 2002-08-15  Eric Christopher  <echristo@redhat.com>
9153             Richard Sandiford <rsandifo@redhat.com>
9154             Aldy Hernandez  <aldyh@redhat.com>
9155             Graham Stott    <grahams@redhat.com>
9156             Michael Meissner  <meissner@redhat.com>
9157             Gavin Romig-Koch  <gavin@redhat.com>
9158             Ken Raeburn  <raeburn@cygnus.com>
9159             Alexandre Oliva <aoliva@redhat.com>
9160
9161         * config.gcc (mips64vr-elf): New target.
9162         * config/mips/5400.md: New file.
9163         * config/mips/5500.md: Ditto.
9164         * config/mips/mips.md: Use them.
9165         (frsqrt): New.
9166         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
9167         cpus.
9168         (mips_issue_rate): Use them.
9169         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
9170         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
9171         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
9172         cpus.
9173         (TARGET_MIPSx): Use them.
9174         (TUNE_MIPSx): Ditto.
9175         (GETNATE_MULT3_SI): Ditto.
9176         (ISA_HAS_BRANCHLIKELY): Ditto.
9177         (ISA_HAS_CONDMOVE): Ditto.
9178         (ISA_HAS_NMADD_NMSUB): Ditto.
9179         (ISA_HAS_MULHI): New. Ditto.
9180         (ISA_HAS_MULS): Ditto.
9181         (ISA_HAS_MSAC): Ditto.
9182         (ISA_HAS_MACC): Ditto.
9183         (ISA_HAS_ROTR_SI): Ditto.
9184         (ISA_HAS_ROTR_DI): Ditto.
9185         (RTX_COSTS): Use.
9186
9187 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9188
9189         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
9190         at head.
9191         (remove_dup_nonsys_dirs): New function.
9192         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
9193         (merge_include_chains): Remove non-system include directories from
9194         quote and bracket include chains when they duplicate equivalent system
9195         directories.
9196         * doc/cpp.texi (-I): Update.
9197         * doc/cppopts.texi (-I): Update.
9198         * doc/install.texi (--with-local-prefix): Further document usage of
9199         this option.
9200         * doc/invoke.texi (-I): Update.
9201
9202 2002-08-20  Richard Henderson  <rth@redhat.com>
9203
9204         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
9205         (emit_block_move): Split out subroutines.
9206         (emit_block_move_via_movstr): New.
9207         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
9208         (emit_block_move_libcall_fn): New.  Construct function prototype for
9209         bcopy as well.
9210         (clear_storage): Split out subroutines.
9211         (clear_storage_via_clrstr): New.
9212         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
9213         (clear_storage_libcall_fn): New.  Construct function prototype for
9214         bzero as well.
9215         (emit_push_insn): Use emit_block_move.
9216         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
9217         (store_constructor): Likewise.
9218
9219 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
9220
9221         * objc/objc-act.c (building_objc_message_expr): Rename to
9222         current_objc_message_selector.
9223
9224 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
9225
9226         * objc/objc-act.c (build_ivar_chain): Remove.
9227         (objc_copy_list): Likewise.
9228         (get_class_ivars): Inline call to removed build_ivar_chain
9229         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
9230         slot; use that slot (rather than CLASS_IVARS) when accessing
9231         ivars for base classes.  Call copy_list and chainon instead of
9232         objc_copy_list.
9233         (build_private_template): Call get_class_ivars instead of
9234         build_ivar_chain.
9235         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
9236         (continue_class): Call get_class_ivars instead of
9237         build_ivar_chain.
9238         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
9239         of DECL_BIT_FIELD (which may have been cleared).
9240         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
9241
9242 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9243
9244         * genautomata.c (output_translate_vect, output_state_ainsn_table,
9245         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
9246         in output file.
9247         (output_internal_min_issue_delay_func): Initialize variable in
9248         output file.
9249
9250 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
9251
9252         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
9253         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
9254
9255 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
9256             Steve Ellcey  <sje@cup.hp.com>
9257
9258         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
9259         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
9260         * explow.c (trunc_int_for_mode): Abort when the mode is not
9261         a scaler integer mode.
9262         * combine.c (expand_compound_operation): Don't expand Vector
9263         or Complex modes into shifts.
9264         (expand_field_assignment): Don't do bitwise arithmatic and
9265         shifts on Vector or Complex modes.
9266         (simplify_comparison): Don't call trunc_int_for_mode
9267         for VOIDmode.
9268         * recog.c (general_operand): Likewise.
9269         (immediate_operand): Likewise.
9270         (nonmemory_operand): Likewise.
9271
9272 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
9273
9274         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
9275         multi-instruction SImode constant.  Add REG_EQUAL note.
9276         * config/rs6000/rs6000.md (movsi splitter): Use
9277         rs6000_emit_set_const.
9278
9279 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9280
9281         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
9282         the macro test controlling its use.
9283
9284 2002-08-18  H.J. Lu  (hjl@gnu.org)
9285
9286         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
9287         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
9288         gnu_ld=yes.
9289         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
9290         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
9291         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
9292         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
9293         here.
9294         (cris-*-linux*): Remove setting thread_file here.
9295
9296 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
9297
9298         PR preprocessor/7602
9299         * cppinit.c (path_include): Treat the system environment
9300         variables as being cxx_aware.
9301
9302 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
9303
9304         * c-decl.c (flexible_array_type_p): New function.
9305         (grokdeclarator, finish_struct): Use it.
9306         * doc/extend.texi: Document constraints on use of structures with
9307         flexible array members.
9308
9309 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
9310
9311         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
9312         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
9313         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
9314
9315 2002-08-16  Stan Shebs  <shebs@apple.com>
9316
9317         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
9318         for ObjC with -fnext-runtime.
9319         * doc/cpp.texi: Document it.
9320
9321 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
9322
9323         * doc/install.texi (Final installation): Replace links to individual
9324         build status pages with a link to a common page that lists them all.
9325
9326 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
9327
9328         * doc/invoke.texi: Fix typo.
9329
9330 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
9331
9332         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
9333
9334 2002-08-16  Andrew Haley  <aph@redhat.com>
9335
9336         * tree-inline.c: Add includes for Java inliner.
9337         (remap_decl): Don't handle anonymous types for Java.
9338         (remap_block): Add handling for Java trees.
9339         (copy_scope_stmt): Conditionalize for non-Java use only.
9340         (copy_body_r): Handle Java trees.  Add handling for
9341         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
9342         (initialize_inlined_parameters):  Handle Java trees.
9343         (declare_return_variable): Likewise.
9344         (expand_call_inline): Handle Java trees.
9345         (walk_tree): Likewise.
9346         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
9347         (add_stmt_to_compound): New function.
9348
9349 2002-08-15  Richard Henderson  <rth@redhat.com>
9350
9351         * Makefile.in (LOOSE_WARN): Remove -fno-common.
9352         (NOCOMMON_FLAG): New substitution point.
9353         (GCC_WARN_CFLAGS): Include it.
9354         * configure.in (ac_checking): Set nocommon_flag.
9355         (nocommon_flag): New substitution point.
9356
9357 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
9358
9359         * c-tree.h (skip_evaluation): Move declaration...
9360         * c-common.h: ... here.
9361         * c-typeck.c (build_external_ref): Don't assemble_external nor
9362         mark a tree as used if skip_evaluation is set.
9363         * c-parse.in (typeof): New non-terminal to set skip_evaluation
9364         around TYPEOF.
9365         (typespec_nonreserved_nonattr): Use it.
9366
9367 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
9368
9369         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
9370         (xcoff_debug_hooks): Update end_prologue.
9371         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
9372         * debug.h (end_prologue): Add file arg.
9373         (end_epilogue): Add line and file args.
9374         (dwarf2out_end_epilogue): Add line and file args.
9375         (vmsdbgout_after_prologue): Remove.
9376         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
9377         (dwarf2_debug_hooks): Update end_prologue.
9378         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
9379         (dwarfout_end_prologue): Add file arg.
9380         * final.c (vmsdbgout_after_prologue): Remove
9381         (final_end_function): Update end_epilogue call.
9382         (final_scan_insn): Update end_prologue call.
9383         * sdbout.c (sdbout_end_epilogue): Add line and file args.
9384         (sdbout_end_prologue): Add file arg.
9385         (sdb_debug_hooks): Update end_prologue.
9386         (sdb_begin_prologue): Update sdbout_end_prologue call.
9387         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
9388         vmsdbgout_end_function.
9389         (vmsdbgout_end_prologue): New function renamed from
9390         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
9391         (vmsdbgout_end_function): New function.
9392         (vmsdbgout_end_epilogue): Add line and file args. Call
9393         vmsdbgout_source_line.
9394         (write_pclines): Write only valid line numbers.
9395         (write_srccorr): Don't write source correlation records if 0 lines.
9396         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
9397
9398 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
9399
9400         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
9401         (_Unwind_Internal_Ptr): 32 bit version for use in
9402         read_encoded_value_with_base.
9403         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
9404         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
9405         right size.
9406
9407 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9408
9409         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
9410         signed/unsigned warnings.
9411
9412         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
9413         record_reg_classes): Likewise.
9414
9415         * reload.c (reload_inner_reg_of_subreg, push_reload,
9416         find_reloads_address_1): Likewise.
9417
9418 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
9419
9420         * rs6000.c (output_mi_thunk): Return to function section on
9421         TARGET_ELF.
9422
9423         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
9424
9425 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
9426
9427         * config/s390/s390.c (legitimize_address): Optimize loading
9428         of large displacements.
9429
9430 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
9431
9432         * config/alpha/alpha-protos.h: Update.
9433
9434         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
9435         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
9436         (alpha_linkage_symbol_p): New static function.
9437         (print_operand_address): Print linkage operand.
9438
9439         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
9440         variables.
9441         (reloc_kind): New enum.
9442         (struct alpha_funcs): New struct.
9443         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
9444
9445         (alpha_need_linkage): Rewrite.
9446         (alpha_use_linkage): New global function.
9447         (alpha_write_linkage): Rewrite and make static.
9448         (alpha_write_one_linkage): Rewrite
9449
9450         (alpha_start_function): Remove procedure descriptor output.
9451         (alpha_end_function): Write linkages at end of each function.
9452
9453         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
9454         (call_vms_1, call_value_vms_1): Rewrite.
9455
9456         * config/alpha/vms.h (ASM_FILE_END): Remove.
9457
9458 2002-08-14  Richard Henderson  <rth@redhat.com>
9459
9460         * ggc-page.c (RTL_SIZE): New.
9461         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
9462         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
9463
9464 2002-08-14  Richard Henderson  <rth@redhat.com>
9465
9466         * calls.c: Include target.h.
9467         * Makefile.in (calls.o): Update.
9468
9469         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
9470         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
9471
9472 2002-08-14  Richard Henderson  <rth@redhat.com>
9473
9474         * Makefile.in (LOOSE_WARN): Add -fno-common.
9475         * c-common.h (constant_string_class_name): Add missing extern.
9476
9477 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
9478
9479         PR preprocessor/7358
9480         * c-opts.c (check_deps_environment_vars): Ignore main file
9481         for SUNPRO_DEPENDENCIES.
9482         * cppfiles.c (stack_include_file): Ignore main file if
9483         appropriate.
9484         * cpplib.h (struct cpp_options): New member in deps.
9485         * doc/cppenv.texi: Update.
9486
9487 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9488
9489         PR preprocessor/7526
9490         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
9491
9492 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
9493
9494         * doc/invoke.texi (-a): Remove documentation.
9495         (-fprofile-arcs): Remove reference to -a, -ax options.
9496         * doc/gcov.texi (Gcov Data Files): Data might be merged.
9497
9498 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9499
9500         Fix PR/7566
9501         * c-semantics.c (genrtl_case_label): Don't (mis)use
9502         warning_with_decl.
9503
9504 2002-08-14  Dale Johannesen  <dalej@apple.com>
9505
9506         * explow.c (emit_stack_restore):  Emit memory clobbers
9507         preceding the stack pop, to prevent the scheduler from
9508         moving refs to variable arrays below this pop.
9509         * reload1.c (reload):  Preserve these clobbers for sched2.
9510         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
9511
9512 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9513
9514         * c-opts.c (c_common_post_options): Correct test.
9515
9516 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9517
9518         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
9519         order in call to fprintf.
9520
9521 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9522
9523         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
9524
9525 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
9526
9527         * reload.c (find_reloads): Handle constraint letters marked by
9528         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
9529         (alternative_allows_memconst): Likewise.
9530         * reload1.c (maybe_fix_stack_asms): Likewise.
9531         * recog.c (asm_operand_ok, preprocess_constraints,
9532         constrain_operands): Likewise.
9533         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
9534         * local-alloc.c (block_alloc, requires_inout): Likewise.
9535         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
9536
9537         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
9538         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
9539         * doc/tm.texi: Document these two new target macros.
9540
9541         * config/s390/s390.c (s390_expand_plus_operand): Accept already
9542         valid operands.
9543         (q_constraint): New function.
9544         config/s390/s390-protos.h (q_constraint): Declare it.
9545         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
9546         (EXTRA_MEMORY_CONSTRAINT): New macro.
9547
9548         * config/s390/s390.md: Throughout the machine description,
9549         replace all instances of the constraint combinations 'Qo'
9550         or 'oQ' with simply 'Q'.
9551
9552 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9553
9554         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
9555         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
9556         (LIBGCC2_CFLAGS): Compile with -mrelax.
9557
9558 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9559
9560         * doc/invoke.texi: Document -minmax for 68HC12.
9561
9562         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
9563         ("uminqi3"): Likewise.
9564         ("uminhi3", "umaxhi3"): Likewise.
9565
9566         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
9567         (TARGET_MIN_MAX): Define.
9568         (TARGET_SWITCHES): New option -minmax/-mnominmax.
9569
9570 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9571
9572         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
9573         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
9574
9575         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
9576         (ret, declare, farsym): New gas macros.
9577         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
9578         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
9579         and declare the symbol far when compiled with -mlong-calls.
9580         (__far_trampoline): New for 68HC12 trampoline code to invoke a
9581         far handler using jsr/bsr.
9582
9583         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
9584         (jsr): New macro to transform a 'jsr' into a 'call'.
9585
9586 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9587
9588         * doc/invoke.texi: Document -mlong-calls for 68HC12.
9589
9590         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
9591         -mlong-calls is specified.
9592         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
9593         assembler directives.
9594         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
9595         (TARGET_SWITCHES): Add -mlong-calls options.
9596         (current_function_far): Declare.
9597
9598         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
9599         into account the page register saved on the stack.
9600         (m68hc11_override_options): Take into account -mlong-calls option.
9601         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
9602
9603         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
9604         if the function is going to be in 68HC12 banked memory (-mlong-calls).
9605         ("*return_16bit"): Likewise.
9606         ("*return_void"): Likewise.
9607         ("call", "call_value"): Use call for a far function call.
9608
9609 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9610
9611         * toplev.c (parse_options_and_default_flags): Don't call
9612         post_options here.
9613         (general_init): Initialize GC, pools and tree hash here,
9614         instead of lang_independent_init.
9615         (lang_independent_init): Rename backend_init.
9616         (do_compile): Call post_options hook; exit early if there
9617         have been errors after switch processing.
9618         (toplev_main): Update.
9619
9620 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9621
9622         * c-pretty-print.h: Guard against multiple inclusion.
9623         Robustify macros.
9624         (pp_c_attributes): Declare.
9625         * c-pretty-print.c (pp_c_attributes): New function.
9626
9627 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9628
9629         * m68k.c (m68k_output_function_prologue,
9630         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
9631         and NEWS/MOTOROLA.
9632         * genattrtab.c: Remove dpx2 comment.
9633         * libgcc2.c (__enable_execute_stack): Delete versions for
9634         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
9635         sony_news/SYSTYPE_BSD.
9636         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
9637         __gmicro__, __i860__, __NeXT__ and __pyr__.
9638         * rtl.h: Remove convex comment.
9639         * varasm.c: Likewise.
9640
9641 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9642
9643         * c-opts.c (lang_flags): Const-ify.
9644         * ra-build.c (undef_table): Likewise.
9645         * ra.c (eliminables): Likewise.
9646
9647 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9648
9649         * tree.h: Guard against multiple inclusion.
9650
9651 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
9652
9653         * reload1.c (reload_cse_simplify): Before checking
9654         REG_FUNCTION_VALUE_P, check REG_P.
9655
9656 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
9657
9658         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
9659
9660 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
9661
9662         * c-opts.c (c_common_init_options): Extra braces needed.
9663
9664 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
9665
9666         * sh.c (sh_init_builtins): Add PARAMS to declaration.
9667         (sh_media_init_builtins, sh_expand_builtin): Likewise.
9668         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
9669         (sh_expand_binop_v2sf): Likewise.
9670         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
9671         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
9672         (sh_initialize_trampoline): Likewise.
9673
9674 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
9675
9676         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
9677         new condition code modes.
9678         s390.c (s390_match_ccmode_set): Handle those new CC modes.
9679         (s390_select_ccmode): Likewise.
9680         (s390_branch_condition_mask): Likewise.
9681
9682         * s390-protos.h (s390_tm_ccmode): Declare.
9683         s390.c (s390_tm_ccmode): New function.
9684         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
9685
9686         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
9687         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
9688         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
9689
9690         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
9691         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
9692         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
9693         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
9694         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
9695
9696         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
9697         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
9698         "*cmpqi_ccs_0"): Remove, replace by ...
9699         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
9700         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
9701         "*tstqi", "*tstqi_cconly"): ... these new patterns.
9702
9703         ("*cmpsidi_ccs"): Remove, replace by ...
9704         ("*cmpsi_ccs_sign"): ... this new pattern.
9705         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
9706
9707         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
9708         ("*cli"): ... this new pattern.
9709
9710         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
9711         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
9712         New patterns.
9713         ("adddi3_64"): Rename to "*adddi3_64".
9714         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
9715         ("adddi3"): Adapt expander.
9716
9717         ("*addsi3_cc"): Allow "general_operand" for operand 2.
9718         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
9719         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
9720
9721         ("addhi3", "addqi3"): Remove, replace by ...
9722         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
9723
9724         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
9725         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
9726         ("subdi3"): Replace by insn and splitter "*subdi3_31".
9727         ("subdi3"): New expander.
9728
9729         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
9730
9731         ("subhi3", "subqi3"): Remove, replace by ...
9732         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
9733
9734         ("*muldi3_sign"): New pattern.
9735         ("muldi3"): Do not clobber CC.
9736         ("mulsi3"): Likewise.
9737         ("mulsi_6432"): Likewise.
9738
9739 2002-08-13  Denis Chertykov  <denisc@overta.ru>
9740
9741         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
9742         which can change CC0.
9743
9744 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
9745
9746         * gcse.c (adjust_libcall_notes): New function.
9747         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
9748
9749 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
9750
9751         * libgcc2.c (L_bb): Remove unneeded #includes.
9752         (__global_counters, __gthreads_active): Remove unused globals.
9753         (__bb_exit_func): Merge counts into files rather than appending.
9754         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
9755         (ALL_CFLAGS): ... to here.
9756
9757 2002-08-13  Denis Chertykov  <denisc@overta.ru>
9758
9759         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
9760         (function_epilogue): Don't calculate function size.
9761         (ip2k_set_compare): Don't use lookup_const_double.
9762         (asm_file_start): Initialization of commands_in_file removed.
9763         (asm_file_end): Output of commands_in_file removed.
9764
9765         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
9766         __INT_MAX__.
9767
9768 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
9769
9770         * c-opts.c (c_common_init_options): Check option array is
9771         sorted if checking enabled.
9772
9773 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
9774
9775         * c-pretty-print.c: #include "c-tree.h".
9776         (pp_c_simple_type_specifier): Tweak.
9777         (pp_c_storage_class_specifier): New.
9778         (pp_c_function_specifier): Likewise.
9779         (pp_c_declaration_specifiers): Likewise.
9780         (pp_c_init_declarator): Likewise.
9781         (pp_c_declaration): Likewise.
9782         (pp_c_direct_declarator): Stub.
9783         (pp_c_declarator): Likewise.
9784         (pp_c_parameter_declaration): Likewise.
9785
9786 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
9787
9788         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
9789         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
9790         struct deferred_opt): New.
9791         (COMMAND_LINE_OPTIONS): Add -M*.
9792         (missing_arg): Update.
9793         (c_common_decode_option): Handle -M*.
9794         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
9795         don't call cpp_post_options.
9796         (c_common_finish, check_deps_environment_vars): Update.
9797         * cppfiles.c (stack_include_file, handle_missing_header): Update.
9798         * cpphash.h (CPP_PRINT_DEPS): Remove.
9799         * cppinit.c: Don't include version.h.
9800         (cpp_create_reader): Don't call deps_init.  Initialize
9801         warn_long_long.
9802         (cpp_read_main_file): Init deps if necessary.
9803         (cpp_destroy): Conditionally free deps.
9804         (cpp_finish): Update.
9805         (no_tgt): Remove.
9806         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
9807         (cpp_post_options): Rename post_options.
9808         * cpplib.h (struct cpp_options): Remove some dependency options;
9809         move others to a new structure.
9810         (cpp_post_options): Remove.
9811         (cpp_finish): Comment.
9812         * fix-header.c (read_scan_file): Don't call cpp_post_options.
9813
9814 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
9815
9816         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
9817         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
9818         MMIX_rR_REGNUM as clobbered.
9819         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
9820
9821 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
9822
9823         * diagnostic.h (output_formatted_scalar): Rename from
9824         output_formatted_integer.
9825         * diagnostic.def: Add DK_DEBUG.
9826         * diagnostic.c (output_decimal): Adjust.
9827         (output_long_decimal): Likewise.
9828         (output_unsigned_decimal): Likewise.
9829         (output_octal): Likewise.
9830         (output_long_octal): Likewise.
9831         (output_hexadecimal): Likewise.
9832         (output_long_hexadecimal): Likewise.
9833         * c-pretty-print.c (pp_c_type_specifier): New function.
9834         (pp_c_specifier_qualifier_list): Likewise.
9835         (pp_c_abstract_declarator): Likewise.
9836         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
9837
9838 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
9839
9840         * doc/trouble.texi (Disappointments): Add static constructor and
9841         destructor dependency information for AIX.
9842
9843 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
9844
9845         * cpphash.h (struct printer): New from cppmain.c.
9846         (cpp_reader): New member.
9847         * cppmain.c (struct printer): Move to cpphash.h.
9848         (options, print): Remove.
9849         (account_for_newlines, print_line, maybe_print_line,
9850         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
9851         scan_translation_unit_trad, cb_line_change, cb_ident,
9852         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
9853         cb_def_pragma): Make reentrant.
9854
9855 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9856
9857         * real.c (ieee_64): Always define.
9858         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
9859         (dec_h): Not used yet, hide it.
9860         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
9861         macro controlling use.
9862         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
9863
9864 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
9865
9866         * i386.md (tablejump): Sign extend the operand.
9867         * i386.c (classify_argument): Fix missed case from previous patch.
9868
9869 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
9870
9871         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
9872         to c-copts.c.
9873         (warn_multichar): Die.
9874         (cb_register_builtins): Export.
9875         * c-common.h (warn_multichar, preprocess_file): Remove.
9876         (cb_register_builtins): New.
9877         * c-lang.c (c_init): Remove.
9878         (LANG_HOOKS_INIT): Use c_objc_common_init.
9879         * c-lex.c (init_c_lex): Don't canonicalize filename.
9880         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
9881         (preprocess_file): Make static.  Update for cpplib.
9882         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
9883         (c_common_post_options): Set some cpp options here.
9884         (c_common_init): Move from c-common.c.
9885         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
9886         * cpplib.h (struct cpp_options): Remove in_fname.
9887         (cpp_preprocess_file): Update.
9888         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
9889
9890 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9891
9892         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
9893
9894 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9895
9896         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
9897         backslash in comment preceeding macro definition.
9898         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
9899         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
9900         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
9901
9902 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
9903
9904         * expr.c (store_expr): In condition for checking if value is
9905         generated in TARGET, move call to expr_size last.
9906
9907 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
9908
9909         * c-common.c (c_common_init): Call preprocess_file instead.
9910         (c_common_finish): Move to c-opts.c.
9911         * c-common.h (preprocess_file): new.
9912         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
9913         check_deps_environment_vars, c_common_finish): New.
9914         (c_common_decode_option): Update for out_fname and dependencies.
9915         * cppinit.c (init_dependency_output, output_deps): Remove.
9916         (cpp_destroy): Update prototype.
9917         (cpp_add_dependency_target): New.
9918         (cpp_read_main_file): Don't overlay a buffer.
9919         (cpp_finish): Take a deps output stream and write deps to it.
9920         Return the error count.
9921         (cpp_post_options): Don't canonicalize out_fname, or do anything
9922         with dependencies.
9923         * cpplib.h (struct cpp_options): Remove out_fname and
9924         preprocess_only.
9925         (cpp_add_dependency_target): New.
9926         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
9927         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
9928         set preprocess_only.  Don't handle the output stream directly.
9929
9930 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9931
9932         * dsp16xx.c (print_operand): Fix format specifier.
9933         * dsp16xx.md: Avoid automatic aggregate initialization.
9934         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
9935         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
9936         integer constant modifier.
9937         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
9938         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
9939         guards.
9940         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
9941         * v850.c (v850_select_section): Mark parameter with
9942         ATTRIBUTE_UNUSED.
9943         * global.c (global_alloc): Const-ify.
9944         * ra-colorize.c (hardregset_to_string): Fix format specifier.
9945
9946 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9947
9948         * darwin-c.c (darwin_pragma_options): Const-ify.
9949         * darwin.c (machopic_non_lazy_ptr_name,
9950         machopic_validate_stub_or_non_lazy_ptr): Likewise.
9951         (machopic_indirect_data_reference): Wrap variables in macros
9952         controlling their use.
9953         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
9954         (machopic_select_section): Use parentheses around && within ||.
9955         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
9956
9957 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9958
9959         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
9960         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
9961         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
9962         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
9963         mdr_try_remove_redundant_insns, track_w_reload,
9964         mdr_try_wreg_elim): Make function static to match prototype.
9965         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
9966         parameter with ATTRIBUTE_UNUSED.
9967
9968 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9969
9970         * arc.c (arc_init): Don't use ISO C style function definitions.
9971         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
9972         arm_get_strip_length, arm_strip_name_encoding): Likewise.
9973         * avr.h (progmem_section): Likewise.
9974         * h8300.c h8300_asm_insn_count): Likewise.
9975         * m32r.c (init_idents): Likewise.
9976         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
9977         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
9978         * xtensa.c (xtensa_build_va_list): Likewise.
9979
9980 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
9981
9982         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
9983         * c-opts.c (parse_option): Rename find_opt.
9984         (set_std_c99): New function.
9985         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
9986         (missing_arg): Remove OPT_std_bad.  Handle -o.
9987         (c_common_decode_option): Handle input and output file names,
9988         -o and -remap.  Clean up -std= handling.
9989         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
9990         (cpp_handle_option): Similarly.  Don't handle filenames.
9991
9992 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
9993
9994         * i386.c (classify_argument): Fix computing of field's offsets.
9995
9996 2002-08-11  Andreas Jaeger  <aj@suse.de>
9997
9998         PR target/7531:
9999         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
10000
10001 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
10002
10003         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
10004         reference to clk_objective_c with flag_objc.
10005         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
10006         Likewise.
10007         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
10008
10009 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
10010
10011         * c-opts.c (set_std_cxx98, set_std_c89): New.
10012         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
10013         (c_common_decode_option): Handle new switches from cppinit.c.
10014         Add -std=gnu++98.
10015         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
10016         (no_arg, no_num): Remove.
10017         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
10018         switches apart from -lang-objc and lang-asm.
10019         (cpp_handle_option): Similarly.
10020         * cpplib.h (cpp_set_lang): New.
10021         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
10022         -std=gnu++98.
10023         * objc/lang-specs.h: Remove -ansi.
10024
10025 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
10026                                Graham Stott
10027
10028         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
10029         errors.
10030
10031 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10032
10033         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
10034         emit_jump_insn): Fix uninitialized variable.
10035         * gcov.c (init_line_info): Likewise.
10036         * genautomata.c (transform_3): Add braces around ambiguous
10037         else.
10038         * ifcvt.c (cond_exec_process_insns): Mark parameter with
10039         ATTRIBUTE_UNUSED.
10040         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
10041         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
10042         variable.
10043
10044         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
10045         warnings in output files.
10046
10047 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
10048
10049         * c-common.c (flag_objc): New.
10050         * c-common.h (c_language_kind): Get rid of clk_objective_c
10051         enum value.
10052         (flag_objc): New extern declaration.
10053         * c-decl.c (implicitly_declare): Call objc_check_decl
10054         instead of maybe_objc_check_decl.
10055         (finish_decl): Likewise.
10056         (grokfield): Likewise.
10057         (finish_struct): Likewise.
10058         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
10059         (maybe_objc_comptypes): Rename to objc_comptypes.
10060         (maybe_building_objc_message_expr): Rename to
10061         objc_message_selector.
10062         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
10063         replace with flag_objc as needed.
10064         * c-opts.c (c_common_init_options): Likewise.
10065         (c_common_decode_option): Likewise.
10066         * c-parse.in (init_reswords): Likewise.
10067         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
10068         (maybe_objc_comptypes): Rename to objc_comptypes.
10069         (maybe_building_objc_message_expr): Rename to
10070         objc_message_selector.
10071         * c-typeck.c (comptypes): Call objc_comptypes instead of
10072         maybe_objc_comptypes, and/or objc_message_selector instead of
10073         maybe_building_objc_message_expr.
10074         (comp_target_types): Likewise.
10075         (convert_for_assignment): Likewise.
10076         (warn_for_assignment): Likewise.
10077         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
10078         independently of those for other languages.
10079         * objc/objc-act.c (maybe_objc_comptypes): Delete.
10080         (maybe_objc_check_decl): Delete.
10081         (maybe_building_objc_message_expr): Rename to
10082         objc_message_selector.
10083         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
10084         clk_objective_c; set flag_objc flag.
10085
10086 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10087
10088         * ifcvt.c (find_if_case_2): Test correct basic block for size.
10089
10090 2002-08-09  Dale Johannesen  <dalej@apple.com>
10091
10092         * config/rs6000/rs6000.md: Add sibcall patterns.
10093         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
10094         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
10095         Rewritten to handle sibcalls.
10096         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
10097         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
10098
10099 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10100
10101         * profile.c (da_file_name): New static var.
10102         (init_branch_prob): Initialize it.
10103         (end_branch_prob): Remove da file.
10104
10105         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
10106         * configure.in (coverage_flags): Default to nothing.
10107         * configure: Rebuilt.
10108
10109 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
10110
10111         * Makefile.in (c-opts.o): Update
10112         * c-opts.c: Include intl.h.
10113         (print_help): Move from cppinit.c.  Remove unused options.
10114         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
10115         (missing_arg): Complain for switches without an argument.
10116         (c_common_decode_option): Reject missing joined arguments.
10117         Handle new switches from cppinit.c.
10118         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
10119         (cpp_handle_option): Similarly.
10120         (print_help): Moved to c-opts.c.
10121         * cpplib.h (struct cpp_options): Remove help_only.
10122         * gcc.c (cpp_unique_options): Remove -$.
10123         * doc/cppopts.texi: Undocument -h.
10124
10125 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10126
10127         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
10128         legitimate constant.
10129         (legitimate_pic_operand_p): Neither pic operand.
10130         (legitimate_address_p): But legitimate address.
10131         (get_thread_pointer): Generate MEM/u instead of CONST around
10132         UNSPEC_TP.
10133         (print_operand): Remove printing of UNSPEC_TP.
10134         (print_operand_address): And print it here.
10135
10136 2002-08-08  Devang Patel  <dpatel@apple.com>
10137
10138         * objc/objc-act.c (build_selector_translation_table): Issue warning,
10139         when  -Wselector is used,if method for which selector is being
10140         created does not exist.
10141
10142 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
10143
10144         * config/sh/sh.c (prepare_move_operands): Only call
10145         target_reg_operand if TARGET_SHMEDIA.
10146
10147 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10148
10149         * config/rs6000/rs6000.h, config/rs6000/aix.h,
10150         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
10151         two patches.
10152         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
10153
10154 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
10155             Richard Henderson  <rth@redhat.com>
10156
10157         * emit-rtl.c (gen_rtx_REG): After reload, only return
10158         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
10159
10160 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10161
10162         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
10163         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
10164         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
10165         macro.
10166
10167 2002-08-08  Adam Nemet  <anemet@lnxw.com>
10168
10169         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
10170         register.
10171         (thumb_expand_prologue): Likewise.
10172         (thumb_output_function_prologue): Likewise.
10173         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
10174         the additional push of the PIC register.
10175
10176 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10177
10178         * configure.in (enable_coverage): New enable switch.
10179         * configure: Rebuilt.
10180         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
10181         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
10182         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
10183         (mostlyclean): Remove coverage files.
10184         * doc/install.texi: Document enable_coverage.
10185
10186         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
10187         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
10188         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
10189         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
10190         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
10191         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
10192         files.
10193
10194 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
10195
10196         * c-opts.c (cpp_opts): New.
10197         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
10198         (c_common_decode_options): Handle cpplib switches.
10199         (c_common_init_options): Set cpp_opts.
10200         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
10201         (cpp_handle_option): Similarly.
10202
10203 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
10204
10205         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
10206         (TARGET_ALTIVEC_ABI): Same.
10207         (TARGET_ALTIVEC_VRSAVE): Same.
10208
10209         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
10210         icode not CODE_FOR_nothing.  Change switch to if.
10211
10212 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
10213
10214         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
10215
10216 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10217
10218         * stor-layout.c (place_union_field): For bitfields if
10219         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
10220         TYPE_USER_ALIGN.
10221
10222 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10223
10224         * pa.c (struct deferred_plabel): Constify name field.
10225
10226 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
10227
10228         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
10229
10230 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10231
10232         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
10233         local_prefix are the same.
10234         * configure: Rebuilt.
10235
10236 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
10237             Richard Henderson  <rth@redhat.com>
10238
10239         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
10240         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
10241         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
10242         (place_field): Likewise.
10243         * config/i386/i386.c (x86_field_alignment): Don't check
10244         DECL_USER_ALIGN here.
10245         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
10246         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
10247         prototype.
10248         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
10249         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
10250         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
10251         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
10252         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
10253         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
10254
10255 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
10256
10257         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
10258         * c-common.c: Don't include tree-inline.h.
10259         (c_common_init_options, c_common_post_options): Move to c-opts.c.
10260         * c-common.h (c_common_decode_option): New.
10261         * c-decl.c (c_decode_option): Remove.
10262         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
10263         * c-opts.c: New file.
10264         * c-tree.h (c_decode_option): Remove.
10265         * doc/passes.texi: Update.
10266         * objc/objc-act.c (objc_decode_option): Remove.
10267         * objc/objc-act.h (objc_decode_option): Remove.
10268         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
10269         c_common_decode_option.
10270
10271 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
10272
10273         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
10274         dependency on TARGET_DOUBLE_FLOAT.
10275
10276 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
10277
10278         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
10279         overwrite callee-save registers.  Fix comment.
10280
10281 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
10282
10283         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
10284         in target_flags based on ISA, if it was not set on the command
10285         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
10286         support Branch Likely instructions.
10287         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
10288         (TARGET_BRANCHLIKELY): Likewise.
10289         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
10290         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
10291         ISA_HAS_BRANCHLIKELY.
10292         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
10293         * doc/invoke.texi: Document new MIPS -mbranch-likely and
10294         -mno-branch-likely options.
10295
10296 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10297
10298         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
10299
10300         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
10301         $(GCONFIG_H).
10302
10303 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
10304
10305         * c-decl.c (duplicate_decls): Error out for incompatible TLS
10306         declarations.
10307
10308         * testsuite/gcc.dg/tls/diag-3.c: New.
10309
10310 2002-08-06  Dale Johannesen  <dalej@apple.com>
10311
10312         * c-common.c (fname_decl): Use line number 0 for
10313         __func__, to avoid confusing debuggers.
10314
10315 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
10316
10317         * gcov.c: Tidy.
10318         (struct line_info, struct coverage): New structures.
10319         (gcov_file_name, gcov_file): Remove globals.
10320         (output_data): Take source file parameter. Fix memory leak. Break
10321         up into ...
10322         (init_line_info, output_line_info, make_gcov_file_name,
10323         accumulate_branch_counts): ... here.
10324         (calculate_branch_probs, function_summary): Adjust.
10325         (main): Adjust.
10326         (function_*): Remove global variables.
10327
10328 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10329
10330         * dwarf2out.c: Remove unused macros.
10331
10332 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10333
10334         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
10335
10336 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10337
10338         * cppinit.c (struct lang_flags): Rename trigraphs std.
10339         (set_lang): Update.
10340         * cpplib.h (struct cpp_options): New member std.
10341         * cppmacro.c (_cpp_builtin_macro_text): Use std.
10342         (collect_args): Flag whether to swallow a possible future
10343         comma pasted with varargs.
10344         (replace_args): Use this flag.
10345         * doc/cpp.texi: Update varargs extension documentation.
10346
10347 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10348
10349         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
10350
10351 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10352
10353         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
10354         and MODE_CLASS_INT modes.
10355
10356 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10357
10358         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
10359         --{enable,disable}-threads is given to configure.
10360         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
10361         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
10362         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
10363         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
10364         Remove thread_file setting here.
10365
10366 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
10367
10368         * doc/install.texi (Binaries): Update Bull Freeware URL.
10369
10370 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10371
10372         * doc/gcc.texi (Top): Rename Index to Keyword Index.
10373
10374 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
10375
10376         * gcov.c (output_data): Round to % to nearest, tweak formatting.
10377
10378 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
10379
10380         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
10381         of the operands into MINUS_EXPR if code is PLUS_EXPR.
10382
10383 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
10384
10385         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
10386         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
10387         drectve_section): Define.
10388         * config/i386/t-interix: Replace interix.o rule with winnt.o.
10389         * config/i386/interix.c: Remove.
10390
10391 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
10392
10393         * attribs.c: Don't include obstack.h.
10394         * builtins.c: Likewise.
10395         * cfganal.c: Likewise.
10396         * cfgbuild.c: Likewise.
10397         * cfgcleanup.c: Likewise.
10398         * emit-rtl.c: Likewise.
10399         * loop.c: Likewise.
10400         * stmt.c: Likewise.
10401
10402         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
10403
10404 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
10405
10406         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
10407
10408 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
10409
10410         * doc/invoke.texi: Remove duplicated paragraph describing
10411         TARGET_SWITCHES.
10412
10413 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
10414
10415         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
10416         * collect2.h (permanent_obstack): Delete declaration.
10417         * collect2.c (permanent_obstack): Delete definition.
10418         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
10419         * expr.c: Don't include obstack.h.
10420         (permanent_obstack): Delete declaration.
10421         * function.c: Don't include obstack.h.
10422         (permanent_obstack): Delete declaration.
10423         * integrate.c: Don't include obstack.h.
10424         (function_maybepermanent_obstack): Delete declaration.
10425         * print-tree.c (debug_tree): Use x*alloc not permalloc.
10426         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
10427         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
10428         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
10429         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
10430         of permalloc, expralloc, perm_calloc.
10431         * tree.c (permanent_obstack): Delete definition.
10432         (init_ttree): Rename from init_obstacks.
10433         (permalloc): Delete.
10434         (perm_calloc): Delete.
10435         (dump_tree_statistics): Don't print information about
10436         permanent_obstack.
10437         * varasm.c (assemble_start_function): Use xstrdup instead of
10438         permalloc/strcpy.
10439         (assemble_variable): Likewise.
10440         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
10441         permalloc.
10442         (unicosmk_add_extern): Likewise.
10443         * config/c4x/c4x.c (c4x_external_ref): Likewise.
10444         (c4x_global_label): Likewise.
10445         * config/frv/frv.c (frv_encode_section_info): Likewise.
10446         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
10447         (i386_pe_record_exported_symbol): Likewise.
10448         * config/mips/mips.c (mips_output_external): Likewise.
10449         (mips_output_external_libcall): Likewise.
10450         * config/pa/pa.c: (permanent_obstack): Delete declaration.
10451         (output_call): Use ggc_strdup instead of allocating on
10452         permanent_obstack.
10453         * config/romp/romp.c: Include ggc.h.
10454         (get_symref): Don't declare permanent_obstack, use ggc_strdup
10455         intead of permanent_obstack.
10456         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
10457         instead of permalloc.
10458         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
10459         instead of permalloc
10460         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
10461         instead of permalloc.
10462         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
10463         permalloc.
10464
10465 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
10466
10467         Contribute a port developed primarily by Michael Meissner,
10468         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
10469         * config.gcc: Add frv-elf target.
10470         * config/frv/cmovd.c: New file.
10471         * config/frv/cmovh.c: New file.
10472         * config/frv/cmovw.c: New file.
10473         * config/frv/frv-abi.h: New file.
10474         * config/frv/frv-asm.h: New file.
10475         * config/frv/frv-modes.def: New file.
10476         * config/frv/frv-protos.h: New file.
10477         * config/frv/frv.c: New file.
10478         * config/frv/frv.h: New file.
10479         * config/frv/frv.md: New file.
10480         * config/frv/frvbegin.c: New file.
10481         * config/frv/frvend.c: New file.
10482         * config/frv/lib1funcs.asm: New file.
10483         * config/frv/media.h: New file.
10484         * config/frv/modi.c: New file.
10485         * config/frv/t-frv: New file.
10486         * config/frv/uitod.c: New file.
10487         * config/frv/uitof.c: New file.
10488         * config/frv/ulltod.c: New file.
10489         * config/frv/ulltof.c: New file.
10490         * config/frv/umodi.c: New file.
10491         * config/frv/xm-frv.h: New file.
10492
10493         * config/frv/media.h: Removed again.
10494
10495 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10496
10497         * gcov.c (bb_file_time): New static variable.
10498         (object_directory): May also be object file.
10499         (preserve_paths): New static variable.
10500         (print_usage): Adjust.
10501         (options): Adjust.
10502         (process_args): Adjust.
10503         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
10504         file. Find modification date on bb file.
10505         (read_profile): Don't rewind a NULL file.
10506         (format_hwint): New static function.
10507         (function_summary): Use format_hwint.
10508         (output_data): SOURCE_FILE_NAME is never relative to
10509         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
10510         mangling. Adjust output format to make it more machine readable.
10511         * doc/gcov.texi: Document & clarify semantics.
10512
10513 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
10514
10515         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
10516
10517 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10518
10519         * gcc.c (cc1_options): Pass output file as auxbase when
10520         appropriate.
10521         * profile.c (init_branch_prob): FILENAME has already had ending
10522         stripped.
10523         * final.c (end_final): Likewise.
10524         * toplev.c (aux_base_name): New global.
10525         (compile_file): Pass aux_base_name to init init_branch_prob and
10526         end_final.
10527         (independent_decode_option, case 'a'): New auxinfo options.
10528         (case 'd'): Protect against mising basename.
10529         (do_compile): Initialize aux_base_name.
10530         * toplev.h (aux_base_name): New global.
10531         * doc/invoke.texi: Adjust documentation.
10532
10533 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10534
10535         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
10536         of TARGET_ALIGN_DOUBLE.
10537
10538 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
10539
10540         * diagnostic.c (inform): New function.
10541         * diagnostic.h (inform): Declare.
10542
10543 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
10544
10545         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
10546         (movhi_internal): Same.
10547         (movqi_internal): Same.
10548         (movdi_internal64): Same.
10549
10550         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
10551
10552         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
10553         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
10554         (COMMON_ASM_OP): Define.
10555         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
10556         Use ALIGN parameter.
10557         (LOCAL_COMMON_ASM_OP): Define.
10558         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
10559
10560 2002-08-03  Roger Sayle  <roger@eyesopen.com>
10561
10562         * builtins.def: Define new builtin functions exp, expf, expl,
10563         log, logf and logl (and their __builtin_* variants).
10564         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
10565         Define exp_optab and log_optab.
10566         * optabs.c (init_optans): Initialize exp_optab and log_optab.
10567         * genopinit.c (optabs): Implement exp_optab and log_optab
10568         using exp?f2 and log?f2 patterns.
10569         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
10570         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
10571         (expand_builtin): Ignore the new builtins (and all cos and
10572         sin variants) when not optimizing.  Expand new builtins via
10573         expand_builtin_mathfn when flag_unsafe_math_optimizations.
10574
10575         * doc/extend.texi: Document new exp and log builtins.
10576         * doc/md.texi: Document new exp?f2 and log?f2 patterns
10577         (and previously undocumented cos?f2 and sin?f2 patterns).
10578
10579 2002-08-03  Jason Merrill  <jason@redhat.com>
10580
10581         * explow.c (int_expr_size): New fn.
10582         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
10583         * expr.h: Declare it.
10584
10585 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
10586
10587         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
10588         gengtype-* dependencies.
10589
10590 2002-08-02  Eric Christopher  <echristo@redhat.com>
10591
10592         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
10593         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
10594         #ifndef to #undef.
10595         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
10596
10597 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
10598
10599         PR optimize/7067
10600         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
10601         small if optimizing for size.
10602
10603 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
10604
10605         * configure.in (FORBUILD): Use $build_alias.
10606         * configure: Regenerated.
10607
10608 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
10609
10610         * config.gcc: Don't include mips/abi64.h in $tm_file.
10611         * hard-reg-set.h (call_really_used_regs): Declare.
10612         * config/mips/abi64.h: Remove file.
10613         * config/mips/linux.h,
10614         * config/mips/iris6.h: Don't include it.
10615         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
10616         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
10617         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
10618         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
10619         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
10620         Bring across definitions from abi64.h.
10621         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
10622         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
10623         (struct mips_args): Use it.
10624         * config/mips/mips.c (mips_conditional_register_usage): Define.
10625
10626 2002-08-02  Jason Merrill  <jason@redhat.com>
10627
10628         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
10629         * langhooks.c (lhd_expr_size): Define default.
10630         * langhooks.h (struct lang_hooks): Add expr_size.
10631         * explow.c (expr_size): Call it.
10632         * expr.c (store_expr): Don't copy an expression of size zero.
10633         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
10634         to store.
10635         * Makefile.in (builtins.o): Depend on langhooks.h.
10636
10637 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10638
10639         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
10640         * ra-debug.c: Include "tm_p.h".
10641         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
10642
10643 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
10644
10645         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
10646         when not honoring signalling NaNs.
10647         (simplify_ternary_operation): a == b has a definite value
10648         when not honoring NaNs.
10649
10650 2002-08-02  Jason Merrill  <jason@redhat.com>
10651
10652         * gdbinit.in (pct): New macro.
10653
10654 2002-08-01  Stan Shebs  <shebs@apple.com>
10655             Andreas Tobler  <toa@pop.agri.ch>
10656
10657         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
10658         plays nice with Darwin headers.
10659         (_BSD_RUNE_T_DEFINED_): Likewise.
10660
10661 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
10662
10663         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
10664         * cppinit.c (cpp_post_options): Likewise.
10665
10666         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
10667         warning about 'LL' suffix (but not 'ULL' etc) when
10668         -Wno-long-long is in effect.
10669
10670         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
10671         Check for failing time()/localtime(), issue a warning, and
10672         make __TIME__ and __DATE__ expand to fallback strings.
10673
10674         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
10675         and __TIME__ when the date and time cannot be determined.
10676
10677 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
10678
10679         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
10680
10681 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
10682
10683         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
10684
10685 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
10686
10687         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
10688         (mipsisa64sb1el-*-elf*): Likewise.
10689         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
10690         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
10691         (TARGET_SB1, TUNE_SB1): New macros.
10692         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
10693         -mtune flags.
10694
10695 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
10696
10697         * varasm.c (asm_emit_uninitialized): Return false if global BSS
10698         and ASM_EMIT_BSS not supported by target.
10699         (assemble_variable): Do not duplicate uninitialized logic.
10700         Fall through if asm_emit_uninitialized failed.
10701
10702 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
10703
10704         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
10705
10706 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
10707
10708         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
10709         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
10710
10711         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
10712         HOST_BITS_PER_WIDE_INT == 64.
10713
10714 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10715
10716         * df.c (df_insn_table_realloc): Change parameter to unsigned.
10717         * optabs.c (expand_binop): Make variable unsigned.
10718         * simplify-rtx.c (simplify_subreg): Likewise.
10719         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
10720
10721 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10722
10723         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
10724
10725 2002-08-01  Richard Henderson  <rth@redhat.com>
10726
10727         * toplev.c (parse_options_and_default_flags): Don't set
10728         flag_reorder_blocks for -Os.
10729
10730         * config/avr/avr.c (avr_optimization_options): Remove.
10731         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
10732         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
10733         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
10734
10735 2002-08-01  H.J. Lu <hjl@gnu.org>
10736             Richard Henderson  <rth@redhat.com>
10737
10738         * output.h (DECL_READONLY_SECTION): Remove.
10739         (decl_readonly_section): Declare.
10740         * varasm.c (decl_readonly_section): New.
10741         (default_section_type_flags, default_select_section): Use it.
10742         * config/arm/pe.c (arm_pe_unique_section): Likewise.
10743         * config/i386/interix.c (i386_pe_unique_section): Likewise.
10744         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
10745         * config/mcore/mcore.c (mcore_unique_section): Likewise.
10746         * config/mips/mips.c (mips_unique_section): Likewise.
10747
10748 2002-08-01  Richard Henderson  <rth@redhat.com>
10749
10750         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
10751         refers to a subroutine parameter.
10752
10753 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
10754
10755         * varasm.c (assemble_visibility): Strip name encoding.
10756
10757 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
10758
10759         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
10760         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
10761         when there is no frame pointer.
10762         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
10763         registers properly.
10764         * config/ns32k/__unorddf2.c: New file.
10765         * config/ns32k/__unordsf2.c: New file.
10766         * config/ns32k/t-ns32k: New file.
10767         * config.gcc (ns32k-*-netbsd*): Use it.
10768
10769 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
10770
10771         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
10772
10773 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
10774
10775         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
10776
10777 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
10778
10779         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
10780
10781 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
10782
10783         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
10784
10785 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10786
10787         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
10788         n_sets): Removed.
10789         (expr_hash_table, set_hash_table): Type changed to ...
10790         (struct hash_table): New type.
10791         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
10792         insert_expr_in_table, insert_set_in_table, compute_hash_table,
10793         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
10794         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
10795         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
10796         (alloc_hash_table): New.
10797         (free_set_hash_table, free_expr_hash_table): Merged to ...
10798         (free_hash_table): New.
10799         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
10800         (compute_hash_table_work): New.
10801         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
10802         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
10803         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
10804         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
10805         hoist_code, one_code_hoisting_pass,
10806         trim_ld_motion_mems): Altered due to changed type of hash tables.
10807
10808 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
10809
10810         * final.c (output_alternate_entry_point):
10811         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
10812
10813 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10814
10815         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
10816         avoid ISO C style function definition.
10817
10818         * expr.c (expand_assignment): Delete unused variable.
10819
10820 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
10821
10822         * c-common.c (cb_register_builtins): Set
10823         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
10824         is given, and to 0 otherwise.
10825         * combine.c (simplify_if_then_else): HONOR_NANS
10826         implies FLOAT_MODE_P.
10827
10828 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
10829
10830         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
10831         (cpp_handle_option): Don't handle it.
10832         (print_help): Update.
10833         * doc/cppopts.texi: Update.
10834
10835 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
10836
10837         * c-common.c (cb_register_builtins): If C++, define
10838         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
10839         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
10840 cp:
10841         * lang-specs.h: Simplify in accordance with new code in
10842         c-common.c.
10843
10844 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
10845
10846         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
10847         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
10848         * c-decl.c: Move all warning and flag variables to c-common.c.
10849         * c-format.c: Move all warning variables to c-common.c.
10850         * c-tree.h: Move all warning and flag declarations to c-common.h.
10851         * objc/objc-act.c: Move all warning variables to c-common.c.
10852         (flag_warn_protocol): Rename warn_protocol.
10853
10854 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10855
10856         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
10857
10858 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
10859
10860         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
10861         .section prefix.
10862
10863 2002-07-31  Stan Shebs  <shebs@apple.com>
10864
10865         * config.gcc (i[34567]86-*-darwin*): New configuration.
10866         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
10867         defining.
10868         (TARGET_ENCODE_SECTION_INFO): Ditto.
10869         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
10870         * config/darwin.c (machopic_indirect_data_reference): Remove
10871         setting of RTX_UNCHANGING_P.
10872         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
10873         not to be applied to sums.
10874         * config/i386/t-darwin: New file.
10875         * config/i386/darwin.h: New file.
10876         * config/i386/i386.h (TARGET_MACHO): Add default definition.
10877         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
10878         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
10879         label and not the GOT add.
10880         (constant_address_p): For Mach-O, seeing a CONST is enough.
10881         (legitimate_pic_address_disp_p): Add a Mach-O case.
10882         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
10883         (legitimize_pic_address): Use generic Mach-O code to legitimize.
10884         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
10885         if outputting a difference.
10886         (ix86_output_addr_diff_elt): Add Mach-O case.
10887         (ix86_expand_move): Similarly.
10888         (ix86_expand_call): Similarly.
10889         (current_machopic_label_num): New global.
10890         (machopic_output_stub): New function.
10891         (ix86_value_regno): New function.
10892         (ix86_function_value): Use it instead of VALUE_REGNO.
10893         (ix86_libcall_value): Ditto.
10894         * config/i386/unix.h (VALUE_REGNO): Remove.
10895
10896 2002-07-31  Graham Stott  <grahas@btinternet.com>
10897
10898         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
10899         hash for LABEL_REF's.
10900
10901 2002-07-31  Graham Stott  <grahams@btinternet.com>
10902
10903         * config/rs6000/rs6000.c (spe_init_builtins,
10904         altivec_init_builtins, rs6000_common_init_builtins):
10905         Replace ANSI with K&R function def.
10906
10907 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
10908
10909         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
10910         for CCFPmode.
10911
10912 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
10913
10914         * config/mips/crtn.asm: Don't use __mips16 to determine the
10915         return-address offset.  Define RA to a suitable temporary
10916         register for the return address.
10917
10918 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
10919
10920         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
10921         constraints to 'd'.
10922
10923 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
10924
10925         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
10926         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
10927         patch on 2002-07-29.)
10928         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
10929
10930 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10931
10932         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
10933         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
10934         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
10935         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
10936         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
10937         (ASM_GLOBALIZE_LABEL): Delete.
10938         (GLOBAL_ASM_OP): Define.
10939
10940         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
10941
10942         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
10943         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
10944
10945 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
10946
10947         * doc/extend.texi (Hints implementation): Document that GCC
10948         mostly ignores `register'.
10949
10950 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
10951
10952         * flags.h: Declare flag_finite_math_only.
10953         Use it in definition of HONOR_NANS and
10954         HONOR_INFINITIES.
10955         * c-common.c (cb_register_builtins): Emit
10956         __FINITE_MATH_ONLY__ when flag_finite_math_only
10957         is set.
10958         * combine.c (simplify_if_then_else): If
10959         flag_finite_math_only is set, a == b has a
10960         definite value.
10961         * toplev.c: Initialize flag_finite_math_only.
10962         (set_flags_fast_math): Set it on -ffast-math.
10963         (flag_fast_math_set_p): Test it.
10964         * doc/invoke.texi: Document -ffinite-math-only.
10965
10966 2002-07-30  Richard Henderson  <rth@redhat.com>
10967
10968         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
10969         (noce_process_if_block): Likewise.
10970
10971 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
10972
10973         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
10974         Bail out early if false_expr is NULL and we'd crash due to this.
10975         * genemit.c (gen_expand): Recognize return insns even if the return
10976         appears in a parallel.
10977         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
10978         * config/fp-bit.c: Likewise.
10979         * doc/tm.texi: Document it.
10980
10981 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
10982             Zack Weinberg  <zack@codesourcery.com>
10983
10984         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
10985         CODE_FOR_nothing.  Change switch to if.
10986         (rs6000_expand_binop_builtin): Same.
10987         (rs6000_expand_builtin): Expand builtin if target support enabled.
10988         (rs6000_init_builtins): Init builtin if target support enabled.
10989         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
10990
10991 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10992
10993         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
10994
10995 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
10996
10997         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
10998
10999 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
11000
11001         * sh.md (cond_delay_slot): New attribute.
11002         (cbranch delay): Use it for anulled-true case.
11003         (stuff_delay_slot): New pattern.
11004         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
11005         delay slot insn.
11006         (gen_far_branch): Emit stuff_delay_slot pattern.
11007
11008 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
11009
11010         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
11011
11012 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
11013
11014         * fold-const.c: Fix comment typos.
11015         * gcse.c: Likewise.
11016         * reload1.c: Likewise.
11017
11018 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11019
11020         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
11021         for TARGET_SPE.
11022
11023 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11024
11025         * c-pretty-print.h (pp_c_statement): Declare.
11026         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
11027         (pp_c_statement): Define.
11028
11029 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11030
11031         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
11032         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
11033         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
11034         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
11035         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
11036         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
11037
11038         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
11039         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
11040
11041 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11042
11043         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
11044         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
11045         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
11046         (pp_c_expression): Update.
11047
11048 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11049
11050         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
11051         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
11052         * alpha/vms-ld.c (main): Likewise.
11053         * dsp16xx.c (double_reg_to_memory): Likewise.
11054         * mcore.c (mcore_expand_prolog): Likewise.
11055         * cppfiles.c (read_name_map): Likewise.
11056         * gensupport.c (process_rtx, identify_predicable_attribute,
11057         alter_test_for_insn): Likewise.
11058         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
11059
11060 2002-07-29  Roger Sayle  <roger@eyesopen.com>
11061
11062         * builtins.c (expand_builtin):  Change the default behavior to
11063         only issue an error if the builtin function doesn't have a
11064         fallback library call.  Remove several cases handled by the
11065         new default.
11066
11067 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
11068
11069         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
11070         floating point format of the target is IEEE.
11071         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
11072         format of the target is DEC.
11073
11074 2002-07-29  Richard Henderson  <rth@redhat.com>
11075
11076         * unroll.c (verify_addresses): Remove.
11077         (find_splittable_givs): Never split DEST_ADDR givs.
11078
11079 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
11080
11081         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
11082         is exhaustive.
11083         (Files): Improve documentation on generated source files.
11084
11085         * doc/extend.texi (Translation implementation): Document what
11086         diagnostics look like.
11087         (Identifiers implementation): Document that there's normally no
11088         limit on identifier names.
11089         (Integers implementation): Document two's complement.
11090         (Hints implementation): Document that GCC honors 'inline', mostly.
11091         (Preprocessing directives implementation): Document that GCC
11092         requires the current time.
11093
11094 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11095
11096         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
11097         (pp_initializer): New macro.
11098         (pp_c_initializer): Declare.
11099         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
11100         (pp_c_initializer): Define.
11101         (pp_c_initializer_list): New function.
11102         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
11103         VECTOR_CST, CONSTRUCTOR.
11104         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
11105         IMAGPART_EXPR.
11106         (pp_c_cast_expression): Handle FLOAT_EXPR.
11107         (pp_c_assignment_expression): Handle INIT_EXPR.
11108         (pp_c_expression): Update.
11109
11110 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
11111
11112         * objc/objc-act.c (objc_init): Return immediately if filename
11113         is NULL.
11114
11115 2002-07-29  Eric Christopher  <echristo@redhat.com>
11116
11117         * config/mips/elf.h: Remove ecoff.h and gofast includes.
11118         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
11119         (SDB_DEBUGGING_INFO): Undefine.
11120         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
11121         (PUT_SDB_SIZE): Remove.
11122         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
11123         (STARTFILE_SPEC): Add isa3264 define.
11124         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
11125         * config/mips/ecoff.h: Remove. and here...
11126         * config/mips/iris3.h: and here...
11127         * config/mips/sni-svr4.h: and here...
11128         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
11129         Add assembler -mmdebug options for non-dwarf debugging.
11130         * config/mips/r3900.h: Remove debug info defines.
11131         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
11132         * config/mips/isa3264.h: Ditto.
11133         * config/mips/t-isa3264: Fix up for file removal and gofast configure
11134         change.
11135         * config/mips/t-elf: Ditto.
11136         * config/mips/t-ecoff: Ditto.
11137         * config/mips/t-r3900: Ditto.
11138         * config/mips/t-iris5-6: Ditto.
11139         * config/mips/t-isa3264: Ditto.
11140         * config/mips/t-linux: Remove.
11141         * config/mips/t-netbsd: Remove.
11142         * config/mips/t-mips: New file.
11143         * config/mips/t-gofast: Ditto.
11144         * config/mips/netbsd.h: Remove unnecessary undefines.
11145         * config/mips/linux.h: Remove #include of mips.h.
11146         * config.gcc: Add mips.h include for elf targets. Remove tm_file
11147         for ecoff. Add gofast configure option for mips.
11148
11149 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
11150
11151         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
11152         linker scripts use STARTUP directives consistently.
11153         * configure: Regenerate.
11154         * config.in: Regenerate.
11155         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
11156         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
11157         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11158         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
11159         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
11160         will be the same.
11161
11162 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11163
11164         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
11165
11166 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11167
11168         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
11169
11170 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
11171
11172         * config/rs6000/rs6000.md: Move altivec patterns from here...
11173
11174         * config/rs6000/altivec.md: ...to here.
11175
11176 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11177
11178         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
11179
11180 2002-07-29  Richard Henderson  <rth@redhat.com>
11181
11182         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
11183         set_mem_attributes and add BITPOS argument.  Subtract it from
11184         OFFSET when same is adjusted.
11185         (set_mem_attributes): New wrapper function.
11186         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
11187         remove offset adjustment hack.
11188         * expr.h (set_mem_attributes_minus_bitpos): Declare.
11189
11190 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
11191
11192         * Makefile.in (C_OBJS): Include c-pretty-print.o
11193         (c-pretty-print.o): Add depency rule.
11194         * pretty-print.h: Add more macros.
11195         * c-pretty-print.c: New file.
11196         * c-pretty-print.h: Likewise.
11197
11198 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11199
11200         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
11201         constants to __ev64_s32__.
11202         (__internal_ev_mwhgsmian): Same.
11203         (__internal_ev_mwhgsmfan): Same.
11204         (__internal_ev_mwhgssfan): Same.
11205         (__internal_ev_mwhgumiaa): Same.
11206         (__internal_ev_mwhgsmiaa): Same.
11207         (__internal_ev_mwhgsmfaa): Same.
11208         (__internal_ev_mwhgssfaa): Same.
11209
11210 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
11211
11212         * varasm.c (assemble_variable): Narrow test for uninitialized
11213         without BSS target support.
11214
11215 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
11216
11217         * profile.c: Add file comment describing the overall algorithm and
11218         structures.
11219         (struct edge_info): Add comments.
11220         (struct bb_info): Add comments.
11221         * basic-block.h (EDGE_*): Add comments.
11222         * doc/gcov.texi (Gcov Data Files): Document bit flags.
11223
11224 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
11225
11226         * config/xtensa/elf.h, config/xtensa/linux.h
11227         (TARGET_OS_CPP_BUILTINS): Define.
11228         (CPP_PREDEFINES): Remove.
11229         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
11230         (CPP_SPEC): Remove.
11231
11232 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
11233
11234         * gensupport.c: Include hashtab.h.
11235         (insn_elision, condition_table, hash_c_test, cmp_c_test,
11236         maybe_eval_c_test): New routines and data structures to
11237         support insn elision.
11238         (init_md_reader): Read and initialize the condition_table.
11239         (read_md_rtx): Discard insn patterns whose C test is provably
11240         always false.
11241         * gensupport.h: Declare new functions and data structures.
11242
11243         * genconditions.c, dummy-conditions.c: New files.
11244         * Makefile.in: Build genconditions; run it to construct
11245         insn-conditions.c; build that and link it into most gen*
11246         programs.
11247         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
11248         (GEN): Delete, unused.
11249         (STAGESTUFF): Update.
11250
11251         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
11252         CODE_FOR_nothing for all elided patterns.
11253         (main): Tweaked to support this.
11254         * genflags.c (gen_proto): Emit a static inline generator
11255         function here for all elided patterns, which simply returns
11256         NULL_RTX.
11257         (gen_insn): Do not define HAVE_xxx for elided patterns.
11258         (main): Tweaked to support this.  No need to forward-declare
11259         struct rtx_def.
11260         * genrecog.c: Do not bother emitting the C test if it's known
11261         to be true at compile time.
11262
11263 2002-07-29  Mike Stump  <mrs@apple.com>
11264
11265         * config.gcc (target_gtfiles): Initialize, as otherwise cross
11266         compilers hosted on powerpc-apple-darwin6.0 won't even build.
11267
11268 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
11269
11270         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
11271         remove clobber of LR.
11272         (sibcall_insn, sibcall_value_insn): Update accordingly.
11273         (sibcall_epilogue): Remove debugging comment from assembler stream.
11274
11275 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
11276
11277         * pretty-print.h: Define more macros.
11278         * diagnostic.h (output_formatted_integer): Moved from...
11279         * diagnostic.c: ... here.
11280
11281 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11282
11283         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
11284
11285 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
11286
11287         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
11288         arguments.  Always use ".-symbol" as expression argument.
11289         * doc/tm.texi: Update to match.  Document requirement for
11290         ".size symbol, .-symbol" to be acceptable to assembler.
11291
11292         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
11293         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
11294         config/i386/freebsd-aout.h, config/i386/sco5.h,
11295         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
11296         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
11297
11298 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11299
11300         * Makefile.in (gengtype-lex.c): Fix error in last change.
11301
11302         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
11303         backslash.
11304
11305         * Makefile.in (vmsdbgout.o): Depend on function.h.
11306
11307         * vmsdbgout.c: Include function.h.
11308
11309 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
11310
11311         * prefix.c (update_path): Don't strip single `.' path components
11312         unless stripping a later `..' component.  Exit loop as soon as
11313         a valid path is found.
11314
11315 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11316
11317         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
11318         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
11319         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
11320         floating point unordered comparisons (e.g. __builtin_isgreater)
11321         as const, and leave the remaining GCC_BUILTINs unchanged.
11322
11323         * c-decl.c (builtin_function): No need to explicitly mark
11324         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
11325
11326 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11327
11328         * Makefile.in: rtlanal.o now depends upon real.h.
11329
11330         * flags.h [flag_signaling_nans]: New flag.
11331         [HONOR_SNANS]: New macro.
11332
11333         * toplev.c [flag_signaling_nans]: Initialize to false.
11334         (f_options): Add processing for "-fsignaling-nans".
11335         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
11336         (process_options): flag_signaling_nans implies flag_trapping_math.
11337
11338         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
11339         when -fsignaling-nans.  First step to implementing WG14's N965.
11340
11341         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
11342         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
11343         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
11344
11345         * simplify-rtx.c (simplify_relational_operation): Conditionalize
11346         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
11347
11348         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
11349         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
11350         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
11351         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
11352         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
11353
11354         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
11355
11356 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11357
11358         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
11359         * gengtype-lex.l (YY_USE_PROTOS): Undef.
11360         (YY_DECL): Define.
11361
11362 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11363
11364         * doc/invoke.texi: Document that both -fno-builtin-foo and
11365         -fno-builtin are supported by the g++ front-end.
11366
11367 2002-07-27  Stan Shebs  <shebs@apple.com>
11368
11369         * configure.in: Rename config_gtfiles to target_gtfiles.
11370         * configure: Regenerate.
11371         * doc/gty.texi: Update reference.
11372         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
11373         instead of appending to it.
11374
11375 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
11376
11377         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
11378         vectors are split into two registers.
11379         (function_arg): Same.
11380
11381 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
11382
11383         * pa.md (extv): Check predicates before emitting extv_32.
11384
11385 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
11386
11387         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
11388         (rs6000_traceback): New var.
11389         (rs6000_override_options): Set rs6000_traceback.
11390         (rs6000_output_function_epilogue): Implement traceback options.
11391         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
11392         (rs6000_traceback_name): Declare.
11393
11394         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
11395         label reference when NO_PROFILE_COUNTERS.
11396
11397 2002-07-26  Jason Merrill  <jason@redhat.com>
11398
11399         * function.c (assign_parms): Handle frontend-directed pass by
11400         invisible reference.
11401
11402 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11403
11404         * doc/cppopts.texi: Update.
11405
11406 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11407
11408         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
11409         warnings on assertions.
11410
11411 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11412
11413         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
11414         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
11415         RID_COMPL): Remove.
11416         * c-parse.in (rid_to_yy): Similarly.
11417
11418 2002-07-26  Jason Merrill  <jason@redhat.com>
11419
11420         * c-dump.c: Resurrect.
11421         * tree-dump.c: Move C-specific stuff to c-dump.c.
11422         * c-common.h: Declare c_dump_tree.
11423         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
11424         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
11425         (c-dump.o): New rule.
11426
11427 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
11428
11429         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
11430         PowerPC64.  Replace "T" and "S" constraints with "n" when the
11431         predicate will do.  Formatting fixes.
11432         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
11433         as for extzvsi_internal1.
11434
11435 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11436
11437         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
11438         DERIV_END_LABEL_FMT): Remove.
11439         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
11440
11441 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11442
11443         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
11444         Remove.
11445
11446 2002-07-25  Stan Shebs  <shebs@apple.com>
11447
11448         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
11449         local var dwarfp.
11450         (output_compiler_stub): Remove unused locals.
11451         (output_call): Always initialize line number.
11452
11453 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
11454
11455         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
11456         * sh.md (truncdiqi2, movqi_media): Likewise.
11457
11458 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11459
11460         * gcse.c (obstack_chunk_alloc): Remove.
11461         (gcse_alloc): Fix to count allocated bytes.
11462         * collect2.c (SYMBOL__MAIN): Remove.
11463
11464 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11465
11466         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
11467         HAVE_TARGET_EXECUTABLE_SUFFIX.
11468
11469 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
11470
11471         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
11472         SIZE, EXPR and OFFSET.
11473
11474 2002-07-25  Richard Henderson  <rth@redhat.com>
11475
11476         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
11477         in ARRAY_REF of DECL_P case.
11478
11479 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
11480
11481         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
11482         description.  Document -mips32, -mips64, and the associated -march
11483         values.  Describe the "mipsN" arguments to -march.  Say that the
11484         -mipsN options are equivalent to -march.  Reword the description
11485         of default type sizes.
11486         * toplev.h (target_flags_explicit): Declare.
11487         * toplev.c (target_flags_explicit): New var.
11488         (set_target_switch): Update target_flags_explicit.
11489         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
11490         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
11491         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
11492         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
11493         * config/mips/mips.h (mips_cpu_info): New struct.
11494         (mips_cpu_string, mips_explicit_type_size_string): Remove.
11495         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
11496         (MIPS_CPP_SET_PROCESSOR): New macro.
11497         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
11498         Define _MIPS_ARCH and _MIPS_TUNE.
11499         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
11500         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
11501         MIPS_ISA_DEFAULT were already defined.
11502         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
11503         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
11504         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
11505         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
11506         (ABI_GAS_ASM_SPEC): Remove.
11507         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
11508         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
11509         Invoke %(asm_abi_default_spec) if no ABI was specified.
11510         (CC1_SPEC): Remove ISA -> register-size rules.
11511         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
11512         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
11513         (mips_cpu_string, mips_explicit_type_size_string): Remove.
11514         (mips_cpu_info_table): New array.
11515         (mips_set_architecture, mips_set_tune): New fns.
11516         (override_options): Rework to make -mipsN equivalent to -march.
11517         Detect more erroneous cases, including those removed from CC1_SPEC.
11518         Don't change the ABI based on architecture, or vice versa.
11519         Unify logic with GAS.
11520         (mips_asm_file_start): Get architecture name from mips_arch_info.
11521         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
11522         (mips_parse_cpu): Take the name of the option as argument.  Handle
11523         'from-abi'.  Raise an error if the option is wrong.
11524         (mips_cpu_info_from_isa): New fn.
11525
11526 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
11527
11528         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
11529         (tablejump_mips162): Likewise.
11530
11531 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
11532
11533         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
11534         int_mode_for_mode.
11535
11536 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
11537
11538         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
11539         complaining.
11540         * c-common.h (c_sizeof): Adjust definition.
11541         (c_alignof): Likewise.
11542         * c-tree.h (c_sizeof_nowarn): Now macro.
11543         * c-typeck.c (c_sizeof_nowarn): Remove definition.
11544
11545 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11546
11547         * c-decl.c (c_decode_option): No need to handle switches
11548         cpplib handles.
11549
11550 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
11551
11552         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
11553         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
11554         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
11555         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
11556
11557         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
11558         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
11559         config/cris/aout.h, config/i386/freebsd-aout.h,
11560         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
11561         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
11562         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
11563         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
11564         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
11565         config/xtensa/elf.h, config/xtensa/linux.h:
11566         Use the new macros.
11567         Where possible, remove redundant definitions of SIZE_ASM_OP,
11568         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
11569
11570 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
11571
11572         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
11573         TARGET_ISEL, and TARGET_FPRS.
11574
11575         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
11576         -mabi=spe, -mabi=no-spe, and -misel=.
11577
11578         * config/rs6000/rs6000-protos.h: Add output_isel.
11579         Move vrsave_operation prototype here.
11580
11581         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
11582         (smaxsi3): Same.
11583         (uminsi3): Same.
11584         (umaxsi3): Same.
11585         (abssi2_nopower): Disallow when TARGET_ISEL.
11586         (*ne0): Same.
11587         (negsf2): Change to expand and rename old pattern to *negsf2.
11588         (abssf2): Change to expand and rename old pattern to *abssf2.
11589
11590         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
11591         fixunssfsi2.
11592
11593         Change patterns that check for TARGET_HARD_FLOAT or
11594         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
11595
11596         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
11597         rs6000_isel, rs6000_fprs, rs6000_isel_string.
11598         (rs6000_override_options): Add 8540 case to
11599         processor_target_table.
11600         Set rs6000_isel for the 8540.
11601         Call rs6000_parse_isel_option.
11602         (enable_mask_for_builtins): New.
11603         (rs6000_parse_isel_option): New.
11604         (rs6000_parse_abi_options): Add spe and no-spe.
11605         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
11606         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
11607         for TARGET_HARD_FLOAT.
11608         Add case for SPE_VECTOR_MODE.
11609         (rs6000_legitimize_reload_address): Handle SPE vector modes.
11610         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
11611         vector modes.
11612         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
11613         (rs6000_emit_move): Check for TARGET_FPRS.
11614         Add cases for SPE vector modes.
11615         (function_arg_boundary): Return 64 for SPE vector modes.
11616         (function_arg_advance): Check for TARGET_FPRS and
11617         Handle SPE vectors.
11618         (function_arg): Same.
11619         (setup_incoming_varargs): Check for TARGET_FPRS.
11620         (rs6000_va_arg): Same.
11621         (struct builtin_description): Un-constify mask field.  Move up in
11622         file.
11623         (bdesc_2arg): Un-constify and add SPE builtins.
11624         (bdesc_1arg): Same.
11625         (bdesc_spe_predicates): New.
11626         (bdesc_spe_evsel): New.
11627         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
11628         (rs6000_expand_binop_builtin): Same.
11629         (bdesc_2arg_spe): New.
11630         (spe_expand_builtin): New.
11631         (spe_expand_predicate_builtin): New.
11632         (spe_expand_evsel_builtin): New.
11633         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
11634         (rs6000_init_builtins): Initialize SPE builtins.  Call
11635         rs6000_common_init_builtins.
11636         (altivec_init_builtins): Move all non-altivec builtin code to...
11637         (rs6000_common_init_builtins): ...here.  New function.
11638         (branch_positive_comparison_operator): Allow NE code for SPE.
11639         (ccr_bit): Return correct ccr bit for SPE fp.
11640         (print_operand): Emit crnor in 'D' case for SPE.
11641         New case 't'.
11642         Add SPE code for 'y' case.
11643         (rs6000_generate_compare): Generate rtl for SPE fp.
11644         (output_cbranch): Handle SPE hard floats.
11645         (rs6000_emit_cmove): Handle isel.
11646         (rs6000_emit_int_cmove): New.
11647         (output_isel): New.
11648         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
11649         64-bits for SPE.
11650         (debug_stack_info): Add SPE info.
11651         (gen_frame_mem_offset): New.
11652         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
11653         Change mode of frame pointer, when saving it, to Pmode.
11654         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
11655         Misc cleanups and use gen_frame_mem_offset when appropriate.
11656
11657         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
11658         (TARGET_SPE_ABI): New.
11659         (TARGET_SPE): New.
11660         (TARGET_ISEL): New.
11661         (TARGET_FPRS): New.
11662         (FIXED_SCRATCH): New.
11663         (RTX_COSTS): Add PROCESSOR_PPC8540.
11664         (ASM_CPU_SPEC): Add case for 8540.
11665         (TARGET_OPTIONS): Add isel= case.
11666         (rs6000_spe_abi): New.
11667         (rs6000_isel): New.
11668         (rs6000_fprs): New.
11669         (rs6000_isel_string): New.
11670         (UNITS_PER_SPE_WORD): New.
11671         (LOCAL_ALIGNMENT): Adjust for SPE.
11672         (HARD_REGNO_MODE_OK): Same.
11673         (DATA_ALIGNMENT): Same.
11674         (MEMBER_TYPE_FORCES_BLK): New.
11675         (FIRST_PSEUDO_REGISTER): Set to 113.
11676         (FIXED_REGISTERS): Add SPE registers.
11677         (reg_class): Same.
11678         (REG_CLASS_NAMES): Same.
11679         (REG_CLASS_CONTENTS): Same.
11680         (REGNO_REG_CLASS): Same.
11681         (REGISTER_NAMES): Same.
11682         (DEBUG_REGISTER_NAMES): Same.
11683         (ADDITIONAL_REGISTER_NAMES): Same.
11684         (CALL_USED_REGISTERS): Same.
11685         (CALL_REALLY_USED_REGISTERS): Same.
11686         (SPE_ACC_REGNO): New.
11687         (SPEFSCR_REGNO): New.
11688         (SPE_SIMD_REGNO_P): New.
11689         (HARD_REGNO_NREGS): Adjust for SPE.
11690         (VECTOR_MODE_SUPPORTED_P): Same.
11691         (REGNO_REG_CLASS): Same.
11692         (FUNCTION_VALUE): Same.
11693         (LIBCALL_VALUE): Same.
11694         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
11695         (SPE_VECTOR_MODE): New.
11696         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
11697         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
11698         (rs6000_stack): Add spe_gp_size, spe_padding_size,
11699         spe_gp_save_offset.
11700         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
11701         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
11702         (SPE_CONST_OFFSET_OK): New.
11703         (rs6000_builtins): Add SPE builtins.
11704
11705         * testsuite/gcc.dg/ppc-spe.c: New.
11706
11707         * config/rs6000/eabispe.h: New.
11708
11709         * config/rs6000/spe.h: New.
11710
11711         * config/rs600/spe.md: New.
11712
11713         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
11714         __SIMD__ for TARGET_SPE.
11715
11716         * config.gcc: Add powerpc-*-eabispe* case.
11717         Add spe.h to user headers for powerpc.
11718
11719 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
11720
11721         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
11722         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11723         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
11724
11725 2002-07-24  Richard Henderson  <rth@redhat.com>
11726
11727         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
11728         form when not optimizing.
11729
11730 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
11731
11732         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
11733         thread_pointer_rtx as unchanging.
11734
11735 2002-07-24  Michael Matz  <matz@suse.de>
11736
11737         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
11738         (free_reg): Use it.
11739
11740 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
11741
11742         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
11743         pattern.
11744         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
11745         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
11746
11747 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
11748
11749         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
11750         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11751         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
11752
11753 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
11754
11755         * toplev.c (rest_of_compilation): Dump loops before clobbering
11756         the structure.
11757
11758 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
11759
11760         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
11761
11762 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
11763
11764         PR optimization/7291
11765         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
11766         problem on x86_64.
11767
11768 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
11769
11770         * pretty-print.h: Add macros from cp/error.c
11771
11772 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
11773
11774         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
11775         (mask64_2_operand): Declare.
11776         (build_mask64_2_operands): Declare.
11777         (and64_2_operand): Declare.
11778         (extract_MB): Declare.
11779         (extract_ME): Declare.
11780         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
11781         CONST_DOUBLE code.
11782         (mask_operand_wrap): New insn predicate.
11783         (mask64_2_operand): Likewise.
11784         (and64_2_operand): Likewise.
11785         (build_mask64_2_operands): New function.
11786         (extract_MB): New function.
11787         (extract_ME): New function.
11788         (print_operand <case m,M>): Use extract_MB and extract_ME.
11789         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
11790         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
11791         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
11792         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
11793         * config/rs6000/rs6000.md (andsi3_internal3): New
11794         (andsi3_internal3+1): Enable split for powerpc64.
11795         (andsi3_internal3+2): New split.
11796         (andsi3_internal4): Renamed old andsi3_internal3.
11797         (andsi3_internal5): New.
11798         (andsi3_internal5+1): Enable split for powerpc64.
11799         (andsi3_internal5+2): New split.
11800         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
11801         (anddi3): Handle 't' constraint.
11802         (anddi3+1): New split.
11803         (anddi3_internal2): Handle 't' constraint.
11804         (anddi3_internal2+1): New split.
11805         (anddi3_internal3): Handle 't' constraint.
11806         (anddi3_internal3+1): New split.
11807
11808 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
11809
11810         * config/rs6000/rs6000.md: Remove scratch reg on insns using
11811         addze and similar (plus (comparison r1 r2) r3) insns.  Add
11812         missing scratch reg in one case.  Formatting fixes.
11813
11814 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
11815
11816         * cppexp.c (parse_defined): Mark macro used.
11817         * cpphash.h (struct cpp_macro): New member "used".
11818         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
11819         (struct cpp_reader): New member.
11820         * cppinit.c (cpp_finish_options): Set first_unused_line.
11821         (cpp_finish): Warn of unused macros if requested.
11822         (OPT_TABLE): New switches.
11823         (cpp_handle_option): Handle them.
11824         * cpplib.c (do_undef): Warn if macro unused.
11825         (do_ifdef, do_ifndef): Mark macro used.
11826         * cpplib.h (struct cpp_options): New member.
11827         * cppmacro.c (_cpp_warn_if_unused_macro): New.
11828         (enter_macro_context): Mark macro used.
11829         (_cpp_create_definition): Mark macro unused; warn if unused
11830         when redefined.
11831         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
11832         Mark macros used.
11833         * doc/cppopts.texi: Update.
11834
11835 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
11836
11837         * dwarf2out.c (SECTION_ASM_OP,
11838         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
11839         * system.h (SECTION_ASM_OP): Poison.
11840         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
11841         * config/alpha/alpha-interix.h, config/mips/linux.h
11842         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
11843         * config/mmix/mmix-protos.h, config/mmix/mmix.c
11844         (mmix_asm_output_define_label_difference_symbol): Remove.
11845         * config/mmix/mmix.h
11846         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
11847         * doc/tm.texi: Remove documentation.
11848
11849 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
11850
11851         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
11852         (constrain_operands): Likewise.
11853         * regclass.c (record_reg_classes): Likewise.
11854         * reload.c (find_reloads): Likewise.
11855         * doc/md.texi: Likewise.
11856
11857         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
11858         * simplify-rtx.c (simplify_subreg): When converting to a non-int
11859         mode, try to convert to an integer mode of matching size first.
11860
11861         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
11862         from individual subregs, check that each subreg has been generated
11863         sucessfully.
11864
11865 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
11866
11867         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
11868         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
11869         FOR_EACH_BB_IN_SBITMAP): Remove.
11870         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
11871         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
11872         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
11873         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
11874         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
11875         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
11876
11877 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
11878
11879         * pretty-print.h: New file.
11880
11881 2002-07-23      Paul Koning     <pkoning@equallogic.com>
11882
11883         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
11884         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
11885         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
11886         (TARGET_G_FLOAT): Default to 0 if not defined.
11887         (ieeetoe): New, common routine to convert target format floats
11888         to internal form.
11889         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
11890         vs. others.
11891         (e113toe): Change to use ieeetoe.
11892
11893 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11894
11895         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
11896         IBM.
11897         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
11898         (e64toe): Remove special cases for DEC and IBM. Remove support for
11899         ARM_EXTENDED_IEEE_FORMAT.
11900         (e24toe): Remove special cases for DEC.
11901         (significand_size): Simplify. Indent.
11902         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
11903         (etoieee, toieee): New.
11904         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
11905         etoieee and toieee for IEEE arithmetic.
11906
11907 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
11908
11909         * doc/extend.texi: Say ISO C90, not ISO C89.
11910         * doc/invoke.texi: Likewise.
11911         * doc/standards.texi: Likewise.
11912
11913 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
11914
11915         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
11916         Fix permutation of conversion and plus/mult.
11917         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
11918         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
11919         (expand_builtin_strncpy) Ditto.
11920         (expand_builtin_memset) Ditto.
11921
11922 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
11923
11924         Fix PR/7363:
11925         * c-common.c (c_sizeof_or_alignof_type): New function.
11926         (c_alignof): Remove definition.
11927         * c-common.h (c_sizeof, c_alignof): Define as macros.
11928         (c_sizeof_or_alignof_type): Declare.
11929         (my_friendly_assert): Moved from cp/cp-tree.h
11930         * c-typeck.c (c_sizeof): Remove definition.
11931
11932 2002-07-23  Jan Hubicka  <jh@suse.cz>
11933
11934         * gcse.c (try_replace_reg): Use num_changes_pending.
11935         * recog.c (num_changes_pending): New function.
11936         (validate_replace_src): Use validate_repalce_src_group.
11937         (validate_replace_src_group): New.
11938         * recog.h (validate_repalce_src_group): New.
11939         (num_changes_pending): Likewise.
11940
11941 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
11942
11943         * calls.c (emit_library_call_value_1): If
11944         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
11945         libcall, const call nor pure call.
11946
11947 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
11948
11949         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
11950
11951 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
11952
11953         * vmsdbgout.c (SECTION_ASM_OP): Remove.
11954
11955 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
11956
11957         * config/i386/i386.c (AT_BP): Remove.
11958
11959 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
11960
11961         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
11962         Default definition.
11963         * gcse.c: Don't define obstack_chunk_free.
11964         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
11965         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
11966         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
11967         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
11968         Don't define obstack macros.
11969
11970 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
11971
11972         PR target/6744
11973         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
11974         ASM_OPERANDS instructions.
11975
11976 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
11977
11978         PR target/7361
11979         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
11980         constant addresses only on 68HC12.
11981
11982 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
11983
11984         * cppfiles.c (stack_include_file): Correct test of whether
11985         a dependency should be output.
11986
11987 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
11988
11989         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
11990
11991 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
11992
11993         * arm.md (movqi): If optimizing and we can create pseudos, use
11994         a ZERO_EXTEND to load from memory, then copy the result into the
11995         target.
11996         (movhi): Likewise, but only for ARMv4.
11997
11998 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
11999
12000         * ssa-ccp.c (PHI_PARMS): Remove.
12001
12002 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
12003
12004         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
12005         on big-endian targets.
12006
12007 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12008
12009         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
12010         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
12011         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
12012         New formatting macros.
12013
12014         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
12015
12016 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12017
12018         * rtlanal.c (subreg_regno_offset): Return correct offset for
12019         big endian paradoxical subregs.
12020
12021         * optabs.c (expand_vector_unop): Don't expand using sub_optab
12022         if we got the wrong mode.
12023
12024         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
12025         * genrecog.c (write_switch, write_cond): Use it.
12026         * genemit.c (gen_exp): Likewise.
12027
12028 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
12029
12030         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
12031
12032 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
12033
12034         * c-decl.c (build_compound_literal): Defer compound literal decls
12035         until until file end to emit them only if they are actually used.
12036
12037 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12038
12039         * ra-build.c (check_conflict_numbers): Hide unused function.
12040         (livethrough_conflicts_bb): Avoid automatic aggregate
12041         initialization.
12042         (parts_to_webs_1): Avoid `U' integer constant modifier.
12043         (conflicts_between_webs): Wrap a variable in the macro controlling
12044         its usage.
12045         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
12046         (dump_igraph, dump_graph_cost): Avoid string concatenation
12047         (dump_static_insn_cost): Avoid automatic aggregate
12048         initialization.
12049         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
12050         initialization.
12051         (dump_cost): Avoid string concatenation
12052
12053 2002-07-21  Richard Henderson  <rth@redhat.com>
12054
12055         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
12056         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
12057
12058 2002-07-21  Richard Henderson  <rth@redhat.com>
12059
12060         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
12061         that are not unrolled completely.
12062
12063 2002-07-21  Richard Henderson  <rth@redhat.com>
12064
12065         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
12066         * loop.c (strength_reduce): Update.
12067         * toplev.c (rest_of_compilation): Do unrolling in the first
12068         loop pass, not the second.
12069
12070 2002-07-21  Richard Henderson  <rth@redhat.com>
12071
12072         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
12073         when flag_argument_noalias == 2.
12074         * alias.c (nonoverlapping_memrefs_p): Handle that.
12075         * print-rtl.c (print_mem_expr): Likewise.
12076
12077 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
12078
12079         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
12080         instead of __negdi2 directly.
12081
12082 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12083
12084         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
12085         * function.c (SYMBOL__MAIN): Remove definition.
12086         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
12087         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
12088         * profile.c (GCOV_INDEX_TO_BB): Remove.
12089         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
12090         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
12091
12092 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12093
12094         * c-lex.c (GET_ENVIRONMENT): Remove.
12095         * collect2.c (GET_ENV_PATH_LIST): Remove.
12096         (prefix_from_env): Use GET_ENVIRONMENT.
12097         * cppinit.c (GET_ENV_PATH_LIST): Remove.
12098         (init_standard_includes): Use GET_ENVIRONMENT.
12099         * defaults.h (GET_ENVIRONMENT): Define here if not already.
12100         * gcc.c (GET_ENV_PATH_LIST): Remove.
12101         (make_relative_prefix, process_command): Update.
12102         * protoize.c (GET_ENV_PATH_LIST): Remove.
12103         (do_processing): Update.
12104
12105 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
12106
12107         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
12108         (grokdeclarator): Likewise.
12109         * c-format.c (C_STD_NAME): Likewise.
12110         * c-lex.c (interpret_integer): Likewise.
12111         * c-typeck.c (build_array_ref): Likewise.
12112         * cpplex.c (_cpp_lex_direct): Likewise.
12113         * toplev.c (documented_lang_options): Likewise.
12114
12115 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12116
12117         * c-format.c (T99_I, T99_UI): Remove.
12118
12119 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12120
12121         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
12122
12123 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
12124
12125         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
12126         do_local_cprop.
12127
12128 2002-07-21  Andreas Jaeger  <aj@suse.de>
12129
12130         * reload1.c (fixup_abnormal_edges): Remove unused variable.
12131
12132 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
12133
12134         Improvements for the ifcvt pass from Michael Meissner, with patches
12135         by Richard Sandiford <rsandifo@redhat.com>
12136         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
12137         * ifcvt.c (cond_exec_changed_p): New static variable.
12138         (last_active_insn): New function, renamed from last_active_insn_p
12139         and changed to return the last active insn in a basic block. All
12140         callers updated.
12141         (block_fallthru): New function.
12142         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
12143         IFCVT_MODIFY_INSN.  All callers updated.
12144         Return false if START or END are NULL.
12145         Handle case where we're processing an insn that is already
12146         conditional.
12147
12148         (noce_process_if_block): CE_INFO argument rather than
12149         multiple args containing the involved basic blocks.  All callers
12150         changed.
12151         (process_if_block, merge_if_block, find_if_block,
12152         cond_exec_process_if_block): Likewise.
12153
12154         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
12155         changed.
12156         Use new function last_active_insn to simplify some code.
12157         New code to handle multiple tests.
12158         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
12159         cond_exec_changed_p to TRUE.
12160
12161         (process_if_block): New code to handle multiple tests.
12162         (merge_if_block): Likewise.
12163         (find_if_header): New arg PASS.  Changed to return the currently
12164         processed basic block or NULL instead of true/false. All callers
12165         changed.
12166         Call IFCVT_INIT_EXTRA_FIELDS.
12167         (block_jumps_and_fallthru_p): New function.
12168         (find_if_block): Discover opportunities to convert multiple tests.
12169         Add additional debugging output.
12170         Update the ce_info structure before returning.
12171
12172         (if_convert): Run multiple passes of if-conversion.
12173         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
12174         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
12175         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
12176         these macros.
12177
12178 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
12179
12180         * gcse.c: Include cselib.h
12181         (constptop_register): Break out from ...
12182         (cprop_insn): ... here; kill basic_block argument.
12183         (do_local_cprop, local_cprop_pass): New functions.
12184         (one_cprop_pass): Call local_cprop_pass.
12185
12186 2002-07-20  Roger Sayle  <roger@eyesopen.com>
12187
12188         * simplify-rtx.c (simplify_relational_operation): Optimize
12189         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
12190
12191 2002-07-20  Michae Matz  <matz@suse.de>
12192
12193         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
12194
12195 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
12196
12197         * cppexp.c (struct op): Add token pointer.
12198         (check_promotion, CHECK_PROMOTION): New.
12199         (optab): Update.
12200         (_cpp_parse_expr): Update, use token pointer of struct op.
12201         (reduce): Warn about change of sign owing to promotion.
12202         * cppinit.c (cpp_handle_option): New warning if -Wall.
12203         * cpplib.h (struct cpp_options): New member.
12204
12205 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
12206
12207         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
12208         fpu list.  Separate Power4 compare and delayed_compare.  Correct
12209         Power4 fpcompare.
12210         (fix_truncdfsi2_internal): Restore FPR preference.
12211         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
12212         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
12213
12214 2002-07-19  Momchil Velikov <velco@fadata.bg>
12215
12216         * reload1.c (reload_as_needed): Duplicate oldpat.
12217
12218 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
12219
12220         PR optimization/7130
12221         * loop.h (struct loop_info): Add "preconditioned".
12222         * unroll.c (unroll_loop): Set it.
12223         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
12224
12225 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
12226
12227         * rtl.def (CODE_LABEL): Remove slot 8.
12228         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
12229         (LABEL_ALTERNATE_NAME): Delete.
12230         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
12231         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
12232
12233         * final.c (output_alternate_entry_point): New.
12234         (final_scan_insn): Use it instead of
12235         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
12236         of a case label being an alternate entry point.
12237
12238         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
12239         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
12240         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
12241         (field deleted).
12242         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
12243
12244         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
12245         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
12246         * doc/tm.texi: Delete documentation of
12247         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
12248
12249 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12250
12251         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
12252         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
12253         (LINK_SPEC): Define.
12254         (STARTFILE_SPEC): Define.
12255         (ENDFILE_SPEC): Define.
12256
12257         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
12258         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
12259
12260         * config/mips/iris6-o32-gas.h: New file.
12261         * config.gcc (mips-sgi-irix6*o32): Use it.
12262
12263         * config/mips/t-iris5-gas: New file.
12264         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
12265
12266 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
12267
12268         * cppexp.c (ALWAYS_EVAL): Remove.
12269         (optab, reduce): Always evaluate.
12270         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
12271         only if not skipping evaluation.
12272
12273 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12274
12275         * config/avr/avr.c (debug_hard_reg_set): Remove.
12276
12277 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
12278
12279         * gcc.c (cpp_options): Include "%1" (cc1_spec).
12280
12281 2002-07-19  Richard Henderson  <rth@redhat.com>
12282
12283         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
12284
12285 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
12286
12287         * prefix.c (update_path): Don't zap single `.' path components
12288         unless followed by another `.' and fix typo last patch.
12289
12290 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
12291
12292         * cppexp.c (cpp_num_mul): Remove unused parameter.
12293         (UNARY, BINARY, OTHER, binary_handler): Remove.
12294         (ALWAYS_EVAL): New.
12295         (optab): Update.
12296         (reduce): Refactor to a large switch, don't use a function
12297         pointer.
12298
12299 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
12300
12301         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
12302
12303 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
12304
12305         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
12306         (sh_expand_binop_v2sf): Likewise.
12307         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
12308         (int_gpr_dest, trunc_hi_operand): New functions.
12309         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
12310         trunc_hi_operand.
12311         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
12312         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
12313         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
12314         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
12315         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
12316         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
12317         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
12318         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
12319         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
12320         (movsf_ie+1): Likewise.
12321         (loaddi_trunc): Use int_gpr_dest predicate.
12322         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
12323         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
12324         (casesi_worker_0+[12], casesi_worker): Likewise.
12325         (shcompact_preserve_incoming_args): Likewise.
12326         (mov_nop): Use any_register_operand predicate.
12327         (mperm_w0): Use trunc_hi_operand predicate.
12328
12329 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12330
12331         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
12332         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
12333         numbering.
12334
12335 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12336
12337         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
12338
12339 2002-07-18  Richard Henderson  <rth@redhat.com>
12340
12341         PR optimization/7147
12342         * ifcvt.c (noce_get_condition): Make certain that the condition
12343         is valid at JUMP.
12344
12345 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
12346
12347         * sh.c (barrier_align, push): Shut up compiler warnings.
12348         (initial_elimination_offset,sh_media_init_builtins): Likewise.
12349         (reg_no_subreg_operand): Delete.
12350
12351 2002-07-17  Bo Thorsen  <bo@suse.de>
12352
12353         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
12354         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
12355         (STARTFILE_SPEC): Remove hardcoded library paths.
12356         (ENDFILE_SPEC): Likewise.
12357
12358 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
12359
12360         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
12361
12362         * gcse.c (try_replace_reg): Do not return false positives.
12363
12364 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
12365
12366         * prefix.c: (update_path): Strip ".." components when prior dir
12367         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
12368
12369         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
12370         (ASM_OUTPUT_REG_POP): Likewise.
12371
12372 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
12373
12374         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
12375         adjustments to first_reg for profiling case.
12376         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
12377         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
12378         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
12379         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
12380         (ASM_OUTPUT_REG_POP): Define.
12381         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
12382         (ASM_OUTPUT_REG_POP): Undef.
12383
12384 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
12385
12386         * cpplib.c (do_sccs): Handle #sccs on all systems.
12387         * system.h (SCCS_DIRECTIVE): Poison.
12388         * config/darwin.h, config/freebsd.h, config/netbsd.h,
12389         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
12390         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
12391         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
12392         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
12393         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
12394         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
12395         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
12396         Remove all references to SCCS_DIRECTIVE.
12397         * doc/cpp.texi, doc/tm.texi: Update.
12398
12399 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
12400
12401         * regrename.c (maybe_mode_change): New function.
12402         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
12403
12404 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
12405
12406         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
12407         suppress addition when either ct or cf are zero.
12408
12409 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
12410             Glen Nakamura <glen@imodulo.com>
12411
12412         PR optimization/6713
12413         * loop.c (loop_givs_rescan): Explicitly delete the insn that
12414         sets a non-replaceable giv after issuing the new one.
12415
12416 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
12417
12418         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
12419         eval_token): Clarify and correct use of "bool" variables.
12420         * cpplib.h (struct cpp_options): Similarly.
12421         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
12422         * cpptrad.c (recursive_macro): Similarly.
12423
12424 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
12425
12426         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
12427         SHmedia code.
12428
12429         * sh.md (cmpgtudi_media): Remove spurious @.
12430
12431         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
12432         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
12433
12434         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
12435         * sh-protos.h (sh_initialize_trampoline): Declare.
12436         * sh.c (sh_initialize_trampoline): New function.
12437         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
12438         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
12439         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
12440         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
12441         * sh.md (initialize_trampoline, double_shori): New patterns.
12442         (initialize_trampoline_compact): Likewise.
12443         (shmedia32_initialize_trampoline_big): Remove.
12444         (shmedia32_initialize_trampoline_little): Likewise.
12445
12446         * sh-protos.h (binary_float_operator): Remove declaration.
12447         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
12448         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
12449         (unary_float_operator, sh_expand_unop_v2sf): New functions.
12450         (sh_expand_binop_v2sf): Likewise.
12451         (zero_vec_operand): Delete.
12452         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
12453         all non-shared ones.
12454         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
12455         Enable nsb and byterev.
12456         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
12457         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
12458         in general regs.
12459         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
12460         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
12461         immediate operands.
12462         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
12463         Add DF_HI_REGS.
12464         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
12465         lowpart fp regs - only for big endian for now.
12466         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
12467         when FPU is in use.
12468         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
12469         (LOAD_EXTEND_OP): NIL for SImode.
12470         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
12471         general and fp registers is 4.
12472         PREDICATE_CODES: Amend binary_float_operator entry.
12473         Remove zero_vec_operand.  Add unary_float_operator.
12474         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
12475         subreg SET_DEST.
12476         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
12477         (truncdiqi2): Do sign extension.
12478         (movsi_media, movdi_media): Allow to use r63 to an fp register.
12479         (movdf_media, movsf_media): Likewise.
12480         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
12481         Collapse to one define_insn_and_split.  Allow immediate sources.
12482         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
12483         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
12484         (movv4sf): Allow immediate sources.
12485         (movsf_media_nofpu+1): Don't split moves to FP registers.
12486         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
12487         (movv8qi_i+3): Check against CONST0_RTX.
12488         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
12489         for input and output operands.  Fix argument 3 to gen_mextr_rl.
12490         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
12491         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
12492         (mshf0_w, fipr, ftrv): Likewise.
12493         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
12494
12495 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
12496
12497         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
12498         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
12499         * arm.c: Similarly.
12500
12501 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
12502
12503         * config/mips/mips-protos.h (mips_sign_extend): Declare.
12504         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
12505         (TARGET_SWITCHES): Remove debugh.
12506         (ISA_HAS_TRUNC_W): New macro.
12507         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
12508         (PREDICATE_CODES): Remove se_nonimmediate_operand.
12509         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
12510         any SImode move_operand.
12511         (se_nonimmediate_operand): Remove.
12512         (mips_sign_extend): New.
12513         (mips_move_2words): Use it for sign-extended source operands.
12514         (override_options): Allow integers to be put into single FPRs.
12515         (mips_secondary_reload_class): Handle integers in float registers.
12516         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
12517         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
12518         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
12519         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
12520         (fix_truncdfdi2): Provide only a single alternative, in which the
12521         integer is in a float register.  Depend on TARGET_FLOAT64 rather
12522         than TARGET_64BIT.
12523         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
12524         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
12525         (movdi_internal2): Don't allow the source operand to be sign-extended.
12526         Add alternatives for float registers.
12527         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
12528         allows sign-extension.
12529         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
12530         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
12531         float registers.  Remove TARGET_DEBUG_H_MODE test.
12532         (movhi_internal1): Rename to movhi_internal.  Don't check
12533         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
12534         (movqi_internal1): Rename to movqi_internal and remove
12535         TARGET_DEBUG_H_MODE dependency.
12536         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
12537
12538 2002-07-16  Jim Wilson  <wilson@redhat.com>
12539
12540         * toplev.c (lang_dependent_init): Create function context for
12541         init_expr_once.
12542
12543 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
12544
12545         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
12546         --gc-sections if -r.
12547         * config/cris/cris.h: Ditto.
12548
12549 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
12550
12551         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
12552         the comparison directly gives a mask suppress addition when cf is
12553         zero by complementing the mask.
12554
12555 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
12556
12557         * Makefile.in: Delete references to enquire.
12558         * enquire.c: Move to contrib.
12559
12560 2002-07-16  Stan Shebs  <shebs@apple.com>
12561
12562         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
12563         config/rs6000/darwin.h.
12564         (ASM_OUTPUT_SKIP): Ditto.
12565         (TEXT_SECTION_ASM_OP): Ditto.
12566         (DATA_SECTION_ASM_OP): Ditto.
12567         (ASM_APP_ON): Define.
12568         (ASM_APP_OFF): Define.
12569         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
12570         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
12571
12572         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
12573         (machopic_function_base_name): Declare result to be const.
12574         (machopic_non_lazy_ptr_name): Ditto.
12575         (machopic_stub_name): Ditto.
12576         * config/darwin-protos.h: Ditto for the prototypes.
12577
12578 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
12579
12580         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
12581
12582 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
12583
12584         * i386.md (prefetch): Fix for 64bit mode.
12585         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
12586
12587 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12588
12589         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
12590         * i386.c (x86_machine_dependent_reorg): New function.
12591         * i386-protos.h (x86_machine_dependent_reorg): Declare.
12592
12593 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
12594
12595         * builtins.c (std_expand_builtin_va_start): Remove unused
12596         first argument.
12597         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
12598         std_expand_builtin_va_start with just two arguments.
12599         * expr.h: Update prototypes.
12600
12601         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
12602         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
12603         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
12604         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
12605         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
12606         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
12607         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
12608         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
12609         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
12610         argument from all implementations of EXPAND_BUILTIN_VA_START
12611         and all uses of std_expand_builtin_va_start.
12612
12613 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
12614
12615         * regrename.c (copy_value): Don't record high part copies.
12616
12617 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
12618
12619         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
12620         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
12621         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
12622
12623 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
12624
12625         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
12626
12627         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
12628         into addsi3 using register class "x" and "y".
12629
12630         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
12631         "earlyclobber" constraint modifier for some alternative.
12632
12633         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
12634         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
12635         unordered.
12636         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
12637
12638         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
12639         (TARGET_SWITCHES): Add -mieee-compare option.
12640         (OVERRIDE_OPTIONS): 32332 is a subset of
12641         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
12642         (TARGET_SWITCHES): Fix description of bitfield option.
12643         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
12644         -mieee-compare option. Remove 32332 flag.
12645
12646 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
12647
12648         * explow.c (convert_memory_address): Remove special handling
12649         when POINTERS_EXTEND_UNSIGNED < 0.
12650         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
12651         (movedi_symbolic): Fix typo.
12652         (load_fptr): Remove mode restriction so it works for SI and DI.
12653         (load_fptr_internal1): Ditto.
12654         (load_gprel): Ditto.
12655         (load_symptr_internal1): Ditto.
12656         (call_pic): Ditto.
12657         * config/ia64.c (call_operand): Modify mode check.
12658         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
12659         (ia64_expand_move): Ditto.
12660         (ia64_assemble_integer): Handle SImode function pointers.
12661         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
12662         (ia64_expand_op_and_fetch): Ditto.
12663         (ia64_expand_compare_and_swap): Ditto.
12664         (ia64_expand_lock_test_and_set): Ditto.
12665         (ia64_expand_lock_release): Ditto.
12666
12667 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
12668
12669         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
12670
12671 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
12672             Richard Earnshaw  <rearnsha@arm.com>
12673
12674         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
12675         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
12676
12677 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
12678
12679         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
12680         understands to be a memory clobber.
12681         * arm.c (arm_expand_prologue): Use it.
12682
12683 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
12684
12685         * ra-rewrite.c: #include reload.h, insn-config.h
12686         * ra-build.c: #include reload.h
12687         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
12688         depend on reload.h, insn-config.h.
12689
12690 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
12691
12692         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
12693         the same size as a word.
12694
12695         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
12696         BYTES_BIG_ENDIAN into account.
12697
12698 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
12699
12700         * i386.md (prefetch): Fix for 64bit mode.
12701         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
12702
12703         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
12704
12705 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12706
12707         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
12708
12709 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
12710
12711         * ginclude/varargs.h: Replace with stub which issues #error.
12712         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
12713         __builtin_va_start.
12714
12715         * builtins.def (BUILT_IN_VARARGS_START): Delete.
12716         (BUILT_IN_VA_START): New.
12717         * builtins.c (expand_builtin_va_start): Eliminate first
12718         argument and code to implement pre-ISO varargs.
12719         (std_expand_builtin_va_start): Ignore first argument; it is
12720         always 1.
12721         (expand_builtin): Handle BUILT_IN_VA_START and
12722         BUILT_IN_STDARG_START identically.  Delete
12723         BUILT_IN_VARARGS_START case.
12724
12725         * function.c (assign_parms): Delete hide_last_arg and all
12726         its uses.
12727         (mark_varargs): Delete function.
12728         * function.h (struct function): Delete 'varargs' bit.
12729         (current_function_varargs): Delete macro.
12730         * tree.h: Don't declare mark_varargs.
12731
12732         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
12733         (c_expand_body): Don't call mark_varargs.
12734         * c-objc-common.c: Handle BUILT_IN_VA_START and
12735         BUILT_IN_STDARG_START identically.  Delete
12736         BUILT_IN_VARARGS_START case.
12737         * c-tree.h: Don't declare c_mark_varargs.
12738         * c-parse.in: Remove grammar rules for '&...' (which has been
12739         commented out since before 2.7.2) and for '...' in K+R
12740         argument declarations.
12741
12742         * builtins.c, function.c, integrate.c, sibcall.c,
12743         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
12744         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
12745         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
12746         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
12747         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
12748         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
12749         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
12750         config/stormy16/stormy16.c: Delete all references to
12751         current_function_varargs, and code predicated on that flag.
12752
12753         * config/alpha/alpha.c (alpha_va_start),
12754         config/arc/arc.c (arc_va_start),
12755         config/i386/i386.c (ix86_va_start),
12756         config/mips/mips.c (mips_va_start),
12757         config/mn10300/mn10300.c (mn10300_va_start),
12758         config/rs6000/rs6000.c (rs6000_va_start),
12759         config/s390/s390.c (s390_va_start),
12760         config/sh/sh.c (sh_va_start),
12761         Ignore first argument; it is always 1.
12762
12763         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
12764         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
12765         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
12766         Delete m68hc11_va_start.
12767         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
12768         No need to define EXPAND_BUILTIN_VA_START.
12769
12770         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
12771         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
12772
12773 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
12774
12775         PR optimization/7153
12776         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
12777         dies in more than one insn.
12778
12779 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
12780
12781         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
12782
12783 2002-07-15  Michael Matz  <matz@suse.de>,
12784             Daniel Berlin  <dberlin@dberlin.org>,
12785             Denis Chertykov  <denisc@overta.ru>
12786
12787         Add a new register allocator.
12788
12789         * ra.c: New file.
12790         * ra.h: New file.
12791         * ra-build.c: New file.
12792         * ra-colorize.c: New file.
12793         * ra-debug.c: New file.
12794         * ra-rewrite.c: New file.
12795
12796         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
12797         (ra-rewrite.o): New .o files for libbackend.a.
12798         (GTFILES): Add basic-block.h.
12799
12800         * toplev.c (flag_new_regalloc): New.
12801         (f_options): New option "new-ra".
12802         (rest_of_compilation): Call initialize_uninitialized_subregs()
12803         only for the old allocator.  If flag_new_regalloc is set, call
12804         new allocator, instead of local_alloc(), global_alloc() and
12805         friends.
12806
12807         * doc/invoke.texi: Document -fnew-ra.
12808         * basic-block.h (FOR_ALL_BB): New.
12809         * config/rs6000/rs6000.c (print_operand): Write small constants
12810         as @l+80.
12811
12812         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
12813         (df_reg_table_realloc): Make size at least as large as max_reg_num().
12814         (df_insn_table_realloc): Size argument now is absolute, not relative.
12815         Changed all callers.
12816
12817         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
12818         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
12819
12820         2002-06-20  Michael Matz  <matz@suse.de>
12821
12822         * df.h (struct ref.id): Make unsigned.
12823         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
12824
12825         2002-06-13  Michael Matz  <matz@suse.de>
12826
12827         * df.h (DF_REF_MODE_CHANGE): New flag.
12828         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
12829         involving subregs with invalid mode changes, when
12830         CLASS_CANNOT_CHANGE_MODE is defined.
12831
12832         2002-05-07  Michael Matz  <matz@suse.de>
12833
12834         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
12835
12836         2002-05-03  Michael Matz  <matz@suse.de>
12837
12838         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
12839
12840         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
12841
12842         * regclass.c (regclass): Work with all regs which have sets or
12843         refs.
12844         (reg_scan_mark_refs): Count regs inside (clobber ...).
12845
12846         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
12847
12848         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
12849         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
12850         add new refs.
12851         (df_bb_refs_update): Don't clear insns_modified here, ...
12852         (df_analyse): ... but here.
12853
12854         * sbitmap.c (dump_sbitmap_file): New.
12855         (debug_sbitmap): Use it.
12856
12857         * sbitmap.h (dump_sbitmap_file): Add prototype.
12858
12859         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
12860
12861         * df.c (df_insn_modify): Grow the UID table if necessary, rather
12862         than assume all emits go through df_insns_modify.
12863
12864         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
12865
12866         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
12867         increase REG_N_REFS (like flow does), so that regclass doesn't
12868         think a reg is useless, and thus, not calculate a class, when it
12869         really should have.
12870
12871         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
12872
12873         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
12874         dataflow analysis.
12875
12876 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
12877
12878         PR middle-end/7245
12879         * config/i386/i386.c (const_int_1_31_operand): New.
12880         * config/i386/i386.h (PREDICATE_CODES): Add it.
12881         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
12882         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
12883         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
12884
12885 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
12886
12887         PR target/7282
12888         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
12889         (floatunssidf2): Likewise.
12890         (floatsidf_ppc64): New insn_and_split.
12891         (floatunssidf_ppc64): Likewise.
12892
12893 2002-07-14  Andreas Jaeger  <aj@suse.de>
12894
12895         * config.gcc (sh64): Remove unused
12896         target_requires_64bit_host_wide_int.
12897
12898 2002-07-12  Roger Sayle  <roger@eyesopen.com>
12899
12900         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
12901         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
12902         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
12903         whether clear_by_pieces should be used to clear storage.
12904         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
12905
12906         * doc/tm.texi: Document these two new target macros.
12907
12908 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
12909
12910         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
12911         the scratch register.
12912         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
12913         of it, forbid reload to use it.
12914
12915 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12916
12917         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
12918         usage on 64-bit hosts, return value was truncated to 32 bits.
12919
12920 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
12921
12922         * simplify-rtx.c (simplify_subreg): Handle floating point
12923         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
12924         the element mode is requested, compute a subreg with an
12925         integer mode of the same size as the element mode first.
12926
12927 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
12928
12929         * combine.c (try_combine): When converting a paradoxical subreg
12930         to an extension, take LOAD_EXTEND_OP into account.
12931
12932 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12933
12934         * config.gcc (mips-sgi-irix6*o32): New configuration.
12935
12936         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
12937         configurations.
12938         * configure: Regenerate.
12939
12940         * config/mips/iris6-o32-as.h: New file.
12941         * config/mips/iris6-o32.h: New file.
12942
12943         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
12944         (NM_FLAGS): Define.
12945         (HAVE_AS_SHF_MERGE): Undefine.
12946
12947         * config/mips/t-iris5-as: New file.
12948         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
12949
12950         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
12951         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
12952         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
12953         dp-bit.c, fp-bit.c): Move ...
12954         * config/mips/t-iris5-6: ... here.
12955         New file, shared by IRIX 5 and IRIX 6.
12956         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
12957         mips-sgi-irix5*): Use it.
12958
12959         * config/mips/iris6.h: Remove duplicate comment.
12960
12961         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
12962         !TARGET_IRIX6]: Define.
12963         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
12964
12965         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
12966
12967 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12968
12969         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
12970         and delete code to force constant to register.
12971         * pa-protos.h (adddi3_operand): Add prototype.
12972         * pa.c (adddi3_operand): New function.
12973
12974 2002-07-11  Roger Sayle  <roger@eyesopen.com>
12975
12976         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
12977         non-ANSI builtin functions.
12978
12979 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
12980
12981         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
12982         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
12983         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
12984         (gen_const_vector_0): Use it.
12985
12986 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12987
12988         * pa.md (adddi3): For 32-bit targets, force constants to a register
12989         if they don't fit in an 11-bit immediate.  Change insn predicate to
12990         arith11_operand.  Remove comment.
12991         * pa.c (cint_ok_for_move): Fix comment.
12992         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
12993         targets.
12994
12995 2002-07-11  Tim Josling  <tej@melbpc.org.au>
12996
12997         Remove front end hard coding from gengtype.c.
12998
12999         * Makefile.in
13000         (STAGESTUFF): add gtyp-gen.h
13001         (GTFILES): Remove front end specific files.
13002         (GTFILES_FILES_LANGS): New, from configure..
13003         (GTFILES_FILES_FILES): Likewise.
13004         (GTFILES_LANG_DIR_NAMES): Likewise.
13005         (GTFILES_SRCDIR): Likewise.
13006         (gtyp-gen.h): Build from configure information.
13007         (s-gtype): Remove command line parameters from gengtype.
13008         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
13009         (mostlyclean): Delete files generated by and for gengtype.
13010
13011         * c-config-lang.in: New file.
13012
13013         * configure.in (all_gtfiles_files_langs): New. Accumulate files
13014         for each language.
13015         (all_gtfiles_files_files): New. Accumulate language for each file
13016         accumulated.
13017         (gtfiles): Pick up value for C.
13018         (srcdir): AC-SUBST this variable.
13019         (all_gtfiles_files_langs): AC-SUBST this variable.
13020         (all_gtfiles_files_files): AC-SUBST this variable.
13021
13022         * configure: Regenerate.
13023
13024         * gengtype-lex.l (parse_file): Make parameter const.
13025
13026         * gengtype.c (toplevel): include gtyp-gen.h.
13027         (BASE_FILE_<language> unnamed enum): Delete.
13028         (lang_names): Delete (replaced by gtyp-gen.h)
13029         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
13030         all references.
13031         (NUM_GT_FILES): New.
13032         (NUM_LANG_FILES): New.
13033         (srcdir_len): New.
13034         (NUM_BASE_FILES): Change calculation.
13035         (open_base_files): Change prototype to avoid warning.
13036         (startswith): Delete.
13037         (get_file_basename): Iterate through generated language list not
13038         hard coded list.
13039         (get_base_file_bitmap): Use generated list of files and languages.
13040         (close_output_files): Add prototype to rmove warning.
13041         (main): Iterate through list of generated files from gtyp-gen.h
13042         rather than command line paramaters.  Ignore duplicated file
13043         names.
13044
13045         * gengtype.h (parse_file): Amend prototype for const parameter.
13046
13047         * doc/sourcebuild.texi: Document gtfiles variable.
13048
13049         * doc/gty.texi: Document changes to gtfiles variable for front
13050         ends.
13051
13052         * objc/config-lang.in (gtfiles): Add files needed for objc front
13053         end.
13054
13055 2002-07-10  Roger Sayle  <roger@eyesopen.com>
13056
13057         PR c/2454
13058         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
13059         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
13060
13061 2002-07-10  Roger Sayle  <roger@eyesopen.com>
13062             Zack Weinberg <zack@codesourcery.com>
13063
13064         * builtins.def: Make the argument types of abort and exit
13065         independent of the front-end.
13066
13067 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
13068
13069         * config/rs6000/linux64.h (ASM_SPEC): Define.
13070
13071 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
13072
13073         * config/rs6000/rs6000.c (emit_frame_save): New.
13074         (rs6000_frame_related): Replace reg2 before reg.
13075         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
13076         and eh_return registers.
13077
13078 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
13079
13080         Revert all patches for optimization of Complex .op. Real.
13081         * complex_part_zero_p: Remove
13082         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
13083         with x.
13084         * expand_cmplxdiv_wide: Ditto.
13085         * expand_binop: Ditto.
13086
13087 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13088
13089         * config/avr/avr.md: Fix two 0x80000000 constants to make them
13090         negative also on 64-bit hosts.
13091
13092         Default to -fno-reorder-blocks when optimizing for size.
13093         * config/avr/avr-protos.h (avr_optimization_options): Declare.
13094         * config/avr/avr.c (avr_optimization_options): New function.
13095         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
13096
13097         Optimize returning from simple functions.
13098         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
13099         * config/avr/avr.c (avr_simple_epilogue): New function.
13100         * config/avr/avr.md (return): New insn.
13101
13102 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
13103
13104         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
13105         HAS_INIT_SECTION to protection.
13106
13107 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
13108
13109         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
13110         deprecated.
13111
13112 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
13113
13114         * combine.c (gen_lowpart_for_combine): Handle vector modes.
13115         Supply non-VOID mode to simplify_gen_subreg.
13116
13117 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
13118
13119         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
13120
13121 2002-07-10  Jeffrey A Law  <law@redhat.com>
13122
13123         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
13124         as appropriate.
13125
13126         * mn10200.c (expand_epilogue): Fix test to determine which scratch
13127         register to use.
13128
13129 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
13130
13131         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
13132         Get mode from dest.
13133         If simplify_gen_subreg fails, try next equivalent.
13134
13135 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
13136
13137         * diagnostic.h: #include location.h
13138         (location_t): Move definition to..
13139         * location.h: ... here.  New file.
13140         * tree.h: #include location.h
13141         (DECL_SOURCE_LOCATION): New macro.
13142         (DECL_SOURCE_FILE): Use.
13143         (DECL_SOURCE_LINE): Likewise.
13144         (struct tree_decl): REplace filename and linenum with locus.
13145         * Makefile.in (TREE_H): add location.h
13146         (diagnostic.o): Depends on gt-location.h
13147         (gt-location.h): Depends on s-gtype
13148
13149 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
13150
13151         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
13152         TARGET_OS_CPP_BUILTINS.
13153         * config/rs6000/aix31.h: Likewise.
13154         * config/rs6000/aix41.h: Likewise.
13155         * config/rs6000/aix43.h: Likewise.
13156         * config/rs6000/aix51.h: Likewise.
13157         * config/rs6000/beos.h: Likewise.
13158         * config/rs6000/darwin.h: Likewise.
13159         * config/rs6000/eabi.h: Likewise.
13160         * config/rs6000/eabisim.h: Likewise.
13161         * config/rs6000/linux.h: Likewise.
13162         * config/rs6000/linux64.h: Likewise.
13163         * config/rs6000/lynx.h: Likewise.
13164         * config/rs6000/mach.h: Likewise.
13165         * config/rs6000/rtems.h: Likewise.
13166         * config/rs6000/sysv4.h: Likewise.
13167         * config/rs6000/vxppc.h: Likewise.
13168
13169 2002-07-09 Devang Patel <dpatel@apple.com>
13170         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
13171         Do not allow ObjC objects as a parameter type for Objective-C methods.
13172         My previous patch restricted  'struct' also.
13173
13174 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
13175
13176         * cpperror.c (cpp_error): Default to directive_line within
13177         directives here.
13178         * cppexp.c (cpp_interpret_integer): Only use traditional
13179         number semantics in directives.
13180         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
13181         (do_include_common): Similarly.
13182         * cpptrad.c (scan_out_logical_line): Implement accurate
13183         quoting of <> in #include.
13184         * doc/cpp.texi: Update.
13185
13186 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
13187                           J"orn Rennecke <joern.rennecke@superh.com>
13188
13189         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
13190         * sh.md (attribute issues): Replace with:
13191         (attribute pipe_model).  All users changed.
13192         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
13193         All users changed.
13194         (function units sh5issue, sh5fds): New.
13195         (attribute is_mac_media): New.
13196         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
13197         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
13198         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
13199         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
13200         (call_media, call_value_media, sibcall_media): Likewise.
13201         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
13202         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
13203         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
13204         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
13205         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
13206         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
13207         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
13208         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
13209         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
13210         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
13211         (truncdfsf2_media): Likewise.
13212         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
13213         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
13214
13215 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
13216
13217         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
13218         * sh.c (general_extend_operand, inqhi_operand): New functions.
13219         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
13220         alternatives using 'N' modifier.  Add type.
13221         (adddi3z_media): Likewise.  Enable generator function generation.
13222         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
13223         exact predicates / constraints.  Add type.
13224         (subsi3): Allow 0 for SHMEDIA.
13225         (udivsi3_i4_media): Use match_operand for input values
13226         rather than hard registers.
13227         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
13228         unnecessarily through hard registers.  Keep copies of pseudo
13229         registers outside of the libcall sequence.
13230         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
13231         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
13232         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
13233         (extendhidi2, extendqidi2): Likewise.
13234         (andsi3_compact): Name.
13235         (andcdi3): Enable generator function generation.
13236         (zero_extendhisi2, zero_extendqisi2): Rename to
13237         (zero_extendhisi2_compact, zero_extendqisi2_compact).
13238         (extendhisi2, extendqisi2): Rename to
13239         (extendhisi2_compact, extendqisi2_compact).
13240         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
13241         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
13242         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
13243         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
13244         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
13245         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
13246         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
13247         (shmedia32_initialize_trampoline_big): Likewise.
13248         (shmedia32_initialize_trampoline_little): Likewise.
13249         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
13250         (negdi2): Remove spurious T clobber.
13251         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
13252         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
13253         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
13254         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
13255         (ic_invalidate_line_media): Write back data cache before invalidating
13256         instruction cache.  Add type.
13257         (movsf_media): Sign-extend when the destination is a general
13258         purpose register.  Add type.
13259         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
13260         (casesi_worker_0+1): Only increment ref count for proper label.
13261         (casesi_worker_0+2): Likewise.
13262
13263 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
13264
13265         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
13266
13267 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
13268
13269         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
13270         from Pmode to ptr_mode.
13271         (get_exception_pointer): Ditto.
13272         (connect_post_landing_pads): Ditto.
13273         (dw2_build_landing_pads): Ditto.
13274
13275 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
13276         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
13277         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
13278         (handle_pragma_redefine_extname): Change to use new function.
13279
13280 2002-07-08  Roger Sayle  <roger@eyesopen.com>
13281
13282         * combine.c (combine_simplify_rtx): Add an explicit cast
13283         to avoid signed/unsigned comparison warning.
13284         (simplify_if_then_else): Likewise.
13285         (extended_count): Likewise.
13286         (simplify_shift_const): Likewise.
13287         (simplify_comparison): Likewise.
13288
13289 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
13290
13291         * config/mips/mips.md: Add imadd type.  Update scheduler description
13292         to use imadd as well as imul.
13293         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
13294         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
13295         (*mul_sub_si): Likewise for first alternative.  Change second
13296         alternative from imul to multi.
13297
13298 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
13299
13300         * c-common.c (c_common_post_options): Update prototype;
13301         don't init backends if preprocessing only.
13302         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
13303         * langhooks.h (struct lang_hooks): Update post_options to
13304         return a boolean.
13305         * toplev.c (parse_options_and_default_flags, do_compile,
13306         lang_independent_init): Update prototypes.  Allow the
13307         front end to specify that there is no need to initialize
13308         the back end.
13309         (general_init): Move call to hex_init here...
13310         (toplev_main): ...from here.  Pass flag for back end init
13311         suppression.
13312
13313 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
13314
13315         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
13316         (PREDICATE_CODES): Add entries for equality_comparison_operator,
13317         greater_comparison_operator and less_comparison_operator.
13318         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
13319         more operators.
13320         (equality_comparison_operator): New function.
13321         (greater_comparison_operator, less_comparison_operator): Likewise.
13322         * sh.md (beq_media_i): Disable generator function generation.
13323         Use match_operator to handle a whole class of comparisons.  Add
13324         modifier in output template to provide branch prediction.  Add type.
13325         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
13326         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
13327         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
13328         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
13329
13330 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
13331
13332         Emit MMIX function prologue and epilogue as rtl.
13333         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
13334         not unprototyped get_hard_reg_initial_val.
13335         ("call_value", "nonlocal_goto_receiver"): Ditto.
13336         ("return"): Make define_expand.  Move real insn to...
13337         ("*expanded_return"): New pattern.
13338         ("prologue", "epilogue"): New define_expands.
13339         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
13340         (struct machine_function): New member in_prologue.
13341         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
13342         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
13343         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
13344         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
13345         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
13346         (LOCAL_REGNO): Define.  Adjust comment.
13347         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
13348         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
13349         leaf_function_p.
13350         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
13351         the prologue.
13352         (mmix_target_asm_function_prologue): Make static.  Just mark that
13353         the prologue is being emitted.  Move guts to...
13354         (mmix_expand_prologue): New function.  Adjust for emitting
13355         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
13356         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
13357         \n.  Move guts to...
13358         (mmix_expand_epilogue): New function.  Adjust for emitting
13359         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
13360         (mmix_target_asm_function_end_prologue): Mark that the prologue
13361         has ended.
13362         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
13363         (mmix_conditional_register_usage): Improve comments.
13364         (mmix_local_regno): New function.
13365         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
13366         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
13367         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
13368         (mmix_get_hard_reg_initial_val): Ditto.
13369
13370 2002-07-06  Andreas Jaeger  <aj@suse.de>
13371
13372         * toplev.c (set_fast_math_flags): Don't use ISO C style function
13373         definitions.
13374         * gengtype.c (open_base_files): Likewise.
13375         (close_output_files): Likewise.
13376         * tracer.c (find_best_predecessor): Likewise.
13377         (find_best_successor): Likewise.
13378         (ignore_bb_p): Likewise.
13379
13380 2002-07-05  Roger Sayle  <roger@eyesopen.com>
13381
13382         PR c++/7099
13383         * builtin-attrs.def: Define new attribute lists for use in
13384         builtins.def.
13385         * builtins.def [DEF_BUILTIN]: Modify to take an additional
13386         ATTRS argument, an enumerated value defined in builtin-attrs.def
13387         that represents the attribute list for the builtins.  Modify
13388         all builtin functions to pass an appropriate attribute list.
13389         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
13390         their required noreturn attributes.
13391         * tree.h (enum_builtin_function): Ignore the additional parameter
13392         to DEF_BUILTIN.
13393         * builtins.c (built_in_names): Likewise.
13394         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
13395         argument with a tree representing the functions attribute list.
13396         Pass this "attrs" argument to builtin_function.  No longer handle
13397         the noreturn_p processing manually.
13398         (built_in_attributes): Move the definitions from builtin-attrs.def
13399         before c_common_nodes_and_builtins.
13400         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
13401         DEF_BUILTIN, passing it to both builtin_function and the changed
13402         builtin_function_2.
13403
13404         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
13405         __builtin__exit and __builtin__Exit.
13406
13407 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13408
13409         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
13410         QI mode registers in soft registers.
13411         ("zero_extendqihi2"): Do not take into account soft registers
13412         for register allocation (use '*' constraint).
13413
13414 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13415
13416         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
13417         it is dead.
13418         ("*ashrsi3"): Likewise.
13419         ("*lshrsi3"): Likewise.
13420
13421 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
13422
13423         * genautomata.c (output_max_insn_queue_index_def): Take latencies
13424         into account.
13425
13426 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13427
13428         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
13429         address computation and memory moves.
13430
13431 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
13432
13433         PR c++/6706
13434         * dwarfout.c (output_reg_number): Fix warning message.
13435         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
13436         before using it.
13437
13438 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13439
13440         * gcc/gcc.c (asm_debug): Move initialization ...
13441         (init_spec): ... here.
13442
13443 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
13444
13445         * c-parse.in (extdef): Append ';'.
13446         (old_style_parm_decls): Append ';'.
13447
13448 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
13449
13450         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
13451         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
13452         to gcc_cv_as_gstabs_flag.
13453         * configure: Rebuilt.
13454
13455 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
13456
13457         * ggc.h (ggc_add_root): Document as obsolete.
13458
13459 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
13460
13461         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
13462         (mshflo_w): Likewise.
13463
13464 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
13465
13466         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
13467         vector mode subregs of constants to finding integer mode
13468         subregs of constants.
13469         * cse.c (cse_insn): Use simplify_gen_subreg.
13470         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
13471         From a vector mode expression of different size than the
13472         target mode.
13473
13474 2002-07-03  Eric Christopher  <echristo@redhat.com>
13475
13476         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
13477         * config/mips/mips.h: Remove deprecated -m<processor> options
13478         and cc1_cpu_spec associated.
13479         (CONSTANT_ADDRESS_P): Fix last patch.
13480         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
13481         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
13482         sunge_sf): Remove.
13483
13484 2002-07-03  Stan Shebs  <shebs@apple.com>
13485
13486         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
13487         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
13488         (CPP_SPEC): Remove insertion of APPLE_CC definition.
13489
13490 2002-07-03  Roger Sayle  <roger@eyesopen.com>
13491
13492         * combine.c (struct_undo): Change types of recorded substitutions
13493         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
13494         (do_SUBST_INT): Change types of the substitution from unsigned int
13495         to int, to avoid compilation warning from SUBST_INT's only caller.
13496
13497         (make_extraction): Add cast to avoid compilation warning.
13498         (force_to_mode): Remove cast to avoid compilation warning.
13499
13500 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
13501             Jeff Law  <law@redhat.com>
13502
13503         * i386.md (length_immediate attribute): Fix typo.
13504         (length_address attribute): Likewise.
13505         (modrm attribute): Set it to 0 for immediate call instructions.
13506         (jcc_1 pattern): Set modrm attribute to 0.
13507         (jcc_2 pattern ): Likewise.
13508         (jump pattern): Likewise.
13509         (doloop_end_internal pattern): Explicitly set length.
13510         (leave pattern): Fix typo.
13511         (leave_rex64 pattern): Likewise.
13512
13513 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
13514
13515         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
13516         in FPR as preference.
13517         (fctiwz): Same.
13518         (floatdidf2, fix_truncdfdi2): Same.
13519         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
13520         (floatditf2): Same.
13521         (floatsitf2, fix_trunctfsi2): SImode in GPR.
13522         (ctrdi): Remove FPR alternative and splitter.
13523
13524 2002-07-03  Will Cohen  <wcohen@redhat.com>
13525
13526         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
13527
13528 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
13529
13530         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
13531         than UNITS_PER_WORD, unless this is little endian and the first unit
13532         in this word.  Let extract_bit_field decide how to load an element.
13533         Force arguments to matching mode.
13534         (expand_vector_unop): Likewise.
13535
13536         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
13537         consist of word_mode elements.
13538         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
13539         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
13540         (build_unary_op): Allow vector types for BIT_NOT_EPR.
13541         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
13542         CONST_VECTOR.
13543         * optabs.c (expand_vector_binop): Try to perform operation in
13544         smaller vector modes with same inner size.  Add handling of AND, IOR
13545         and XOR.  Reject expansion to inner-mode sized scalars when using
13546         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
13547         (expand_vector_unop): Try to perform operation in smaller vector
13548         modes with same inner size.  Add handling of one's complement.
13549         When there is no vector negate operation, try a vector subtract
13550         operation.  Use simplify_gen_subreg on constants.
13551         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
13552         constants into smaller vectors with same inner mode, and to
13553         integer CONST_DOUBLEs.
13554
13555 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13556
13557         * c-parse.in (parsing_iso_function_signature): New variable.
13558         (extdef_1): New, copied from...
13559         (extdef): ... here.  Reset parsing_iso_function_signature.
13560         (old_style_parm_decls):  Reset parsing_iso_function_signature.
13561         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
13562         Warn about ISO C style function definitions.
13563         (nested_function, notype_nested_function): Reset
13564         parsing_iso_function_signature.
13565         (parmlist_2): Set parsing_iso_function_signature.
13566
13567         * doc/invoke.texi (-Wtraditional): Document new behavior.
13568
13569 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
13570
13571         * config.gcc (mips*el-*-*): Use tm_defines to set
13572         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
13573         * config/mips/little.h: Remove.
13574
13575 2002-07-02 Devang Patel <dpatel@apple.com>
13576
13577         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
13578         object as parameter. Prevent something like 'NSObject' to be
13579         used as the type for a method argument.
13580
13581 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
13582
13583         * cpptrad.c: Update comment.
13584
13585 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
13586
13587         * doc/cpp.texi: Update for traditional preprocessing changes.
13588         * goc/cppopts.texi: Similarly.
13589
13590 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
13591
13592         * c-parse.in (designator): Enable designated initializers if ObjC.
13593         (objcmessageexpr): Remove references to objc_receiver_context.
13594         * objc/objc-act.h (objc_receiver_context): Remove decl.
13595         * objc/objc-act.c (objc_receiver_context): Remove.
13596         (lookup_objc_ivar): Test objc_method_context instead of
13597         objc_receiver_context.
13598
13599 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
13600
13601         * sh.c (print_operand, case 'N'): Allow zero vector.
13602         (arith_reg_or_0_operand): Likewise.
13603         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
13604         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
13605         IOR, XOR, PLUS and SET and take their respective constant
13606         ranges into account.
13607         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
13608         * sh.md (subdi3, subdi3_media): Allow zero operand.
13609         (movv8qi_i+3): Only vector that is not split is the zero vector.
13610         Fix operand 3 to simplify_subreg.
13611         (movv2si_i): Split alternative 1.
13612         (mshfhi_l_di_rev+1): New splitter.
13613
13614 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
13615
13616         PR preprocessor/7029
13617         * cppinit.c (cpp_handle_option):  Suppress warnings with an
13618         implicit "-w" for "-M" and "-MM".
13619         * doc/cppopts.texi: Update.
13620
13621 2002-07-01  Roger Sayle  <roger@eyesopen.com>
13622
13623         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
13624         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
13625         builtin_function.
13626
13627 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
13628
13629         * README.Portability: Fix typos.
13630
13631 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
13632
13633         PR target/7177
13634         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
13635         of indirections for register inside sign-extended mem part.
13636
13637 2002-07-01  Roger Sayle  <roger@eyesopen.com>
13638
13639         * tree.h:  Modify builtin_function interface to take an extra
13640         argument ATTRS, which is a tree representing an attribute list.
13641
13642         * c-decl.c (builtin_function): Accept additional parameter.
13643         * objc/objc-act.c (builtin_function): Likewise.
13644         * f/com.c (builtin_function): Likewise.
13645         * java/decl.c (builtin_function): Likewise.
13646         * ada/utils.c (builtin_function): Likewise.
13647         * cp/decl.c (builtin_function): Likewise.
13648         (builtin_function_1): Likewise.
13649
13650         * c-common.c (c_common_nodes_and_builtins): Pass an additional
13651         NULL_TREE argument to builtin_function.  (builtin_function_2):
13652         Likewise.
13653         * cp/call.c (build_java_interface_fn_ref): Likewise.
13654         * objc/objc-act.c (synth_module_prologue): Likewise.
13655         * java/decl.c (java_init_decl_processing): Likewise.
13656         * f/com.c (ffe_com_init_0): Likewise.
13657
13658         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
13659         NULL_TREE argument to builtin_function.
13660         * config/arm/arm.c (def_builtin): Likewise.
13661         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
13662         * config/i386/i386.c (def_builtin): Likewise.
13663         * config/ia64/ia64.c (def_builtin): Likewise.
13664         * config/rs6000/rs6000.c (def_builtin): Likewise.
13665
13666 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
13667
13668         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
13669         * config/mips/t-isa3264: Likewise.
13670         * config/mmix/t-mmix: Likewise.
13671
13672 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13673
13674         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
13675
13676 2002-07-01  Roger Sayle  <roger@eyesopen.com>
13677
13678         PR opt/4046
13679         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
13680         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
13681         B are truth values.
13682
13683 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
13684
13685         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
13686
13687 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
13688
13689         * README.Portability (Function prototypes): Give an example of
13690         declaring and defining a function with no arguments.
13691
13692         * README.Portability (Function prototypes): Document new
13693         variable-argument function macros.
13694
13695 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
13696
13697         * sh.c (langhooks.h): Include.
13698         (sh_init_builtins, sh_media_init_builtins): New functions.
13699         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
13700         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
13701         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
13702         (builtin_description): New struct tag.
13703         (signature_args, bdesc): New arrays.
13704         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
13705         (print_operand): Add 'N' modifier.
13706         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
13707         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
13708         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
13709         (CONST_COSTS): Add special case for SHmedia AND.
13710         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
13711         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
13712         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
13713         target_operand can also be const or unspec.
13714         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
13715         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
13716         (attribute type): Add new types.
13717         (anddi3): Add splitter.
13718         (movdi_const_16bit+1): Add code to handle vector constants and
13719         bitmasks efficiently.
13720         (shori_media): Have generator function made.
13721         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
13722         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
13723         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
13724         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
13725         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
13726         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
13727         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
13728         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
13729         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
13730         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
13731         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
13732         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
13733         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
13734         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
13735         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
13736         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
13737         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
13738         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
13739         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
13740         (ftrv): Likewise.
13741
13742         (fpu_switch+1, fpu_switch+2): Remove constraint.
13743
13744 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
13745
13746         * tree.c (build_function_type_list): Update function comment.
13747         Rename first argument to return_type.
13748
13749 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
13750
13751         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
13752         tradcif.y and related files.
13753
13754 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
13755
13756         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
13757
13758 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13759
13760         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
13761
13762 See ChangeLog.7 for earlier changes.