OSDN Git Service

* basic-block.h (flow_bb_inside_loop_p): Correct prototype.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-12-18  Roger Sayle  <roger@eyesopen.com>
2
3         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
4
5 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
6
7         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
8         macro.
9         (vec_cmplt C++ functions): Reverse arguments.
10
11 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
12
13         * config/rs6000/t-rs6000: Move contents to t-fprules,
14         add rules for dependencies of rs6000.o and to build rs6000-c.o
15         * config/rs6000/t-fprules: New file from t-rs6000.
16         * config/rs6000/t-beos: Remove soft-fp rules.
17         * config/rs6000/t-ppccomm: Likewise.
18         * config/rs6000/t-newas: Likewise.
19         * config/rs6000/t-rs6000-c-rule: Delete.
20         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
21         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
22         Create generic Darwin rules.
23
24         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
25
26 2002-12-18  Doug Evans  <dje@sebabeach.org>
27
28         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
29         and LIT_NAME_P.
30         (move_src_operand): Remove compile-time warning.
31         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
32
33 2002-12-18  Jason Merrill  <jason@redhat.com>
34
35         * unwind-dw2-fde.c (frame_downheap): Split out from...
36         (frame_heapsort): Here.
37
38 2002-12-17  Jason Merrill  <jason@redhat.com>
39
40         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
41         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
42
43         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
44
45         * calls.c (expand_call): Don't try to be clever about expanding
46         the return slot address.
47
48         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
49         with special struct-return ABIs.
50
51 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
52
53         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
54         Define.
55
56 2002-12-17  Jason Merrill  <jason@redhat.com>
57
58         * genmultilib: Use 'cd ./foo'.
59
60 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
61
62         * doc/c-tree.texi: Restore deliberate spelling mistakes.
63
64 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
65
66         * doc/c-tree.texi: Fix typos and follow spelling conventions.
67         * doc/cpp.texi: Likewise.
68         * doc/extend.texi: Likewise.
69         * doc/gty.texi: Likewise.
70         * doc/install.texi: Likewise.
71         * doc/invoke.texi: Likewise.
72         * doc/md.texi: Likewise.
73         * doc/passes.texi: Likewise.
74         * doc/rtl.texi: Likewise.
75         * doc/sourcebuild.texi: Likewise.
76         * doc/tm.texi: Likewise.
77
78 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
79
80         * doc/invoke.texi: Minor spelling and grammar fixes.
81
82 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
83
84         * config/s390/s390.c (s390_output_constant_pool): Replace
85         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
86
87 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
88
89         * convert.c (convert_to_real): Disable function transformation for
90         now.
91
92 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
93
94         * gcc.c (handle_braces): Allow '@' as a switch name.
95
96 2002-12-16  Jason Merrill  <jason@redhat.com>
97
98         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
99         with special struct-return ABIs.
100
101         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
102         doesn't match the begin SCOPE_STMT in partialness.
103
104 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
105
106         * genmultilib: Create temporary files in unique subdirectory.
107
108         * gcc.c (validate_switches): Allow '@' as a switch name.
109
110 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
111
112         * Makefile.in (gcov-iov.h): Improve portability.
113
114 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
115
116         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
117         gas
118         * mips.md (tablejump insn): Likewise.
119
120 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
121
122         * doc/include/gcc-common.texi: Change version number to 3.4.
123
124 2002-12-16  Bruce Korb  <bkorb@gnu.org>
125
126         * fixinc/fixlib.h: add: #include <signal.h>
127         * fixinc/fixincl.c: remove: #include <signal.h>
128
129 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
130
131         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
132         (EXTRA_CONSTRAINT): Use it.
133         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
134
135 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
136
137         * config.gcc (need_64bit_hwint): New variable.
138         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
139         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
140         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
141         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
142         Set it.
143         (powerpc*-*-darwin*): Unset it.
144         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
145         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
146         deleted/nonexistent xm-*.h headers.
147         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
148         target set need_64bit_hwint in config.gcc.
149         * configure, config.in: Regenerate.
150
151         * hwint.h: Overhaul.  Don't bother trying int for
152         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
153         decision to force 64-bit HOST_WIDE_INT on
154         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
155         not visible at this point.  Don't allow prior definition of
156         any macro defined by this file.
157
158         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
159         HOST_BITS_PER_WIDE_INT.
160         * config/c4x/c4x.h: Adjust redefinition of
161         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
162         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
163         config/i386/xm-i386-interix.h: Delete file.
164
165 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
166             John David Anglin  <dave@hiauly1.hia.nrc.ca>
167
168         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
169         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
170
171 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
172
173         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
174
175 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
176
177         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
178         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
179         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
180         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
181         config/v850/t-v850:  Correct dependencies and normalize
182         compilation commands for files that include coretypes.h and tm.h.
183
184         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
185         not config.h and system.h.
186
187 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
188
189         * i386.c (flags_reg_operand):  New function.
190         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
191         * i386.md (cmov splitter, movqicc): Use new predicate.
192
193 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
194
195         * i386.md (movqicc splitter): Fix template.
196
197 2002-12-13  Jason Merrill  <jason@redhat.com>
198
199         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
200         * calls.c (expand_call): Handle it.
201         * tree-inline.c (struct inline_data): Remove target_exprs field.
202         (optimize_inline_calls): Don't initialize it.
203         (expand_call_inline): Don't modify it.  Handle
204         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
205         (declare_return_variable): Take return slot addr.
206         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
207         to return_slot_addr.
208         * langhooks-def.h, langhooks.c: Adjust.
209         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
210         a decl with no DECL_INITIAL.
211
212         * expr.c (expand_expr): Don't discard the target of a call which
213         returns in memory.
214
215 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
216
217         * cppinit.c (path_include): Take an environment variable name.
218         Tidy up.
219         (init_standard_includes): Simplify environment handling, and
220         move to ...
221         (cpp_read_main_file): ...here as -nostdinc should not affect
222         environment variable paths.
223
224 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
225
226         * pa.c (output_millicode_call): Correct typo.
227         (output_call): Likewise.
228
229 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
230
231         * config/mn10300/mn10300.c (print_operand) <case N>: Check
232         operand's range.  Print value directly, without aid from
233         output_address.
234         <case U>: New.
235         <case S>: Make sure argument to fprintf has the right type.
236         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
237         (EXTRA_CONSTRAINT): Adjust.
238         * config/mn10300/mn10300.md: Add new all-QImode pattern for
239         bclr.  Use %U for immediate operands of bset and bclr.
240         (iorqi3): New expand, with insns for AM33 and mn10300.
241
242 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
243
244         * sh.c (sh_register_operand): New function.
245         (prepare_move_operands): Use it.
246         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
247         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
248         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
249         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
250         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
251         (movv2si_i): Likewise.
252
253 2002-12-13  Jim Wilson  <wilson@redhat.com>
254
255         * doc/extend.texi (Complex Numbers): Update info on debug info.
256
257 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
258
259         * config/h8300/h8300.md (addhi3_h8300): Remove the last
260         alternative.
261
262 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
263
264         * hooks.h (hook_tree_tree_bool_false): Declare
265         hook_bool_tree_tree_false instead.
266
267 2002-12-12  Devang Patel  <dpatel@apple.com>
268
269         * doc/invoke.texi: Document Darwin linker options, -bundle
270         -bind_at_load, -all_load and -arch_errors_fatal
271
272 2002-12-12  Jim Wilson  <wilson@redhat.com>
273
274         * dbxout.c (dbxout_fptype_value): New.
275         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
276
277 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
278
279         * c-decl.c: Fix a comment typo.
280         * cfg.c: Likewise.
281         * cfgcleanup.c: Likewise.
282         * cfglayout.c: Likewise.
283         * cfgrtl.c: Likewise.
284         * c-typeck.c: Likewise.
285         * dominance.c: Likewise.
286         * dwarf2asm.c: Likewise.
287         * dwarfout.c: Likewise.
288         * expmed.c: Likewise.
289         * expr.c: Likewise.
290         * final.c: Likewise.
291         * flow.c: Likewise.
292         * function.c: Likewise.
293         * gcc.c: Likewise.
294         * genautomata.c: Likewise.
295         * integrate.c: Likewise.
296         * loop.c: Likewise.
297         * loop.h: Likewise.
298         * output.h: Likewise.
299         * profile.c: Likewise.
300         * ra.h: Likewise.
301         * reload1.c: Likewise.
302         * reload.c: Likewise.
303         * sched-rgn.c: Likewise.
304         * stmt.c: Likewise.
305         * tree.h: Likewise.
306         * vmsdbgout.c: Likewise.
307
308 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
309
310         * config/h8300/h8300.md: Add a new peephole2.
311
312 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
313
314         * config/h8300/h8300.md (a peephole2): Accept a constant
315         that's accepted by CONST_OK_FOR_J.
316
317 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
318
319         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
320         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
321         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
322         (*addhi_h8300hs): Likewise.
323
324 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
325
326         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
327         (sh_register_move_cost): Add clause for SImode fp-fp moves.
328         Increase cost for moves involving multiple general purpose registers.
329         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
330         TARGET_FMOVD.
331         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
332         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
333         (enum reg_class reg_class_from_letter): No longer const.
334         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
335         REGCLASS_HAS_GENERAL_REG.
336         Handle SImode moves from/to fp registers.
337         ! TARGET_SHMEDIA && TARGET_FMOVD.
338         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
339         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
340
341 2002-12-12  Andreas Schwab  <schwab@suse.de>
342
343         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
344         change and some warnings.
345
346 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
347
348         * doc/md.texi (pushm): Fix a typo.
349
350 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
351
352         * config/mips/mips.c (mips_output_conditional_branch): Support
353         PIC-safe out-of-range branch and branch-likely.
354         * config/mips/mips.md (attr length): PIC-safe out-of-range
355         branches are longer.
356         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
357         unused code to support indirect jumps.
358
359 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
360
361         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
362         $(tm_file_list).
363
364 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
365
366         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
367
368 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
369
370         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
371
372 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
373
374         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
375         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
376         BIGGEST_ALIGNMENT.
377         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
378         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
379
380 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
381
382         * doc/invoke.texi: Correct dump file names.
383
384 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
385
386         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
387         name to globalize_label or assemble_name.
388
389 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
390
391         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
392         if not TARGET_SHMEDIA.
393
394 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
395
396         * sh.h (REG_CLASS_HAS_FP_REG): New.
397         (REGISTER_MOVE_COST) Use it.  Put body into a function and
398         move it into:
399         * sh.c (sh_register_move_cost).
400         * sh-protos.h (sh_register_move_cost): Declare.
401
402         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
403         (sh_adjust_cost): Always return a value.
404
405 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
406
407         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
408         (REGISTER_MOVE_COST): Use it.
409
410 2002-12-11  Richard Henderson  <rth@redhat.com>
411
412         * tree.h (MODULE_LOCAL_P): Kill.
413         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
414
415 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
416
417         * config/h8300/h8300.md (two define_peephole2): New.
418
419 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
420
421         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
422         (CONST_OK_FOR_K): Likewise.
423         (CONST_OK_FOR_M): Likewise.
424         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
425
426 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
427
428         * c-common.c (builtin_define_type_max): Handle unsigned
429         types too.
430
431 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
432
433         * haifa-sched.c (rank_for_schedule): Correct style.
434
435 2002-12-10  Per Bothner  <pbothner@apple.com>
436
437         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
438         directive_index into an unsigned field and a new is_directive field.
439         * cppinit.c (mark_named_operators):  Update to set new fields.
440         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
441         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
442         No longer need to subtract 1 from directive_index.
443         (_cpp_init_directives):  No longer need to add 1 to directive_index.
444         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
445
446 2002-12-10  Roger Sayle  <roger@eyesopen.com>
447
448         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
449         check for evaluating sqrt of a constant at compile time.
450         * simplify-rtx.c (simplify_unary_operation): Likewise.
451
452 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
453
454         PR other/8882
455         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
456
457 2002-12-10  Devang Patel  <dpatel@appple.com>
458
459         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
460         * doc/invoke.texi: Add new "Darwin Options" section.
461
462 2002-12-10  Jim Wilson  <wilson@redhat.com>
463
464         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
465         memory.
466
467 2002-12-10  Andrew Haley  <aph@redhat.com>
468
469         * cse.c (cse_insn): Don't cse past a basic block boundary.
470
471 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
472
473         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
474         -shared.
475         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
476         * config/alpha/linux.h (LIB_SPEC): Likewise.
477         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
478         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
479         * config/sparc/linux.h (LIB_SPEC): Likewise.
480         * config/sparc/linux64.h (LIB_SPEC): Likewise.
481
482 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
483
484         * doc/invoke.texi: Document UltraSparc III option.
485
486 2002-12-09  Richard Henderson  <rth@redhat.com>
487
488         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
489         __tune_pentium2__ and __tune_pentium3__ as necessary.
490
491 2002-12-09  Richard Henderson  <rth@redhat.com>
492
493         * target.h (gcc_target): Add cannot_force_const_mem.
494         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
495         (TARGET_INITIALIZER): Add it.
496         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
497         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
498         * reload1.c (reload): Likewise.
499         * hooks.c (hook_bool_rtx_false): New.
500         * hooks.h: Declare it.
501
502         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
503         (TARGET_CANNOT_FORCE_CONST_MEM): New.
504         (ix86_expand_move): Remove de-const-pooling hack.
505
506 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
507
508         * toplev.c (dump_file): Fix order to match reality.
509
510 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
511
512         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
513         (store_multiple): Likewise.
514
515 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
516
517         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
518         function pointers in page 0.
519
520 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
521
522         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
523         definition
524         (MEMBER_TYPE_FORCES_BLK): Move.
525         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
526         aggregate arguments.
527         (ia64_function_value): Use PARALLEL to return aggregate values.
528
529 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
530
531         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
532         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
533         * calls.c (store_unaligned_arguments_into_pseudos) Remove
534         FUNCTION_ARG_REG_LITTLE_ENDIAN.
535         * stmt.c (expand_return): Ditto.
536         * expr.c (move_block_from_reg): Ditto.
537         (copy_blkmode_from_reg): Ditto.
538         * expmed.c (store_bit_field): Ditto.
539
540 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
541
542         * config.gcc: Added tic4x-* target as an alias to c4x-*
543
544 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
545
546         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
547         constructing insn directly.
548
549 2002-12-06  Per Bothner  <pbothner@apple.com>
550
551         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
552         char to an int bit-field, for hosts where char is unsigned.
553
554 2002-12-07  Roger Sayle  <roger@eyesopen.com>
555             Richard Henderson <rth@redhat.com>
556
557         * real.c (ieee_extended_motorola_format,
558         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
559         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
560         Provide appropriate values for new signbit field.
561
562 2002-12-07  Roger Sayle  <roger@eyesopen.com>
563
564         * real.h (real_format): Add signbit field.
565         * real.c (ieee_single_format, ieee_double_format,
566         ieee_extended_motorola_format, ieee_extended_intel_96_format,
567         ieee_extended_intel_128_format, ibm_extended_format,
568         ieee_quad_format, vax_f_format, vax_d_format,
569         vax_g_format, i370_single_format, i370_double_format,
570         c4x_single_format, c4x_extended_format, real_internal_format):
571         Provide suitable signbit value, or -1 to avoid bit twiddling.
572
573         * optabs.c (expand_unop): Try implementing negation of
574         floating point modes by flipping the sign bit.
575         (expand_abs): Try implementing abs of floating point modes
576         by clearing the sign bit.
577
578 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
579
580         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
581         of constructing insn directly.
582
583 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
584
585         * config/h8300/h8300.md (*iorhi_shift_8): New.
586
587 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
588
589         * doc/invoke.texi: Document FRV port options.
590         * doc/md.texi: Document FRV register classes.
591
592 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
593
594         * doc/install.texi (Configuration): Improve description of cases
595         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
596
597 2002-12-06  Per Bothner  <pbothner@apple.com>
598
599         * cpplib.h (NODE_MACRO_ARG):  New flag.
600         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
601         Remove value.operator field.  Move arg_index field to value union.
602         (directive_index):  Make signed, since also used for C++ operators.
603         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
604         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
605         Save node->value, and set node->value.arg_index.
606         (_cpp_create_definition):  For each paramater, restore node->value.
607         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
608         * cpptrad.c (scan_out_logical_line): Likewise.
609         (scan_out_logical_line): Check for directive > 0.
610         * cpplib.c (cpp_handle_directive):  Likewise.
611         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
612         by negative of directive_index.
613         * cppinit.c (mark_named_operators):  Likewise.
614
615         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
616
617 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
618
619         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
620         FPU.
621         (push): Generate push_fpscr.
622         (pop): Generate pop_fpscr.
623         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
624         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
625
626 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
627
628         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
629         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
630
631 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
632
633         * sh.md (movdi_i): Name.  Remove inappropriate comment.
634
635 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
636         Merged from basic improvements branch (excerpt):
637
638         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
639         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
640
641 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
642
643         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
644
645 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
646
647         * i386.md (dimode peep2s): Re-add "&& 1".
648
649 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
650
651         * i386.c (ix86_expand_prologue):  Add comment, do not use
652         fast prologues for cold and normal functions.
653
654 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
655
656         * i386.c (x86_rep_movl_optimal): New variable.
657         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
658         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
659
660         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
661         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
662         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
663         generate unnecesary subregs.
664
665 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
666
667         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
668         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
669
670 2002-12-05  Dale Johannesen  <dalej@apple.com>
671
672         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
673
674 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
675
676         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
677         PROFILE_HOOK.
678         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
679
680 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
681
682         * config/rs6000/spe.h (__ev_mwlufi): Remove.
683         (__ev_mwlufia): Remove.
684         (__ev_mwlumfaaw): Remove.
685         (__ev_mwlusfaaw): Remove.
686         (__ev_mwlumfanw): Remove.
687         (__ev_mwlusfanw): Remove.
688
689 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
690
691         * config/h8300/h8300.md (*andorsi3_shift_8): New.
692
693 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
694
695         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
696         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
697         (get_shift_alg): Return optimal assembly instructions for the
698         shifts mentioned above.
699
700 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
701
702         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
703         condtiional moves.
704
705 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
706
707         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
708         implement ashiftrt:HI by 13 bits on H8S.
709
710 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
711
712         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
713         * pa.md (canonicalize_funcptr_for_compare): Output library call to
714         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
715         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
716         CTOR_LIST_BEGIN): New defines.
717         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
718         (fptr.c): Add make rules.
719
720 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
721
722         * combine.c (combine_simplify_rtx): Add new canonicalizations.
723         * doc/md.texi (Insn Canonicalizations): Document new
724         canonicalizations for multiply/add combinations.
725         * config/rs6000/rs6000.md: Add and modify floating add/multiply
726         patterns to ensure they're used whenever they can be.
727
728 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
729
730         * config/h8300/h8300.c: Update the comments related to shifts.
731
732 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
733
734         * config/mips/mips.md (get_fnaddr): Correct length attribute.
735
736 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
737
738         * config/h8300/h8300.md (*extzv_8_8): New.
739         (*extzv_8_16): Likewise.
740
741 2002-12-04  Jason Merrill  <jason@redhat.com>
742
743         PR c++/8461, c++/8625
744         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
745         references.
746         * tree-inline.c (initialize_inlined_parameters): Likewise.
747
748         * tree.c (variably_modified_type_p): Just return an error_mark_node.
749
750 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
751
752         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
753         macro instruction in a branch delay slot, to avoid assembler
754         warnings.
755
756 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
757
758         PR c/7622
759         * c-semantics (genrtl_scope_stmt): Do not output inlined
760         nested functions that contain no code.
761
762 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
763
764         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
765         to be forced into nonfallthru.
766
767 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
768
769         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
770
771 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
772
773         * config/rs6000/spe.md (*movv1di_const0): New pattern.
774
775 2002-12-03  Richard Henderson  <rth@redhat.com>
776
777         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
778
779 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
780
781         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
782         Initialize tmp.using_obstack to 0.
783
784 2002-12-03  Andreas Schwab  <schwab@suse.de>
785
786         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
787         (EH_RETURN_STACKADJ_RTX): Define.
788         (EH_RETURN_HANDLER_RTX): Define.
789         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
790         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
791         registers and don't save fixed registers.
792         (m68k_output_function_prologue): Use it.
793         (use_return_insn): Likewise.
794         (m68k_output_function_epilogue): Likewise.
795
796 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
797
798         * config/h8300/h8300.c (single_one_operand): Fix a warning.
799         (single_zero_operand): Likewise.
800
801 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
802
803         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
804         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
805         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
806         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
807         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
808         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
809         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
810         doc/install-old.texi: Replace hconfig.h with bconfig.h.
811         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
812
813 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
814
815         * config/rs6000/rs6000.md (ffssi): Convert to expander.
816         (ffsdi): Likewise.
817         (cntlzw2, cntlzd2): New patterns.
818
819 2002-12-02  H.J. Lu <hjl@gnu.org>
820
821         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
822         (mips*-*-linux*): Remove mips/t-linux.
823
824 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
825
826         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
827
828 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
829
830         * config/h8300/h8300.c (dosize): Replace argument op with
831         sign.
832         (h8300_output_function_prologue): Update the call to dosize.
833         (h8300_output_function_epilogue): Likewise.
834
835 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
836
837         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
838
839 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
840
841         * configure.in: Use "missing" script to generate warning if
842         flex or bison programs not found, instead of invoking "false".
843         * configure: Rebuilt.
844
845 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
846
847         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
848
849 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
850
851         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
852
853 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
854
855         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
856         (push): Likewise.
857         (pop): Likewise.
858         (h8300_output_function_prologue): Likewise.
859         (h8300_output_function_epilogue): Likewise.
860
861 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
862
863         * expmed.c (store_bit_field): Use int_mode_for_mode to find
864         corresponding mode of non-integer mode, unless it is VOIDmode.
865
866 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
867
868         * config/h8300/h8300.md (stm_h8300s_2): New.
869         (stm_h8300s_3): Likewise.
870         (stm_h8300s_4): Likewise.
871         (five define_peephole2): Likewise.
872
873 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
874
875         * ra-build.c: Fix a comment typo.
876
877 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
878
879         * i386.c (ix86_expand_int_movcc): fix
880         reversed BRANCH_COST test; be curefull about infinite recursion.
881
882 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
883
884         * config/h8300/h8300.c (h8300_output_function_prologue):
885         Remove variable idx.
886         (h8300_output_function_epilogue): Likewise.
887
888 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
889
890         * config/frv/xm-frv.h: Delete, unnecessary.
891
892 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
893
894         * config/h8300/h8300.md: Add comments for define_peephole2.
895
896 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
897
898         * builtin-types.def (BT_SIZE): Use size_type_node.
899         * builtins.c (fold_builtin): Make the builtin strlen returns a
900         size_t, not a sizetype.
901         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
902         c_size_type_node.
903         (c_alignof_expr): Likewise.
904         (c_common_nodes_and_builtins): Likewise.
905         * c-common.h (CTI_C_SIZE_TYPE): Remove.
906         (c_size_type_node): Likewise.
907         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
908         * tree.h (TI_SIZE_TYPE): New enumeral.
909         (size_type_node): Likewise.
910
911 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
912
913         * configure.in: Don't put ${tm_file} into host_xm_file,
914         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
915         Take location of tm-preds.h into account when calculating
916         tm_p_file_list.
917         * configure: Regenerate.
918         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
919         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
920         Remove special case code for tm_p.h and *config.h; add new
921         special case code for tm.h and tconfig.h. Clean up a bit.
922
923         * Makefile.in (tm_file, tm_file_list): New variables set from
924         @-substitutions.
925         (GCONFIG_H): Deleted.
926         (GTM_H, TM_H): New.
927         (CONFIG_H): Is now just config.h $(host_xm_file_list).
928         (TM_P_H): Move up with the other mkconfig.sh-generated
929         headers; don't mention tm-preds.h explicitly.
930         (tm.h, cs-tm.h): New rule.
931         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
932         invocations of mkconfig.sh for changes to that program.
933         (mostlyclean): Delete print-rtl1.c.
934         (clean): Delete tm.h.
935         Update dependencies for the files listed below.
936
937         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
938
939         * coretypes.h: New file.
940         * system.h: #define malloc to xmalloc and realloc to xrealloc
941         when FLEX_SCANNER or YYBISON is defined, independent of the
942         value of GCC_VERSION.
943         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
944         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
945         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
946         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
947         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
948         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
949         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
950         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
951         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
952         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
953         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
954         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
955         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
956         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
957         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
958         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
959         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
960         genconstants.c, genemit.c, genextract.c, genflags.c,
961         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
962         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
963         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
964         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
965         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
966         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
967         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
968         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
969         print-tree.c, profile.c, protoize.c, ra-build.c,
970         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
971         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
972         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
973         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
974         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
975         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
976         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
977         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
978         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
979         xcoffout.c, config/darwin-c.c, config/darwin.c,
980         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
981         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
982         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
983         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
984         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
985         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
986         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
987         config/i960/i960-c.c, config/i960/i960.c,
988         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
989         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
990         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
991         config/mips/irix6-libc-compat.c, config/mips/mips.c,
992         config/mmix/mmix.c, config/mn10200/mn10200.c,
993         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
994         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
995         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
996         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
997         config/sparc/sparc.c, config/stormy16/stormy16.c,
998         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
999         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
1000         Include coretypes.h and tm.h.
1001
1002         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
1003         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
1004         genrecog.c: Include coretypes.h and tm.h from the file
1005         generated by this program.
1006
1007         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
1008         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
1009         coretypes.h and tm.h, and tsystem.h when not already included.
1010         No need to include stddef.h nor stdlib.h.
1011
1012         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
1013         include auto-host.h or ansidecl.h/
1014         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
1015         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
1016         include auto-host.h, ansidecl.h, or system.h.
1017         * fixinc/server.c: Likewise.  Also, do not include signal.h,
1018         and do not redefine volatile.
1019
1020 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
1021
1022         * i386.md (movdf_integer):  Always enable in 64bit.
1023         (movdf_nointeger): Always disable in 64bit.
1024
1025 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1026
1027         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
1028         pseudo register number plus 1.
1029
1030 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
1031
1032         * expmed.c (store_bit_field): Use int_mode_for_mode to find
1033         corresponding mode of non-integer mode, unless it is VOIDmode.
1034
1035 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
1036
1037         * cpplib.c (_cpp_test_assertion): Default *value to 0.
1038
1039         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
1040
1041 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
1042
1043         * config/s390/t-crtstuff: New target makefile fragment.
1044         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
1045
1046 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1047
1048         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
1049         alternatives to correct the length when the memory operand is
1050         either pre_dec or post_inc.
1051
1052 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1053
1054         * config/h8300/h8300.md (an anonymous pattern): Give an
1055         internal name *tst_extzv_bitqi_1_n.
1056         Accept bit_operand instead of bit_memory_operand.
1057         Do not accept bit tests with the MSB.
1058         (*tst_extzv_memqi_1_n): New.
1059
1060 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
1061
1062         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
1063         sharing when operand is SUBREG.
1064
1065 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
1066
1067         * athlon.md (athlon-decodev): New reservation unit.
1068         (athlon-direct0): New reservation.
1069         (athlon-vector): New use athlon-decodev.
1070         (athlon-double, athlon-direct): Better model.
1071         (athlon_imul_k8): Use athlon-direct0.
1072         (athlon_movlpd_load): New insn reservation.
1073
1074 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1075
1076         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
1077         Fix a comment typo.
1078         (h8300_tiny_constant_address_p): Likewise.
1079
1080 2002-11-28  Michael Matz  <matz@suse.de>
1081
1082         * doc/passes.texi: Mention the other register allocator.
1083
1084 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1085
1086         * config/h8300/h8300.md (6 new peephole2 patterns): New.
1087
1088 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
1089
1090         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
1091         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
1092         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
1093
1094 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1095
1096         * config/h8300/h8300.c (h8300_and_costs): New.
1097         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
1098         * config/h8300/h8300-protos.h: Add a prototype for
1099         h8300_and_costs.
1100
1101 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
1102
1103         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
1104         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
1105         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
1106         * i386.md (truncdfsf patterns and splitters): Use
1107         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
1108
1109 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
1110
1111         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
1112         pointer argument in the prototypes of the following builtins
1113         be (const TYPE *) rather than (TYPE *):
1114          + __builtin_altivec_ld_internal_4sf
1115          + __builtin_altivec_ld_internal_4si
1116          + __builtin_altivec_ld_internal_8hi
1117          + __builtin_altivec_ld_internal_16qi
1118          + __builtin_altivec_lvsl
1119          + __builtin_altivec_lvsr
1120          + __builtin_altivec_lvebx
1121          + __builtin_altivec_lvehx
1122          + __builtin_altivec_lvewx
1123          + __builtin_altivec_lvxl
1124          + __builtin_altivec_lvx
1125          + __builtin_altivec_dst
1126          + __builtin_altivec_dstt
1127          + __builtin_altivec_dstst
1128          + __builtin_altivec_dststt
1129
1130 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1131
1132         * except.c (default_exception_section): Move variable into the
1133         scope where it is used.
1134
1135 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
1136
1137         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
1138         correct version.
1139
1140 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1141
1142         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
1143
1144 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1145
1146         * config/h8300/h8300.c (h8300_shift_costs): New.
1147         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
1148         * config/h8300/h8300-protos.h: Add a prototype for
1149         h8300_shift_costs.
1150
1151 2002-11-27  Jim Wilson  <wilson@redhat.com>
1152
1153         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
1154         in output template.
1155
1156 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
1157
1158         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
1159         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
1160         DLL_IMPORT_EXPORT_PREFIX, not '@'.
1161         (i386_pe_dllimport_name_p): Likewise.
1162         (i386_pe_mark_dllexport): Likewise.
1163         (i386_pe_mark_dllimport): Likewise.
1164         (i386_pe_encode_section_info): Likewise.
1165         (i386_pe_strip_name_encoding): Likewise.
1166
1167 2002-11-27  Richard Henderson  <rth@redhat.com>
1168
1169         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
1170         (nm && NF == 3): Set sawsymbol true.
1171         (END): Exit if no symbols seen.
1172         (output): Fix map syntax error if no globals for the version.
1173
1174 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
1175
1176         * builtins.def (DEF_C99_BUILTIN): Fix.
1177
1178 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
1179
1180         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
1181         (all): Add .size and .type information.
1182
1183 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
1184
1185         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
1186         partial_reg_stall target.
1187
1188 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1189
1190         * i386.md (movhicc): Allow general operand.
1191         (movqicc): New expander.
1192         (movqicc_noc): New pattern.
1193         * i386.c (ix86_expand_carry_flag_compare): New function.
1194         (ix86_expand_int_movcc): Optimize harder using sbb; support more
1195         HImode conversion; support QImode conditional moves
1196
1197 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
1198
1199         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
1200         (ix86_expand_prologue): Multiply the count by amount of registers to be
1201         pushed.
1202
1203 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
1204
1205         * i386.c (override_options): Error about wrong -mcpu on x86-64
1206         compilation.
1207
1208 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
1209
1210         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
1211
1212 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
1213
1214         * i386-protos.h (x86_extended_QIreg_mentioned_p,
1215         x86_extended_reg_mentioned_p): Declare.
1216         * i386.c (extended_reg_mentioned_1): New static function.
1217         (x86_extended_QIreg_mentioned_p,
1218         x86_extended_reg_mentioned_p): New global functions.
1219         * i386.h (REX_SSE_REGNO_P): New macro.
1220         * i386.md (prefix_rex): New attribute.
1221         (length attribute): Add rex.
1222
1223 2002-11-26  Andrew Haley  <aph@redhat.com>
1224
1225         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
1226         from_Unwind_Find_Enclosing_Function.
1227         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
1228         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
1229         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
1230         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
1231         * unwind.h (_Unwind_FindEnclosingFunction): Add.
1232
1233 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1234
1235         * config/s390/s390.c (390_output_constant_pool): Set alignment
1236         before label in 64 bit mode, behind otherwise.
1237
1238 2002-11-26  Richard Henderson  <rth@redhat.com>
1239
1240         * c-common.c (handle_visibility_attribute): Accept "default".
1241         * tree.h (enum symbol_visibility): New.
1242         (decl_visibility): Declare.
1243         * target.h (gcc_target.visibility): Take visibility arg as integer.
1244         * varasm.c (default_assemble_visibility): Likewise.
1245         (decl_visibility): New.
1246         (maybe_assemble_visibility): Use it.
1247         * output.h (default_assemble_visibility): Update prototype.
1248         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
1249         visibility arg as integer.
1250         * doc/extend.texi: Document default visibility.
1251
1252 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
1253
1254         * config/h8300/h8300.c: Adjust spacing.
1255         * config/h8300/h8300.h: Likewise.
1256
1257 2002-11-26  Richard Henderson  <rth@redhat.com>
1258
1259         * hooks.c (hook_bool_void_false, hook_void_tree_int,
1260         hook_void_FILEptr_constcharptr): Rename so that the return
1261         type is first.
1262         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
1263         hook_bool_tree_false): New.
1264         * hooks.h: Update.
1265         * langhooks-def.h: Update for renames.
1266         * target-def.h: Likewise.
1267         * tree.c (default_comp_type_attributes,
1268         default_set_default_type_attributes, default_insert_attributes,
1269         default_function_attribute_inlinable_p,
1270         default_ms_bitfield_layout_p): Remove.
1271         * tree.h: Update.
1272
1273 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1274
1275         * pa-protos.h (function_value): New prototype.
1276         * pa.c (function_value): Use a PARALLEL to return small aggregates on
1277         TARGET_64BIT.
1278         * pa.h (FUNCTION_VALUE): Use function_value.
1279         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
1280         call_value_internal_reg, sibcall_value_internal_symref,
1281         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
1282         value.
1283
1284 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1285
1286         * expr.c (gen_group_rtx, emit_group_move): New functions.
1287         * expr.h (gen_group_rtx, emit_group_move): Prototype.
1288         * function.c (expand_function_start): Use gen_group_rtx to create a
1289         PARALLEL rtx to hold the return value when the real return rtx is a
1290         PARALLEL.
1291         (expand_function_end): Use emit_group_move to move the return value
1292         from a PARALLEL to the real return registers.
1293         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
1294         in PARALLELs.
1295
1296 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1297
1298         * config/t-libc-ok: Fix typo.
1299
1300 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1301
1302         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
1303         before AC_PROG_CC.
1304         * configure: Rebuilt.
1305
1306 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
1307
1308         * c-decl.c: (start_struct): Commonize flag setting.
1309
1310 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1311
1312         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
1313         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
1314         RS6000_CPU_CPP_ENDIAN_BUILTINS.
1315         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
1316
1317 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1318
1319         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
1320         insns.
1321         * config/s390/s390.c (struct machine_function): Introduction of
1322         struct machine_function.
1323         (s390_output_symbolic_const): Use of cfun.
1324         (s390_optimize_prolog): Likewise.
1325         (s390_fixup_clobbered_return_reg): Likewise.
1326         (s390_frame_info): Likewise.
1327         (s390_emit_prologue, s390_emit_epilogue): Likewise.
1328         (s390_init_machine_status): New function.
1329         (override_options): call s390_init_machine_status.
1330         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
1331         prototype.
1332
1333 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1334
1335         * varasm.c (output_constant_pool): For pool constants in mergeable
1336         section ensure each constant is padded to multiple of entity size.
1337
1338 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1339
1340         * varasm.c (default_exception_section): Move to...
1341         * except.c (default_exception_section): ... here. Make
1342         .gcc_except_table read-only if it is not expected to have any
1343         dynamic relocations and linker handles it.
1344         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
1345         if it is not expected to have any dynamic relocations and linker
1346         handles it.
1347         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
1348         when linking read-only and read-write sections together.
1349         * configure, config.in: Rebuilt.
1350         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
1351         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
1352
1353 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
1354
1355         * i386.md (pushsf_rex64): Fix typo.
1356
1357 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1358
1359         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
1360         new function.
1361         (__ev_create_ufix32_fs): Same.
1362         (__ev_get_sfix32_fs_internal): New.
1363         (__ev_get_sfix32_fs): Define to use function.
1364         (__ev_get_ufix32_fs_internal): New.
1365         (__ev_get_ufix32_fs): Define to use function.
1366         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
1367         (__ev_get_lower_ufix32_fs): Same.
1368         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
1369         (__ev_get_lower_sfix32_fs): Same.
1370         (__ev_set_sfix32_fs_internal): New.
1371         (__ev_set_ufix32_fs_internal): New.
1372         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
1373         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
1374         (__ev_set_upper_sfix32_fs): Call function.
1375         (__ev_set_lower_sfix32_fs): Same.
1376         (__ev_set_upper_ufix32_fs): Same.
1377         (__ev_set_lower_ufix32_fs): Same.
1378
1379 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
1380
1381         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
1382
1383 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1384
1385         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
1386         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1387         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1388         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
1389         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
1390         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1391         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
1392         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
1393         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1394         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1395         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
1396         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
1397         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
1398         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1399         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
1400         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
1401         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
1402         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
1403         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
1404         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
1405         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1406         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
1407         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
1408         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
1409         defining.
1410         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
1411         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
1412
1413 2002-11-25  Dave Pitts  <dpitts@cozx.com>
1414
1415         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
1416
1417 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
1418
1419         * config/h8300/h8300.md (an anonymous pattern): New.
1420
1421 2002-11-25  Richard Henderson  <rth@redhat.com>
1422
1423         * alias.c (find_base_value): Use new_reg_base_value if it's live.
1424         (copying_arguments): Make boolean.
1425
1426 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1427
1428         * gcc.c (static_spec_functions): Add if-exists-else spec
1429         function.
1430         (if_exists_else_spec_function): New function.
1431         * doc/invoke.texi: Document the if-exists-else spec function.
1432
1433         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
1434         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
1435
1436 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1437
1438         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
1439         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
1440         "${tmake_file} rs6000/t-netbsd".
1441         * config/rs6000/netbsd.h: Rewrite.
1442         * config/rs6000/t-netbsd: New file.
1443
1444 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
1445
1446         * config/h8300/h8300.md (an anonymous pattern): Relax the
1447         condition for the pattern.
1448
1449 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1450
1451         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
1452         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
1453         evmwlssfanw, evmwlsmfanw.
1454
1455         * config/rs6000/rs6000.c (bdesc_2arg): Same.
1456
1457         * config/rs6000/spe.md: Same for patterns.
1458
1459 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
1460
1461         PR c/8639
1462         * fold-const.c (extract_muldiv): Don't propagate division unless
1463         both arguments are multiples of C.
1464
1465 2002-11-25  Andrew Haley  <aph@redhat.com>
1466
1467         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
1468         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
1469         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
1470         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
1471
1472 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
1473
1474         * i386.c (x86_use_ffreep): New global variable.
1475         * i386.h (x86_use_frfeep): Declare
1476         (TARGET_USE_FFREEP): New macro
1477         * i386.md  (movs?f*): Use freep when asked for.
1478         (push?f): Remove dead code.
1479
1480 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1481
1482         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
1483         target help message.
1484
1485 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1486
1487         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
1488         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
1489         crtbeginT.o".
1490         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
1491         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
1492         to "" for a.out configurations.
1493         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
1494
1495 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1496
1497         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
1498         NETBSD_CPP_SPEC directly.
1499         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
1500         netbsd_endfile_spec.
1501         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
1502
1503 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1504
1505         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
1506         NETBSD_STARTFILE_SPEC.
1507         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
1508         (ENDFILE_SPEC): Likewise.
1509         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
1510
1511 2002-11-24  Andreas Schwab  <schwab@suse.de>
1512
1513         * Makefile.in (install-driver): Remove versioned link before
1514         trying to create it.
1515
1516         * config/m68k/m68k.c: Fix typo in last change defining
1517         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
1518
1519 2002-11-23  H.J. Lu <hjl@gnu.org>
1520
1521         * aclocal.m4: Include ../config/accross.m4.
1522         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
1523         (gcc_AC_C_COMPILE_ENDIAN): Removed.
1524         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
1525         instead of $ac_cv_c_compile_endian.
1526
1527         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
1528         AC_COMPILE_CHECK_SIZEOF.
1529         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
1530         * configure: Rebuild.
1531
1532 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
1533
1534         * config/h8300/h8300.c (print_operand): Update the use of
1535         h8300_tiny_constant_address_p.
1536         (h8300_adjust_insn_length): Likewise.
1537         (h8300_tiny_constant_address_p): Check if the given rtx is a
1538         variable declared with __attribute__ ((tiny_data)).
1539
1540 2002-11-22  Dale Johannesen  <dalej@apple.com>
1541
1542         * toplev.c (rest_of_compilation):  Fix comments.
1543
1544 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
1545
1546         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
1547         allow mmap from /dev/zero.  Don't make decisions for the host
1548         based on presence or absence of /dev/zero on the build machine.
1549         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
1550         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
1551         * configure: Regenerate.
1552
1553 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
1554
1555         * gcc.c (make_relative_prefix, split_directories)
1556         (free_split_directories): Removed.
1557
1558 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
1559
1560         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
1561         * configure: Regenerated.
1562
1563 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
1564
1565         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
1566         length computation when xor.l is output.
1567
1568 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
1569
1570         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
1571         (call_vms_1, call_value_vms_1): Cleanup syntax.
1572
1573 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
1574
1575         * athlon.md (define_atuomaton): Add athlon_load.
1576         (athlon-double): New reservation.
1577         (athlon-ieu0): New CPU unit.
1578         (athlon-load?): Use athlon_load automaton.
1579         (*_k8 reservations): New.
1580         (other insn revervations): Activate for K8.
1581
1582 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
1583
1584         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
1585
1586 2002-11-21  Jim Wilson  <wilson@redhat.com>
1587
1588         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
1589         vectors to SI.
1590
1591 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
1592
1593         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
1594         * config/xtensa/xtensa.c (struct machine_function): Add
1595         incoming_a7_copied flag.
1596         (xtensa_copy_incoming_a7): Define.
1597         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
1598         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
1599
1600 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
1601
1602         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
1603         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
1604         x86_64_nonmemory_operand, x86_64_movabs_operand,
1605         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
1606         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
1607         (local_symbolic_operand): Do not care the 64bit limits.
1608         (x86_64_sign_extended_value): Remove allow_rip support.
1609         (legitimate_pic_address_disp_p): Handle all cases allowed
1610         with RIP addressing.
1611         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
1612         (legitimize_pic_address): Reorganize.
1613         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
1614
1615 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1616
1617         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
1618         * config/arm/netbsd-elf.h: New file.
1619
1620 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1621
1622         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
1623         subtarget_asm_float_spec.
1624         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
1625         defaults from...
1626         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
1627
1628 2002-11-21  Nick Clifton  <nickc@redhat.com>
1629
1630         * config/fr30/fr30.md (movsf_constant_store): Move code to
1631         detect 0.0 into fr30.c.
1632         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
1633         Prototype.
1634         * config/fr30/fr30.c (fr30_const_double_is_zero): New
1635         function.  Return true if the rtx is 0.0.
1636
1637 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1638
1639         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
1640         if -mlittle-endian is specified.
1641
1642 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
1643
1644         PR optimization/2903
1645         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
1646         (anddi_notsesidi_di): Likewise.
1647
1648 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
1649
1650         * config/h8300/h8300.c (print_operand): Use
1651         h8300_eightbit_constant_address_p and
1652         h8300_tiny_constant_address_p.
1653         (h8300_adjust_insn_length): Likewise.
1654         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
1655         (TINY_CONSTANT_ADDRESS_P): Likewise.
1656         (OK_FOR_U): Use eightbit_constant_address_p.
1657
1658 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
1659
1660         * config/s390/libgcc-libc.ver: Add multilib support.
1661         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
1662         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
1663         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
1664         EXTRA_MULTILIB_PARTS): Define.
1665
1666 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
1667
1668         * arm.c (arm_get_frame_size): A leaf function does not need its
1669         stack padding to an aligned boundary if it has no frame.
1670         (thumb_get_frame_size): Likewise.
1671
1672 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
1673
1674         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
1675         (override_options): Likewise.
1676
1677 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
1678
1679         * config.gcc: Add k8 target alias support
1680         * i386.c (_cost): Declare costs for various variants of divides and
1681         multiplies.
1682         (k8_cost): New.
1683         (m_K8, m_ATHLON_K8): New macros.
1684         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
1685         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
1686         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
1687         x86_integer_DFmode_moves, x86_partial_reg_dependency,
1688         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
1689         x86_prologue_using_move, x86_epilogue_using_move,
1690         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
1691         x86_sse_typeless_stores): Set for K8
1692         (override_options): Add k8 support; fix athlon alignment;
1693         complain about non-x86-64 capable CPU being used in x86-64 compilation.
1694         (ix86_issue_rate): Set for K8.
1695         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
1696         x86_machine_dependent_reorg): Handle K8 like
1697         * i386.h
1698         (x86_costs):  Change mult_init and divide into array.
1699         (TARGET_K8, TARGET_ATHLON): New macros.
1700         (MODE_INDEX): New macro.
1701         (RTX_COST): Use new costs.
1702         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
1703         (TARGET_CPU_DEFAULT_NAMES): Add k8
1704         (TARGET_CPU_DEFAULT_k8): New constant
1705         (enum processor_type): Add PROCESSOR_K8.
1706         * i386.md (cpu attribute): Add k8.
1707
1708         * invoke.texi: Document -march=k8.
1709
1710         * i386.md (type attribute): Add leave
1711         (mode attribute): Remove unknownfp.
1712         (length_immediate, modrm, memory attributes): Handle leave correctly.
1713         (fp comparison patterns): Determine FP mode.
1714         (leave, leave_rex64): Remove special cases.
1715         * ppro.md (ppro_uops, ppro_p2): Add leave
1716         * pentiun.md (pent_pop): Handle leave too.
1717         * k6.md (k6_load): Handle leave.
1718         * athlon.md (athlon_leave, athlon_pop): Fix.
1719         (athlon_decode): Handle leave.
1720
1721 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
1722
1723         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
1724         to component type using GET_MODE_INNER.
1725         * expr.c (emit_move_insn_1): Ditto.
1726         * optabs.c (expand_binop): Ditto.
1727         (expand_unop): Ditto.
1728         (expand_complex_abs): Ditto.
1729
1730 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
1731
1732         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
1733
1734 2002-11-20  DJ Delorie  <dj@redhat.com>
1735
1736         * config/stormy16/stormy16.c (s16builtins,
1737         xstormy16_init_builtins, xstormy16_expand_builtin): New.
1738         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
1739
1740 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
1741
1742         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
1743         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
1744         (executing gencheck, genconfigs, genconditions, genflags,
1745         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
1746         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
1747         gengtype, genprotos): Prepend $(RUN_GEN).
1748         * configure.in: Move host compiler tests before --enable-checking
1749         tests.
1750         (--enable-checking=valgrind): New.
1751         * config.in, configure: Regenerate.
1752         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1753         Define as empty.
1754         (read_include_file): When doing the mmap+1 trick,
1755         valgrind-annotate the byte after the mmap:ed area as readable.
1756         (purge_cache): Remove above annotation.
1757         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
1758         VALGRIND_PATH -q to each command.
1759
1760         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1761         Define as empty.
1762         (ggc_realloc): Update valgrind annotations.
1763         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1764         Define as empty.
1765         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
1766         valgrind-annotate memory.
1767
1768 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
1769
1770         * recog.c (constrain_operands): Prefer exact match over reloadable
1771         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
1772
1773         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
1774         operands in Pmode.
1775
1776 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
1777
1778         PR c/8518
1779         * c-decl.c (duplicate_decls): Outline the second definition
1780         of an extern inline function in all cases.
1781
1782 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1783
1784         * stor-layout.c (place_field): Update rli->offset as well as
1785         rli->bitpos.
1786
1787 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1788
1789         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
1790
1791 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1792
1793         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
1794         into a libcall block.
1795         (divsi3): Likewise divsi3_i4_media.
1796
1797 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1798
1799         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
1800         out another register.
1801
1802 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
1803
1804         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
1805         (not just mask) are set in C.
1806
1807 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
1808
1809         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
1810
1811 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1812
1813         * profile.c (index_counts_file): Fix obvious mistake.
1814
1815 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1816
1817         * Makefile.in (profile.o): Add hashtab.h dependency.
1818         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
1819         * profile.c: Include hashtab.h.
1820         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
1821         cleanup_counts_index, index_counts_file, struct section_reference,
1822         struct da_index_entry, counts_file_name, counts_file_index): New.
1823         (get_exec_counts, init_branch_prob): Modified.
1824
1825 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
1826
1827         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
1828         to tmake_file. Remove setting gas and gnu_ld here.
1829         * config/sh/libgcc-glibc.ver: New file.
1830         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
1831         (SHLIB_MAPFILES): New.
1832         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
1833         (MD_STARTFILE_PREFIX): Likewise.
1834         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
1835         (DWARF2_UNWIND_INFO): Redefine.
1836         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1837         (LINK_EH_SPEC): Redefine.
1838         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
1839         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
1840         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
1841         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
1842         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
1843         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
1844         SH_DWARF_FRAME_FPSCR): Likewise.
1845         * config/sh/sh-protos.h (sh_set_return_address): Declare.
1846         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
1847         registers if the current function calls EH return.
1848         (sh_expand_epilogue): Handle EH stack adjustments.
1849         (sh_set_return_address): New function.
1850         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
1851         Don't abort even if the number is mapped to -1.
1852         (EH_RETURN_DATA_REGNO): Define.
1853         (EH_RETURN_STACKADJ_RTX): Define.
1854         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
1855         (eh_return): New pattern.
1856         (eh_set_ra_di, eh_set_ra_si): Likewise.
1857         Add splitter to perform EH return after reload.
1858
1859 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
1860
1861         * stor-layout.c (excess_unit_span): New function.
1862         (place_field): Use it.
1863
1864 2002-11-19  Andreas Schwab  <schwab@suse.de>
1865
1866         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
1867         not valid in C++.
1868
1869 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
1870
1871         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
1872         * configure: Regenerate.
1873
1874 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
1875
1876         * convert.c (strip_float_extensions): New function.
1877         (convert_to_real): Optimize some cases.
1878
1879 2002-11-19  Andreas Jaeger  <aj@suse.de>
1880
1881         * loop.c (record_giv): Initialize not_replaceable.
1882         (check_final_value): Likewise.
1883
1884 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
1885
1886         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
1887         MASK_H8300S.
1888
1889 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
1890
1891         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
1892         only if -mh or -ms present.
1893         (h8300_eightbit_constant_address_p): Support the normal mode.
1894         (h8300_tiny_constant_address_p): Likewise.
1895         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
1896         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
1897         (Pmode): Evaluate to HImode for the normal mode.
1898         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
1899         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
1900         (ASM_WORD_OP): Evaluate to word for the normal mode.
1901         * config/h8300/h8300.md (tablejump_normal_mode): New.
1902         (indirect_jump_normal_mode): New.
1903         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
1904         directory.
1905         (MULTILIB_DIRNAMES): Create target dependent directory
1906         'normal'.
1907         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
1908         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
1909
1910 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
1911
1912         * i386.md (length_immediate): Do not refer to insn address.
1913         (jcc*, jmp patterns):  Compute length explicitly.
1914
1915 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
1916
1917         PR c/8588
1918         * optabs.c (expand_binop): Convert CONST_INTs in shift
1919         operations too.
1920
1921 2002-11-19  Roger Sayle  <roger@eyesopen.com>
1922
1923         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
1924
1925 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
1926
1927         * config/h8300/h8300.md (an anonymous pattern): Relax the
1928         condition to accept the same operands and/or subregs.
1929
1930 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
1931
1932         * config/sh/sh.c (gen_shl_and): Revert previous patch.
1933         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
1934         reload_completed.
1935
1936 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
1937
1938         * config/h8300/h8300.c (print_operand): Update the use of
1939         EIGHTBIT_CONSTANT_ADDRESS_P.
1940         (h8300_adjust_insn_length): Likewise.
1941         (h8300_eightbit_constant_address_p): Check if the given rtx is
1942         a variable with __attribute__((eightbit_data)).
1943         * config/h8300/h8300.h (OK_FOR_U): Update the use of
1944         EIGHTBIT_CONSTANT_ADDRESS_P.
1945
1946 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1947
1948         * doc/contrib.texi (Contributors): Add self as second contact in
1949         addition to Jeff Law.
1950
1951 2002-11-19  Andreas Jaeger  <aj@suse.de>
1952
1953         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
1954         find_alloca_call to right place.
1955
1956 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
1957
1958         * cppfiles.c: Fix formatting.
1959
1960 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
1961
1962         * gcc.c (The Specs Language): Document spec functions.
1963         (static_spec_functions, lookup_spec_function)
1964         (eval_spec_function, handle_spec_function)
1965         (if_exists_spec_function, alloc_args): New.
1966         (execute): Abort if processing_spec_function is true.
1967         (do_spec_1): Hand off spec to handle_spec_function if %:
1968         is encountered.  If processing_spec_function is true,
1969         end any pending argument when the end of the string is reached.
1970         (main): Use alloc_args to allocate the initial argument vector.
1971         * gcc.h (struct spec_function): New.
1972         (lang_specific_spec_functions): New extern.
1973
1974         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
1975         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
1976         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
1977
1978         * doc/invoke.texi: Document spec functions.
1979
1980         * cppspec.c (lang_specific_spec_functions): New.
1981         * gccspec.c: Likewise.
1982
1983 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
1984
1985         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
1986         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
1987         (fixunstfsi_libfunc): Change.
1988         (fixunstfdi_libfunc): Change.
1989         (sdiv_optab): Don't zero out SImode handler.
1990         (udiv_optab): Don't zero out SImode handler.
1991         (smod_optab): Don't zero out SImode handler.
1992         (umod_optab): Don't zero out SImode handler.
1993
1994 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
1995
1996         PR preprocessor/8524
1997         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
1998         Add a new one in its place, which hopefully works.
1999         (skip_rest_of_line): Change test for bottom-of-context-stack.
2000
2001 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
2002
2003         * i386.md (addqi_1_slp): Fix output template.
2004         (subqi_1_slp): Fix type.
2005
2006 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
2007
2008         * calls.c (alloca_call_p): New global function.
2009         * tree.h (alloca_call_p): New.
2010         * tree-inline.c (inlinable_function_p):  Do not inline when
2011         function calls alloca.
2012         (find_alloca_call, find_alloca_call_1): New functions.
2013
2014 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
2015
2016         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
2017         bst.  Update the insn length.
2018         (*andorhi3): Likewise.
2019         (*andorsi3): Likewise.
2020
2021 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2022
2023         * config/sh/sh-protos.h (sh_mark_label): Declare.
2024         * config/sh/sh.c (sh_mark_label): New function, taken from
2025         movdi_const, but fixing the case when the address has an addend.
2026         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
2027
2028 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2029
2030         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
2031         (add_constant): Set it.
2032         (dump_table): Don't reorder a constant if part_of_sequence_p.
2033         (machine_dependent_reorg): Assume that float constants will
2034         stay in their original order if used as a sequence.
2035
2036 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2037
2038         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
2039         in compact code.
2040
2041 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2042
2043         * config/sh/sh.md (initialize_trampoline): Do not force the
2044         trampoline address into R0_REGS here.
2045
2046 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
2047
2048         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
2049         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
2050         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
2051         generate unnecesary subregs.
2052
2053 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2054
2055         * df.c: Fix formatting.
2056
2057 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2058
2059         * config/h8300/h8300.md (two anonymous patterns): Fix insn
2060         lengths.
2061
2062 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
2063
2064         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
2065         is not an arith_reg_operand.
2066
2067 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
2068
2069         * real.c (real_to_decimal): Fix buffer overrun when buffer size
2070         is smaller than representation.
2071
2072 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2073
2074         * builtins.c: Fix formatting.
2075
2076 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
2077
2078         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
2079         floats?dff2_i387):
2080         Work around regclass stupidity.
2081         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
2082
2083 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
2084
2085         * i386.md (fop_df_6): New pattern.
2086         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
2087         (fop_xf_6): Rewrite
2088         (fop_xf_7): Delete.
2089         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
2090         (fop_tf_6): Rewrite
2091         (fop_tf_7): Delete.
2092
2093 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2094
2095         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
2096
2097 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2098
2099         * config/h8300/h8300.md: Fix formatting.
2100
2101 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2102
2103         * config/h8300/h8300.md: Replace spaces with tabs.
2104         * config/h8300/t-h8300: Remove a trailing empty line.
2105
2106 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2107
2108         * tlink.c: Fix formatting.
2109
2110 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
2111
2112         PR 8362
2113         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
2114         * config/rs6000/rs6000.md (movti_string): Remove output modifier
2115         when scratch register never needed.
2116         (ldmsi[3-8]): New patterns.
2117
2118 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2119
2120         * hard-reg-set.h: Follow spelling conventions.
2121         * real.c: Likewise.
2122         * target.h: Likewise.
2123
2124 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
2125
2126         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
2127
2128 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2129
2130         * optabs.c: Fix formatting.
2131
2132 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
2133
2134         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
2135         * i386.md (attribute type): Add type shift1 and rotate1.
2136         (*_slp): Rewrite to have just two operands to avoid reload problems.
2137
2138 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
2139
2140         * config/h8300/h8300.md (4 anonymous patterns): New.
2141
2142 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
2143
2144         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
2145         * doc/invoke.texi: Correct description of what needs to be done to
2146         force collection at every ggc_collect call.
2147
2148 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2149
2150         * config/s390/s390.c (optimization_options): Set
2151         flag_asynchronous_unwind_tables to 1 by default.
2152
2153 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2154
2155         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2156
2157 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2158
2159         * i386-protos.h (x86_function_profiler): New function
2160         * i386.h (MCOUNT_NAME): New.
2161         (PROFILE_COUNT_REGISTER): New.
2162         (FUNCTION_PROFILER): Move offline to ...
2163         * i386.c (x86_function_profiler) ... here; fix 64bit support
2164         * beos-elf.h (FUNCTION_PROFILER): Kill.
2165         (MCOUNT_NAME): New.
2166         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
2167         (MCOUNT_NAME): New.
2168         (PROFILE_COUNT_REGISTER): New.
2169         * linux.h (FUNCTION_PROFILER): Kill.
2170         (MCOUNT_NAME): New.
2171         * x86-64.h (FUNCTION_PROFILER): Kill.
2172         (MCOUNT_NAME): New.
2173         * freebsd.h (FUNCTION_PROFILER): Kill.
2174         (MCOUNT_NAME): New.
2175
2176 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
2177
2178         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
2179         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
2180         * config/arm/arm.c (arm_va_arg,
2181         arm_function_arg_pass_by_reference): New.
2182         * config/arm/arm-protos.h: Add prototypes.
2183
2184 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2185
2186         * gthr-single.h: Fix formatting.
2187
2188 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
2189
2190         * tree.c (tree_vec_elt_check_failed): New function.
2191         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
2192         (TREE_VEC_ELT): Use it.
2193
2194         * tree-inline.c (optimize_inline_calls): Don't copy a
2195         zero-length vector.
2196
2197 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2198
2199         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
2200
2201 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
2202
2203         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
2204         both operands contain local relocations.
2205         (categorize_decl_for_section): Don't use mergeable sections if
2206         initializer has any relocations.
2207
2208 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2209
2210         * gthr-vxworks.h: Fix formatting.
2211
2212 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
2213
2214         * doc/install.texi (Testing): Document extra Java testing.
2215         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
2216
2217 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2218
2219         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
2220         beginning of the spec.
2221         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
2222         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
2223         regarding problems with global constructors when using GNU ld.
2224
2225 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2226
2227         * gthr-solaris.h: Fix formatting.
2228
2229 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2230
2231         * gthr-posix.h: Fix formatting.
2232
2233 2002-11-12  Devang Patel <dpatel@apple.com>
2234
2235         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
2236         (process_command): Same.
2237         * doc/invoke.texi: Info about these two new options.
2238
2239 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2240
2241         * config/h8300/h8300.md (*andorsi3): New.
2242
2243 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2244
2245         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
2246
2247 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2248
2249         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
2250         expressions appropriately.
2251
2252 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2253
2254         * gthr-win32.h: Fix formatting.
2255
2256 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2257
2258         * config/h8300/h8300.c (single_one_operand): Correctly compute
2259         mask when mode is SImode.
2260         (single_zero_operand): Likewise.
2261         * config/h8300/h8300.md (two new anonymous insns): New.
2262
2263 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2264
2265         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
2266         to that entire project.
2267
2268 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2269
2270         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
2271         directories.
2272
2273 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
2274
2275         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
2276         * doc/invoke.texi: Document them.
2277
2278         * ggc-page.c: Include params.h.  Remove definitions of
2279         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
2280         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
2281         (init_gcc): Don't set G.allocated_last_gc here.
2282         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
2283         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
2284         perform collection.
2285         * ggc-simple.c: Similarly.
2286         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
2287         dependencies.
2288
2289 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
2290
2291         * gthr-dce.h: Fix formatting.
2292
2293 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2294
2295         PR c/8467
2296         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
2297         mode of DECL_RTL case.
2298
2299 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
2300
2301         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
2302
2303 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
2304
2305         * i386.c (construct_container): Fix handling of SSE_CLASS.
2306
2307 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
2308
2309         * config/m68k/t-crtstuff (crti.o): Use this...
2310         ($(T)crti.o): ... instead.
2311         (crtn.o): Use this...
2312         ($(T)crtn.o): ... instead.
2313
2314 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
2315
2316         PR c/8439
2317         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
2318         if there is something new to be simplified.
2319
2320 2002-11-10  H.J. Lu <hjl@gnu.org>
2321
2322         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
2323         * expr.c (PUSH_ARGS_REVERSED): Likewise.
2324
2325         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
2326
2327 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
2328
2329         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
2330         * config/rs6000/linux.h, config/rs6000/linux64.h,
2331         config/rs6000/windiss.h: ... not here.
2332
2333 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
2334
2335         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
2336         __ABICALLS__ if TARGET_ABICALLS.
2337
2338 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
2339
2340         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
2341
2342 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
2343
2344         * c-decl.c (grokdeclarator): Make error for duplicate type
2345         qualifiers into a pedwarn, disabled for C99.
2346
2347 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
2348
2349         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
2350         as FUNCTION_ARG_PASS_BY_REFERENCE.
2351
2352 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
2353
2354         * doc/install.texi: Add *-*-vxworks* specific installation
2355         instructions.
2356
2357         * config/vxlib.c: Rewrite using generation numbers to identify
2358         valid TSD keys.
2359
2360 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
2361
2362         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
2363
2364 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2365
2366         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
2367
2368         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
2369         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
2370         * pa.c (output_millicode_call): Use symbol difference rather than
2371         $PIC_pcrel$0 when using HP assembler.
2372         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
2373         not elfos.h (i.e., gas) is being used.
2374         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
2375         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
2376         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
2377         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
2378         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
2379         using elfos.h.
2380         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
2381         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
2382         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
2383         using elfos.h.
2384         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
2385         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
2386         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
2387         Don't define when not using elfos.h.
2388         (ASM_DECLARE_RESULT): Don't define.
2389         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
2390         doesn't work on hppa64-hp-hpux11.
2391         (hppa*-hp-hpux11): Update.
2392
2393 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
2394
2395         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
2396         to the assembler if -mno-abicalls was specified.
2397
2398 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2399
2400         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
2401         ASM_OUTPUT_DEF): Delete.
2402
2403 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
2404
2405         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
2406
2407 2002-11-08  Roger Sayle  <roger@eyesopen.com>
2408
2409         * real.c (real_sqrt): Update comment with bibliographic reference.
2410
2411 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
2412
2413         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
2414
2415 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
2416
2417         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
2418
2419 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
2420
2421         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
2422         (expand_builtin): Likewise.
2423         * builtins.def: Add
2424         __builtin_floor, __builtin_floorf, __builtin_floorl
2425         __builtin_ceil, __builtin_ceilf, __builtin_ceill
2426         __builtin_round, __builtin_roundf, __builtin_roundl
2427         __builtin_trunc, __builtin_truncf, __builtin_truncl
2428         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
2429         * genopinit.c (optabs): Initialize the new optabs.
2430         * optab.c (init_optabs): Likewise.
2431         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
2432         OTI_round, OTI_nearbyint.
2433         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
2434         * doc/md.texi: Document new named patterns.
2435         * doc/extend.texi (builtin functions)  Document
2436         floor, floorf, floorl, ceil, ceilf,
2437         ceill, round, roundf, roundl, trunc,
2438         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
2439
2440 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
2441
2442         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
2443
2444 2002-11-08  Dale Johannesen  <dalej@apple.com>
2445
2446         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
2447
2448 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
2449
2450         PR preprocessor/8497
2451         PR preprocessor/8501
2452         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
2453         start a directive.  In assembler, #NUM is not a line directive.
2454
2455 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
2456
2457         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
2458         buffers.
2459
2460 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
2461
2462         * config/h8300/h8300.md (two anonymous test insns): New.
2463
2464 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2465
2466         * jump.c (mark_jump_label): Handle subregs of label_refs.
2467
2468 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
2469
2470         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
2471         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
2472
2473 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
2474
2475         * config/ia64/crtend.asm: Include "auto-host.h".
2476         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
2477         * config/ia64/crtbegin.asm: Similarly.
2478         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
2479         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
2480
2481         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
2482         * configure.in: Use it if --enable-initfini-array not specified.
2483         * doc/install.texi (Configuration): Document --enable-initfini-array.
2484         * configure, config.in: Rebuild.
2485
2486 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
2487
2488         * config/arm/arm-protos.h (arm_get_frame_size)
2489         (thumb_get_frame_size): New prototypes.
2490         * config/arm/arm.c (arm_get_frame_size)
2491         (thumb_get_frame_size): New functions.
2492         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
2493         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
2494         arm_get_frame_size.
2495         (thumb_expand_prologue, thumb_expand_epilogue): Use
2496         thumb_get_frame_size.
2497         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
2498         (machine_function): Add frame_size member.
2499         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
2500
2501 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
2502
2503         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
2504         Adjust code to use portable unsigned bit manipulation.
2505         (insn_flags, tune_flags): Change type to unsigned.
2506         (struct processors): Make flags unsigned long.
2507         (arm_override_options): Change type of count and current_bit_count
2508         to unsigned.
2509
2510 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
2511
2512         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
2513
2514 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
2515
2516         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
2517
2518 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
2519
2520         * reg-stack.c (compensate_edge): Fix sanity check.
2521
2522 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
2523
2524         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
2525         crt2.o.  Rearrange t-darwin makefiles.
2526         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
2527         * unwind-dw2-fde-darwin.c: New.
2528         * unwind-dw2-fde-glibc.c: Correct comment.
2529         * unwind-dw2-fde.c (__register_frame_info_bases)
2530         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
2531         (classify_object_over_fdes): Use last_fde.
2532         (add_fdes): Likewise.
2533         (linear_search_fdes): Likewise.
2534         * unwind-dw2-fde.h (struct object)
2535         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
2536         (last_fde): New.
2537         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
2538         (ENDFILE_SPEC): No crtend.o.
2539         * config/t-darwin: New.
2540         * config/i386/t-darwin: Delete.
2541         * config/darwin-crt2.c: New.
2542         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
2543         or config/t-darwin.
2544
2545 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
2546
2547         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
2548         MASK_MS_BITFIELD_LAYOUT
2549         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
2550         MS bitfields for Objective-C.
2551         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
2552         defines.
2553
2554         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
2555         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
2556         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
2557
2558         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
2559         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
2560         (TARGET_SWITCHES): Add above mask.
2561
2562         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
2563         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
2564         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
2565         flags for interix.
2566
2567 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
2568
2569         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
2570         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
2571         assembler.
2572         * config/mips/mips.md (tablejump_internal3): Output .cpadd
2573         before jump on ABI_N32 too.
2574         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
2575         length to match.
2576
2577 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
2578
2579         * i386.md (negsf splitter): Accept memory operand in second register.
2580         (abssf/absdf splitters): Simplify
2581         (sse_loadss, sse_loadsd): Turn into expander.
2582
2583 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
2584
2585         PR target/8480
2586         * config/rs6000/rs6000.md (movdi_internal64): Discourage
2587         FPR to FPR moves.
2588
2589 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
2590
2591         * doc/contrib.texi: Merge in the list from the Java web pages.
2592
2593 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
2594
2595         * config/sparc/freebsd: Fix typo.
2596
2597 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2598
2599         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
2600
2601 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
2602
2603         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
2604         non-SImode addresses.
2605
2606 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
2607
2608         * i386.md (float_truncate SSE splitter): Ensure that operand is not
2609         stack register.
2610         (float SSE splitters): Reorder conditional.
2611
2612 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
2613
2614         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
2615
2616 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
2617
2618         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
2619         (STARTFILE_SPEC): Remove p and pg options.
2620
2621 2002-11-05  Andrew Haley  <aph@redhat.com>
2622
2623         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
2624         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
2625
2626 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
2627
2628         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
2629         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
2630
2631 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
2632
2633         * gthr-vxworks.h: Rewritten from scratch.
2634         * config/vxlib.c: New file.
2635         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
2636         * config/rs6000/t-vxworks: Add config/vxlib.c to
2637         LIB2FUNCS_EXTRA here too, because of clash with
2638         config/rs6000/t-ppccomm.
2639
2640 2002-11-04  Dale Johannesen  <dalej@apple.com>
2641
2642         * doloop.c (doloop_modify_runtime):  Fix loop count computation
2643         for unrolled loops.
2644         * loop.c (loop_invariant_p):  Support calling from unroller.
2645
2646 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
2647
2648         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
2649         for comparison.
2650
2651 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
2652
2653         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
2654
2655         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
2656         (CLASS_CANNOT_CHANGE_MODE): Remove.
2657         (CANNOT_CHANGE_MODE_CLASS): New.
2658
2659         * config/alpha/alpha.h: Same.
2660
2661         * config/ia64/ia64.h: Same.
2662
2663         * config/mips/mips.h: Same.
2664
2665         * config/s390/s390.h: Same.
2666
2667         * config/sh/sh.h: Same.
2668
2669         * config/pa/pa64-regs.h: Same.
2670
2671         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
2672
2673         * config/sh/sh.c (sh_cannot_change_mode_class): New.
2674
2675         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
2676         prototype.
2677
2678         * config/mips/mips.c (mips_cannot_change_mode_class): New.
2679
2680         * doc/tm.texi (Register Classes): Remove
2681         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
2682         Document CANNOT_CHANGE_MODE_CLASS.
2683
2684         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
2685         (push_reload): Same.
2686
2687         * simplify-rtx.c (simplify_subreg): Same.
2688
2689         * reload1.c (choose_reload_regs): Same.
2690
2691         * recog.c (register_operand): Same.
2692
2693         * regrename.c (mode_change_ok): Change to use new
2694         CANNOT_CHANGE_MODE_CLASS infrastructure.
2695
2696         * regclass.c (cannot_change_mode_set_regs): New.
2697         Declare subregs_of_mode.
2698         (regclass): Use subregs_of_mode.
2699         Remove references to reg_changes_mode.
2700         (init_reg_sets_1): Remove class_can_change_mode and
2701         reg_changes_mode code.
2702         (invalid_mode_change_p): New.
2703         (dump_regclass): Use invalid_mode_change_p instead of
2704         class_can_change_mode.
2705         (regclass): Same.
2706         (record_operand_costs): Do not set reg_changes_mode.
2707
2708         * local-alloc.c (struct qty): Remove changes_mode field.
2709         (alloc_qty): Remove changes_mode initialization.
2710         (update_qty_class): Remove set of changes_mode.
2711         (find_free_reg): Use subregs_of_mode.
2712
2713         * global.c (find_reg): Use subregs_of_mode info.
2714
2715         * rtl.h (cannot_change_mode_set_regs): New prototype.
2716         (invalid_mode_change_p): Same.
2717         (REG_CANNOT_CHANGE_MODE_P): New macro.
2718
2719         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
2720         REG_CHANGES_MODE.
2721         (life_analysis): Clear subregs_of_mode.
2722
2723         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
2724         Remove use of CLASS_CANNOT_CHANGE_MODE.
2725         (simplify_set): Same.
2726         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
2727         REG_CHANGES_MODE.
2728
2729         * regs.h: Add extern for subregs_of_mode;
2730         Include hard-reg-set and basic-block.
2731         (REG_CHANGES_MODE): Delete.
2732
2733 2002-11-03  Roger Sayle  <roger@eyesopen.com>
2734
2735         * real.c (real_sqrt): New function to calculate square roots.
2736         * real.h (real_sqrt): Add function prototype.
2737         * builtins.c (fold_builtin): Fold sqrt of constant argument.
2738         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
2739         of constant argument.
2740
2741 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2742
2743         * jump.c (never_reached_warning): Don't set contains_insn until the
2744         first line note is seen.
2745
2746 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
2747
2748         * config/rs6000/rs6000.md (movti_string): Use string instructions.
2749
2750 2002-11-03  Roger Sayle  <roger@eyesopen.com>
2751
2752         PR c/7128
2753         * c-typeck.c (c_expand_asm_operands): Defend against
2754         error_mark_nodes in the output argument to avoid ICE.
2755
2756 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
2757
2758         PR middle-end/8408
2759         * genrecog.c (preds): Handle ADDRESSOF.
2760         (validate_pattern): Mark it as an lvalue.
2761
2762 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
2763
2764         * config/rs6000/rs6000.c (rs6000_override_options): Use string
2765         instructions when optimizing for size.
2766
2767 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
2768
2769         * config/h8300/h8300.h: Fix comment typos.
2770         * config/h8300/h8300.md: Likewise.
2771         * config/h8300/lib1funcs.asm: Likewise.
2772
2773 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2774
2775         Revert this change:
2776
2777         *doc/install.texi (Installing GCC: Configuration): Clarify
2778         the only supported ways to configure gcc.
2779
2780 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
2781
2782         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
2783         instead of 'O' for the constraint for the second operand.
2784
2785 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
2786
2787         PR c++/8391
2788         * toplev.c (rest_of_compilation): Do not refuse to output code for
2789         an inline function in a local class.
2790
2791 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
2792
2793         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
2794         (TRANSFER_FROM_TRAMPOLINE): Reformat.
2795         Add comment.
2796
2797 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
2798
2799         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
2800
2801 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
2802
2803         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
2804
2805 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
2806
2807         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
2808         (MASK_INLINE_DIV_THR): Remove.
2809         (TARGET_INLINE_DIV_LAT): Remove.
2810         (TARGET_INLINE_DIV_THR): Remove.
2811         (TARGET_INLINE_DIV): Remove.
2812         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
2813         (MASK_INLINE_FLOAT_DIV_THR): New macro.
2814         (MASK_INLINE_INT_DIV_LAT): New macro.
2815         (MASK_INLINE_INT_DIV_THR): New macro.
2816         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
2817         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
2818         (TARGET_INLINE_INT_DIV_LAT): New macro.
2819         (TARGET_INLINE_INT_DIV_THR): New macro.
2820         (TARGET_INLINE_FLOAT_DIV): New macro.
2821         (TARGET_INLINE_INT_DIV): New macro.
2822         * config/ia64/ia64.md (divsi3): Change to use new macros.
2823         (modsi3): Ditto.
2824         (udivsi3): Ditto.
2825         (umodsi3): Ditto.
2826         (divsi3_internal): Ditto.
2827         (divdi3): Ditto.
2828         (moddi3): Ditto.
2829         (udivdi3): Ditto.
2830         (umoddi3): Ditto.
2831         (divdi3_internal_lat): Ditto.
2832         (divdi3_internal_thr): Ditto.
2833         (divsf3): Ditto.
2834         (divsf3_internal_lat): Ditto.
2835         (divsf3_internal_thr): Ditto.
2836         (divdf3): Ditto.
2837         (divdf3_internal_lat): Ditto.
2838         (divdf3_internal_thr): Ditto.
2839         (divtf3): Ditto.
2840         (divtf3_internal_lat): Ditto.
2841         (divtf3_internal_thr): Ditto.
2842         * config/ia64/ia64.c (ia64_override_options): Change
2843         to check new macros for conflicts in settings.
2844         * doc/invoke.texi (-minline-divide-min-latency): Remove.
2845         (-minline-divide-max-throughput): Remove.
2846         (-minline-float-divide-min-latency): New.
2847         (-minline-float-divide-max-throughput): New.
2848         (-minline-int-divide-min-latency): New.
2849         (-minline-int-divide-max-throughput): New.
2850
2851 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
2852
2853         PR target/7856
2854         * arm.c (use_return_insn): Don't use a return insn if there are
2855         saved integer regs, but LR is not one of them.
2856
2857 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
2858
2859         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
2860         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
2861
2862 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
2863
2864         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
2865         (movps, movpd splitters): Use canonical form.
2866         (movv2di): Fix merge problem.
2867
2868 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
2869
2870         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
2871
2872 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
2873
2874         PR optimization/6162
2875         * doc/md.texi: Document restriction on commutative operand
2876         specification.
2877
2878 2002-10-31  Eric Christopher  <echristo@redhat.com>
2879
2880         * explow.c (convert_memory_address): Use shallow_copy_rtx.
2881
2882 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
2883
2884         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
2885
2886 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
2887
2888         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
2889
2890 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
2891
2892         * config/rs6000/darwin.h:  Correct formatting in previous.
2893
2894 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
2895
2896         * config/rs6000/darwin.h:  Enable -falign-xxx options.
2897
2898 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
2899
2900         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
2901         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
2902         * i386.c (optimization_options): Set flag_omit_frame_pointer,
2903         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
2904         Do not clear -momit-leaf-frame-pointer when profiling.
2905         (ix86_frame_pointer_required): Frame pointer is always required when
2906         profiling.
2907
2908 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2909
2910         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
2911
2912 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
2913
2914         * sh.h (binary_logical_operator): Declare.
2915         * sh.c (binary_logical_operator): New function.
2916         * sh.md (xordi3+1): New combiner splitter pattern.
2917
2918 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
2919
2920         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
2921         __enable_execute_stack function.
2922
2923 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
2924
2925         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
2926         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
2927         * unwind-sjlj.c (fc_key_dtor): Delete.
2928         (fc_key_init): Adjust __gthread_key_create call to match.
2929
2930 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
2931
2932         * c-common.c: Add GTY to vector_type_node_list.
2933
2934 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
2935
2936         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
2937         * pa-protos.h (attr_length_millicode_call, attr_length_call,
2938         pa_init_machine_status): Declare new global functions.
2939         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
2940         implement new functions.
2941         (attr_length_millicode_call, attr_length_call): Implement.
2942         (total_code_bytes): Change type to long.
2943         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
2944         Reset counter if flag_function_sections.
2945         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
2946         (output_cbranch): Move call to gen_label_rtx.
2947         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
2948         delay slot in all variants, shorten pc-relative calls.
2949         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
2950         slot usage and exposure, various new call variants, and shortened
2951         sequences for some variants on TARGET_PA_20.
2952         Miscellaneous format changes.
2953         * pa.h (total_code_bytes): Change type to long.
2954         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
2955         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
2956         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
2957         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
2958         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
2959         stores on TARGET_ELF32.
2960         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
2961         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
2962         canonicalize_funcptr_for_compare expanders): Calculate attribute length
2963         attr_length_millicode_call().
2964         (call_internal_symref, call_value_internal_symref): Clobber register 1.
2965         Calculate attribute length using attr_length_call().
2966         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
2967         to delay slot.
2968         (sibcall, sibcall_value): Rewrite.
2969         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
2970         register 1.  Use attr_length_call().
2971         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
2972         New patterns.
2973         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
2974         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
2975         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
2976         * doc/invoke.texi (mlong-calls): Document.
2977
2978 2002-10-30  Roger Sayle  <roger@eyesopen.com>
2979
2980         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
2981         handling of cases where one or both branches of the conditional
2982         have void type, i.e. throw an exception or don't return.
2983         (fold): Only apply (and undo) type conversion to the non-void
2984         branches of a COND_EXPR.
2985
2986 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
2987
2988         PR c++/8333
2989         * varasm.c (asm_output_aligned_bss): Do not call
2990         ASM_GLOBALIZE_LABEL.
2991
2992 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
2993             Torbjorn Granlund  <tege@swox.com>
2994
2995         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
2996         for addressibility.
2997         (load_toc_v4_PIC_1b): Same.
2998
2999 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
3000
3001         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
3002         Truncate the addresses for H8/300 using HImode.
3003
3004 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
3005
3006         * i386.md (negdf splitter): Fix construction of the constant.
3007
3008 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
3009
3010         * i386.md (negsf, negdf): Reorganize to use vector modes
3011         for SSE variants.
3012         (abssf, absdf): Use force_reg.
3013         (movv4sf, movv2df): New splitters.
3014         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
3015         * i386.c (zero_extended_scalar_load_operand
3016
3017         * i386-protos.h (ix86_expand_call): Update prototype.
3018         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
3019         (ix86_expand_call): Use r11 for indirect sibcalls.
3020         * i386.md (call, call_value, untyped_call, call_value_pop):
3021         update x86_expand_call call.
3022         (sibcall, sibcall_value): new patterns
3023         (call_rex64, call_value_rex64): Do not accept sibcalls.
3024         (sibcall_rex64, sibcall_value_rex64,
3025         sibcall_rex64_v, sibcall_value_rex64_v): New.
3026
3027 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3028
3029         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
3030         before final pass.
3031
3032 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
3033
3034         * toplev.c (rest_of_type_compilation): Return early in case of
3035         errors.
3036         (check_global_declarations): Don't call debug_hooks->global_decl
3037         in case of errors.
3038
3039 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
3040
3041         * doc/c-tree.texi (Tree overview): Fix typos.
3042
3043 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
3044
3045         * Makefile.in (gnucompare*):  Only record bad comparisons
3046         if there really was a bad comparison.
3047
3048 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
3049
3050         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
3051         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
3052         * md.texi (machine dependent constraints): Document 'C'
3053
3054         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
3055
3056         * i386.c (ix86_expand_vector_move): Fix.
3057
3058         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
3059         * i386.md (sse2_maskmovdqu_rex64): New pattern
3060
3061         PR target/8322
3062         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
3063         (ix86_init_mmx_sse_builtins): Fix type.
3064
3065 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
3066
3067         * gthr-posix.h: Include <unistd.h> for feature tests.
3068         (sched_get_priority_max, sched_get_priority_min)
3069         (pthread_getschedparam, pthread_setschedparam): Only use
3070         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
3071         (__gthread_objc_thread_set_priority): Don't treat all non-zero
3072         returns from sched_get_priority_max and sched_get_priority_min
3073         as an error.
3074
3075 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3076
3077         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
3078         MASK_QUICKCALL.
3079
3080 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3081
3082         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
3083         (h8300_tiny_constant_address_p): Likewise.
3084         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
3085         h8300_eightbit_constant_address_p.
3086         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
3087         * config/h8300/h8300-protos.h: Add the prototypes for the two
3088         new functions.
3089
3090 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3091
3092         * reload1.c (update_eliminables): Unconditionally check if
3093         frame_pointer_needed has changed.
3094
3095 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3096
3097         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
3098         before final pass.
3099
3100 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
3101
3102         PR optimization/8334
3103         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
3104         check for zero operands explicitly.
3105
3106 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
3107
3108         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
3109         memory after adjusting to BLKmode.
3110
3111 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3112
3113         * config/h8300/h8300.h (MASK_*): New.
3114         (TARGET_*): Use MASK_*.
3115
3116 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
3117
3118         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
3119         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
3120         config/rs6000/vxworks.h: New files.
3121         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
3122
3123         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
3124         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
3125         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
3126         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
3127         sparc-*-vxsim*): Delete stanzas.
3128         * gthr-vxworks.h: Rip out all substantive code and just
3129         include gthr-single.h.
3130
3131         * config/alpha/vxworks.h, config/arm/vxarm.h,
3132         config/i386/vxi386.h, config/i960/t-vxworks960,
3133         config/i960/vx960-coff.h, config/i960/vx960.h,
3134         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
3135         config/mips/vxworks.h, config/rs6000/vxppc.h,
3136         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
3137         config/sparc/vxsim.h, config/sparc/vxsparc.h,
3138         config/sparc/vxsparc64.h: Delete files.
3139
3140 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
3141
3142         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
3143         tm_defines if pthreads are enabled.
3144         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
3145         if NETBSD_ENABLE_PTHREADS is defined.
3146
3147 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
3148
3149         * ChangeLog.1: Fix typos.
3150         * cse.c: Fix a comment typo.
3151         * reload1.c: Likewise.
3152
3153 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
3154
3155         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
3156         * fixinc/tests/base/_G_config.h: New file.
3157
3158 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3159
3160         * combine.c: Fix comment formatting.
3161         * loop.c: Likewise.
3162         * real.c: Likewise.
3163         * regclass.c: Likewise.
3164         * regmove.c: Likewise.
3165         * regrename.c: Likewise.
3166         * reg-stack.c: Likewise.
3167         * reload1.c: Likewise.
3168         * reload.c: Likewise.
3169         * reload.h: Likewise.
3170         * unroll.c: Likewise.
3171
3172 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3173
3174         * reload1.c (reload): Fix a comment typo.
3175
3176 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
3177
3178         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
3179
3180 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3181
3182         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
3183         * dwarf2out.c: Include hashtab.h.
3184         (is_main_source): New static variable.
3185         (attr_checksum, die_checksum): Modified to handle die references.
3186         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
3187         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
3188         record_comdat_symbol_number): New static functions.
3189         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
3190         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
3191         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
3192         declarations added.
3193
3194 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
3195
3196         * config/h8300/h8300.c (initial_offset): Change to
3197         h8300_initial_elimination_offset.
3198         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
3199         h8300_initial_elimination_offset.
3200         * config/h8300/h8300-protos.h: Update the prototype.
3201
3202 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
3203
3204         * config/mmix/mmix.h (LIBCALL_VALUE): Use
3205         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
3206         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
3207         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
3208         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
3209         and RTX_CODE.
3210         (mmix_function_value_regno_p): Declare.
3211
3212         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
3213         invalid for floating point mode result, with fix.
3214
3215 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
3216
3217         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
3218         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
3219         (stage1_build): Likewise.
3220
3221 2002-10-25  Mike Stump  <mrs@apple.com>
3222
3223         Fixes gcc.dg/warn-1.c.
3224         * c-typeck.c (warn_for_assignment): Don't print argument number,
3225         if zero.
3226
3227 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
3228
3229         * toplev.c (dump_file_index): Add DFI_ce3.
3230         (dump_file_info): Likewise.
3231         (rest_of_compilation): Run first ifcvt pass before tracer.
3232
3233 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
3234
3235         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
3236
3237 2002-10-25  Richard Henderson  <rth@redhat.com>
3238
3239         * real.c (real_to_decimal): If the >1 tens reduction loop results
3240         in a negative exponent, fall into the <1 pten computation.
3241
3242 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
3243
3244         PR middle-end/6994
3245         * c-objc-common.c (inline_forbidden_p): Can not inline
3246         functions containing structures or unions containing VLAs.
3247         * tree-inline.c (walk_tree): For all class 't' nodes, walk
3248         TYPE_SIZE and TYPE_SIZE_UNIT.
3249         (copy_tree_r): Copy types if they are variably modified.
3250
3251 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3252
3253         * config/s390/s390.md: Remove old-style peepholes.
3254
3255 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3256
3257         * config/s390/s390.c (s390_decompose_address): Do not range check the
3258         displacement if base or index is the argument pointer register.
3259
3260 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
3261
3262         PR other/3337
3263         PR bootstrap/6763
3264         PR bootstrap/8122
3265         * fixinc/inclhack.def (libc1_G_va_list): New fix.
3266         * fixinc/fixincl.x: Regenerate.
3267         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
3268         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
3269         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
3270         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
3271         * config.in, configure: Regenerate.
3272
3273 2002-10-24  Igor Shevlyakov <igor@microunity.com>
3274
3275         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
3276
3277 2002-10-24  Richard Henderson  <rth@redhat.com>
3278
3279         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
3280
3281 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3282
3283         * config/h8300/h8300.c (initial_offset): Simplify by using
3284         round_frame_size.
3285
3286 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
3287
3288         * doc/install.texi (avr): Update required binutils version.
3289
3290 2002-10-24  Theodore A. Roth  <troth@openavr.org>
3291
3292         * doc/install.texi: Point avr users at more up-to-date information.
3293
3294 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3295
3296         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
3297         to pull operands out of the literal pool where possible.
3298
3299 2002-10-24  Denis Chertykov  <denisc@overta.ru>
3300
3301         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
3302
3303 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
3304
3305         * expr.c (convert_move): If unsignedp is less then zero there
3306         is no equivalent code.
3307
3308 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
3309
3310         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
3311
3312 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3313
3314         * config/s390/s390.h: Rework comments; re-sort target macro definitions
3315         according to the sequence they are defined in the manual.
3316         (POINTER_BOUNDARY): Remove.
3317
3318 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3319
3320         * config/h8300/h8300.c (round_frame_size): Replace 8 with
3321         BITS_PER_UNIT.
3322
3323 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3324
3325         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
3326         64-bit safe.
3327         (TINY_CONSTANT_ADDRESS_P): Likewise.
3328
3329 2002-10-24  Richard Henderson  <rth@redhat.com>
3330
3331         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3332         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
3333         vcall offset.
3334
3335 2002-10-24  Richard Henderson  <rth@redhat.com>
3336
3337         PR opt/7944
3338         * reload.c (find_reloads_toplev): Mode of X is not important
3339         when simplifying subregs of constants.
3340
3341 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3342
3343         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
3344         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
3345         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
3346         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
3347         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
3348
3349 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3350
3351         * optabs.c (expand_binop): Don't reuse the shift target in the
3352         middle of shift sequences.
3353
3354 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
3355
3356         * i386.md (abs splitters): Do not produce nested subregs.
3357
3358 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
3359
3360         * i386.md (movti_rex64): Fix constraints.
3361
3362 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
3363
3364         * i386.md (abssf,absdf): Use vector operands for SSE
3365         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
3366         vector operand.
3367
3368 2002-10-23  Ziemowit Laski <zlaski@apple.com>
3369
3370         * objc/objc-act.c (get_static_reference): Remove unneeded
3371         TYPE_BINFO initialization.
3372         (get_object-reference): Likewise.
3373         (build_constructor): Tighten precondition check.
3374         (finish_message_expr): Likewise.
3375
3376 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
3377
3378         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
3379         after CONST test.
3380
3381 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
3382
3383         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
3384         in HFAs.
3385
3386 2002-10-23  Richard Henderson  <rth@redhat.com>
3387
3388         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3389         (alpha_output_mi_thunk_osf): Handle vcall_offset.
3390
3391 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
3392
3393         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
3394         var_mod_type_p.
3395         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
3396         hook_tree_bool_false.
3397
3398         * tree.c (variably_modified_type_p): Moved here from
3399         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
3400         language-specific cases.  Due to this, must weaken some 'if
3401         and only if' checks to merely 'if'.
3402         * tree.h: Prototype variably_modified_type_p.
3403
3404         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
3405
3406 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
3407
3408         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
3409         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
3410
3411         * config/s390/s390-protos.h (fp_operand): Remove.
3412         * config/s390/s390.c (fp_operand): Remove.
3413         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
3414         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
3415         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
3416         (movdi_31, movdf_31 splitters): Likewise.
3417
3418         * config/s390/s390.h (IEEE_FLOAT): Remove.
3419         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
3420         (INT_REGNO_P): Rename to ...
3421         (GENERAL_REGNO_P): ... this.
3422         (FLOAT_REGNO_P): Rename to ...
3423         (FP_REGNO_P): ... this.
3424         (ADDR_REGNO_P): New macro.
3425         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
3426         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
3427         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
3428         (HARD_REGNO_NREGS): Adapt to macro renaming.
3429         (HARD_REGNO_MODE_OK): Likewise.
3430
3431 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
3432             Geoff Keating  <geoffk@apple.com>
3433
3434         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
3435         (rs6000_memory_move_cost): New function.
3436         * config/rs6000/rs6000-protos.h: Declare them.
3437         * config/rs6000/rs6000.h: Use them.
3438
3439 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
3440
3441         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
3442         inlining it into other libgcc2 routines.
3443         (__udivmoddi4): Likewise.
3444
3445 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
3446
3447         * doc/sourcebuild.texi (Test Suites): Improve.
3448
3449 2002-10-22  Stan Shebs  <shebs@apple.com>
3450
3451         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
3452         case for Darwin.
3453
3454 2002-10-22  Jim Wilson  <wilson@redhat.com>
3455
3456         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
3457
3458 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
3459
3460         PR other/8289
3461         * xmmintrin.h: Add const to the argument of loads.
3462
3463         * i386.md (pushv2di): New pattern.
3464         PR target/6890
3465         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
3466
3467 2002-10-22  Richard Henderson  <rth@redhat.com>
3468
3469         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
3470         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
3471         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
3472         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3473         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3474         (TARGET_ASM_OUT): Update.
3475         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
3476         (hook_bool_tree_hwi_hwi_tree_true): New.
3477         (default_can_output_mi_thunk_no_vcall): New.
3478         * hooks.h: Declare them.
3479         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
3480
3481         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3482         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
3483         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
3484         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
3485         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
3486         config/stormy16/stormy16.c: Similarly.
3487
3488         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
3489         Handle 64-bit properly.  Streamline.
3490         (x86_output_mi_vcall_thunk): Remove.
3491         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
3492         (x86_can_output_mi_thunk): New.
3493         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3494         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3495         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
3496
3497         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
3498         output_mi_thunk; make static; always use function_section.
3499         (TARGET_ASM_OUTPUT_MI_THUNK): New.
3500         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3501         (rs6000_ra_ever_killed): Test no_new_pseudos not
3502         targetm.asm_out.output_mi_thunk in conjunction with thunks.
3503         * config/rs6000/rs6000-protos.h: Update.
3504         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3505         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
3506         xcoffout_declare_function when using rs6000_output_mi_thunk.
3507
3508         * config/s390/s390.c (s390_output_mi_thunk): Rename from
3509         s390_output_mi_vcall_thunk.
3510         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3511         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3512
3513         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
3514         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3515         * config/vax/vax-protos.h: Update.
3516         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
3517
3518 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
3519
3520         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
3521         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
3522         * i386.md (movti_internal): Use 'C'
3523
3524         * xmmintrin.h (_mm_cmplt_epi*): New.
3525
3526 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3527
3528         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
3529         ("*movdf_64"): Likewise.
3530         ("*lshrdi3_64"): Likewise.
3531         ("blockage"): Add length attribute.
3532         ("lit"): Likewise.
3533
3534 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
3535
3536         * i386.md: FIx typo.
3537         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
3538         (sse2_umulv2siv2di3): Fix predicate.
3539         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
3540         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
3541         * xmmintrin.h (_mm_mul_epu16): Rename to...
3542         (_mm_mul_epu32): This one.
3543         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
3544
3545         (contains_128bit_aligned_vector_p): Undo accidental checkin.
3546
3547 2002-10-22  Eric Christopher  <echristo@redhat.com>
3548
3549         * config/sparc/sparc.h: Add #error.
3550
3551 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3552
3553         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
3554         [s390x-*-linux*]: Likewise.
3555         * config/s390/t-linux: Remove.
3556         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
3557
3558 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
3559
3560         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
3561         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
3562         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
3563         * i386.md (mmx_punpck?dq): Simplify.
3564         (sse2_pubpcklqdq): Fix.
3565         (sse2_pubpckhqdq): New.
3566         * xmmintrin.h (_mm_unpackhi_epi32): New.
3567
3568         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
3569         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
3570
3571 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
3572
3573         PR c++/7209
3574         * fold_const.c (fold_binary_op_with_conditional_arg): Always
3575         build compound_expr if we used save_expr.
3576
3577 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
3578
3579         * output.h (SECTION_NOTYPE): Define.
3580         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
3581         init array sections.
3582         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
3583         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
3584         merge TLS support.
3585
3586 2002-10-21  Richard Henderson  <rth@redhat.com>
3587
3588         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
3589         the function type, not the return type.
3590
3591 2002-10-21  Richard Henderson  <rth@redhat.com>
3592
3593         * real.c (sticky_rshift_significand): Return inexact, don't
3594         or it in immediately.
3595         (sub_significands): Accept incomming carry.
3596         (div_significands, rtd_divmod): Update for sub_significands change.
3597         (round_for_format): Update for sticky_rshift_significand change.
3598         (do_add): Don't involve the inexact bit in addition, do give the
3599         inexact bit as the subtraction carry-in.
3600         (encode_internal, decode_internal, real_internal_format): New.
3601         * real.h (real_internal_format): Declare.
3602
3603 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3604
3605         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
3606         don't define sdiv_qrnnd.
3607
3608 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
3609
3610         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
3611         using IN_RANGE.
3612         (TINY_CONSTANT_ADDRESS_P): Likewise.
3613
3614 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
3615
3616         * i386.c (builtin_description): Add punpcklqdq and movdq2q
3617         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
3618         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
3619         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
3620         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
3621         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
3622         __builtin_ia32_setzero128.
3623         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
3624         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
3625         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
3626         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
3627         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
3628         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
3629         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
3630         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
3631         sse2_movq): New patterns.
3632         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
3633         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
3634         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
3635         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
3636         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
3637         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
3638         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
3639         (_mm_insert_epi16): Fix.
3640
3641 2002-10-21  Dale Johannesen  <dalej@apple.com>
3642
3643         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
3644             unsafe math reversals correctly for RTL generation.
3645           (output_cbranch):  Replace rs6000_reverse_condition call
3646             by its former definition.
3647
3648 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
3649
3650         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
3651         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
3652         from constant pool or LABEL_REFs as sign extended if allow_rip.
3653         Change all +-1GB limits to +-16MB.
3654         (x86_64_general_operand, x86_64_szext_general_operand,
3655         x86_64_nonmemory_operand, x86_64_movabs_operand,
3656         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
3657         legitimate_address_p, ix86_expand_int_movcc): Update callers.
3658         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
3659         in CM_SMALL_PIC model.
3660         (legitimate_pic_address_disp_p): Don't check offsets before
3661         calling local_symbolic_operand.
3662         (legitimize_pic_address): Force offsets bigger than +-16MB into
3663         register.
3664         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
3665         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
3666         prototype.
3667
3668         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
3669         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
3670         * configure: Rebuilt.
3671         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
3672         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
3673         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
3674         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
3675         -fpic.
3676         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
3677         non-pic code if TARGET_64BIT.
3678         (legitimize_address): Generate 64-bit TLS sequences.
3679         (output_pic_addr_const): Support x86-64 TLS operators.
3680         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
3681         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
3682         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
3683         (output_addr_const_extra): Support x86-64 TLS operators.
3684         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
3685         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
3686         unconditionally.
3687         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
3688         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
3689         (*tls_global_dynamic_sun): Renamed to...
3690         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
3691         (tls_global_dynamic): Renamed to...
3692         (tls_global_dynamic_32): ... this.
3693         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
3694         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
3695         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
3696         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
3697         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
3698         (tls_local_dynamic_base_dynamic): Renamed to...
3699         (tls_local_dynamic_base_dynamic_32): ... this.
3700         (tls_local_dynamic_base_dynamic_64,
3701         *tls_local_dynamic_base_dynamic_64): New.
3702         (*tls_local_dynamic_once): Renamed to...
3703         (*tls_local_dynamic_32_once): ... this.
3704
3705 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3706
3707         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
3708         __divdi3, __umoddi3, or __moddi3.
3709
3710 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3711
3712         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
3713         instead of just opt_index as switch expression.
3714
3715         * calls.c (store_one_arg): Change type of 'excess_align'
3716         to unsigned int.
3717
3718         * profile.c (output_gcov_string): Change type of 'temp'
3719         to size_t.
3720
3721 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3722
3723         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
3724         (__fixunssfdi, __fixsfdi): Likewise.
3725         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
3726         (s390_single_qi): Likewise.
3727         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
3728         unsigned comparison warning.
3729         (s390_return_addr_rtx): New function.
3730         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
3731         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
3732         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
3733
3734 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3735
3736         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
3737         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
3738         (s390_output_mi_thunk): Remove.
3739         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3740
3741 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
3742
3743         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
3744
3745 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
3746
3747         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
3748         inverted test in the conditional determining the possibility
3749         of sibcalls in PIC mode.
3750
3751 2002-10-20  Richard Henderson  <rth@redhat.com>
3752
3753         * target.h (struct gcc_target): Line wrap.
3754
3755         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
3756         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
3757         * config/alpha/alpha.h: ... not here.
3758         * config/alpha/alpha-protos.h: Update.
3759
3760         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
3761         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
3762         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
3763         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
3764         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
3765         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
3766         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
3767         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
3768         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
3769         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
3770         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
3771         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
3772         config/sparc/sparc.c, config/sparc/sparc.h,
3773         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
3774         config/stormy16/stormy16.h: Similarly.
3775
3776         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
3777         selection logic from call patterns.
3778
3779 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
3780
3781         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
3782
3783 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3784
3785         PR other/8202
3786         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
3787         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
3788         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
3789         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
3790
3791 2002-10-20  Roger Sayle  <roger@eyesopen.com>
3792
3793         PR c/761
3794         * toplev.c (flag_unsafe_profile_arcs): Remove.
3795         (flag_bounded_pointers): Remove.
3796         (flag_bounds_check): Correct comments.
3797         (lang_independent_options): Remove -funsafe-profile-arcs and
3798         -fbounded-pointers.  Correct -fbounds-check comments.
3799
3800         * flags.h: Correct flag_schedule_interblock comments.
3801         (flag_bounded_pointers): Remove prototype.
3802         (flag_bounds_check): Correct comments.
3803
3804         * c-opts.c (c_common_init_options): No need to mark
3805         flag_bounds_check as unspecified.
3806         (c_common_post_options): And no need to set it from
3807         flag_bounded_pointers if its still unspecified.
3808
3809         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
3810         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
3811         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
3812         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
3813
3814 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
3815         Angela Marie Thomas  <angela@releasedominatrix.com>
3816         Brendan Kehoe  <brendan@zen.org>
3817         Nick Clifton  <nickc@redhat.com>
3818         Andrew Haley  <aph@redhat.com>
3819
3820         * configure.in (--with-sysroot): New.  Don't inhibit libc if
3821         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
3822         and CROSS_SYSTEM_HEADER_DIR.
3823         * configure: Rebuilt.
3824         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
3825         (TARGET_SYSTEM_ROOT): New.
3826         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
3827         CROSS_SYSTEM_HEADER_DIR.
3828         (install-gcc-tooldir): New target.
3829         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
3830         if SYSTEM_HEADER_DIR does not exist and it's not the default
3831         sys-include directory.
3832         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
3833         (install-mkheaders): Likewise.
3834         * gcc.c (target_system_root): New variable.
3835         (add_sysrooted_prefix): New function.
3836         (process_command): Recompute run-time target_system_root from
3837         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
3838         does not exist.
3839         (do_spec_1): Process 'R' spec.
3840         (main): Add md_exec_prefix to exec_prefixes regardless of
3841         startfile_prefix_spec.  Use add_sysrooted_prefix for
3842         startfile_prefixes, and don't skip the default ones when cross
3843         compiling with sysroot enabled.  Removed unused case of
3844         non-absolute standard_startfile_prefix.
3845         * config/interix.h: Remove the only potential, yet disabled,
3846         occurrence of non-absolute (empty) standard_startfile_prefix.
3847         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
3848         linking.
3849         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
3850         * doc/install.texi (--with-sysroot): Document.
3851         (--with-headers, --with-libs): Deprecate.
3852
3853 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3854             Mark Mitchell  <mark@codesourcery.com>
3855
3856         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
3857         match target.h.
3858         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
3859         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
3860         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
3861         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
3862         x86_output_mi_thunk): Likewise.
3863         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
3864         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
3865         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
3866         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
3867         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
3868         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
3869         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
3870         Likewise.
3871         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
3872
3873         * target.h (gcc_target): Update output_mi_thunk and
3874         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
3875         vcall_index.
3876
3877         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
3878         TARGET_ASM_OUTPUT_MI_THUNK in comments.
3879         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
3880         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
3881         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
3882         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
3883         signature.
3884         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
3885         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
3886         TARGET_ASM_OUTPUT_MI_THUNK in comments.
3887         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
3888         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
3889         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
3890         TARGET_ASM_OUTPUT_MI_THUNK in comments.
3891         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
3892         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
3893
3894         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
3895         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
3896
3897 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
3898
3899         * real.c (do_add): Fix 0+0 sign corner case.
3900         (do_divide): Fix Inf/0 corner case.
3901
3902 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
3903
3904         * i386.c (classify_argument): Pass MMX arguments in memory
3905         (ix86_expand_builtin): Expand proper address mode for cflush.
3906         * i386.md (movdqa): Fix typo.
3907         (sse2_cflush): Accept DImode addresses.
3908
3909         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
3910         (_mm_max_sd): Fix pasto.
3911         (_mm_storeh_pd, _mm_storel_pd): Fix.
3912
3913         * i386.c (bdesc_comi): Fix to match specification.
3914         (ix86_expand_sse_comi): Emit the comparison properly.
3915         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
3916         Do not use comparison operator.
3917         (vnmaskcmp): Fix template.
3918
3919         * xmmintrin.h (_mm_cvtps_pi16): Fix.
3920
3921 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
3922
3923         * dependence.c : Removed.
3924         * Makefile.in : Remove dependence.o.
3925
3926 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
3927
3928         * mmintrin.h (__m64): typedef it to v2si.
3929         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
3930         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
3931         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
3932         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
3933         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
3934         * xmmintrin.h (_mm_setzero_si64): Likewise.
3935
3936         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
3937         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
3938
3939         PR target/7693
3940         Patch by Shawn Wagner
3941         * mmintrin.h: Replace pi64 by si64.
3942
3943 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
3944
3945         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
3946         Use length of 4 not *.
3947         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
3948         (movdf_softfloat64): Likewise.
3949         (movdi_internal32): Use length of 4 not *.
3950         (movti_power): Same.
3951         (ctrsi, ctrdi): Same.
3952
3953 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
3954
3955         * c-decl.c (start_decl): Point users of the old initialized-
3956         typedef extension at __typeof__.
3957
3958 2002-10-18  Richard Henderson  <rth@redhat.com>
3959
3960         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
3961         (real_to_decimal): Re-implement using the logic from the
3962         gcc 3.2 etoasc.  Comment heavily.
3963         (div_significands): Simplify loop startup and comparison logic.
3964
3965 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
3966
3967         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
3968         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
3969         (TARGET_ASM_OUT): Add them.
3970         * target.h (asm_out): Add output_mi_thunk and
3971         output_mi_vcall_thunk.
3972         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3973         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3974         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
3975         * config/arm/arm.c (arm_output_mi_thunk): Define.
3976         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3977         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3978         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3979         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3980         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
3981         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
3982         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
3983         prototype.
3984         (x86_output_mi_vcall_thunk): Declare.
3985         * config/i386/i386.c (override_options): Clear
3986         output_mi_vcall_thunk in 64-bit mode.
3987         (ix86_fntype_regparm): New function.
3988         (ix86_return_pops_args): Use it.
3989         (ia32_this_parameter): New function.
3990         (x86_output_mi_vcall_thunk): New function.
3991         (x86_output_mi_thunk): Use it
3992         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
3993         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
3994         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
3995         * config/i960/i960.c (i960_output_mi_thunk): New function.
3996         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
3997         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
3998         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
3999         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4000         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4001         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
4002         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4003         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4004         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4005         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4006         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4007         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4008         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4009         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4010         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4011         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4012         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
4013         * config/s390/s390.c (s390_output_mi_thunk): Define.
4014         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4015         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4016         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4017         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4018         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4019         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4020         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
4021         * config/vax/vax.c (vax_output_mi_thunk): Define.
4022         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4023         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4024         * doc/tm.texi: Adjust documentation.
4025
4026 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
4027
4028         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
4029         __enable_execute_stack function.
4030         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
4031         as NETBSD_ENABLE_EXECUTE_STACK.
4032         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4033         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4034         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4035         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4036         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4037
4038 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
4039
4040         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
4041         to __enable_execute_stack with the address of the trampoline
4042         if TRANSFER_FROM_TRAMPOLINE is defined.
4043         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
4044         constant if building libgcc2.
4045
4046 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
4047
4048         * i386.c (pentium4_cost): Fix according to Intel recommendations.
4049         (ix86_memory_move_cost): Fix for 64bit compilation.
4050
4051 2002-10-17  Roger Sayle  <roger@eyesopen.com>
4052
4053         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
4054
4055 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
4056
4057         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
4058         in CTR/LR/MQ.
4059         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
4060         to/from CTR/LR/MQ.
4061         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
4062         (movsf_softfloat): Likewise.
4063
4064 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
4065
4066         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
4067
4068 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
4069
4070         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
4071         tramp, not addr, to pass the trampoline address to
4072         __enable_execute_stack.
4073
4074 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
4075
4076         * mmintrin.h: Guard by __MMX__
4077         * xmmintrin.h: Guard by __SSE__
4078
4079         PR other/8062
4080         * xmmintrin.h (_MM_SHUFFLE2): New macro.
4081         (_mm_load*_?d): New functions.
4082         (_mm_set*_?d): New functions.
4083         (_mm_store*_?d): New functions.
4084
4085 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
4086
4087         Really commit patch announced at Oct 14
4088         PR c/7344
4089         * predict.c (can_predict_insn_p): New function.
4090         (estimate_probability): Avoid unnecesary work.
4091         (process_note_prediction): Likewise.
4092         * toplev.c (rest_of_compilation): Account early branch prediction pass
4093         as TV_BRANCH_PROB.
4094
4095         PR other/8048
4096         Found by Ian Ollmann
4097         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
4098         (_mm_load?_pd): Likewise.
4099         (_mm_store?_pd): Likewise.
4100
4101         PR target/7386
4102         * i386.c (builtin_description):Drop cmpg[te]s[sd].
4103         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
4104         swapped alternative.
4105
4106         PR opt/7630
4107         * reload1.c (reload_inner_reg_of_subreg): New argument output;
4108         (push_reload): Update call.
4109
4110 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
4111
4112         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
4113         if using mips/elf.h or mips/elf64.h.
4114         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
4115         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
4116
4117 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
4118
4119         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
4120         SI.
4121
4122 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
4123
4124         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
4125         (LPREFIX): Likewise.
4126         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
4127         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
4128         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
4129         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
4130         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
4131
4132         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
4133         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
4134         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4135         BSS_SECTION_ASM_OP): Move from linux.h.
4136         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4137         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4138
4139         * config/s390/s390.c (s390_function_profiler): Use
4140         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4141
4142 2002-10-15  Eric Christopher  <echristo@redhat.com>
4143
4144         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
4145         * java/parse.y (obtain_incomplete_type): Make pointer
4146         ptr_mode.
4147
4148 2002-10-15  Richard Henderson  <rth@redhat.com>
4149
4150         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
4151         as arguments.  Bound DIGITS by the available buffer size.
4152         (real_to_hexadecimal): Likewise.
4153         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
4154         (REAL_VALUE_TO_DECIMAL): Remove.
4155         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
4156         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
4157         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
4158         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4159         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
4160         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
4161         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
4162         use real_to_decimal directly, and with the proper arguments.
4163         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
4164
4165 2002-10-15  Jim Wilson  <wilson@redhat.com>
4166
4167         * reload1.c (merge_assigned_reloads): After converting overlapping
4168         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
4169
4170         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
4171
4172 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
4173
4174         * expr.c (do_tablejump): Fix typo in my previous commit.
4175
4176 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
4177
4178         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
4179
4180 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4181
4182         * config/s390/s390.c (s390_split_branches): Add return
4183         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
4184
4185         (find_base_register_in_addr): New function.
4186         (find_base_register_ref): New function.
4187         (replace_base_register_ref): New function.
4188
4189         (struct constant_pool): Add members pool_insn, insns, and anchor.
4190         Remove member last_insn.
4191         (s390_start_pool): Initialize them.
4192         (s390_end_pool): Emit pool placeholder insn.
4193         (s390_add_pool_insn): New function.
4194         (s390_find_pool): Use insns bitmap instead of addresses.
4195         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
4196         Replace unspec 104 by local-pool-relative references.
4197         (s390_output_constant_pool): Output anchor label if required.
4198         (s390_output_symbolic_const): Handle unspec 104 and 105.
4199         (s390_add_pool): Remove, replace by ...
4200         (s390_add_constant, s390_find_constant): ... these new functions.
4201         (s390_add_anchor): New function.
4202
4203         (s390_chunkify_pool): Delete, replace by ...
4204         (s390_chunkify_start, s390_chunkify_finish,
4205         s390_chunkify_cancel): ... these new functions.
4206         (s390_optimize_prolog): Add parameter TEMP_REGNO.
4207         Recompute register live data for special registers.
4208         (s390_fixup_clobbered_return_reg): New function.
4209         (s390_machine_dependent_reorg): Rewrite to use new
4210         s390_chunkify_... routines.
4211
4212         config/s390/s390.md ("reload_base"): Rename to ...
4213         ("reload_base_31"): ... this.
4214         ("reload_base_64"): New insn.
4215         ("reload_base2"): Remove.
4216         ("reload_anchor"): New insn.
4217         ("pool"): New insn.
4218
4219         s390.c (s390_pool_overflow): Remove.
4220         s390.h (s390_pool_overflow): Likewise.
4221         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
4222
4223 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
4224
4225         * sh.md (movv8qi_i+2): Don't split if source is -1.
4226
4227 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
4228
4229         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
4230
4231 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4232
4233         PR opt/7409
4234         * loop.c (loop_regs_scan): Mark registers used for function
4235         argument passing as MAY_NOT_OPTIMIZE.
4236
4237 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
4238
4239         * gcov-io.h (gcov_info): Fix type.
4240         * profile.c (create_profiler): Fix type mismatch.
4241
4242 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
4243
4244         * i386.md (movv2di_internal): New pattern.
4245         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
4246         (movv2di): New expander.
4247         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
4248
4249         * i386.c (ix86_expand_timode_binop_builtin): Delete.
4250         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
4251         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
4252         (ix86_expand_builtin): Likewise.
4253         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4254         sse_andti3,
4255         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4256         sse_andnti3,
4257         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
4258         sse_orti3,
4259         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
4260         sse_xorti3): Kill.
4261         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
4262          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
4263         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
4264          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
4265         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
4266          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
4267
4268         * xmmintrin.h (__m128i): Define as __v2di.
4269
4270         PR c++/6419
4271         (expand_expr): Use DECL_RTL_SET_P.
4272
4273 2002-10-14  Roger Sayle  <roger@eyesopen.com>
4274
4275         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
4276
4277 2002-10-14  Roger Sayle  <roger@eyesopen.com>
4278             Zack Weinberg <zack@codesourcery.com>
4279
4280         * config/i386/i386.c (k6_cost): Correct typo.
4281
4282 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
4283
4284         PR optimization/6631
4285         * alias.c (objects_must_conflict_p): Check honor_readonly when
4286         examining TYPE_READONLY.
4287         * function.c (assign_stack_temp_for_type): Likewise.
4288
4289 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
4290
4291         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
4292         Swap zero extension arguments.
4293         (umaxhi3): Fix instruction class.
4294         PR target/7211
4295         (prefetch): Fix prefetch instructions.
4296         PR target/7238
4297         (pkwb): Fix output constraint.
4298
4299 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
4300
4301         * config/mips/mips.c (print_operand): Increase buffer size for
4302         real numbers.
4303
4304 2002-10-14  Richard Henderson  <rth@redhat.com>
4305
4306         PR opt/8165
4307         * gcse.c (adjust_libcall_notes): Revert last change.
4308         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
4309
4310 2002-10-14  Andrew Haley  <aph@redhat.com>
4311
4312         * tree-inline.c (remap_block): All local class initialization
4313         flags go in the outermost scope.
4314         (expand_call_inline): Call java_inlining_map_static_initializers.
4315         (expand_call_inline): Call java_inlining_merge_static_initializers.
4316         * java/lang.c (merge_init_test_initialization): New.
4317         (java_inlining_merge_static_initializers): New.
4318         (inline_init_test_initialization): New.
4319         (java_inlining_map_static_initializers): New.
4320
4321         * tree-inline.c (expand_call_inline): Convert retvar to expected
4322         type.
4323
4324 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
4325
4326         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
4327
4328 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
4329
4330         * stmt.c: Fix typo in comment.
4331
4332 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
4333
4334         * c-common.c (c_common_type_for_mode): Add V2HImode case.
4335         * tree.c (build_common_tree_nodes_2): Initialize
4336         unsigned_V2HI_type_node and V2HI_type_node.
4337         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
4338         (unsigned_V2HI_type_node, V2HI_type_node): Define.
4339
4340 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
4341
4342         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
4343         Handle TARGET_64BIT.
4344
4345 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
4346
4347         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
4348         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
4349         (MULTILIB_DIRNAMES): Remove long32.
4350         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
4351         (MULTILIB_REDUNDANT_DIRS): Remove.
4352
4353 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
4354
4355         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
4356         * gcc.c (driver_self_specs): New variable.
4357         (do_self_spec): New function.
4358         (main): Use it to process driver_self_specs.
4359
4360 2002-10-13  Richard Henderson  <rth@redhat.com>
4361
4362         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
4363         indirect sibcalls when regparm >= 3.
4364
4365         * config/i386/i386.c (sibcall_insn_operand): New.
4366         * config/i386/i386.h (PREDICATE_CODES): Update.
4367         * config/i386/i386-protos.h: Update.
4368         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
4369
4370         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
4371
4372 2002-10-12  Roger Sayle  <roger@eyesopen.com>
4373
4374         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
4375         arithmetic right shifts of ~0 during RTL simplifications.
4376
4377 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
4378
4379         PR preprocessor/7862
4380         PR preprocessor/8190
4381         * gcc.c (cpp_unique_options): Don't delete .d files.
4382         Remove stray whitespace.
4383
4384 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
4385
4386         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
4387         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
4388         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
4389         (pdp11_output_function_epilogue, output_ascii): Likewise.
4390         (output_addr_const_pdp11): Likewise.
4391         * pdp11.md (movdi): Use offsetable memory for floating store.
4392         (lshrsi3, negsi2): Delete irrelevant comment.
4393
4394 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
4395
4396         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
4397         indirect calls to be sibcall optimized.
4398         * config/i386/i386.md (sibcall_1): New.
4399         (call_1): Add no-sibcalls condition.
4400         (sibcall_value_1): New.
4401         (call_value_1): Add no-sibcalls condition.
4402
4403 2002-10-11  Eric Christopher  <echristo@redhat.com>
4404
4405        * output.h (default_valid_pointer_mode): Declare.
4406        * varasm.c (default_valid_pointer_mode): Define.
4407        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
4408        * target.h: Ditto.
4409        * tree.c (build_pointer_type_for_mode): New function.
4410        (build_pointer_type): Use.
4411        (build_reference_type_for_mode): New function.
4412        (build_reference_type): Use.
4413        * tree.h: Declare new functions.
4414        * c-common.c (handle_mode_attribute): Use new functions, check
4415        for type.
4416        * stor-layout.c (layout_type): Depend on machine mode for
4417        REFERENCE_TYPE and POINTER_TYPE.
4418        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
4419        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
4420        and REFERENCE_TYPE.
4421        * config/mips/mips.c (mips_valid_pointer_mode): New function.
4422        (TARGET_VALID_POINTER_MODE): Use and define.
4423        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
4424
4425 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
4426
4427         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
4428         not the address of the REG.
4429         (struct cse_reg_info): Make subreg_ticked unsigned.
4430
4431 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
4432
4433         * doc/compat.texi: Add info about C++ libraries.
4434
4435 2002-10-11  Richard Henderson  <rth@redhat.com>
4436
4437         PR opt/8165
4438         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
4439
4440 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4441
4442         * cfganal.c (dfs_enumerate_from): Use PARAMS.
4443         * genautomata.c (output_insn_code_cases): Likewise.
4444         * real.c (real_format): Likewise.
4445         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
4446         ensure value is promoted before doing subtraction.
4447
4448 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
4449
4450         * calls.c (expand_call): Simplify noreturn call.
4451
4452         PR c/7344
4453         * cfgbuild.c (make_edges): Create edge cache when we do have
4454         large jumptable.
4455         * expr.c (do_tablejump): Note size of maximal jumptable.
4456         * function.c (prepare_function_start): Zero out size.
4457         * function.h (function): Add max_jumptable_ents.
4458
4459         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
4460
4461 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
4462
4463         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
4464         register for mperm_w operation.
4465
4466 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
4467
4468         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
4469         an integer, use simplify_gen_subreg.
4470
4471 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
4472
4473         * calls.c (flags_from_decl_or_type): Make extern.
4474         (ECF_*): Move ...
4475         * rtl.h (ECF_*): ... here.
4476         (flags_from_decl_or_type): Declare.
4477
4478 2002-10-10  Roger Sayle  <roger@eyesopen.com>
4479             Nathan Sidwell <nathan@codesourcery.com>
4480
4481         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
4482         shifts of the form -1 >> x.
4483
4484 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
4485
4486         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
4487
4488 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
4489
4490         * extend.texi (Vector Extensions): Remove comment about single
4491         element vectors.
4492
4493 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4494
4495         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
4496         * function.c (insns_for_mem_hash): Likewise.
4497         * varasm.c (STRHASH): Likewise.
4498
4499 2002-10-10  Stuart Hastings  <stuart@apple.com>
4500
4501         * cse.c (struct cse_reg_info): Add subreg_ticked.
4502         (SUBREG_TICKED): New.
4503         (get_cse_reg_info): Initialize SUBREG_TICKED.
4504         (mention_regs): Use it.
4505         (invalidate): Set SUBREG_TICKED.
4506         (invalidate_for_call): Likewise.
4507         (addr_affects_sp_p): Likewise.
4508
4509 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
4510
4511         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
4512         into proper operand.
4513
4514 2002-10-10  Denis Chertykov  <denisc@overta.ru>
4515
4516         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
4517         deallocation.
4518         * config/ip2k/libgcc.S: Combine routines used by function
4519         epilogue.
4520
4521 2002-10-10  Jim Wilson  <wilson@redhat.com>
4522
4523         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
4524         UDIV.
4525
4526 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
4527
4528         * config/rs6000/aix52.h: New file.
4529         * config/rs6000/t-aix52: New File.
4530         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
4531         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
4532
4533 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
4534
4535         PR target/5610
4536         * invoke.texi (-msse-math): Kill
4537         (-msse): Add note to mfpmath=sse.
4538
4539 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
4540
4541         PR target/7723
4542         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
4543
4544 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
4545
4546         PR preprocessor/8179
4547         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
4548         as cc1_options.
4549         (default_compilers): Pass debug options when preprocessing
4550         stdin.
4551
4552 2002-10-06  Richard Henderson  <rth@redhat.com>
4553
4554         * toplev.c (rest_of_compilation): Revert opt/2960 change.
4555
4556 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
4557
4558         * i386.c (*_cost): Add branch costs.
4559         (override_options): set ix86_branch_cost.
4560         (ix86_expand_int_movcc): Use BRANCH_COST.
4561         * i386.h (costs): Add branch_cost.
4562
4563 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
4564
4565         PR c/7353
4566         * c-decl.c (start_decl): Unconditionally issue error for
4567         'typedef foo = bar'.
4568         (finish_decl): Remove special case for TYPE_DECL with initializer.
4569
4570         * doc/extend.texi: Delete "Naming Types" section.  Change all
4571         cross-references to that section to refer to "Typeof" instead.
4572         Add the useful safe-max()-macro example from "Naming Types" to
4573         "Typeof", rewritten using that extension.  Add some compatibility
4574         notes to "Typeof."
4575
4576 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4577
4578         * loop.c: Revert 2002-08-15 change.
4579         (LOOP_REGNO_NREGS): Ensure type is int.
4580
4581 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
4582
4583         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
4584         which copies first FPR and clears second.
4585         (extendsftf2): Same.
4586         (floatditf2): Fix typo.
4587         (floatsitf2): Same.
4588         (fix_trunctfdi2): Same.
4589         (fix_trunctfsi2): Same.
4590
4591 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4592
4593         * conflict.c (arc_hash): Change return type to hashval_t.
4594         * cselib.c (get_value_hash): Likewise.
4595         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
4596         state_hash, automata_list_hash): Likewise.
4597         * read-rtl.c (def_hash): Likewise.
4598         * tree.c (type_hash_hash): Likewise.
4599
4600 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
4601
4602         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
4603         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
4604
4605 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
4606
4607         * sh.md (ffssi2): Fix emitted code.
4608
4609 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
4610
4611         * cse.c (insn_live_p): Pass insn pattern, not full insn
4612         to may_trap_p.
4613
4614 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
4615
4616         * cppmacro.c (paste_tokens): Only allow / to paste with =.
4617
4618 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
4619
4620         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
4621         64-bit hosts.
4622         (movtf_internal): Reference correct displacement for second value
4623         in memory.
4624         (movtf splitter): Correct generation of constants in 64-bit mode.
4625
4626 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
4627
4628         * libgcc2.c (__floatdisf): Properly cure double rounding.
4629
4630 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4631
4632         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
4633         * doc/cpp.texi (Common Predefined Macros): Document.
4634
4635 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4636
4637         PR doc/7484
4638         * doc/invoke.texi (Option Summary): List
4639         -Wmissing-declarations as a C only option.
4640
4641 2002-10-08  Roger Sayle  <roger@eyesopen.com>
4642
4643         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
4644         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
4645         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
4646
4647 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
4648
4649         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
4650         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
4651         variables.
4652         (safe_vector_operand): Update sse_clrv4sf call.
4653         (ix86_expand_buildin): Likewise
4654         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
4655         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
4656         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
4657         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
4658         macros.
4659         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
4660         movv4si):  Obey the new flags.
4661         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
4662         reformating penalty.
4663         (anddf, cmov patterns): Avoid reformating by first converting.
4664         (sse_cvtsd2ss): Fix predicate.
4665         (sse2_clrti): Fix mode,
4666         (sse_clrv4sf): Avoid unspec.
4667
4668 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
4669
4670         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
4671         mno-app-regs|mcmodel=medany.
4672         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
4673         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
4674         (CRTSTUFF_T_CFLAGS): Define.
4675
4676 2002-10-08  Roger Sayle  <roger@eyesopen.com>
4677
4678         PR target/8087
4679         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
4680         pool references that are constructed using LO_SUM.
4681
4682 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
4683
4684         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
4685         -Wall.
4686         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
4687         message.
4688         * flags.h (warn_strict_aliasing): Declare.
4689         * toplev.c (warn_strict_aliasing): Define.
4690         (lang_independent_options): Add it.
4691         * doc/invoke.texi (-Wstrict-aliasing): Document it.
4692
4693 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
4694
4695         * system.h (GCCBUGURL): Delete.
4696         * version.c (bug_report_url): New.  Add commentary about
4697         modifying both these strings in modified distributions.
4698         * version.h: Declare bug_report_url.
4699
4700         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
4701         bug_report_url.
4702
4703 2002-10-08  Nick Clifton  <nickc@redhat.com>
4704
4705         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
4706         convert uint64_t into __ev64_opaque__.
4707         (__ev_set_acc_s64): Likewise, but using signed types.
4708
4709 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
4710
4711         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
4712         ("*doloop_di_long"): Likewise.
4713
4714 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
4715
4716         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
4717
4718 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
4719
4720         * config/mips/mips.md (define_attr cpu): Add r4111.
4721
4722 2002-10-08  Anthony Green  <green@redhat.com>
4723
4724         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
4725
4726 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4727
4728         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
4729         for REAL_VALUE_TO_DECIMAL output.
4730
4731 2002-10-07  Richard Henderson  <rth@redhat.com>
4732
4733         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
4734         function; cleanup PLUS case by using recursion.  Update all users.
4735         (NONZERO_BASE_PLUS_P): Remove.
4736         (find_comparison_args): Use rtx_addr_can_trap_p instead.
4737         (fold_rtx): Use nonzero_address_p.
4738         * rtl.h (nonzero_address_p): Declare.
4739         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
4740         (rtx_addr_can_trap_p): Likewise.
4741         (nonzero_address_p): New.
4742         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
4743         (simplify_relational_operation): Use nonzero_address_p.
4744
4745 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
4746
4747         * config/rs6000/rs6000.c (rs6000_override_options): Set
4748         real_format_for_mode for IBM extended format, if enabled.
4749         (easy_fp_constant): Add TFmode.
4750         (rs6000_legitimize_address): Add TFmode.
4751         (rs6000_legitimate_address): Same.
4752         (function_arg_advance): TFmode uses two FPRs.
4753         (rs6000_emit_prologue): Fix warning.
4754         (rs6000_output_function_epilogue): Add TFmode.
4755         (output_toc): Add TFmode.
4756         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
4757         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
4758         * rs6000.md (movtf splitter): Load TFmode constant.
4759
4760 2002-10-07  Dale Johannesen  <dalej@apple.com>
4761
4762         * rtl.h:  Add NOTE_PRECONDITIONED.
4763         * unroll.c:  Set it.
4764         * loop.c:  Set loop_info->preconditioned from it.
4765         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
4766
4767 2002-10-07  Richard Henderson  <rth@redhat.com>
4768
4769         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
4770         new rtx for comparing the argument pointer against zero.
4771         (i960_va_start): Similarly.
4772
4773 2002-10-07  Richard Henderson  <rth@redhat.com>
4774
4775         * config/i960/i960.md (*): Use TFmode, not XFmode.
4776         * config/i960/i960.c (*): Likewise.
4777         (i960_arg_size_and_align): Remove XFmode alignment hack.
4778         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
4779         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
4780         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
4781         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
4782
4783 2002-10-07  Richard Henderson  <rth@redhat.com>
4784
4785         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
4786         entry points; use void return value and argument list.
4787
4788 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
4789
4790         * calls.c (expand_call): Fix function-is-volatile check.
4791
4792 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
4793
4794         * t-pdp11: Add MULTILIB support for msoft-float.
4795         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
4796
4797         * t-pdp11: Add LIB2FUNCS_EXTRA.
4798         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
4799         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
4800         'fldd' to 'ldd', rename 'fstd' to 'std'.
4801         (pdp11_output_function_epilogue): Likewise.
4802         (output_move_quad): Make the comment gas compatible.
4803         (output_ascii): Add preceding 0 to the octal constant.
4804         (print_operand_address): Add pre_modify, post_modify.
4805         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
4806         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
4807         with the indication of Paul Koning.
4808         (PRINT_OPERAND): Fix floating constant.
4809         * pdp11.md (movdi): Restrict matching pattern.
4810         (movqi): Generalize the matching pattern.
4811         (movdf): Restrict matching pattern.
4812         (zero_extendqihi2): Change constant representation.
4813         (floatsidf2): Fix wrong operands.
4814         (addqi3): Fix wrong instruction name.
4815         (subqi3): Fix wrong instruction name.
4816         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
4817         (xorsi3): Fix wrong insn.
4818         (one_cmplqi2): Add two operand pattern.
4819         (lsrsi3): New.
4820         (negsi2): New.
4821         (call): Add register indirect case.
4822         (mod): Fix wrong subreg.
4823
4824 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
4825             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4826
4827         PR c/7411
4828         * expr.c (expand_expr) [PLUS]: Simplify after the operands
4829         have been expanded in EXPAND_NORMAL mode.
4830
4831 2002-10-06  Richard Henderson  <rth@redhat.com>
4832
4833         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
4834
4835 2002-10-06  Richard Henderson  <rth@redhat.com>
4836
4837         PR optimization/2960
4838         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
4839         optimize_size.
4840
4841 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
4842
4843         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
4844         previously definitions.
4845
4846 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
4847
4848         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
4849         * c-opts.c (find_opt): Similarly.
4850
4851 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
4852
4853         * athlon.md: rewrite to DFA.
4854         * i386 (ix86_adjust_cost): Drop memory latency code.
4855         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
4856
4857 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
4858
4859         * gcc.c (set_multilib_dir): Don't access *end.
4860         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
4861         (print_multilib_info): Don't show paths starting with ".:".
4862         * genmultilib: Add new option, "yes" if multilibs are enabled.
4863         Update comments.  If multilibs not enabled, print .:${osdirout}
4864         for each directory.  If multilibs are enabled, always print
4865         ${dirout}:${osdirout}, even if the two are the same.
4866         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
4867         Pass all MULTILIB_* variables to genmultilib even if
4868         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
4869
4870 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
4871
4872         * gcc.c (process_command): Set .validated for -pipe.  Correct
4873         grammar in comment.
4874
4875 2002-10-04  Bruce Korb  <bkorb@gnu.org>
4876
4877         * fixinc/inclhack.def(hpux11_abs):  use format fix
4878         * fixinc/fixincl.x: regenerate
4879         * fixinc/tests/base/stdlib.h: accommodate new fix test
4880
4881 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
4882
4883         * c-common.c (cb_register_builtins):  Use really_no_inline.
4884
4885 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
4886
4887         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
4888         copied instruction if the note is not loop invariant.
4889
4890 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
4891
4892         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
4893
4894 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
4895
4896         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
4897         and -mhp-ld options to list of options.  Add -mgnu-ld
4898         and -mhp-ld option descriptions.
4899
4900 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
4901
4902         * fixinc/inclhack.def (hpux11_abs):  New.
4903         (stdio_va_list): change __va_list__ to __gnuc_va_list.
4904         * fixinc/fixincl.x: Rebuild.
4905
4906 2002-10-04  Roger Sayle  <roger@eyesopen.com>
4907
4908         * config/i386/i386.h (processor_costs): Add new fields fadd,
4909         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
4910         (RTX_COSTS): Use these fields to determine the RTX costs
4911         of floating point addition/subtraction, multiplication,
4912         division, fabs, negation and square root respectively.
4913         * config/i386/i386.c (size_cost): Provide instruction sizes
4914         for these new fields.
4915         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
4916         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
4917         counts for these new fields for all x86 processor variants.
4918
4919 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4920
4921         * mips.c (mips_const_double_ok): Delete unused variable.
4922
4923         * gengtype.c (rtx_next): Change type to int.
4924
4925 2002-10-04  Andreas Jaeger  <aj@suse.de>
4926
4927         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
4928
4929 2002-10-04  Richard Henderson  <rth@redhat.com>
4930
4931         * real.h (SIGNIFICAND_BITS): Add one more word.
4932         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
4933         * real.c (times_pten): New.
4934         (real_to_decimal, real_from_string): Use it.
4935         (sticky_rshift_significand): Use & to find modulus.
4936         (rshift_significand, lshift_significand): Likewise.
4937         (do_divide): Apply sticky bit after normalization.
4938         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
4939
4940 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
4941
4942         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
4943         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
4944
4945 2002-10-03  Andreas Jaeger  <aj@suse.de>
4946
4947         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
4948         to unsigned long, adjust printf format string.
4949         (output_mangled_typename): Likewise.
4950
4951 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
4952
4953         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
4954         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
4955         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
4956         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
4957         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
4958         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
4959         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
4960         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
4961
4962 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
4963
4964         * doc/invoke.texi (-Wabi): Document mangling bug.
4965
4966 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
4967
4968         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
4969         name for the tbtab label that depends on the function asm name.
4970         Don't output tbtab label unless optional_tbtab.
4971         (output_mi_thunk): Formatting.
4972
4973 2002-10-03  Richard Henderson  <rth@redhat.com>
4974
4975         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
4976         * config/m68k/m68k.c (override_options): ... here.
4977         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
4978         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
4979         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
4980         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
4981
4982 2002-10-03  Richard Henderson  <rth@redhat.com>
4983
4984         * real.h (struct real_value): Use ENUM_BITFIELD.
4985
4986 2002-10-03  Richard Henderson  <rth@redhat.com>
4987
4988         * config/i960/i960.md (call, call_value): Use emit_call_insn.
4989
4990 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
4991
4992         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
4993
4994 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
4995
4996         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
4997         * config/pa/pa.h (MASK_GNU_LD): New.
4998         (TARGET_GNU_LD): New.
4999         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
5000         on gnu-ld and MASK_GNU_LD.
5001         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
5002
5003 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
5004
5005         * i386.c (athlon_cost): Fix the move costs.
5006
5007 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
5008
5009         * final.c (final): Use symbol name as function name for profiling.
5010         * profile.c (get_exec_counts): Likewise.
5011         (branch_prob): Likewise.
5012
5013 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
5014
5015         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
5016
5017 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
5018
5019         * gcc.c (print_multi_os_directory): New variable.
5020         (option_map): Support --print-multi-os-directory.
5021         (struct prefix_list): Add os_multilib field.
5022         (multilib_os_dir): New variable.
5023         (static_specs): Add multilib_options.
5024         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
5025         subdirs if non-zero.
5026         (read_specs, execute): Update callers.
5027         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
5028         pass 1 as multilib option.
5029         (display_help): Include --print-multi-os-directory.
5030         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
5031         (process_command): Update callers.  Handle --print-multi-os-directory.
5032         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
5033         set.
5034         (main): Update find_a_file and add_prefix callers.
5035         Handle print_multi_os_directory.
5036         (struct mdswitchstr): New.
5037         (mdswitches, n_mdswitches): New variables.
5038         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
5039         present on the command line nor their mutually incompatible
5040         switches.
5041         (default_arg): Optimize.
5042         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
5043         array.
5044         (print_multilib_info): Only print GCC multilib dir name, not OS
5045         multilib dirname.
5046         * genmultilib: Add osdirnames parameter.  Output multilib_options
5047         variable.  If osdirnames is specified, output dirnames as
5048         dirname:osdirname.
5049         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
5050         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
5051         to compute libgcc_s soname and install path.
5052         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
5053         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
5054         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
5055         argument.
5056
5057         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
5058         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5059         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
5060         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
5061         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
5062         and -m64.
5063         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
5064         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5065         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
5066         (STARTFILE_ARCH_SPEC): Remove.
5067         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
5068         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5069         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
5070         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
5071         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5072
5073 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
5074
5075         * predict.c (choose_function_section): Avoid choice for linkonce functions.
5076
5077 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
5078
5079         * i386.md (lea to mul peep2): Fix condition.
5080
5081 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5082
5083         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
5084         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
5085
5086 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
5087
5088         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
5089         attribute "unused".
5090
5091         * config/t-libunwind: Mention unwind-sjlj.c.
5092         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
5093         to #ifndef __USING_SJLJ_EXCEPTIONS__.
5094
5095         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
5096         before inclusion of config.gcc, but after configuring the compiler etc.
5097         Determine default value for --enable-libunwind-exceptions based on
5098         whether the host has a libunwind library (not guaranteed to be correct,
5099         but it's a reasonable first guess and can always be overridden with an
5100         explicit --enable/disable-libunwind-exceptions.
5101         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
5102         tmake_file when $use_libunwind_exceptions is enabled.
5103         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
5104         ia64 (e.g., config/t-linux also updates it).
5105         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
5106         along with the shared version of libgcc since the latter requires
5107         the former.
5108         * unwind-libunwind.c: New file.
5109         * config/t-libunwind: Ditto.
5110
5111 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5112
5113         * config.gcc: Remove support for vax-*-vms*.
5114         * config/vax/vms.h: Remove.
5115         * config/vax/xm-vms.h: Remove.
5116         * config/vax/vax-protos.h: Remove VMS-specific code.
5117         * config/vax/vax.c: Remove VMS-specific code.
5118
5119 2002-10-02  Richard Henderson  <rth@redhat.com>
5120
5121         PR opt/7124
5122         * config/i386/i386.c (ix86_register_move_cost): Increase cost
5123         for secondary_memory_needed pairs.
5124
5125 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5126
5127         * doc/vms.texi: Blow away false include file section.
5128
5129 2002-10-02  Roger Sayle  <roger@eyesopen.com>
5130
5131         PR optimization/6627
5132         * toplev.c (force_align_functions_log): New global variable.
5133         * flags.h (force_align_functions_log): Add extern prototype.
5134         * varasm.c (assemble_start_function): Use it to force minimum
5135         function alignment.
5136         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
5137         minimum function alignment to one byte.
5138         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
5139         the least significant bit of vtable member function pointers.
5140         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
5141         here from cp/cp-tree.h.
5142
5143 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
5144
5145         * i386.c (print_operand_address): Use RIP addressing for offsetted
5146         label refs too.
5147
5148 2002-09-30  David S. Miller  <davem@redhat.com>
5149
5150         PR middle-end/7151
5151         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
5152         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
5153
5154 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
5155
5156         * calls.c (expand_call): Remove the `no indirect check'
5157         for sibcall optimization; use function_ok_for_sibcall
5158         target hook; refine check for `function is volatile'.
5159         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
5160         * hooks.c (hook_tree_tree_bool_false): New.
5161         * hooks.h (hook_tree_tree_bool_false): Declare.
5162         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
5163         (TARGET_INITIALIZER): Add it.
5164         * target.h (struct gcc_target): Add function_ok_for_sibcall.
5165         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
5166         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5167         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5168         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
5169         Remove function declaration.
5170         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
5171         function static and accept another argument of type `tree'.
5172         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5173         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5174         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5175         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
5176         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5177         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5178         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5179         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
5180         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
5181         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5182         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5183         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
5184         Remove function declaration.
5185         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
5186         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
5187         rename first argument to `decl'; accept another argument
5188         of type `tree'; make static.
5189         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5190         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5191         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
5192         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5193         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5194         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
5195         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5196         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5197         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5198
5199 2002-10-01  Roger Sayle  <roger@eyesopen.com>
5200
5201         * unroll.c (loop_iterations): Revert 2002-09-08 change.
5202
5203 2002-10-01  Richard Henderson  <rth@redhat.com>
5204
5205         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
5206         (real_to_hexadecimal): Likewise.
5207         * print-rtl.c (print_rtx): If we are linked with real.c, don't
5208         dump the XWINT fields of a floating point CONST_DOUBLE.
5209
5210 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
5211
5212         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
5213
5214 2002-10-01  Richard Henderson  <rth@redhat.com>
5215
5216         * calls.c (precompute_register_parameters): Force non-legitimate
5217         constants into pseudos.
5218
5219 2002-10-01  Nick Clifton  <nickc@redhat.com>
5220
5221         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
5222         to assembler template.
5223
5224 2002-10-01  Richard Henderson  <rth@redhat.com>
5225
5226         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
5227         for TLS debug info to !DECL_EXTERNAL.
5228
5229 2002-10-01  Matt Thomas  <matt@3am-software.com>
5230             Jason Thorpe  <thorpej@wasabisystems.com>
5231
5232         * config.gcc (vax-*-netbsdelf*): Enable configuration.
5233         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
5234         if not already defined.
5235         * config/vax/elf.h: New file.
5236         * config/vax/netbsd-elf.h: New file.
5237         * config/vax/vax.c: Include "debug.h".
5238         (vax_output_function_prologue): Add dwarf2 support.  Use
5239         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
5240         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
5241         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
5242         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
5243         (VAX_ISTREAM_SYNC): Remove.
5244         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
5245         (JUMP_TABLES_IN_TEXT_SECTION): Define.
5246         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
5247         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
5248         and assemble_name.
5249         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5250         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
5251         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
5252         (INCOMING_RETURN_ADDR_RTX): Define.
5253         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
5254         (VUNSPEC_SYNC_ISTREAM): Define.
5255         (blockage): Use VUNSPEC_BLOCKAGE.
5256         (sync_istream): New insn.
5257
5258 2002-10-01  Richard Henderson  <rth@redhat.com>
5259
5260         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
5261         (*call_value_pop, call, call_value): Add dwarf2 EH support.
5262         (*call): New insn.
5263
5264 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
5265
5266         PR c/8083
5267         * c-typeck.c (build_c_cast): Warn about type punning which breaks
5268         type based aliasing.
5269
5270 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
5271
5272         * stor-layout.c (update_alignment_for_field): New function.
5273         (place_union_field): Use it.
5274         (place_field): Likewise.
5275
5276 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
5277
5278         PR other/8077
5279         * gcc.c (cc1_options): Add space on -auxbase-strip.
5280
5281 2002-10-01  Jim Wilson  <wilson@redhat.com>
5282
5283         * config/v850/v850.h (EPILOGUE_USES): Define.
5284
5285 2002-09-30  Andrew Haley  <aph@redhat.com>
5286
5287         * flow.c (insn_dead_p): When using non-call-exceptions, don't
5288         eliminate insns that may trap.
5289         * cse.c (insn_live_p): Likewise.
5290
5291 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5292
5293         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
5294         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
5295         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
5296         * config/mips/mips.md: Apply same renaming here.
5297
5298 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5299
5300         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
5301         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
5302         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
5303         * config/mips/mips.md (define_attr cpu): Remove r4320.
5304         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
5305
5306 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5307
5308         * config/mips/mips.c (mips16_strings): New variable.
5309         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
5310         symbol in mips16_strings.  Free the list.
5311         (mips_encode_section_info): Keep track of local strings.
5312
5313 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5314
5315         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
5316         (sordered_df, sordered_sf): Remove.
5317         * config/mips/mips.c (get_float_compare_codes): New fn.
5318         (gen_int_relational, gen_conditional_move): Use it.
5319
5320 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5321
5322         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
5323         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
5324         * config/mips/mips.c (fcc_register_operand): New function.
5325         (mips_emit_fcc_reload): New function, extracted from reload_incc.
5326         (override_options): Allow TFmode values in float registers
5327         if ISA_HAS_8CC.
5328         * cnfig/mips/mips.md (reload_incc): Change destination prediate
5329         to fcc_register_operand.  Remove misleading source constraint.
5330         Use mips_emit_fcc_reload.
5331         (reload_outcc): Duplicate reload_incc.
5332
5333 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
5334
5335         * gcc.c (validate_switches): Handle all new forms of spec
5336         syntax introduced recently.  Now returns a char *.
5337         (validate_all_switches): Repetitive logic broken out to...
5338         (validate_switches_from_spec): ...here.
5339         * mklibgcc.in: Don't @-flag commands to generate .oS files.
5340
5341 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
5342
5343         * longlong.h: Partially synchronize with GMP-4.1 version:
5344         Use i370 definitions also for s390.
5345         Add generic definition of umul_ppmm in terms of smul_ppmm.
5346         [s390] (umul_ppmm): Remove.
5347         [s390] (smul_ppmm): Fix incorrect assembler constraints.
5348         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
5349
5350 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
5351
5352         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
5353         Add new RL_REGS register class.
5354         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
5355         Call xtensa_preferred_reload_class for both input and output reloads.
5356         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
5357         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
5358         instead of either AR_REGS or GR_REGS classes.
5359         (xtensa_secondary_reload_class): Use new RL_REGS class.
5360         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
5361
5362 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5363
5364         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
5365         (pa_strip_name_encoding): Strip '@' and '*', in that order.
5366         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
5367         there is a '*' prefix in NAME.
5368
5369 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
5370
5371         * reload.c (push_reload): Handle subregs and secondary memory.
5372         * reload1.c (gen_reload): Likewise.
5373
5374         * jump.c (reg_or_subregno): New function.
5375         * rtl.h (reg_or_subregno): Declare
5376         * unroll.c (find_splittable_givs): Handle subregs.
5377
5378 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
5379
5380         * store-layout.c (finish_record_layout): Add free_p parameter.
5381         (layout_type): Pass it.
5382         * tree.h (finish_record_layout): Update prototype.
5383
5384 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
5385
5386         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
5387
5388         * gcse.c (cprop_jump): Check that the register has not
5389         been modified
5390         (cprop_jump): Likewise.
5391
5392 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
5393
5394         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
5395         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
5396         that we have a SImode access, and only then if reload hasn't completed;
5397         for all other cases, use LO_REGS.
5398
5399 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5400
5401         * openbsd.h: Fix typo in last change.
5402
5403 2002-09-29  Richard Henderson  <rth@redhat.com>
5404
5405         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
5406
5407 2002-09-29  Richard Henderson  <rth@redhat.com>
5408
5409         PR c/8002
5410         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
5411         for CONST_INT.
5412
5413 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
5414
5415         * real.h (ibm_extended_format): Declare.
5416         * real.c (encode_ibm_extended, decode_ibm_extended): New
5417         functions.
5418
5419 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5420
5421         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
5422
5423         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
5424
5425 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5426
5427         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
5428
5429 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
5430
5431         * builtins.def: Fix comment formatting.
5432         * c-common.def: Likewise.
5433         * cfgcleanup.c: Likewise.
5434         * combine.c: Likewise.
5435         * gengtype.c: Likewise.
5436         * params.def: Likewise.
5437         * predict.def: Likewise.
5438         * rtl.def: Likewise.
5439         * stab.def: Likewise.
5440         * stor-layout.c: Likewise.
5441         * tree.def: Likewise.
5442         * config/darwin.c: Likewise.
5443         * config/darwin.h: Likewise.
5444         * config/dbxcoff.h: Likewise.
5445         * config/elfos.h: Likewise.
5446         * config/fp-bit.c: Likewise.
5447         * config/freebsd-spec.h: Likewise.
5448         * config/interix.h: Likewise.
5449         * config/libgloss.h: Likewise.
5450         * config/linux-aout.h: Likewise.
5451         * config/linux.h: Likewise.
5452         * config/lynx-ng.h: Likewise.
5453         * config/lynx.h: Likewise.
5454         * config/netbsd-aout.h: Likewise.
5455         * config/netbsd.h: Likewise.
5456         * config/netware.h: Likewise.
5457         * config/psos.h: Likewise.
5458         * config/ptx4.h: Likewise.
5459
5460 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
5461
5462         * ChangeLog.4: Fix typos.
5463         * ChangeLog.6: Likewise.
5464         * FSFChangeLog.10: Likewise.
5465         * genattrtab.c: Fix comment typos.
5466         * haifa-sched.c: Likewise.
5467         * real.c: Likewise.
5468         * tree.h: Likewise.
5469         * config/arm/arm.c: Likewise.
5470         * config/arm/crti.asm: Likewise.
5471         * config/arm/crtn.asm: Likewise.
5472         * config/frv/frv.c: Likewise.
5473         * config/frv/frv.md: Likewise.
5474         * config/h8300/h8300.md: Likewise.
5475         * config/i386/rtemself.h: Likewise.
5476         * config/ia64/unwind-ia64.c: Likewise.
5477         * config/ip2k/ip2k.h: Likewise.
5478         * config/m88k/m88k.c: Likewise.
5479         * config/m88k/m88k.md: Likewise.
5480         * config/mips/sr71k.md: Likewise.
5481         * config/mmix/mmix.c: Likewise.
5482         * config/rs6000/rs6000.c: Likewise.
5483         * config/sh/sh.md: Likewise.
5484
5485 2002-09-26  Theodore A. Roth  <troth@verinet.com>
5486
5487         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
5488         * config/avr/avr.md: Ditto.
5489
5490 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
5491
5492         PR preprocessor/8055
5493         * cppmacro.c (stringify_arg): Do not overflow the buffer
5494         with the terminating NUL when the argument to be stringified
5495         has no tokens.
5496
5497 2002-09-27  Richard Henderson  <rth@redhat.com>
5498
5499         * unroll.c (simplify_cmp_and_jump_insns): New.
5500         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
5501         instead of expand_simple_foo.
5502
5503 2002-09-27  Richard Henderson  <rth@redhat.com>
5504
5505         PR optimization/7520
5506         * cfganal.c (flow_active_insn_p): New.
5507         (forwarder_block_p): Use it.
5508
5509 2002-09-27  Richard Henderson  <rth@redhat.com>
5510
5511         * emit-rtl.c (active_insn_p): Revert last change.
5512
5513 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
5514
5515         * doc/extend.texi (tls_model): Document.
5516         * varasm.c (decl_tls_model): New.
5517         * c-common.c (handle_tls_model_attribute): New.
5518         (c_common_attribute_table): Add tls_model.
5519         * config/alpha/alpha.c (alpha_encode_section_info): Use
5520         decl_tls_model.
5521         * flags.h (enum tls_model, flag_tls_default): Move...
5522         * tree.h (enum tls_model, flag_tls_default): ...here.
5523         (decl_tls_model): New prototype.
5524         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
5525         * config/i386/i386.c (ix86_encode_section_info): Likewise.
5526         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
5527         Allow !flag_pic.
5528
5529 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
5530
5531         * LANGUAGES: Follow spelling conventions.
5532         * rtl.def: Likewise.
5533         * sbitmap.c: Likewise.
5534         * sched-int.h: Likewise.
5535         * sched-rgn.c: Likewise.
5536         * sibcall.c: Likewise.
5537         * simplify-rtx.c: Likewise.
5538         * ssa.c: Likewise.
5539         * stab.def: Likewise.
5540         * stmt.c: Likewise.
5541         * stor-layout.c: Likewise.
5542         * target.h: Likewise.
5543         * timevar.c: Likewise.
5544         * toplev.c: Likewise.
5545         * tree-dump.c: Likewise.
5546         * tree-inline.c: Likewise.
5547         * tree.c: Likewise.
5548         * tree.def: Likewise.
5549         * tree.h: Likewise.
5550         * unroll.c: Likewise.
5551         * varasm.c: Likewise.
5552         * vmsdbgout.c: Likewise.
5553         * treelang/treelang.texi: Likewise.
5554         * treelang/treetree.c: Likewise.
5555
5556 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
5557
5558         * config/h8300/h8300.c (compute_saved_regs): Use a macro
5559         instead of a hard register number.
5560         (get_shift_alg): Use an enumerated type instead of numbers.
5561         (h8300_shift_needs_scratch_p): Likewise.
5562
5563 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5564
5565         * varasm.c (force_data_section): Remove.
5566         (assemble_constant_align): Likewise.
5567         * output.h: Remove corresponding prototypes.
5568
5569 2002-09-26  Roger Sayle  <roger@eyesopen.com>
5570
5571         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
5572         jump, if the loop to exit is the top of the current nesting stack.
5573
5574 2002-09-26  Torbjorn Granlund  <tege@swox.com>
5575
5576         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
5577         arithmetic.
5578
5579 2002-09-26  David S. Miller  <davem@redhat.com>
5580
5581         PR optimization/7335
5582         * calls.c (emit_library_call_value_1): Passing args by reference
5583         converts a CONST function into a PURE one.
5584
5585 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
5586
5587         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
5588         text_section.
5589         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
5590         text section.
5591         * config/rs6000/rs6000.c (rs6000_override_options): Allow
5592         function-sections and data-sections functionality on AIX.
5593
5594 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
5595             Dale Johannesen  <dalej@apple.com>
5596
5597         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
5598         in RTL for sub-word loads from memory.
5599
5600 2002-09-26  Richard Henderson  <rth@redhat.com>
5601
5602         PR c/7160
5603         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
5604         on call insns.
5605
5606 2002-09-26  Richard Henderson  <rth@redhat.com>
5607
5608         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
5609
5610 2002-09-26  Chris Lattner  <sabre@nondot.org>
5611
5612         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
5613         handling undefined values.
5614
5615 2002-09-26  Richard Henderson  <rth@redhat.com>
5616
5617         PR opt/7520
5618         * emit-rtl.c (active_insn_p): Consider a clobber of the
5619         function return value to be active even after reload.
5620
5621 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
5622
5623         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
5624         by absolute loop increment, not loop increment.
5625
5626 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5627
5628         * c-common.h: Follow spelling conventions.
5629         * cpplex.c: Likewise.
5630         * cpplib.h: Likewise.
5631         * gthr-dce.h: Likewise.
5632         * gthr-posix.h: Likewise.
5633         * optabs.c: Likewise.
5634         * output.h: Likewise.
5635         * profile.c: Likewise.
5636         * protoize.c: Likewise.
5637         * ra-rewrite.c: Likewise.
5638         * real.c: Likewise.
5639         * recog.c: Likewise.
5640         * reg-stack.c: Likewise.
5641         * regclass.c: Likewise.
5642         * regmove.c: Likewise.
5643         * reload.c: Likewise.
5644         * reload.h: Likewise.
5645         * reload1.c: Likewise.
5646         * reorg.c: Likewise.
5647         * resource.c: Likewise.
5648         * rtl.h: Likewise.
5649         * rtlanal.c: Likewise.
5650
5651 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
5652
5653         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
5654         for symbol address.
5655
5656 2002-09-24  Eric Christopher  <echristo@redhat.com>
5657
5658         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
5659         * config/mips/elf64.h: Ditto.
5660
5661 2002-09-24  Eric Christopher  <echristo@redhat.com>
5662
5663         * except.c (expand_builtin_extract_return_address): Handle case
5664         where Pmode != ptr_mode.
5665
5666 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
5667
5668         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
5669
5670 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
5671
5672         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
5673
5674 2002-09-26  Igor Shevlyakov <igor@microunity.com>
5675
5676         * combine.c (simplify_set): Don't call to force_to_mode if size
5677         of integer type is larger than HOST_BITS_PER_WIDE_INT.
5678
5679 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
5680
5681         * Makefile.in (qmtest-g++): Fix file path.
5682
5683 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
5684
5685         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
5686         A + (-const) on RTX level, even for unsigned types.
5687
5688 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
5689
5690         * reload.c (dup_replacements): New function.
5691         (find_reloads): Use it to duplicate replacements at the top level
5692         of match_dup operands.
5693
5694 2002-09-26  Miles Bader  <miles@gnu.org>
5695
5696         * v850.md ("length"): Change default value to 4.
5697
5698 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5699
5700         * ChangeLog.1: Follow spelling conventions.
5701         * ChangeLog.4: Likewise.
5702         * ChangeLog.6: Likewise.
5703         * FSFChangeLog.11: Likewise.
5704         * doc/cpp.texi: Likewise.
5705         * doc/invoke.texi: Likewise.
5706         * doc/tm.texi: Likewise.
5707
5708 2002-09-26  Nick Clifton  <nickc@redhat.com>
5709
5710         * config.gcc: Add x prefix to v850e case for handling
5711         --with-cpu=v850e.
5712
5713 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
5714
5715         * gcc.c (input_suffix_matches, switch_matches,
5716         mark_matching_switches, process_marked_switches,
5717         process_brace_body): New functions - split from handle_braces.
5718         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
5719         and ignore whitespace in more places.
5720         (specs documentation comment): Document %{S:X;T:Y;:D}.
5721         Clarify other %{...} docs.
5722         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
5723         %{...} docs.
5724
5725         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
5726         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
5727
5728 2002-09-25  David S. Miller  <davem@redhat.com>
5729
5730         PR target/7842
5731         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
5732         extend.
5733
5734 2002-09-25  Richard Henderson  <rth@redhat.com>
5735
5736         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
5737         fp CONST_DOUBLE; use real_identical.
5738
5739 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
5740
5741         * doc/invoke.texi: Add more -Wabi examples.
5742
5743 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
5744
5745         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
5746
5747 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
5748
5749         * profile.c (end_branch_prob): Only look for __gcov_init on
5750         weak-enabled native compilers.
5751
5752 2002-09-24  Denis Chertykov  <denisc@overta.ru>
5753
5754         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
5755         cases of optimizing "add sp,w" to "inc sp".
5756
5757 2002-09-24  Adam Nemet  <anemet@lnxw.com>
5758
5759         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
5760         epilogue for naked functions.
5761
5762 2002-09-24  Adam Nemet  <anemet@lnxw.com>
5763             Nick Clifton  <nickc@redhat.com>
5764
5765         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
5766         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
5767         is defined.
5768
5769 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
5770
5771         * config/s390/s390.c (preferred_la_operand_p): New function.
5772         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
5773         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
5774         ("*la_64_cc", "*la_31_cc", splitters): ... these.
5775         ("*la_31"): Deactivate for TARGET_64BIT.
5776         ("*la_31_and", "*la_31_and_cc"): New.
5777
5778 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5779
5780         * real.h (real_value): Make `exp' explicitly signed.
5781
5782 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
5783
5784         * config/elfos.h: Follow spelling conventions.
5785         * config/alpha/alpha.h: Likewise.
5786         * config/arc/arc.h: Likewise.
5787         * config/arm/arm.md: Likewise.
5788         * config/avr/avr.h: Likewise.
5789         * config/cris/cris.md: Likewise.
5790         * config/d30v/d30v.h: Likewise.
5791         * config/frv/frv.c: Likewise.
5792         * config/frv/frv.h: Likewise.
5793         * config/h8300/h8300.c: Likewise.
5794         * config/h8300/h8300.h: Likewise.
5795         * config/h8300/h8300.md: Likewise.
5796         * config/i386/cygwin.h: Likewise.
5797         * config/i386/i386.h: Likewise.
5798         * config/i386/sysv3.h: Likewise.
5799         * config/i960/i960.h: Likewise.
5800         * config/ia64/ia64.h: Likewise.
5801         * config/ia64/ia64.md: Likewise.
5802         * config/ip2k/ip2k.h: Likewise.
5803         * config/m32r/m32r.h: Likewise.
5804         * config/m68k/m68k.h: Likewise.
5805         * config/m88k/m88k.h: Likewise.
5806         * config/mcore/mcore.c: Likewise.
5807         * config/mcore/mcore.h: Likewise.
5808         * config/mcore/mcore.md: Likewise.
5809         * config/mips/mips.h: Likewise.
5810         * config/mmix/mmix.h: Likewise.
5811         * config/mmix/mmix.md: Likewise.
5812         * config/ns32k/netbsd.h: Likewise.
5813         * config/ns32k/ns32k.h: Likewise.
5814         * config/ns32k/ns32k.md: Likewise.
5815         * config/pa/pa.h: Likewise.
5816         * config/romp/romp.h: Likewise.
5817         * config/rs6000/rs6000.h: Likewise.
5818         * config/rs6000/rs6000.md: Likewise.
5819         * config/sparc/sparc.h: Likewise.
5820         * config/stormy16/stormy-abi: Likewise.
5821         * config/stormy16/stormy16.h: Likewise.
5822         * config/vax/vax.h: Likewise.
5823
5824 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
5825
5826         * config/alpha/alpha.h: Remove commented-out macro
5827         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
5828         * config/avr/avr.h: Likewise.
5829         * config/d30v/d30v.h: Likewise.
5830         * config/dsp16xx/dsp16xx.h: Likewise.
5831         * config/i370/i370.h: Likewise.
5832         * config/i386/i386.h: Likewise.
5833         * config/i960/i960.h: Likewise.
5834         * config/m68k/m68k.h: Likewise.
5835         * config/m88k/m88k.h: Likewise.
5836         * config/mips/mips.h: Likewise.
5837         * config/ns32k/ns32k.h: Likewise.
5838         * config/pdp11/pdp11.h: Likewise.
5839         * config/romp/romp.h: Likewise.
5840         * config/rs6000/rs6000.h: Likewise.
5841         * config/s390/s390.h: Likewise.
5842         * config/sh/sh.h: Likewise.
5843         * config/sparc/sparc.h: Likewise.
5844         * config/stormy16/stormy16.h: Likewise.
5845         * config/vax/vax.h: Likewise.
5846
5847 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
5848
5849         * function.c (push_temp_slots_for_block): Remove.
5850         (push_temp_slots_for_target): Likewise.
5851         (get_target_temp_slot_level): Likewise.
5852         (set_target_temp_slot_level): Likewise.
5853         (get_first_block_beg): Likewise.
5854         * function.h: Remove corresponding prototypes.
5855
5856 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
5857
5858         * version.c (version_string): Now const char[].
5859         * version.h: Update to match.
5860
5861 2002-09-23  Richard Henderson  <rth@redhat.com>
5862
5863         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
5864         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
5865         (TARGET_SWITCHES): Don't reference them.
5866         * config/i386/i386.c (override_options): Use target_flags_explicit
5867         to examine bits set by the user.
5868
5869 2002-09-23  Dale Johannesen  <dalej@apple.com>
5870
5871         * dbxout.c (dbxout_parms):  Set current_sym_code for params
5872         passed on stack by invisible reference.
5873
5874 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
5875
5876         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
5877         at least one byte of space.
5878
5879 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
5880
5881         * c-common.h (flag_abi_version): Fix typo in comment.
5882         * doc/invoke.texi (flag_abi_version): Document default value.
5883
5884 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
5885
5886         * doc/extend.texi (Extended Asm): Clarify that overlap between
5887         asm-declared register variables used in an asm and the asm clobber
5888         list is not allowed.
5889         * stmt.c (decl_conflicts_with_clobbers_p): New function.
5890         (expand_asm_operands): Keep track of clobbered registers.  Call
5891         decl_conflicts_with_clobbers_p for each input and output operand.
5892         If no conflicts found before, also do conflict sanity check when
5893         emitting clobbers.
5894
5895 2002-09-23  Richard Henderson  <rth@redhat.com>
5896
5897         * c-common.c (cpp_define_data_format): Remove.
5898         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
5899         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
5900         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
5901         * doc/cpp.texi: Don't document them either.
5902         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
5903         __LONG_LONG_MAX__): Document.
5904         (__TARGET_FLOAT_FORMAT__): Remove.
5905
5906 2002-09-23  Richard Henderson  <rth@redhat.com>
5907
5908         * real.c (do_multiply): Normalize U before addition.
5909
5910 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
5911
5912         * c-common.c (flag_abi_version): New variable.
5913         * c-common.h (flag_abi_version): Declare it.
5914         * c-opts.c (missing_arg): Add -fabi-version.
5915         (c_common_decode_option): Process -fabi-version.
5916         * doc/invoke.texi (-fabi-version): Document it.
5917         (-Wabi): Add information about bit-fields in unions.
5918
5919 2002-09-22  Roger Sayle  <roger@eyesopen.com>
5920
5921         * expr.c (STORE_BY_PIECES_P): New target macro.
5922         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
5923         instead of MOVE_BY_PIECES_P.
5924         * doc/tm.texi: Document this new macro.
5925
5926 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
5927
5928         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
5929         unless -fno-pic or -fno-PIC is specified.
5930
5931 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5932
5933         * c-common.c (preprocessing_trad_p): Define.
5934         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
5935         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
5936         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
5937         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
5938         * pa-linux.h (CPP_PREDEFINES): Delete.
5939         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
5940         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
5941         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
5942         (TARGET_OS_CPP_BUILTINS): Define.
5943         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
5944         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
5945         (SUBTARGET_SWITCHES): Provide default definition.
5946         (TARGET_OPTIONS): Reformat.  Use N_() macro.
5947         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
5948         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
5949         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
5950         (TARGET_CPU_CPP_BUILTINS): Define.
5951         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
5952         * doc/invoke.texi (msio, mwsio): Document new hppa options.
5953         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
5954         preprocessing_trad_p().
5955
5956 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
5957
5958         * doc/install.texi: Document behavior of --with-headers and
5959         --with-libs when arguments are omitted.
5960
5961 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
5962
5963         * dbxout.c: Follow spelling conventions.
5964         * defaults.h: Likewise.
5965         * df.c: Likewise.
5966         * diagnostic.h: Likewise.
5967         * doloop.c: Likewise.
5968         * dwarf2out.c: Likewise.
5969         * dwarfout.c: Likewise.
5970         * emit-rtl.c: Likewise.
5971         * except.c: Likewise.
5972         * explow.c: Likewise.
5973         * expmed.c: Likewise.
5974         * expr.c: Likewise.
5975         * expr.h: Likewise.
5976         * flags.h: Likewise.
5977         * flow.c: Likewise.
5978         * fold-const.c: Likewise.
5979         * function.c: Likewise.
5980         * function.h: Likewise.
5981         * gcc.c: Likewise.
5982         * gcov-io.h: Likewise.
5983         * gcov.c: Likewise.
5984         * gcse.c: Likewise.
5985         * genattrtab.c: Likewise.
5986         * genconfig.c: Likewise.
5987         * genrecog.c: Likewise.
5988         * ggc-page.c: Likewise.
5989         * ggc.h: Likewise.
5990         * global.c: Likewise.
5991         * gthr-win32.h: Likewise.
5992         * integrate.c: Likewise.
5993         * jump.c: Likewise.
5994         * langhooks.c: Likewise.
5995         * langhooks.h: Likewise.
5996         * line-map.h: Likewise.
5997         * local-alloc.c: Likewise.
5998         * longlong.h: Likewise.
5999         * loop.c: Likewise.
6000         * loop.h: Likewise.
6001
6002 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
6003
6004         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
6005
6006 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
6007
6008         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
6009         for -Os/TARGET_64BIT too.
6010
6011 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
6012
6013         * ChangeLog: Follow spelling conventions.
6014         * ChangeLog.0: Likewise.
6015         * ChangeLog.1: Likewise.
6016         * ChangeLog.2: Likewise.
6017         * ChangeLog.3: Likewise.
6018         * ChangeLog.4: Likewise.
6019         * ChangeLog.5: Likewise.
6020         * ChangeLog.6: Likewise.
6021         * FSFChangeLog.10: Likewise.
6022         * FSFChangeLog.11: Likewise.
6023         * alias.c: Likewise.
6024         * basic-block.h: Likewise.
6025         * c-aux-info.c: Likewise.
6026         * c-common.c: Likewise.
6027         * c-common.h: Likewise.
6028         * c-decl.c: Likewise.
6029         * c-format.c: Likewise.
6030         * c-semantics.c: Likewise.
6031         * c-typeck.c: Likewise.
6032         * calls.c: Likewise.
6033         * cfganal.c: Likewise.
6034         * cfgloop.c: Likewise.
6035         * collect2.c: Likewise.
6036         * combine.c: Likewise.
6037         * conflict.c: Likewise.
6038         * cppexp.c: Likewise.
6039         * cppfiles.c: Likewise.
6040         * cpphash.h: Likewise.
6041         * cppinit.c: Likewise.
6042         * cpplex.c: Likewise.
6043         * cpplib.c: Likewise.
6044         * cpplib.h: Likewise.
6045         * cppmacro.c: Likewise.
6046         * cse.c: Likewise.
6047
6048 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
6049
6050         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
6051         LINK_SPEC.
6052         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
6053         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
6054         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
6055
6056 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
6057
6058         PR opt/7930
6059         * cse.c (fold_rtx): Calculate old_cost before we fold each
6060         operand.
6061
6062 2002-09-21  Richard Henderson  <rth@redhat.com>
6063
6064         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
6065         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
6066         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
6067         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
6068         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
6069         * doc/cpp.texi: Don't document them.
6070
6071 2002-09-21  Richard Henderson  <rth@redhat.com>
6072
6073         * c-common.c (builtin_define_float_constants): Use real_format
6074         to get the floating-point parameters.
6075
6076 2002-09-21  Richard Henderson  <rth@redhat.com>
6077
6078         * real.c (struct real_format): Move to real.h.
6079         (real_format_for_mode): Rename from fmt_for_mode; update all users;
6080         initialize with ieee defaults.
6081         (real_to_target_fmt, real_from_target_fmt): New.
6082         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
6083         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6084         ieee_quad_format, i370_single_format, i370_double_format,
6085         c4x_single_format, c4x_extended_format): Rename from s/_format//.
6086         (ieee_quad_format): Fix emin.
6087         (format_for_size, init_real_once): Remove.
6088         * real.h (struct real_format): Move from real.c.
6089         (real_format_for_mode): Declare.
6090         (real_to_target_fmt, real_from_target_fmt): Declare.
6091         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
6092         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6093         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
6094         i370_single_format, i370_double_format, c4x_single_format,
6095         c4x_extended_format): Declare.
6096         * toplev.c (do_compile): Don't call init_real_once.
6097
6098         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6099         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6100
6101         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
6102         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
6103         * config/alpha/alpha.c (override_options): Set real_format_for_mode
6104         for VAX, if enabled.
6105
6106         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
6107         for C4X.
6108
6109         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
6110         * config/i370/i370.c (override_options): New.
6111         * config/i370/i370-protos.h: Update.
6112
6113         * config/i386/i386.c (override_options): Set real_format_for_mode
6114         for Intel 80-bit extended.
6115         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6116
6117         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
6118         (OVERRIDE_OPTIONS): Move code...
6119         * config/i960/i960.c (i960_initialize): ... here.  Set
6120         real_format_for_mode for Intel 80-bit extended.
6121
6122         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
6123         for Intel 80-bit extended, if enabled.
6124
6125         * config/m68k/m68k.c (override_options): Set real_format_for_mode
6126         for Motorola 96-bit extended.
6127
6128         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
6129         * config/vax/vax.c (override_options): New.
6130         * config/vax/vax-protos.h: Update.
6131
6132 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
6133
6134         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
6135         #if TARGET_MACHO.
6136
6137         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
6138         insns.  Supply missing clobber of scratch reg.
6139
6140 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
6141
6142         * config/m32r/m32r.c: Follow spelling conventions.
6143         * config/m32r/m32r.h: Likewise.
6144         * config/m32r/m32r.md: Likewise.
6145         * config/m68k/m68k.c: Likewise.
6146         * config/m88k/m88k.c: Likewise.
6147         * config/mcore/mcore.c: Likewise.
6148         * config/mips/mips.c: Likewise.
6149         * config/mips/mips.h: Likewise.
6150         * config/mmix/mmix.c: Likewise.
6151         * config/mn10200/mn10200.c: Likewise.
6152         * config/ns32k/ns32k.h: Likewise.
6153         * config/pa/pa.c: Likewise.
6154         * config/pa/pa64-linux.h: Likewise.
6155         * config/pdp11/pdp11.h: Likewise.
6156         * config/romp/romp.c: Likewise.
6157         * config/romp/romp.h: Likewise.
6158         * config/rs6000/eabi.asm: Likewise.
6159         * config/rs6000/linux64.h: Likewise.
6160         * config/rs6000/rs6000.c: Likewise.
6161         * config/rs6000/rs6000.h: Likewise.
6162         * config/rs6000/rs6000.md: Likewise.
6163         * config/rs6000/sysv4.h: Likewise.
6164         * config/rs6000/xcoff.h: Likewise.
6165
6166 2002-09-20  Jim Wilson  <wilson@redhat.com>
6167
6168         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
6169
6170 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
6171
6172         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
6173         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
6174         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
6175         (legitimate_address_p): Likewise.
6176         (legitimize_address): Use @gotntpoff and @indntpoff.
6177         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
6178         (output_addr_const_extra): Likewise.
6179
6180 2002-09-20  Jim Wilson  <wilson@redhat.com>
6181
6182         * combine.c (try_combine): When split an instruction pair, where the
6183         first has a sign_extend src, verify that the src and dest modes match.
6184
6185 2002-09-20  Richard Henderson  <rth@redhat.com>
6186
6187         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
6188         (override_options): Do not initialize them.
6189         (mips_const_double_ok): Allow no fp constants except zero,
6190         and not even that for mips16.
6191         (const_float_1_operand): Use dconst1.
6192         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
6193         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
6194         Don't allow arbitrary constants; fix predicates and C constraint.
6195
6196 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
6197
6198         * cppmacro.c: Don't warn about function-like macros without
6199         '(' during pre-expansion.
6200
6201 2002-09-20  Jim Wilson  <wilson@redhat.com>
6202
6203         * config/v850/v850.c (current_function_anonymous_args): Delete.
6204         (expand_prologue): Use current_function_args_info.anonymous_args.
6205         (expand_epilogue): Delete use of current_function_anonymous_args.
6206         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
6207         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
6208         (current_function_anonymous_args): Delete extern declaration.
6209         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
6210
6211 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
6212
6213         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
6214         to load_macho_picbase.
6215         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
6216         (load_macho_picbase): Take the symbol to use as a parameter.
6217         (macho_correct_pic): New insn.
6218         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
6219
6220         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
6221         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
6222         (CAN_ELIMINATE): Likewise.
6223         (INITIAL_ELIMINATION_OFFSET): Likewise.
6224         (TOC_REGISTER): Likewise.
6225
6226 2002-09-20  Richard Henderson  <rth@redhat.com>
6227
6228         * real.c (real_hash): New.
6229         * real.h: Declare it.
6230         * cse.c (canon_hash): Use it.
6231         * cselib.c (hash_rtx): Likewise.
6232         * emit-rtl.c (const_double_htab_hash): Likewise.
6233         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
6234         * varasm.c (struct rtx_const): Reduce vector size; separate
6235         integer and fp vectors.
6236         (HASHBITS): Remove.
6237         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
6238         take modulus MAX_HASH_TABLE.
6239         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
6240         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
6241         (SYMHASH): Don't use HASHBITS.
6242         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
6243         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
6244         (simplify_subtraction): Fix kind comparison.
6245         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
6246         Use a union to pun integer array.
6247         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
6248         only hash two words of integral CONST_DOUBLE.
6249
6250 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
6251
6252         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
6253         (STARTFILE_PREFIX_SPEC): New.
6254         (LINK_SPEC): Modify.
6255         (LIB_SPEC): Modify.
6256         (LIBGCC_SPEC): New.
6257
6258 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
6259
6260         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
6261         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
6262
6263 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
6264
6265         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
6266         Add clobber of the condition code register.
6267
6268 2002-09-20  Richard Henderson  <rth@redhat.com>
6269
6270         * real.c (do_fix_trunc): Static.
6271         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
6272         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
6273         encode_i370_single, encode_i370_double, encode_c4x_single,
6274         encode_c4x_extended): Add default abort case.
6275
6276 2002-09-20  Richard Henderson  <rth@redhat.com>
6277
6278         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
6279         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
6280         (struct realvaluetype): Remove.
6281         (REAL_VALUE_TYPE): Use struct real_value.
6282         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
6283         (test_real_width): New.
6284         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
6285         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
6286         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
6287         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
6288         real_to_integer, real_to_integer2, real_to_decimal,
6289         real_to_hexadecimal, real_from_string, real_from_integer,
6290         real_inf, real_nan, real_2expN, real_convert, real_to_target,
6291         real_from_target): Likewise.
6292         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
6293         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
6294
6295 2002-09-20  Richard Henderson  <rth@redhat.com>
6296
6297         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
6298         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
6299         * defaults.h: ... here.
6300         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
6301         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
6302         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
6303         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
6304
6305 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
6306
6307         * config/mmix/mmix.md ("negdf2"): Rewrite.
6308         ("*expanded_negdf2"): New.
6309
6310 2002-09-19  Jim Wilson  <wilson@redhat.com>
6311
6312         * combine.c (simplify_set): When optimizing a subreg src with a
6313         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
6314
6315 2002-09-19  Dale Johannesen <dalej@apple.com>
6316         * combine.c (make_extraction): Don't create
6317         invalid subreg.
6318
6319 2002-09-19  Roger Sayle  <roger@eyesopen.com>
6320
6321         * tree.c (integer_nonzerop): New predicate for nonzero integers.
6322         * tree.h (integer_nonzerop): Add function prototype.
6323         * stmt.c (expand_end_loop):  Don't rotate the loop when there
6324         are no instructions in the test, i.e. the loop is unconditional.
6325         (expand_exit_loop_if_false):  Optimize RTL generation of loop
6326         tests when the condition is always true or always false.
6327         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
6328         do-loops when the condition is always true.
6329         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
6330         the for-expression is empty.
6331
6332 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
6333
6334         * gcc.c (use_pipes): New flag.
6335         (process_command): Set it.  Adjust check for -pipe conflicting
6336         with -time or -save-temps.
6337         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
6338         %<SWITCH.  Drop %| (without a SUFFIX).
6339         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
6340         (give_switch): Third argument eliminated.
6341         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
6342         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
6343         (specs documentation comment): Update.
6344
6345         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
6346         config/svr4.h, config/i386/freebsd-aout.h,
6347         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
6348         config/m68k/openbsd.h, config/mips/openbsd.h,
6349         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
6350         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
6351         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
6352         * config/cris/cris.h: Update comment.
6353
6354         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
6355         error messages.  Don't use %{^SWITCH}.
6356         * ada/misc.c (gnat_decode_option): Handle -I with a
6357         separate argument.
6358
6359         * f/lang-specs.h: Use %| and %m.
6360         * java/jvspec.c: Use %m and %(invoke_as).  Change all
6361         uses of %{<SWITCH} to %<SWITCH.
6362
6363         * doc/invoke.texi: Update documentation of specs.
6364         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
6365
6366 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
6367
6368         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
6369         and STRICT_LOW_PART within SET_DEST.
6370         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
6371         splitters, replacing pre-reload splitters.
6372         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
6373         "*zero_extendqihi2_31"): New insns.
6374         ("*zero_extendqihi2_64"): Do not clobber CC.
6375
6376 2002-09-18  Devang Patel  <dpatel@apple.com>
6377
6378         * cp/cp-tree.h: New prototype for walk_vtables().
6379         * cp/decl.c (walk_vtables_r): New function.
6380         (struct cp_binding_level): Add new members, namespaces,
6381         names_size and vtables.
6382         (add_decl_to_level): Add decl in namespaces or vtables
6383         chain, if conditions match.
6384         (walk_vtables): New function.
6385         (walk_namespaces_r): Travers separate namespace chain
6386         for namespace decls.
6387         (wrapup_globals_for_namespace): Use names_size instead
6388         of list_length().
6389         * cp/decl2.c (finish_file): Use walk_vtables() instead of
6390         walk_globals() to walk vtable decls.
6391
6392 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
6393
6394         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
6395         (DTORS_SECTION_ASM_OP): Ditto.
6396         (READONLY_DATA_SECTION_ASM_OP): Moved.
6397         (DATA_SECTION_ASM_OP): New.
6398         (SDATA_SECTION_ASM_OP): New.
6399         (BSS_SECTION_ASM_OP): New.
6400         (SBSS_SECTION_ASM_OP): New.
6401         (TEXT_SECTION_ASM_OP): New.
6402
6403 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
6404
6405         * config/fp-bit.c: Follow spelling conventions.
6406         * config/d30v/d30v.c: Likewise.
6407         * config/d30v/d30v.h: Likewise.
6408         * config/fr30/fr30.c: Likewise.
6409         * config/fr30/fr30.h: Likewise.
6410         * config/fr30/fr30.md: Likewise.
6411         * config/frv/frv.c: Likewise.
6412         * config/frv/frv.h: Likewise.
6413         * config/h8300/h8300.c: Likewise.
6414         * config/h8300/lib1funcs.asm: Likewise.
6415         * config/i370/i370.c: Likewise.
6416         * config/i386/i386.h: Likewise.
6417         * config/i386/i386.md: Likewise.
6418         * config/i386/pentium.md: Likewise.
6419         * config/i386/winnt.c: Likewise.
6420         * config/i960/i960.c: Likewise.
6421         * config/ia64/ia64.h: Likewise.
6422         * config/ip2k/ip2k.c: Likewise.
6423         * config/ip2k/ip2k.h: Likewise.
6424         * config/ip2k/ip2k.md: Likewise.
6425         * config/ip2k/libgcc.S: Likewise.
6426
6427 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
6428
6429         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
6430         (GOTOFF_P): Extend to allow gotoff plus constant.
6431
6432 2002-09-18  Richard Henderson  <rth@redhat.com>
6433
6434         * ifcvt.c (noce_process_if_block): Correctly detect X modified
6435         with INSN_B before COND_EARLIEST.  Don't check A and B for
6436         modification in condition range.  Reorder INSN_B for A==B properly.
6437         (if_convert): Iterate until no matches for a block.
6438
6439 2002-09-18  Richard Henderson  <rth@redhat.com>
6440
6441         * calls.c (store_one_arg): Rename default_align to parm_align;
6442         always adjust parm_align for downward padding.
6443
6444 2002-09-18  Richard Henderson  <rth@redhat.com>
6445
6446         * toplev.c (backend_init): Move init_real_once invocation ...
6447         (do_compile): ... here.
6448
6449 2002-09-18  Richard Henderson  <rth@redhat.com>
6450
6451         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
6452         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
6453
6454 2002-09-18  Richard Henderson  <rth@redhat.com>
6455
6456         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
6457
6458 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
6459
6460         * config/rs6000/rs6000.md: (floatdisf2): Rename to
6461         floatdisf2_internal1.
6462         (floatdisf2): New define_expand.
6463         (floatdisf2_internal2): Likewise.
6464
6465 2002-09-18  Richard Henderson  <rth@redhat.com>
6466
6467         * real.c (sticky_rshift_significand): Collect sticky as
6468         unsigned long, not bool.
6469
6470 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
6471
6472         * config/s390/s390.c (s390_address_cost): New function.
6473         config/s390/s390-protos.h (s390_address_cost): Add prototype.
6474         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
6475         (RTX_COST): Use COSTS_N_INSNS.
6476
6477 2002-09-18  Douglas Rupp  <rupp@gnat.com>
6478             Donn Terry  <donnte@microsoft.com>
6479
6480         * stor-layout.c (place_field): Handle alignment of whole
6481         structures when MSVC compatible bitfields are involved.
6482         Change method of computing location of MS bitfields to
6483         be compatible with #pragma pack(n).
6484
6485         * tree.h (record_layout_info): Add new field
6486         remaining_in_alignment.
6487
6488         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
6489         (pragma pack): Add paragraph on MSVC bitfield packing.
6490
6491 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
6492
6493         PR optimization/7967
6494         * arm.md (ne_zeroextractsi): Add clobber of the condition code
6495         register.
6496
6497 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
6498
6499         * config/s390/s390.c: Follow spelling conventions.
6500         * config/sh/lib1funcs.asm: Likewise.
6501         * config/sh/sh.c: Likewise.
6502         * config/sh/sh.h: Likewise.
6503         * config/sparc/sparc.c: Likewise.
6504         * config/sparc/sparc.h: Likewise.
6505         * config/sparc/sparc.md: Likewise.
6506         * config/stormy16/stormy16.c: Likewise.
6507         * config/stormy16/stormy16.h: Likewise.
6508         * config/v850/v850.c: Likewise.
6509         * config/v850/v850.h: Likewise.
6510         * config/vax/vax.c: Likewise.
6511         * config/vax/vax.h: Likewise.
6512
6513 2002-09-18  Nick Clifton  <nickc@redhat.com>
6514
6515         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
6516         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
6517         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
6518
6519 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6520
6521         * function.c (max_parm_reg_num): Remove.
6522         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
6523         drop_through_at_end_p, move_cleanups_up,
6524         expand_end_case_dummy, case_index_expr_type): Likewise.
6525         * stor-layout.c (pos_from_byte): Likewise.
6526         * tree.c (chain_member_value, chain_member_purpose, listify,
6527         tree_int_cst_msb, index_type_equal): Likewise.
6528         * tree.h: Remove prototypes for unused functions.
6529
6530 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
6531
6532         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
6533         statement that the only translation is to en_UK.
6534
6535 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6536
6537         * config/alpha/alpha.c: Follow spelling conventions.
6538         * config/alpha/alpha.h: Likewise.
6539         * config/alpha/alpha.md: Likewise.
6540         * config/arc/arc.h: Likewise.
6541         * config/arm/arm.c: Likewise.
6542         * config/arm/arm.h: Likewise.
6543         * config/arm/arm.md: Likewise.
6544         * config/arm/pe.c: Likewise.
6545         * config/arm/unknown-elf.h: Likewise.
6546         * config/avr/avr.c: Likewise.
6547         * config/avr/avr.h: Likewise.
6548         * config/c4x/c4x.c: Likewise.
6549         * config/cris/cris.c: Likewise.
6550         * config/cris/cris.h: Likewise.
6551
6552 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
6553
6554         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
6555         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
6556         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
6557
6558 2002-09-17  Dale Johannesen  <dalej@apple.com>
6559
6560         * cfgcleanup.c (try_forward_edges):  Do not forward a
6561         branch to just after a loop exit before loop optimization;
6562         this interfered with doloop detection.
6563
6564 2002-09-17  Nick Clifton  <nickc@redhat.com>
6565
6566         * config/arm/arm.c (output_return_instruction): Do not
6567         writeback the stack pointer when it is being loaded.
6568         (arm_output_epilogue): Likewise.
6569
6570 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6571
6572         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
6573         generate a pseudo reg that receives the result of a libcall.
6574         (prepare_float_lib_cmp): Likewise.
6575
6576 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
6577
6578         * config/ia64/elf.h: Remove CPP_PREDEFINES.
6579
6580 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
6581
6582         Fix PR/7014 and related objc bugs:
6583         * c-typeck.c (comp_target_types): Added a reflexive argument.
6584         Pass it to ObjC when/if calling objc_comptypes().  Updated all
6585         callers to provide the appropriate reflexive argument.
6586         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
6587         typechecking for all cases of comparisons and assignments,
6588         particularly the obscure and less common ones involving protocols.
6589
6590 2002-09-17  Nick Clifton  <nickc@redhat.com>
6591
6592         * machmode.def (V1DImode): New mode.  A single element vector.
6593         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
6594         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
6595         * tree.c (build_common_tree_nodes_2): Build
6596         unsigned_V1DI_type_node and V1D1_type_node.
6597         * c-common.c (c_common_type_for_mode): Return
6598         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
6599         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
6600
6601 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
6602
6603         * doc/objc.texi (Constant string objects): Extended documentation
6604         to make clear that the constant string class ivar layout is
6605         completely fixed.
6606
6607 2002-09-17  Roger Sayle  <roger@eyesopen.com>
6608
6609         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
6610         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
6611
6612 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
6613
6614         * config/mips/mips.c (save_restore_insns): Remove unused variable.
6615         * gcc.c (make_relative_prefix): Likewise.
6616         * loop.c (check_final_value): Likewise.
6617         * jump.c (init_label_info): Remove return value.
6618         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
6619
6620 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6621
6622         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
6623         (ASM_PN_FORMAT): Define.
6624
6625 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6626
6627         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
6628         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
6629         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
6630         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
6631         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
6632         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
6633         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
6634         Delete.
6635         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
6636         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
6637         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
6638
6639         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
6640         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
6641
6642 2002-09-16  Richard Henderson  <rth@redhat.com>
6643
6644         * expr.c (emit_block_move): Set memory block size as appropriate
6645         for the copy.
6646
6647 2002-09-16  Richard Henderson  <rth@redhat.com>
6648
6649         PR fortran/3924
6650         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
6651
6652 2002-09-16  Richard Henderson  <rth@redhat.com>
6653
6654         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
6655         as well as OFFSET for BITPOS.
6656
6657 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
6658
6659         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
6660         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
6661         winchip2 and c3.
6662         * doc/invoke.texi: Mention new aliases.
6663
6664 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6665
6666         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
6667         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
6668         downward.
6669         * function.c (pad_below):  Always compile.
6670         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
6671         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
6672         Pad below when the argument is not in a register and the padding
6673         direction is downward.
6674
6675         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
6676         (PAD_VARARGS_DOWN): Define.
6677         * pa.c (function_arg_padding): Revise padding directions to make them
6678         compatible with the 32 and 64-bit runtime architecture documentation.
6679         (hppa_va_arg):  Add code to handle variable and size zero arguments
6680         passed by reference on TARGET_64BIT.  Reformat.
6681         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
6682         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
6683         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
6684         Add comments.
6685         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
6686         (RETURN_IN_MEMORY): Return size zero types in memory.
6687         (FUNCTION_VALUE): Return TFmode in general registers.
6688         (MUST_PASS_IN_STACK): Define.
6689         (FUNCTION_ARG_BOUNDARY): Simplify.
6690         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
6691         by reference.
6692         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
6693
6694 2002-09-16  Richard Henderson  <rth@redhat.com>
6695
6696         * real.c (do_fix_trunc): New.
6697         (real_arithmetic): Call it.
6698         * simplify-rtx.c (simplify_unary_operation): Handle FIX
6699         with a floating-point result mode.
6700
6701 2002-09-16  Richard Henderson  <rth@redhat.com>
6702
6703         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
6704         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
6705         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
6706         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
6707         * builtins.c (fold_builtin_nan): New.
6708         (fold_builtin): Call it.
6709         * real.c (real_nan): Parse a non-empty string.
6710         (round_for_format): Fix NaN significand truncation.
6711         * real.h (real_nan): Return bool.
6712         * doc/extend.texi: Document new builtins.
6713
6714 2002-09-16  Jason Merrill  <jason@redhat.com>
6715             Danny Smith  <dannysmith@users.sourceforge.net>
6716
6717         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
6718         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
6719         (i386_pe_mark_dllimport): Not here.
6720
6721 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
6722
6723         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
6724
6725 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
6726
6727         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
6728         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
6729         < 64.
6730         (rs6000_emit_cmove): Use real_isinf not target_isinf.
6731
6732 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
6733
6734         * calls.c (emit_library_call_value_1): Don't refer to
6735         hard_libcall_value.
6736         * optabs.c (prepare_float_lib_cmp): Likewise.
6737
6738 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
6739
6740         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
6741         mangling.
6742
6743         The following changes are merged from pch-branch:
6744
6745         * doc/gty.texi (GTY Options): Document %a.
6746         * gengtype.c (do_scalar_typedef): New function.
6747         (process_gc_options): Handle `length' option.
6748         (set_gc_used_type): A pointer to an array of structures doesn't
6749         qualify as a pointer to a structure.
6750         (output_escaped_param): Add `%a' escape.
6751         (write_gc_structure_fields): Allow 'desc' on array of unions.
6752         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
6753         do_scalar_typedef.
6754
6755         * gengtype.c (enum rtx_code): Make global.
6756         (rtx_format): Make global.
6757         (rtx_next): New.
6758         (gen_rtx_next): New.
6759         (write_rtx_next): New.
6760         (adjust_field_rtx_def): Skip fields marked by chain_next.
6761         (open_base_files): Delete redundant prototype.
6762         (write_enum_defn): New.
6763         (output_mangled_typename): Correct abort call.
6764         (write_gc_marker_routine_for_structure): Handle chain_next and
6765         chain_prev options.
6766         (finish_root_table): Don't output redundant \n.
6767         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
6768         * c-tree.h (union lang_tree_node): Add chain_next option.
6769
6770         * gengtype.h (NUM_PARAM): New definition.
6771         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
6772         * gengtype.c (find_param_structure): New.
6773         (adjust_field_type): Handle param<n>_is option.
6774         (process_gc_options): Detect use_params option.  Update callers.
6775         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
6776         'use_params' option.
6777         (open_base_files): Add splay-tree.h to list of files included.
6778         (output_mangled_typename): New.
6779         (write_gc_structure_fields): Update 'param' parameter to support
6780         multiple parameters.  Change name mangling.  Allow parameterized
6781         fields to have an apparent scalar type.  Handle param<n>_is options,
6782         use_param option.
6783         (write_gc_marker_routine_for_structure): Update for change to name
6784         mangling.  Better guess the output file for parameterized types.
6785         (write_gc_types): Update for change to name mangling.
6786         (write_gc_root): Update for change to name mangling.  Handle (ignore)
6787         param<n>_is options.
6788         * doc/gty.texi (GTY Options): Add description of param<n>_is
6789         options, use_params option.
6790         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
6791         * gengtype-lex.l: Produce token for param<n>_is.
6792         * gengtype-yacc.y: Parse param<n>_is.
6793
6794         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
6795
6796         * rtl.c: Update comment describing rtx_format.
6797         * rtl.h (union rtunion): Separate definition and typedef.
6798         (struct rtx_def): Use gengtype to mark.
6799         * Makefile.in (gengtype.o): Also depend on rtl.def.
6800         * ggc.h (ggc_mark_rtx_children): Delete prototype.
6801         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
6802         * ggc-common.c (ggc_mark_rtx_children): Delete.
6803         (ggc_mark_rtx_children_1): Delete.
6804         (gt_ggc_m_rtx_def): Delete.
6805         * gengtype.c (adjust_field_rtx_def): New.
6806         (adjust_field_type): Call adjust_field_rtx_def.
6807         (write_gc_structure_fields): Add 'default' case to switch if none
6808         is specified; remove unused code.
6809
6810         * tree.h (struct tree_exp): Update for change to meaning
6811         of special.
6812         * gengtype.c (adjust_field_tree_exp): New function.
6813         (adjust_field_type): Handle `tree_exp' special here.
6814         (write_gc_structure_fields): Don't handle `tree_exp' special here.
6815         Handle new `dot' option.
6816
6817         * gengtype.h: Make `info' a pointer-to-const.
6818         * gengtype-yacc.y (yacc_ids): Use xasprintf.
6819
6820         * gengtype.c (write_gc_structure_fields): Remove implementation
6821         of `always' option, add `default' option.
6822         * doc/gty.texi (GTY Options): Remove documentation of `always',
6823         add `default'.
6824
6825 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
6826
6827         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
6828
6829 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6830
6831         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
6832
6833         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
6834         instead of the *-protos.h file directly.
6835         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
6836         * darwin.c (machopic_output_stub): Move prototype ...
6837         * darwin-protos.h (machopic_output_stub): ... here.
6838         * rs6000-protos.h (machopic_output_stub): Don't declare.
6839
6840 2002-09-16  Richard Henderson  <rth@redhat.com>
6841
6842         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
6843
6844 2002-09-16  Richard Henderson  <rth@redhat.com>
6845
6846         * real.c, real.h: Rewrite from scratch.
6847
6848         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
6849         (paranoia): New target.
6850         * builtins.c (fold_builtin_inf): Use new real.h interface.
6851         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
6852         * c-lex.c (interpret_float): Likewise.
6853         * emit-rtl.c (gen_lowpart_common): Likewise.
6854         * optabs.c (expand_float): Use real_2expN.
6855         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
6856         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
6857         (FLOAT_WORDS_BIG_ENDIAN): New.
6858         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
6859         directly to REAL_VALUE_NEGATIVE.
6860         * loop.c (canonicalize_condition): Likewise.
6861         * simplify-rtx.c: Include tree.h.
6862         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
6863         with floating-point result modes.
6864         * toplev.c (backend_init): Call init_real_once.
6865
6866         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
6867         * tree.c (build_real): Likewise.
6868         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
6869         float_values, inited_float_values, check_float_value): Remove.
6870         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
6871         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
6872         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
6873         (VAX_HALFWORD_ORDER): Remove.
6874
6875 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
6876
6877         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
6878         (s390_load_address): ... this new function.
6879         (s390_decompose_address): Allow the argument pointer and all
6880         virtual registers as 'pointer' registers.
6881         (s390_expand_plus_operand): Use s390_load_address.
6882         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
6883         ("force_la_31"): New insn pattern.
6884         config/s390/s390-protos.h (legitimize_la_operand): Remove.
6885         (s390_load_address): Add prototype.
6886
6887         * config/s390/s390.c: Include "optabs.h".
6888         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
6889         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
6890         s390_expand_cmpstr): Add prototypes.
6891         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
6892         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
6893         for operands 0 and 1 to "memory_operand".  Add type attribute.
6894         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
6895         for operands 0 and 1 to "memory_operand".  Add type attribute.
6896         ("movstrdi_long", "movstrsi_long"): Remove.
6897         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
6898         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
6899         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
6900         ("clrstrsico"): Remove, replace by ...
6901         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
6902         ("clrstrsi_64"): Rename to "clrstr_long_64".
6903         ("clrstrsi_31"): Rename to "clrstr_long_31".
6904         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
6905         ("cmpstr_const"): Remove, replace by ...
6906         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
6907         ("cmpstr_64"): Rename to "cmpstr_long_64".
6908         ("cmpstr_31"): Rename to "cmpstr_long_31".
6909
6910 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
6911
6912         * ABOUT-NLS: Follow spelling conventions.
6913         * ChangeLog: Likewise.
6914         * ChangeLog.1: Likewise.
6915         * ChangeLog.2: Likewise.
6916         * ChangeLog.3: Likewise.
6917         * ChangeLog.4: Likewise.
6918         * ChangeLog.5: Likewise.
6919         * ChangeLog.6: Likewise.
6920         * FSFChangeLog.10: Likewise.
6921         * FSFChangeLog.11: Likewise.
6922         * c-common.c: Likewise.
6923         * c-lex.c: Likewise.
6924         * c-objc-common.c: Likewise.
6925         * cppexp.c: Likewise.
6926         * cppinit.c: Likewise.
6927         * cpplex.c: Likewise.
6928         * doloop.c: Likewise.
6929         * flow.c: Likewise.
6930         * function.c: Likewise.
6931         * integrate.c: Likewise.
6932         * loop.c: Likewise.
6933         * reg-stack.c: Likewise.
6934         * reload.h: Likewise.
6935         * ssa.c: Likewise.
6936
6937 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6938
6939         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
6940         * vmsdbgout.c: Include "target.h".
6941
6942 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
6943
6944         * ChangeLog: Follow spelling conventions.
6945         * ChangeLog.0: Likewise.
6946         * ChangeLog.1: Likewise.
6947         * ChangeLog.2: Likewise.
6948         * ChangeLog.4: Likewise.
6949         * ChangeLog.6: Likewise.
6950         * config.gcc: Likewise.
6951         * dwarfout.c: Likewise.
6952         * reload1.c: Likewise.
6953         * simplify-rtx.c: Likewise.
6954         * unwind-sjlj.c: Likewise.
6955         * config/avr/avr.h: Likewise.
6956         * config/d30v/d30v.h: Likewise.
6957         * config/frv/frv.c: Likewise.
6958         * config/frv/frv.h: Likewise.
6959         * config/ip2k/ip2k.h: Likewise.
6960         * config/m88k/m88k-move.sh: Likewise.
6961         * config/stormy16/stormy16.c: Likewise.
6962         * config/stormy16/stormy16.h: Likewise.
6963         * doc/extend.texi: Likewise.
6964         * doc/interface.texi: Likewise.
6965         * doc/invoke.texi: Likewise.
6966         * doc/md.texi: Likewise.
6967         * doc/rtl.texi: Likewise.
6968         * doc/tm.texi: Likewise.
6969         * doc/trouble.texi: Likewise.
6970         * ginclude/float.h: Likewise.
6971         * treelang/treelang.texi: Likewise.
6972
6973 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6974
6975         * i386-protos.h (i386_pe_dllexport_name_p,
6976         i386_pe_dllimport_name_p, i386_pe_unique_section,
6977         i386_pe_declare_function_type, i386_pe_record_external_function,
6978         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
6979         prototype.
6980         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
6981         * i386/t-interix (winnt.o): Likewise.
6982
6983         * v850-protos.h (v850_output_addr_const_extra): Prototype.
6984
6985 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
6986
6987         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
6988         MIPS ABI CPP macros.
6989         (TARGET_CPU_CPP_BUILTINS): Redefine.
6990         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
6991         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
6992
6993 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6994
6995         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
6996
6997 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
6998
6999         * ChangeLog: Follow spelling conventions.
7000         * ChangeLog.0: Likewise.
7001         * ChangeLog.1: Likewise.
7002         * ChangeLog.2: Likewise.
7003         * ChangeLog.3: Likewise.
7004         * ChangeLog.4: Likewise.
7005         * ChangeLog.5: Likewise.
7006         * ChangeLog.6: Likewise.
7007         * FSFChangeLog.10: Likewise.
7008         * FSFChangeLog.11: Likewise.
7009         * c-common.c: Likewise.
7010         * c-common.h: Likewise.
7011         * c-format.c: Likewise.
7012         * c-opts.c: Likewise.
7013         * cpplib.c: Likewise.
7014         * langhooks.h: Likewise.
7015         * real.c: Likewise.
7016         * reg-stack.c: Likewise.
7017         * toplev.c: Likewise.
7018         * config/arm/arm.c: Likewise.
7019         * config/arm/arm.md: Likewise.
7020         * config/arm/linux-gas.h: Likewise.
7021         * config/arm/netbsd.h: Likewise.
7022         * config/c4x/c4x.c: Likewise.
7023         * config/c4x/c4x.h: Likewise.
7024         * config/c4x/c4x.md: Likewise.
7025         * config/c4x/libgcc.S: Likewise.
7026         * config/fr30/fr30.md: Likewise.
7027         * config/frv/frv.md: Likewise.
7028         * config/ia64/ia64.md: Likewise.
7029         * config/mips/mips.h: Likewise.
7030         * config/mn10300/mn10300.c: Likewise.
7031         * config/stormy16/stormy16.c: Likewise.
7032         * config/v850/v850.md: Likewise.
7033         * doc/extend.texi: Likewise.
7034         * doc/invoke.texi: Likewise.
7035         * doc/md.texi: Likewise.
7036
7037 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7038
7039         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
7040         library if -pthread is specified.
7041
7042 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7043
7044         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
7045         for --enable-threads=yes and --enable-threads=posix.
7046
7047 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7048
7049         * config/sparc/cypress.md: Replace Sparc with SPARC.
7050         * config/sparc/freebsd.h: Likewise.
7051         * config/sparc/gmon-sol2.c: Likewise.
7052         * config/sparc/hypersparc.md: Likewise.
7053         * config/sparc/lb1spc.asm: Likewise.
7054         * config/sparc/lb1spl.asm: Likewise.
7055         * config/sparc/linux.h: Likewise.
7056         * config/sparc/linux64.h: Likewise.
7057         * config/sparc/lynx.h: Likewise.
7058         * config/sparc/sol2.h: Likewise.
7059         * config/sparc/sparc-modes.def: Likewise.
7060         * config/sparc/sparc.c: Likewise.
7061         * config/sparc/sparc.h: Likewise.
7062         * config/sparc/sparc.md: Likewise.
7063         * config/sparc/sparclet.md: Likewise.
7064         * config/sparc/supersparc.md: Likewise.
7065         * config/sparc/sysv4.h: Likewise.
7066         * config/sparc/vxsim.h: Likewise.
7067         * config/sparc/vxsparc64.h: Likewise.
7068
7069 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7070
7071         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
7072         * collect2.c (ignore_library, aix_std_libs): Move into the context
7073         where it is used.
7074         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
7075         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
7076         * m88k.c (output_call): Wrap variables with macro controlling use.
7077         * rs6000.md: Likewise.  Const-ify variable.
7078         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
7079         * final.c (only_leaf_regs_used): Likewise.
7080         * regrename.c (maybe_mode_change): Mark parameter with
7081         ATTRIBUTE_UNUSED.
7082         * reload.c (find_valid_class): Likewise.  Likewise for variable.
7083         (find_reloads_address_1): Likewise.
7084         * varasm.c (weak_finish): Wrap variable with macro controlling use.
7085
7086 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
7087
7088         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
7089
7090 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7091
7092         * ChangeLog: Follow spelling conventions.
7093         * ChangeLog.0: Likewise.
7094         * ChangeLog.2: Likewise.
7095         * ChangeLog.3: Likewise.
7096         * ChangeLog.4: Likewise.
7097         * ChangeLog.5: Likewise.
7098         * ChangeLog.6: Likewise.
7099         * cppfiles.c: Likewise.
7100         * cppinit.c: Likewise.
7101         * cpplib.h: Likewise.
7102         * cse.c: Likewise.
7103         * debug.h: Likewise.
7104         * df.c: Likewise.
7105         * dominance.c: Likewise.
7106         * hashtable.c: Likewise.
7107         * hashtable.h: Likewise.
7108         * loop.c: Likewise.
7109         * config/arm/README-interworking: Likewise.
7110         * config/arm/arm.c: Likewise.
7111         * config/arm/arm.h: Likewise.
7112         * config/arm/arm.md: Likewise.
7113         * config/dsp16xx/dsp16xx.h: Likewise.
7114         * config/frv/frv.c: Likewise.
7115         * config/frv/frv.h: Likewise.
7116         * config/ip2k/ip2k.h: Likewise.
7117         * config/rs6000/rs6000.c: Likewise.
7118         * config/stormy16/stormy-abi: Likewise.
7119         * config/stormy16/stormy16.h: Likewise.
7120         * config/v850/v850.c: Likewise.
7121
7122 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7123
7124         * loop.c: Fix a comment typo.
7125
7126 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7127
7128         * config/fr30/fr30.h: Fix comment typos.
7129         * config/frv/frv.c: Likewise.
7130         * config/i386/xmmintrin.h: Likewise.
7131         * config/mips/mips.c: Likewise.
7132         * config/sh/sh.c: Likewise.
7133
7134 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7135
7136         * haifa-sched.c: Follow spelling conventions.
7137         * regclass.c: Likewise.
7138         * regrename.c: Likewise.
7139         * config/fp-bit.c: Likewise.
7140         * config/frv/frv.h: Likewise.
7141         * config/m88k/m88k.c: Likewise.
7142         * config/mcore/mcore.c: Likewise.
7143         * config/rs6000/darwin.h: Likewise.
7144         * config/rs6000/gnu.h: Likewise.
7145         * config/rs6000/linux.h: Likewise.
7146         * config/rs6000/linux64.h: Likewise.
7147         * config/rs6000/rs6000.c: Likewise.
7148         * config/rs6000/rs6000.h: Likewise.
7149         * config/sh/sh.c: Likewise.
7150         * config/sparc/sparc.c: Likewise.
7151         * config/sparc/ultra1_2.md: Likewise.
7152
7153 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
7154
7155         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
7156         memory operand when source is 0 (K constraint).
7157         ("movsi_internal"): Likewise.
7158         ("movdf_internal"): Likewise.
7159         ("movsf_internal"): Likewise.
7160
7161 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
7162
7163         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
7164         targetm.binds_local_p to set SYMBOL_REF_FLAG.
7165         (rs6000_xcoff_encode_section_info): Likewise.
7166         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
7167
7168 2002-09-10  Theodore A. Roth  <troth@verinet.com>
7169
7170         * gcc/config/avr/avr.h: Set default options for C++ for avr.
7171
7172 2002-09-13  Roger Sayle  <roger@eyesopen.com>
7173
7174         * stmt.c (struct nexting): Remove unused alt_end_label field.
7175         (expand_start_loop): Delete initialization of alt_end_label.
7176         (expand_start_null_loop): Likewise.
7177         (expand_exit_loop_if_false): Delete updating of alt_end_label.
7178
7179 2002-09-13  Richard Henderson  <rth@redhat.com>
7180
7181         * Makefile.in (toplev.o): Depend on real.h.
7182         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
7183
7184 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
7185
7186         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
7187         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
7188         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
7189
7190 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
7191
7192         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
7193
7194 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7195
7196         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
7197         ia64*-*-linux*): Set extra_parts.
7198         * config/ia64/t-aix (EXTRA_PARTS): Remove.
7199         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
7200
7201 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
7202
7203         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
7204         * config/h8300/h8300.c: Likewise.
7205         * config/h8300/h8300.h: Likewise.
7206         * config/h8300/h8300.md: Likewise.
7207         * doc/invoke.texi: Likewise.
7208
7209 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
7210
7211         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
7212
7213 2002-09-13  Richard Henderson  <rth@redhat.com>
7214
7215         * config/alpha/alpha.md (attr type): Add callpal.
7216         (imb, trap, load_tp, set_tp): Use it.
7217         * config/alpha/ev4.md (ev4_callpal): New.
7218         * config/alpha/ev5.md (ev5_callpal): New.
7219         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
7220         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
7221         (alphaev5_insn_pipe): Likewise.
7222
7223 2002-09-13  Andreas Jaeger  <aj@suse.de>
7224
7225         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
7226
7227 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7228
7229         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
7230         LIB2ADDEH): New, set to NULL.
7231         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
7232
7233 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7234
7235         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
7236         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
7237         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
7238         Add declarations.
7239         (_U_Qfneg): Remove.
7240
7241 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
7242
7243         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
7244         for H8/300, H8S aa:8 mode.
7245         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
7246         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
7247         for H8/300 aa:8 mode.
7248
7249 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
7250
7251         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
7252         insns.
7253
7254 2002-09-12  Richard Henderson  <rth@redhat.com>
7255
7256         * Makefile.in (HOST_PRINT): Use print-rtl1.o
7257         (print-rtl.o): Don't define GENERATOR_FILE.
7258         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
7259         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
7260         unless GENERATOR_FILE.
7261
7262 2002-09-12  Stan Shebs  <shebs@apple.com>
7263
7264         * config/darwin.h (USER_LABEL_PREFIX): Define here...
7265         * config/i386/darwin.h: ... instead of here.
7266
7267         * target.h (struct gcc_target): New field
7268         terminate_dw2_eh_frame_info.
7269         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
7270         (TARGET_INITIALIZER): Add it.
7271         * dwarf2out.c (output_call_frame_info): Use target hook.
7272         * dwarf2asm.c (dw2_asm_output_delta): Use macro
7273         ASM_OUTPUT_DWARF_DELTA if defined.
7274         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
7275         (ASM_OUTPUT_DWARF_DELTA): Ditto.
7276         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
7277         (ASM_OUTPUT_DWARF_PCREL): Ditto.
7278         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
7279         (powerpc-*-darwin*): Ditto.
7280         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
7281         to work correctly for Darwin.
7282         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
7283         (STARTFILE_SPEC): Add crtbegin.o.
7284         (ENDFILE_SPEC): Define.
7285         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
7286         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
7287         (ASM_OUTPUT_DWARF_DELTA): Define.
7288         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
7289         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
7290
7291 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
7292
7293         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
7294         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
7295         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
7296
7297 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
7298
7299         * toplev.c: Move default definition of USER_LABEL_PREFIX...
7300         * defaults.h: ... here.
7301
7302 2002-09-12  Richard Henderson  <rth@redhat.com>
7303
7304         * vax.c: Include tree.h earlier.
7305
7306 2002-09-12  Stan Shebs  <shebs@apple.com>
7307
7308         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
7309         (machopic_operand_p): Ditto.
7310
7311 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7312
7313         * config/arm/arm.c (arm_compute_initial_elimination_offset):
7314         Fix a comment typo.
7315
7316 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7317
7318         * toplev.c (do_abort): Fix a comment typo.
7319
7320 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7321
7322         * cselib.c: Fix comment formatting.
7323         * gengtype.c: Likewise.
7324
7325 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7326
7327         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
7328         (udivmodhi4): Likewise.
7329
7330 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
7331             Roger Sayle  <roger@eyesopen.com>
7332
7333         * i386.c (any_fp_register_operand, fp_register_operand,
7334         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
7335         New predicate functions.
7336         * i386-protos.h:  Add their prototypes.
7337         * i386.h: Add them to PREDICATE_CODES.
7338         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
7339         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
7340         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
7341         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
7342         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
7343         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
7344         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
7345         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
7346         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
7347         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
7348         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
7349         Use these new predicates to simplify and correct the use of
7350         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
7351
7352 2002-09-12  Jason Merrill  <jason@redhat.com>
7353
7354         * diagnostic.c (output_add_identifier): New fn.
7355         * diagnostic.h: Declare it.
7356
7357         * calls.c (store_one_arg): Use size_in_bytes to determine the
7358         amount of space to push.
7359
7360 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
7361
7362         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
7363
7364 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
7365
7366         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
7367         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
7368         (s390_select_ccmode): Likewise.
7369         (s390_branch_condition_mask): Likewise.
7370         (optimization_options): Do not set flag_branch_on_count.
7371         (s390_split_branches): Handle doloop branches.
7372         (s390_chunkify_pool): Likewise.
7373         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
7374         ("doloop_end"): New expander.
7375         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
7376         associated splitters): New.
7377
7378 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7379
7380         * genattrtab.c (simplify_cond): Remove unused variable(s).
7381         * global.c (record_conflicts): Likewise.
7382         * jump.c (rebuild_jump_labels): Likewise.
7383         * loop.c (scan_loop, check_final_value): Likewise.
7384         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
7385         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
7386         * rtlanal.c (reg_set_p): Likewise.
7387         * stmt.c (expand_asm_operands, expand_decl): Likewise.
7388         * genautomata.c (empty_reserv): Remove.
7389         * loop.c (max_luid): Likewise.
7390         * sched-rgn.c (bitlst_table_size): Likewise.
7391
7392 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
7393
7394         Reimplement gcov format.
7395         * gcov-io.h: Replace.
7396         * gcov.c: Reimplement.
7397         * gcov-iov.c: New file.
7398         * gcov-dump.c: New file.
7399         * libgcc2.c (L_bb): Replace with ...
7400         (L_gcov): ... this.
7401         (struct bb_function_info, struct bb): Remove.
7402         (inhibit_libc): Never inhibit.
7403         (gcov_list, gcov_crc): New static variables.
7404         (gcov_version_mismatch): New static function.
7405         (__bb_exit_func): Renamed to ...
7406         (__gcov_exit): ... here. Made static. Reimplement.
7407         (__gcov_init_func): Rename to ...
7408         (__gcov_init): ... here. Check version, update crc.
7409         (__bb_fork_func): Rename to ...
7410         (__gcov_flush): ... here.
7411         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
7412         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
7413         * calls.c (expand_call): Call __gcov_flush.
7414         * profile.c (bb_file, last_bb_file_name): Remove.
7415         (bbg_file_name): New global variable.
7416         (output_gcov_string): Remove.
7417         (get_exec_counts): Reimplement.
7418         (branch_prob): Reimplement gcov file writing.
7419         (init_branch_prob): Create bbg_file_name, don't create
7420         bb_file_name.
7421         (end_branch_prob): Adjust. Don't remove counter file when
7422         instrumenting ourselves.
7423         (create_profiler): Adjust.
7424         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
7425         point to gcov-io.h.
7426         * Makefile.in (LANGUAGES): Add gcov-dump.
7427         (coverageexts): Remove .bb.
7428         (STAGESTUFF): Add gcov-dump.
7429         (LIB2FUNCS_ST): Replace _bb with _gcov.
7430         (profile.o): Depend on gcov-iov.h.
7431         (final.o): Don't depend on profile.h, gcov.h.
7432         (gcov.o): Depend on gcov-iov.h.
7433         (gcov-iov.o): New target.
7434         (gcov-iov): New target.
7435         (gcov-iov.h): New target.
7436         (gcov-dump.o): New target.
7437         (GCOV_DUMP_OBJS): New variable.
7438         (gcov-dump): New target.
7439         (distclean): Remove coverageexts.
7440         (stage1): Remove coverageexts.
7441
7442 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
7443
7444         * fold-const.c (make_range): Only narrow to signed range if
7445         the signed range is smaller than the unsigned range.
7446
7447 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
7448
7449         * emit-rtl.c (set_mem_size): New function.
7450         * expr.h (set_mem_size): Declare.
7451         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
7452         (expand_block_move): Instead, use adjust_address and
7453         replace_equiv_address to generate proper aliasing info.
7454         Move common code out of conditionals.  Localize vars.
7455
7456 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
7457
7458         * optabs.c (expand_binop): Minor cleanup.
7459         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
7460
7461 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
7462
7463         * print-tree.c (print_node): Print the restrict qualifier.
7464
7465 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
7466
7467         * doc/install.texi: Fix typos.
7468
7469 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
7470
7471         * Makefile.in: Remove all references to s-under and underscore.c.
7472         * collect2.c, tlink.c: Change all uses of prepends_underscore
7473         to look directly at USER_LABEL_PREFIX.
7474
7475 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
7476
7477         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
7478         alignment to csect.
7479         (rs6000_xcoff_unique_section): Only set section name for public
7480         data.
7481         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
7482         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
7483         duplicate definition.
7484
7485 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7486
7487         * pa.md (extzv): Check predicates before emitting extzv_32.
7488         (insv): Likewise.
7489
7490 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
7491
7492         * config/s390/s390.h (MOVE_MAX): Define to correct value.
7493         (MAX_MOVE_MAX): Define.
7494         (MOVE_BY_PIECES_P): Define.
7495         (CLEAR_BY_PIECES_P): Define.
7496
7497 2002-09-10  Denis Chertykov  <denisc@overta.ru>
7498
7499         * config/avr/avr.md (movstrhi): Use right operands for conversion.
7500
7501 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
7502
7503         PR c/7873
7504         * arm.md (insv): Use reg_or_int_operand for operand[3].
7505
7506 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
7507
7508         * rs6000.c (rs6000_assemble_visibility): Protect declaration
7509         inside macro.  Correct function definition typo.
7510         (rs6000_xcoff_section_type_flags): New function.
7511         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
7512         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
7513         with appropriate PIC test.
7514         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
7515         determine readonly.
7516         (rs6000_binds_local_p): Combine PIC flags.
7517         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
7518         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
7519
7520 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7521
7522         * h8300.md: Fix signed/unsigned warnings.
7523         * mcore.md: Likewise.
7524         * mn10300.c (mask_ok_for_mem_btst): Likewise.
7525
7526 2002-09-09  Per Bothner  <per@bothner.com>
7527
7528         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
7529         characters, and only print TREE_STRING_LENGTH chars.
7530
7531 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
7532
7533         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
7534         (ASM_FILE_END) New.
7535         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
7536         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
7537         * config/ia64/ia64.c (ia64_asm_output_external): Create list
7538         of external functions if TARGET_HPUX_LD is true.
7539         (ia64_hpux_add_extern_decl): New, routine to put names on
7540         list of external functions.
7541         (ia64_hpux_asm_file_end): Put out declarations for external
7542         functions if and only if they are used.
7543
7544 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7545
7546         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
7547         on TARGET_64BIT before pic register restore.
7548
7549 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
7550
7551         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
7552         (TARGET_HAVE_TLS): New description.
7553
7554 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
7555
7556         * doc/extend.texi (Statement Exprs): Fix broken link.
7557
7558 2002-09-09  Denis Chertykov  <denisc@overta.ru>
7559
7560         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
7561         right conversion of operands[1].
7562
7563 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
7564
7565         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
7566         commutative.  Use "nonimmediate_operand" instead of "register_operand"
7567         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
7568
7569         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
7570         as commutative.
7571
7572         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
7573         mark as commutative.  Use "nonimmediate_operand" instead of
7574         "register_operand" as predicate for operand 1.
7575
7576         ("movstrictsi"): Fix typo in insn name.
7577
7578 2002-09-09  Jan Hubicka  <jh@suse.cz>
7579
7580         * i386.c (index_register_operand): New.
7581         * i386.h (predicate_codes): Add new predicate.
7582         * i386.md (lea_general_*): Use index_register_operand
7583         (ashift to lea splitter): Do not produce invalid leas
7584         (ashift to mov+ashift split): New.
7585
7586 2002-09-09  Nick Clifton  <nickc@redhat.com>
7587
7588         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
7589         Fix folding marks.
7590
7591 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
7592             J"orn Rennecke <joern.rennecke@superh.com>
7593
7594         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
7595
7596 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
7597
7598         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
7599         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
7600         attributes.
7601
7602 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
7603
7604         * basic_block.h (gcov_type): Explain why it is signed.
7605         * final.c: Don't include profile.h.
7606         (struct function_list, functions_head, functions_tail,
7607         end_final): Moved to profile.c
7608         (final): Move arc chaining code to profile.c.
7609         * function.c (prepare_function_start): Remove duplicate line.
7610         * output.h (end_final): Remove prototype.
7611         * predict.c (estimate_loops_at_level): Use gcov_type.
7612         * profile.c (struct function_list, functions_head,
7613         functions_tail): Moved from final.c
7614         (need_func_profiler): Remove.
7615         (instrument_edges): Don't set need_func_profiler.
7616         (get_exec_counts): Avoid signed/unsigned warning.
7617         (compute_checksum): Use crc32.
7618         (branch_prob): Adjust. Chain onto functions_head.
7619         (init_branch_prob): Absorb init_edge_profiler.
7620         (init_edge_profiler): Remove.
7621         (create_profiler): Moved and renamed from final.c:end_final.
7622         Emit data and constructor.
7623         (output_func_start_profiler): Remove.
7624         * profile.h (struct profile_info): checksum is unsigned.
7625         * rtl.h (output_func_start_profiler): Remove prototype.
7626         (create_profiler): Declare.
7627         * toplev.c (compile_file): Call create_profiler, if instrumenting
7628         arcs. Don't call end_final.
7629
7630 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7631
7632         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
7633
7634 2002-09-08  Richard Henderson  <rth@redhat.com>
7635
7636         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
7637         (DW_OP_GNU_push_tls_address): New.
7638         (DW_OP_lo_user): Fix.
7639         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
7640         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
7641         (size_of_loc_descr): Likewise.
7642         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
7643         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
7644         (loc_descriptor_from_tree): Handle TLS variables.
7645         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
7646         (add_location_or_const_value_attribute): ... not here.  Defer
7647         to loc_descriptor_from_tree for TLS variables.
7648
7649         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
7650         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
7651         * config/i386/i386-protos.h: Update.
7652
7653 2002-09-08  Roger Sayle  <roger@eyesopen.com>
7654
7655         PR optimization/6405
7656         * unroll.c (loop_iterations): last_loop_insn should be the previous
7657         non-note instruction before loop->end.
7658         * loop.c (strength_reduce): The conditional jump is the last
7659         non-note instruction before loop->end (as above).
7660
7661 2002-09-08  Roger Sayle  <roger@eyesopen.com>
7662
7663         * combine.c (try_combine): Handle the case that undobuf.other_insn
7664         has been turned into a return or unconditional jump, by inserting
7665         a BARRIER if necessary.
7666         (simplify_set):  Test if a condition code setter has a constant
7667         comparison at compile time, if so convert this insn to a no-op move
7668         and update/simplify the condition code user (undobuf.other_insn).
7669
7670 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
7671
7672         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
7673         (CLEAR_INSN_CACHE): Define.
7674
7675 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
7676
7677         * basic-block.h: Fix comment formatting.
7678         * c-common.c: Likewise.
7679         * c-common.h: Likewise.
7680         * c-lex.c: Likewise.
7681         * c-pretty-print.c: Likewise.
7682         * cfglayout.c: Likewise.
7683         * cfgloop.c: Likewise.
7684         * defaults.h: Likewise.
7685         * et-forest.c: Likewise.
7686         * explow.c: Likewise.
7687         * function.h: Likewise.
7688         * gcov.c: Likewise.
7689         * genattrtab.c: Likewise.
7690         * gengtype.c: Likewise.
7691         * ifcvt.c: Likewise.
7692         * libgcc2.c: Likewise.
7693         * loop.c: Likewise.
7694         * profile.c: Likewise.
7695         * ra-build.c: Likewise.
7696         * real.c: Likewise.
7697         * rtl.h: Likewise.
7698         * tracer.c: Likewise.
7699         * tree-inline.c: Likewise.
7700         * varasm.c: Likewise.
7701
7702 2002-09-08  Jan Hubicka  <jh@suse.cz>
7703
7704         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
7705         handling.
7706
7707         * loop.c (loop_givs_reduce):  Emit addition after.
7708
7709 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
7710
7711         * varasm.c (default_assemble_visibility): Rename from
7712         assemble_visibility.
7713         * output.h: Here too.
7714         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
7715         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
7716
7717 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
7718
7719         * reload.c (find_reloads <p constraint>): Pass operand_mode to
7720         find_reloads_address.
7721
7722 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
7723
7724         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
7725         (anonymous pattern): Likewise.
7726
7727 2002-09-07  Igor Shevlyakov <igor@microunity.com>
7728
7729         * machmode.def: Add modes for half-float vectors.
7730
7731 2002-09-07  Scott Snyder  <snyder@fnal.gov>
7732
7733         PR target/7374
7734         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
7735
7736 2002-09-07  Roger Sayle  <roger@eyesopen.com>
7737
7738         * basic-block.h (struct loop): Remove unused cont_dominator field.
7739
7740 2002-09-07  Igor Shevlyakov <igor@microunity.com>
7741
7742         * varasm.c (decode_rtx_const): Don't check undefined field for
7743         CONST_VECTOR.
7744
7745 2002-09-07  Glen Nakamura  <glen@imodulo.com>
7746
7747         PR opt/7814
7748         * sched-deps.c (sched_analyze_insn): Make sure to add insn
7749         to reg_last->sets after flushing the dependency lists to guarantee
7750         that subsequent clobbers will be dependent on it.
7751
7752 2002-09-07  Igor Shevlyakov <igor@microunity.com>
7753
7754         * combine.c (simplify_shift_const): Calculate rotate count
7755         correctly for vector operands.
7756
7757 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
7758
7759         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
7760         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
7761         tree_expr_nonnegative_p.
7762         (build_conditional_expr): Likewise.
7763         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
7764
7765 2002-09-07  Richard Henderson  <rth@redhat.com>
7766
7767         * builtins.def (inf, inff, infl): Mark const.
7768         (huge_val, huge_valf, huge_vall): Likewise.
7769         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
7770
7771         * real.c (ereal_inf): Clear E before use.
7772
7773 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
7774
7775         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
7776         an expander and an anonymous pattern.  Zero out the upper half
7777         of the dividend in the expander.
7778         (udivmodqi4): Likewise.
7779
7780 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
7781
7782         * config/h8300/h8300.c: Fix formatting.
7783         * config/h8300/h8300.h: Likewise.
7784         * config/h8300/h8300.md: Likewise.
7785
7786 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7787
7788         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
7789         information.
7790
7791 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
7792
7793        * rtlanal.c (dead_or_set_regno_p): Fix typo.
7794
7795 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
7796
7797         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7798
7799         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
7800         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
7801         (TARGET_ASM_OUT): Add the above here.
7802         * target.h (struct gcc_target): Add "visibility" field.
7803         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
7804         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
7805         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
7806         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
7807
7808 2002-09-06  Ziemowit Laski <zlaski@apple.com>
7809
7810         * c-lang.c (objc_is_id): New stub.
7811         * c-tree.h (objc_is_id): New forward declaration.
7812         * c-typeck.c (build_c_cast): Do not strip protocol
7813         qualifiers from 'id' type.
7814         * objc/objc-act.c (objc_comptypes): Correct handling
7815         of protocol qualifiers.
7816         (objc_is_id): New.
7817
7818 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
7819
7820         * pentium.md (pentium-firstvboth): Fix typo.
7821
7822 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
7823
7824         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
7825         (enum shift_type, enum h8_cpu): Likewise.
7826         (INL, ROT, LOP, SPC macros): Likewise.
7827         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
7828         const designator.
7829         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
7830         space efficient algorithms when optimize for codesize.
7831
7832 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
7833
7834         Fix PR/1727 and long-standing failing testcase
7835         objc/formal-protocol-6.m.
7836         * objc-act.c (build_protocol_expr): If compiling for the GNU
7837         runtime, create a list of Protocol statically allocated instances
7838         if it doesn't exist, then add the Protocol object to this same
7839         list.
7840         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
7841         instead of TREE_CHAIN.
7842
7843 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
7844
7845         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
7846         10k.  Fixed category dumping - print out category names with the
7847         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
7848         interface.
7849         (finish_objc): Fixed the -gen-decls option.  It was printing out
7850         only the last class.  Dump an interface declaration of all classes
7851         being compiled instead.
7852
7853 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
7854
7855         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
7856         prototype.
7857         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
7858         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
7859         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
7860         rather than GEN_INT.
7861         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
7862         (return_addr_mask, *check_arch2): New.
7863
7864 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
7865
7866         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
7867         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
7868         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
7869         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
7870         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
7871         "adddf3", "*adddf3", "*adddf3_ibm",
7872         "addsf3", "*addsf3", "*addsf3_ibm",
7873         "muldi3", "mulsi3", "mulsidi3",
7874         "muldf3", "*muldf3", "*muldf3_ibm",
7875         "mulsf3", "*mulsf3", "*mulsf3_ibm",
7876         "*anddi3_cc", "*anddi3_cconly", "anddi3",
7877         "*andsi3_cc", "*andsi3_cconly", "andsi3",
7878         "*iordi3_cc", "*iordi3_cconly", "iordi3",
7879         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
7880         "*xordi3_cc", "*xordi3_cconly", "xordi3",
7881         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
7882         instead of "register_operand" as predicate for "%0" operand.
7883
7884 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
7885
7886         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
7887         unconditionally when gcc_cv_as_flags64 checks are gone.
7888         * configure: Rebuilt.
7889
7890 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
7891
7892         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
7893         2002-07-26 change.  Comment.
7894
7895 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7896
7897         * frv.c (frv_unique_section, frv_select_section,
7898         frv_select_rtx_section): Delete.
7899         (frv_in_small_data_p): New.
7900         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
7901         TARGET_ASM_SELECT_RTX_SECTION): Delete.
7902         (TARGET_IN_SMALL_DATA_P): Define.
7903
7904 2002-09-05  Dale Johannesen  <dalej@apple.com>
7905
7906         * reload1.c (reload):  Retain only those memory clobbers
7907         added for variable-array handling.
7908
7909 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
7910
7911         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
7912         return-in-memory rules.
7913         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
7914
7915 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
7916
7917         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
7918         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
7919
7920 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
7921
7922         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
7923         not a compile-time constant for the non-IBM case.
7924         * config/arm/arm-protos.h (arm_float_words_big_endian): New
7925         prototype.
7926         * config/arm/arm.c (arm_float_words_big_endian): New function.
7927         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
7928         if TARGET_VFP  and not TARGET_HARD_FLOAT.
7929         (ARM_FLAG_VFP, TARGET_VFP): Define.
7930         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
7931
7932 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
7933
7934         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
7935         URLs.  Fix AIX wording.
7936
7937 2002-09-05  Stan Shebs  <shebs@apple.com>
7938
7939         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
7940         -fPIC equivalent on Darwin.
7941
7942 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
7943
7944         * sh.c (sh_expand_builtin): Return early if encountering an
7945         error_mark for a type.
7946
7947 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
7948
7949         * config/s390/s390.c (s390_expand_plus_operand): Do not require
7950         double-word scratch register.
7951         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
7952
7953         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
7954         "*cli"): Replace s_operand by memory_operand.
7955         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
7956
7957 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
7958
7959         * config/h8300/h8300.c (asm_file_start): Add a missing
7960         semicolon.
7961
7962 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7963
7964         * c-typeck.c (build_function_call): Remove unused variable(s).
7965         (build_c_cast): Likewise.
7966         * calls.c (rtx_for_function_call): Likewise.
7967         * cfglayout.c (duplicate_insn_chain): Likewise.
7968         * cfgloop.c (flow_loop_nodes_find): Likewise.
7969         * cfgrtl.c (split_edge): Likewise.
7970         * df.c (df_ref_create): Likewise.
7971         * except.c (expand_end_catch): Likewise.
7972         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
7973         * function.c (emit_return_into_block): Likewise.
7974         (reposition_prologue_and_epilogue_notes): Likewise.
7975         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
7976         * combine.c (subst_prev_insn, need_refresh): Remove.
7977         * dwarf2out.c (primary_filename): Remove.
7978         * final.c (new_block): Remove.
7979         * gcse.c (orig_bb_count): Remove.
7980
7981 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7982
7983         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
7984         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
7985         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
7986         directly instead of using a function pointer.
7987
7988 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
7989
7990         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
7991         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
7992         (ix86_output_addr_diff_elt) Likewise.
7993         (x86_output_mi_thunk) Likewise.
7994         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
7995
7996 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7997
7998         * frv.c (frv_encode_section_info): Fix error in last change.
7999
8000 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
8001
8002         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
8003         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
8004         (TARGET_BINDS_LOCAL_P): Define.
8005         (rs6000_override_options): Save original flag_pic value.
8006         (rs6000_elf_select_section): Call default_elf_select_section_1.
8007         (rs6000_elf_unique_section): Call default_unique_section_1.
8008         (rs6000_elf_in_small_data_p): New function.
8009         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
8010         (rs6000_xcoff_select_section): Update based on defaults.
8011         (rs6000_xcoff_unique_section): Set to basic name if not common.
8012         (rs6000_binds_local_p): New function.
8013         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
8014         targetm.have_srodata_section if SDATA_EABI.
8015         (TARGET_IN_SMALL_DATA_P): Define.
8016
8017 2002-09-04  Dale Johannesen  <dalej@apple.com>
8018
8019         * varasm.c (struct rtx_const, decode_rtx_const):
8020         Make veclo and vechi fields not share storage.
8021
8022 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
8023
8024         * loop.c (scan_loop): Don't mark separate insns out of a libcall
8025         for moving.
8026         (move_movables): Abort if we see the first insn of a libcall.
8027
8028 2002-09-04  Richard Henderson  <rth@redhat.com>
8029
8030         * builtin-types.def (BT_FN_FLOAT): New.
8031         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
8032         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
8033         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
8034         * builtins.c (fold_builtin_inf): New.
8035         (fold_builtin): Call it.
8036         * real.c (ereal_inf): New.
8037         * real.h: Declare it.
8038         * doc/extend.texi: Document new builtins.
8039
8040 2002-09-04  Richard Henderson  <rth@redhat.com>
8041
8042         * cse.c (cse_insn): Avoid subreg games if the equivalence
8043         is already in the proper mode.
8044
8045 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
8046
8047         PR c/7102
8048         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
8049
8050 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8051
8052         * pa.md (setccfp0, setccfp1): New patterns.
8053
8054 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8055
8056         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
8057         frv_select_section, frv_select_rtx_section,
8058         frv_encode_section_info, frv_unique_section): Delete.
8059         * frv.c: Update for target hooks.
8060         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
8061         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
8062         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
8063
8064 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8065
8066         * ip2k-protos.h (function_prologue, function_epilogue,
8067         encode_section_info): Update to match target hook specification.
8068         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
8069         (function_prologue, function_epilogue, encode_section_info):
8070         Update to match target hook specification.
8071         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
8072         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
8073         (NOTICE_UPDATE_CC): Cast to void.
8074         * ip2k.md: Add defaults in switch statements.
8075
8076 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8077
8078         * doc/trouble.texi (Interoperation): Update information about C++ ABI
8079         issues.
8080
8081 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
8082
8083         * config/sparc/t-netbsd64: Disable multilib for now.
8084
8085 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
8086
8087         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
8088         * target.h (gcc_target): Add have_srodata_section member.
8089         * varasm.c (section_category): Add SECCAT_SRODATA.
8090         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
8091         READONLY_SDATA_SECTION defined.
8092         (decl_readonly_section_1): True for SECCAT_SRODATA also.
8093         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
8094         (default_unique_section_1): Likewise.
8095
8096 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8097
8098         * expr.c (emit_group_load): Revise to allow splitting TCmode source
8099         into DImode pieces.
8100
8101         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
8102         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
8103         for floating-point register class.
8104         * pa.c (function_arg): Fix handling of modes wider than one word for
8105         TARGET_64BIT.
8106
8107 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
8108
8109         * combine.c (make_compound_operation): Don't generate zero / sign
8110         extensions in floating point modes.
8111
8112 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8113
8114         * doc/c-tree.texi: Fix overfull hboxes.
8115         * doc/cppopts.texi: Ditto.
8116         * doc/extend.texi: Ditto.
8117         * doc/gty.texi: Ditto.
8118         * doc/invoke.texi: Ditto.
8119         * doc/makefile.texi: Ditto.
8120         * doc/rtl.texi: Ditto.
8121         * doc/standards.texi: Ditto.
8122         * doc/tm.texi: Ditto.
8123
8124 2002-09-04  Richard Henderson  <rth@redhat.com>
8125
8126         * c-common.c (builtin_define_with_hex_fp_value): New.
8127         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
8128
8129 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8130
8131         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
8132         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
8133         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
8134         Warn that these options can break ABI compatibility.
8135
8136 2002-09-04  Richard Henderson  <rth@redhat.com>
8137
8138         * real.c (ereal_to_decimal): Add digits parameter.
8139         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
8140         * c-pretty-print.c (pp_c_real_literal): Update call.
8141         * print-rtl.c (print_rtx): Likewise.
8142         * print-tree.c (print_node_brief, print_node): Likewise.
8143         * sched-vis.c (print_value): Likewise.
8144         * config/arc/arc.c (arc_print_operand): Likewise.
8145         * config/c4x/c4x.c (c4x_print_operand): Likewise.
8146         * config/i370/i370.h (PRINT_OPERAND): Likewise.
8147         * config/i386/i386.c (print_operand): Likewise.
8148         * config/i960/i960.c (i960_print_operand): Likewise.
8149         * config/ip2k/ip2k.c (asm_output_float): Likewise.
8150         * config/m32r/m32r.c (m32r_print_operand): Likewise.
8151         * config/m68hc11/m68hc11.c (print_operand): Likewise.
8152         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
8153         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
8154         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
8155         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
8156         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
8157         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
8158         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
8159         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
8160         * config/mips/mips.c (print_operand): Likewise.
8161         * config/ns32k/ns32k.c (print_operand): Likewise.
8162         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
8163         * config/vax/vax.h (PRINT_OPERAND): Likewise.
8164         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
8165
8166 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
8167
8168         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
8169         xtensa_multibss_section_type_flags.
8170         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
8171
8172 2002-09-04  Richard Henderson  <rth@redhat.com>
8173
8174         * doc/install-old.texi: Don't mention enquire.
8175         * doc/sourcebuild.texi: Update float.h description.
8176
8177 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
8178
8179         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
8180
8181 2002-09-03  Roger Sayle  <roger@eyesopen.com>
8182
8183         * builtins.c (build_function_call_expr): Remove prototype, export
8184         as non-static and add a comment above function definition.
8185         (builtin_mathfn_code): New function to check for math builtins.
8186         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
8187         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
8188         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
8189         log(sqrt(x)) as log(x)/2.0.
8190
8191         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
8192         in new "builtins.c" section.  Place the build_range_type prototype
8193         with the other prototypes from "tree.c".
8194
8195         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
8196         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
8197         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
8198         x/exp(y) as x*exp(-y).
8199
8200 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
8201
8202         * varasm.c (default_section_type_flags): Append _1 to name with
8203         shlib parameter.  Use original name to call new function with
8204         implicit flag_pic.
8205         (decl_readonly_section): Likewise.
8206         (default_elf_select_section): Likewise.
8207         (default_unique_section): Likewise.
8208         (default_bind_local_p): Likewise.
8209         (categorize_decl_for_section): Add shlib parameter to use in place
8210         of implicit flag_pic.
8211         * output.h: Declare new functions with _1 and shlib argument.
8212
8213 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
8214
8215         * doc/install.texi: Fix typos, formatting problems, and obvious
8216         overfull/underfull boxes.
8217
8218         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
8219         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
8220         include its file, compat.texi.
8221         * doc/compat.texi: New file with new chapter, Binary Compatibility.
8222
8223 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
8224
8225         Debian BTS Bug #157416
8226         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
8227         * cpplib.c (destringize_and_run): Kludge around getting
8228         tokens from in-progress macros.
8229         (_cpp_do__Pragma): Simplify.
8230
8231 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
8232
8233         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
8234         (CPP_CPU_SPEC): Remove.
8235         (TARGET_CPU_CPP_BUILTINS): New.
8236         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
8237         (CPP_SPEC): Remove.
8238         (TARGET_OS_CPP_BUILTINS): New.
8239         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
8240         (TARGET_OS_CPP_BUILTINS): New.
8241         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
8242         TARGET_OS_CPP_BUILTINS.
8243         (CPP_PREDEFINES): Remove.
8244         (CPLUSPLUS_CPP_SPEC): Remove.
8245         (TARGET_OS_CPP_BUILTINS): New.
8246
8247 2002-09-03  Richard Henderson  <rth@redhat.com>
8248
8249         * Makefile.in (USER_H): Add ginclude/float.h.
8250         (FLOAT_H): Remove.
8251         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
8252         (mostlyclean): Don't remove float.h intermediate files.
8253         (distclean): Don't remove float.h.
8254         * config.gcc: Remove all float_format references.
8255         * configure.in (float_format, float_h_file): Remove.
8256
8257         * c-common.c: Include tree-inline.h.
8258         (builtin_define_with_int_value): New.
8259         (builtin_define_type_precision): Use it.
8260         (builtin_define_float_constants): New.
8261         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
8262         __FLT_EVAL_METHOD__.
8263         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
8264         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
8265         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
8266         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
8267         (TARGET_FLT_EVAL_METHOD): New.
8268
8269         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
8270         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
8271         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
8272         * ginclude/float.h: New.
8273
8274 2002-09-03  Stan Shebs  <shebs@apple.com>
8275
8276         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
8277         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
8278         (PREFERRED_DEBUGGING_TYPE): Ditto.
8279         (ASM_OUTPUT_IDENT): Remove empty definition.
8280
8281 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
8282
8283         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
8284         cxx_target.
8285         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
8286         handling routine for builtin pragma.
8287         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
8288         Registered pragma handling routine.
8289         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
8290         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
8291         If builtin pragma seen for math routine and C89 conformance is
8292         requested use different math function in order to set errno.
8293         * t-ia64 (ia64-c.o): Add new rule for new file.
8294
8295 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
8296
8297         * config/s390/s390.md ("movti"): Add Q->Q alternative.
8298         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
8299         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
8300
8301         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
8302         "*movsf_ss"): Remove.
8303
8304 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8305
8306         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
8307         Delete macros.
8308
8309 2002-09-03   Arati Dikey  <aratid@kpit.com>
8310
8311         * h8300.c (asm_file_start): Corrected optimization comment.
8312
8313 2002-09-03  Stan Shebs  <shebs@apple.com>
8314
8315         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
8316         * c-tree.h (recognize_objc_keyword): Remove decl.
8317         * c-typeck.c (comp_target_types): Update a comment.
8318
8319 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
8320
8321         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
8322         and register validity checks.
8323         (general_s_operand): Adapt to s390_decompose_address interface change.
8324         (q_constraint): Likewise.
8325         (s390_expand_plus_operand): Likewise.
8326         (legitimiate_address_p): Likewise.
8327         (legitimate_la_operand_p): Likewise.
8328         (legitimize_la_operand): Likewise.
8329         (print_operand_address): Likewise.
8330         (print_operand): Likewise.
8331
8332 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8333
8334         PR objc/5956:
8335         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
8336         was causing the new selector never to match the existing ones
8337         (Patch by Alexander Malmberg <alexander@malmberg.org>).
8338
8339 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
8340
8341         * config/i386/i386.md ("femms"): Add "memory" attr "none".
8342
8343 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
8344
8345         * expr.c (expand_expr): Remove extraneous comment and code.
8346
8347 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
8348
8349         * stor-layout (finish_builtin_struct): Renamed and moved from c++
8350         frontend. Take chain of fields. Allow NULL alignment type.
8351         * tree.h (finish_builtin_struct): Declare.
8352
8353 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8354
8355         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
8356         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
8357         config/arc/arc.c config/arc/arc.h config/arm/aout.h
8358         config/arm/arm.c config/arm/arm.h config/arm/arm.md
8359         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
8360         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
8361         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
8362         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
8363         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
8364         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
8365         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
8366         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
8367         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
8368         config/pa/pa.h config/pa/pa.md config/romp/romp.h
8369         config/rs6000/linux64.h config/rs6000/lynx.h
8370         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
8371         config/s390/s390.c config/s390/s390.md config/sh/sh.c
8372         config/sparc/sparc.c config/sparc/sysv4.h
8373         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
8374         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
8375         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
8376
8377         * doc/tm.texi: Update docs.
8378         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
8379         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
8380
8381 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8382
8383         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
8384         * arc.c (arc_internal_label): New function.
8385         (TARGET_ASM_INTERNAL_LABEL): Set.
8386         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8387         * arm.c (arm_internal_label): New function.
8388         (TARGET_ASM_INTERNAL_LABEL): Set.
8389         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8390         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8391         * i370.c (i370_internal_label): New function.
8392         (TARGET_ASM_INTERNAL_LABEL): Set.
8393         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8394         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8395         * m68k.c (m68k_hp320_internal_label): New function.
8396         (TARGET_ASM_INTERNAL_LABEL): Set.
8397         * m88k.c (m88k_internal_label): New function.
8398         (TARGET_ASM_INTERNAL_LABEL): Set.
8399         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8400         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
8401         * genoutput.c (output_prologue): Include target.h in output file.
8402         * output.h (default_internal_label): Declare.
8403         * sdbout.c: Include target.h.
8404         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
8405         TARGET_ASM_OUT.
8406         * target.h (internal_label): Add to struct gcc_target.
8407         * varasm.c (default_internal_label): New function.
8408
8409 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8410
8411         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8412         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8413         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8414         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8415         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8416         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8417         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8418         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8419         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8420         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8421         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8422         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8423         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8424         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8425         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8426         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8427         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8428         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8429         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8430         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8431         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8432         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8433         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8434         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8435         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8436         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
8437         * mmix.c (mmix_asm_output_internal_label): Likewise.
8438         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8439         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8440         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8441         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8442         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8443         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8444         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8445         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8446         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8447         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8448         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8449         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8450         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8451         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8452         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8453         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8454         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8455         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8456         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8457
8458         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
8459
8460 2002-08-31  Richard Henderson  <rth@redhat.com>
8461
8462         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
8463
8464 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8465
8466         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
8467
8468 2002-08-30  Richard Henderson  <rth@redhat.com>
8469
8470         PR opt/7515
8471         * c-objc-common.c: Include target.h.
8472         (c_cannot_inline_tree_fn): Don't auto-inline functions that
8473         don't bind locally.  Factor setting DECL_UNINLINABLE.
8474         * Makefile.in (c-objc-common.o): Update.
8475
8476 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
8477
8478         * doc/install.texi (Configuration, Building): Fix a typo and
8479         some formatting directives.
8480
8481 2002-08-30  Paul Koning <pkoning@equallogic.com>
8482
8483         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
8484         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
8485         implemented" note.
8486         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
8487         for alphabetic order.
8488         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
8489         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
8490         (VAX_HALFWORD_ORDER): Document.
8491         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
8492         IEEE float format.
8493         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
8494         (ASM_OUTPUT_LABEL_REF): Fix font.
8495         (CASE_VECTOR_SHORTEN_MODE): Ditto.
8496
8497 2002-08-30  Denis Chertykov  <denisc@overta.ru>
8498
8499         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
8500         stuff.
8501         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
8502         CONST_DOUBLE constants.
8503
8504 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
8505
8506         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
8507         related defines to...
8508         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
8509         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
8510         as a no-op.
8511
8512 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
8513
8514         * config/arm/arm.c (arm_asm_output_labelref): New function.
8515         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
8516         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
8517
8518 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
8519
8520         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
8521         memory exhausted" workarounds.
8522
8523 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8524
8525         * diagnostic.c (fancy_abort): Don't repeat "internal error".
8526         * toplev.c (crash_signal): Likewise.
8527
8528 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8529
8530         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
8531         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
8532         Extended, updated documentation.
8533         (-Wundeclared-selector): Documented.
8534
8535 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
8536
8537         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
8538         the value 1.  Do not undef before defining.
8539         * config/darwin.h: Likewise.
8540         * config/dbx.h: Likewise.
8541         * config/dbxcoff.h: Likewise.
8542         * config/dbxelf.h: Likewise.
8543         * config/elfos.h: Likewise.
8544         * config/interix.h: Likewise.
8545         * config/lynx-ng.h: Likewise.
8546         * config/lynx.h: Likewise.
8547         * config/netware.h: Likewise.
8548         * config/psos.h: Likewise.
8549         * config/svr3.h: Likewise.
8550         * config/alpha/alpha.h: Likewise.
8551         * config/alpha/elf.h: Likewise.
8552         * config/alpha/vms.h: Likewise.
8553         * config/arc/arc.h: Likewise.
8554         * config/arm/aout.h: Likewise.
8555         * config/arm/coff.h: Likewise.
8556         * config/c4x/c4x.h: Likewise.
8557         * config/h8300/h8300.h: Likewise.
8558         * config/i386/cygwin.h: Likewise.
8559         * config/i386/djgpp.h: Likewise.
8560         * config/i386/gas.h: Likewise.
8561         * config/i386/gstabs.h: Likewise.
8562         * config/i386/i386-coff.h: Likewise.
8563         * config/i386/i386-interix.h: Likewise.
8564         * config/i386/sco5.h: Likewise.
8565         * config/i386/svr3dbx.h: Likewise.
8566         * config/i386/sysv3.h: Likewise.
8567         * config/i386/win32.h: Likewise.
8568         * config/i386/x86-64.h: Likewise.
8569         * config/i960/i960.h: Likewise.
8570         * config/ia64/ia64.h: Likewise.
8571         * config/ip2k/ip2k.h: Likewise.
8572         * config/m32r/m32r.h: Likewise.
8573         * config/m68k/3b1.h: Likewise.
8574         * config/m68k/3b1g.h: Likewise.
8575         * config/m68k/ccur-GAS.h: Likewise.
8576         * config/m68k/coff.h: Likewise.
8577         * config/m68k/hp2bsd.h: Likewise.
8578         * config/m68k/hp310g.h: Likewise.
8579         * config/m68k/hp320g.h: Likewise.
8580         * config/m68k/hp3bsd.h: Likewise.
8581         * config/m68k/hp3bsd44.h: Likewise.
8582         * config/m68k/linux-aout.h: Likewise.
8583         * config/m68k/m68k-aout.h: Likewise.
8584         * config/m68k/mot3300.h: Likewise.
8585         * config/m68k/netbsd.h: Likewise.
8586         * config/m68k/openbsd.h: Likewise.
8587         * config/m68k/pbb.h: Likewise.
8588         * config/m68k/plexus.h: Likewise.
8589         * config/m68k/sun2.h: Likewise.
8590         * config/m68k/sun3.h: Likewise.
8591         * config/m68k/tower-as.h: Likewise.
8592         * config/m68k/vxm68k.h: Likewise.
8593         * config/m88k/aout-dbx.h: Likewise.
8594         * config/m88k/m88k-aout.h: Likewise.
8595         * config/mcore/mcore-elf.h: Likewise.
8596         * config/mcore/mcore-pe.h: Likewise.
8597         * config/mips/elf.h: Likewise.
8598         * config/mips/elf64.h: Likewise.
8599         * config/mips/iris5gas.h: Likewise.
8600         * config/mips/iris6.h: Likewise.
8601         * config/mips/mips.h: Likewise.
8602         * config/mips/sni-gas.h: Likewise.
8603         * config/mmix/mmix.h: Likewise.
8604         * config/ns32k/netbsd.h: Likewise.
8605         * config/pa/pa64-hpux.h: Likewise.
8606         * config/romp/romp.h: Likewise.
8607         * config/rs6000/sysv4.h: Likewise.
8608         * config/rs6000/xcoff.h: Likewise.
8609         * config/sh/coff.h: Likewise.
8610         * config/sh/elf.h: Likewise.
8611         * config/sparc/linux64.h: Likewise.
8612         * config/sparc/liteelf.h: Likewise.
8613         * config/sparc/netbsd.h: Likewise.
8614         * config/sparc/openbsd.h: Likewise.
8615         * config/sparc/pbd.h: Likewise.
8616         * config/sparc/sp64-elf.h: Likewise.
8617         * config/sparc/sp86x-elf.h: Likewise.
8618         * config/sparc/sparc.h: Likewise.
8619         * config/vax/vax.h: Likewise.
8620         * config/vax/vaxv.h: Likewise.
8621
8622 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
8623
8624         * h8300.c (shift_alg_hi): Various tweaks to improve performance
8625         of HImode shifts.
8626         (get_shift_alg): Corresponding changes.
8627
8628 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8629
8630         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
8631
8632 2002-08-29  Richard Henderson  <rth@redhat.com>
8633
8634         * expr.h (enum block_op_methods): New.
8635         (emit_block_move): Update prototype.
8636         * expr.c (block_move_libcall_safe_for_call_parm): New.
8637         (emit_block_move_via_loop): New.
8638         (emit_block_move): Use them.  New argument METHOD.
8639         (emit_push_insn): Always respect the given alignment.
8640         (expand_assignment): Update call to emit_block_move.
8641         (store_expr, store_field, expand_expr): Likewise.
8642         * builtins.c (expand_builtin_apply): Likewise.
8643         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
8644         * function.c (expand_function_end): Likewise.
8645         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
8646         * config/sparc/sparc.c (sparc_va_arg): Likewise.
8647         * calls.c (expand_call, emit_library_call_value_1): Likewise.
8648         (save_fixed_argument_area): Use emit_block_move with
8649         BLOCK_OP_CALL_PARM instead of move_by_pieces.
8650         (restore_fixed_argument_area): Likewise.
8651         (store_one_arg): Fix alignment parameter to emit_push_insn.
8652
8653 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8654
8655         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
8656
8657 2002-08-29  Catherine Moore  <clm@redhat.com>
8658
8659         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
8660         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
8661         (PREDICATE_CODES): Include new predicates.
8662         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
8663         (TARGET_SWITCHES):  Add strict-align.
8664         (TARGET_STRICT_ALIGN): New.
8665         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
8666         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
8667         Define.
8668         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
8669         v850_muldi3.
8670         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
8671         L_callt_save_r2_r31, L_return_r2_r31,
8672         L_save_all_interrupt): Change addi to add.
8673         (L_save_interrupt, L_return_interrupt): Rework.
8674         (__return_r31):  Correct .size directive.
8675         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
8676         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
8677         New routines.
8678         * config/v850/v850.c (expand_prologue): Call
8679         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
8680         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
8681         (reg_or_int9_operand): New predicate.
8682         (reg_or_const_operand): New routine.
8683         * config/v850/v850.md (return_interrupt): Changed from
8684         restore_interrupt.
8685         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
8686         (callt_save_interrupt): Change save sequence.
8687         (callt_return_interrupt): New.
8688         (save_interrupt): Don't use runtime function for LONG_CALLS
8689         and TARGET_PROLOG_FUNCTION.
8690         (save_all_interrupt): Likewise.
8691         (mulsi3): Use new predicate.
8692         (moviscc): Disallow some combination of constants.
8693         Fix define_split for sasf insns, so that it will not generate bad
8694         code if operand0 and operand5 are the same.
8695         * config/v850/v850-protos.h: Prototype new predicates.
8696
8697 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
8698
8699         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
8700         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
8701
8702 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8703
8704         * c-common.c (builtin_define_type_precision): New function.
8705         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
8706         wchar_t is unsigned in C++.
8707         * doc/cpp.texi (Common Predefined Macros): Document
8708         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
8709         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
8710         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
8711
8712 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
8713
8714         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
8715         section.  Mention that it is enabled by -Wall.
8716         (-Wall): Mention that there can be language-specific warnings as well.
8717         (-Wctor-dtor-privacy): Mention that it is enabled by default.
8718         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
8719
8720 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
8721
8722         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
8723         if it is ever live.
8724
8725         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
8726         attribute for SHCOMPACT.
8727
8728         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
8729         appropriately.
8730         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
8731         by the ABI.
8732
8733         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
8734
8735 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
8736
8737         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
8738         "MASK_GAS|MASK_ABICALLS".
8739         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
8740         (TARGET_DEFAULT): Remove.
8741         (MACHINE_TYPE): Undefine before defining.
8742         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
8743
8744 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
8745
8746         * c-common.c (warn_abi): New variable.
8747         * c-common.h (warn_abi): Likewise.
8748         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
8749         (c_common_decode_option): Handle it.
8750         * doc/invoke.texi: Document -Wabi.
8751
8752 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8753
8754         * c-common.c (warn_undeclared_selector): New variable.
8755         * c-common.h (warn_undeclared_selector): Idem.
8756         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
8757         to on when -Wundeclared-selector is found.
8758         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
8759         * objc/objc-act.c (build_selector_expr): If
8760         warn_undeclared_selector is set, check that the selector has
8761         already been defined, and emit a warning if not.
8762
8763 2002-08-27  Nick Clifton  <nickc@redhat.com>
8764             Catherine Moore  <clm@redhat.com>
8765             Jim Wilson  <wilson@cygnus.com>
8766
8767         * config.gcc: Add v850e-*-* target.
8768         Add --with-cpu= support for v850.
8769         * config/v850/lib1funcs.asm: Add v850e callt functions.
8770         * config/v850/v850.h: Add support for v850e target.
8771         * config/v850/v850.c: Add functions to support v850e target.
8772         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
8773         * config/v850/v850.md: Add patterns for v850e instructions.
8774         * doc/invoke.texi: Document new v850e command line switches.
8775
8776 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
8777                           Aldy Hernandez <aldyh at redhat dot com>
8778
8779         * doc/tm.texi: Applied numerous fixes to the automaton based
8780         scheduler descrition.
8781
8782 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
8783
8784         * i386.c (classify_argument): Handle variable sized objects.
8785
8786 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
8787
8788         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
8789
8790 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
8791
8792         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
8793
8794 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
8795
8796         * i386.c (classify_argument): Properly compute word size of the analyzed object.
8797
8798 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
8799
8800         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
8801         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
8802         accordingly.
8803         (attribute insn_class): Provide default definitions based on type.
8804         Remove all insn-specific settings.
8805         (various function units): Remove old SH4 scheduling.
8806         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
8807         New attributes.  Set them where appropriate.
8808         (cpu unit FS): Don't define / use.
8809         (F3, load_store): New cpu units.
8810         (F01): New reservation.
8811         (all insn_reservations): Make dependent on sh4 pipeline model.
8812         Fix latencies.
8813         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
8814         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
8815         (mt insn_reservation): Use type mt_group.
8816         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
8817         sh4_fload and sh4_store.
8818         (insn_reservation branch_zero and branch): Replace with sh4_branch.
8819         (insn_reservation branch_far): Replace with sh4_return.
8820         (insn_reservation return_from_exp): Rename to:
8821         (sh4_return_from_exp).  Change to be just d_lock*5.
8822         (insn_reservation lds_to_pr): Rename to:
8823         (sh4_lds_to_pr).  Change to be just d_lock*2.
8824         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
8825         d_lock*2.
8826         (insn_reservation prload_mem): Rename to:
8827         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
8828         (insn_reservation fpscr_store): Rename to:
8829         (fpscr_load).  Change to d_lock,nothing,F1*3.
8830         (insn_reservation fpscr_store_mem): Rename to:
8831         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
8832         (insn_reservation multi): Change to
8833         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
8834         (insn_reservation fp_arith): Change to issue,F01,F2.
8835         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
8836         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
8837         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
8838         (insn_reservation fp_double_cmp): Change to
8839         d_lock,(d_lock+F01),F1+F2,F2.
8840         (insn_reservation dp_div): Change to
8841         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
8842         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
8843         (sh_adjust_cost, SHcompact): Differentiate between different
8844         kinds of dependencies.  Drop factor of ten for superscalar.
8845         Use new instruction types.  Add new exception rules.
8846
8847         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
8848
8849         * sh.md (mperm_w): Add DONE.
8850
8851 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
8852
8853         * longlong.h: Import current PowerPC defintion from GMP-4.1.
8854
8855         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
8856
8857         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
8858
8859 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
8860
8861         * sh.h (MAX_FIXED_MODE_SIZE): Define.
8862
8863 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
8864
8865         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
8866         delimiter.
8867
8868 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8869
8870         * c-common.c (cpp_define_data_format): New function.
8871         (cb_register_builtins): Call it.
8872
8873         * doc/cpp.texi (Common Predefined Macros): Document
8874         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
8875         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
8876         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
8877         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
8878         __TARGET_USES_VAX_H_FLOAT__.
8879
8880 2002-08-26  Ziemowit Laski <zlaski@apple.com>
8881
8882         * objc/objc-act.c (get_super_receiver): If inside a class method
8883         of a category, cast the receiver to 'id' before accessing the 'isa'
8884         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
8885
8886 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
8887
8888         * config/s390/s390-protos.h (s390_function_prologue,
8889         s390_function_epilogue): Remove.
8890         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
8891         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
8892
8893         config/s390/s390.c (s390_machine_dependent_recorg): New function.
8894         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
8895         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
8896         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
8897         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
8898
8899         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
8900         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
8901         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
8902         function is not a leaf function.  Use save_gprs and restore_gprs.
8903         (s390_emit_epilogue): Likewise.
8904         (save_gprs, restore_gprs): New functions.
8905         (struct s390_frame): Remove return_reg_saved_p member.
8906         (save_fprs_p): Remove.
8907         (s390_optimize_prolog): New function.
8908         (s390_legitimate_reload_constant): Remove now unnecessary check.
8909
8910         (s390_function_count): Remove.
8911         (s390_output_symbolic_const): Replace s390_function_count by
8912         current_function_funcdef_no.
8913         (s390_output_constant_pool): Likewise.
8914
8915         (legitimize_pic_address): Use regs_ever_live to track PIC register
8916         instead of current_function_uses_pic_offset_table.
8917         (s390_emit_prologue): Likewise.
8918         config/s390/s390.md ("call", "call_value"): Likewise.
8919
8920 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
8921
8922         * c-opts.c (find_opt): Don't complain about wrong languages
8923         here.  Return exact matches even for wrong language.
8924         (c_common_decode_option): Complain about wrong languages
8925         here.
8926
8927 2002-08-24  Stuart Hastings  <stuart@apple.com>
8928
8929         * function.h (struct function): Add flag
8930         all_throwers_are_sibcalls.
8931         * except.c (set_nothrow_function_flags): Replaces
8932         nothrow_function_p. Set new flag.
8933         * except.h (set_nothrow_function_flags): Replaces
8934         nothrow_function_p.
8935         * dwarf2out.c (struct dw_fde_struct): Add flag
8936         all_throwers_are_sibcalls.
8937         (output_call_frame_info): Test it.
8938         (dwarf2out_begin_prologue) Propagate it from cfun to
8939         dw_fde_struct.
8940         * toplev.c (rest_of_compilation): Update calls to
8941         nothrow_function_p.
8942
8943 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
8944
8945         * ggc-page.c (compute_inverse): Short circuit calculation for
8946         object sizes larger than half a page.
8947
8948 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
8949
8950         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
8951         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
8952         default.
8953         (rs6000_elf_unique_section): Likewise.
8954
8955 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8956
8957         * ns32k.c (ns32k_globalize_label): Delete.
8958         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
8959
8960 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
8961
8962         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
8963         for loading delta with num_insns_constant_wide.  Calculate
8964         delta_low, delta_high without using a conditional.
8965
8966 2002-08-22  Jason Merrill  <jason@redhat.com>
8967
8968         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
8969         * c-common.def: Adjust.
8970         * c-dump.c (c_dump_tree): Adjust.
8971         * c-semantics.c (genrtl_return_stmt): Adjust.
8972         * c-pretty-print.c (pp_c_statement): Adjust.
8973         * tree-inline.c (copy_body_r): Adjust.
8974
8975 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
8976
8977         * ggc-page.c: Avoid division in ggc_set_mark.
8978         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
8979         compute_inverse): New.
8980         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
8981         (init_ggc): Initialize inverse_table.
8982
8983 2002-08-22  Tom Tromey  <tromey@redhat.com>
8984
8985         * doc/install.texi (Configuration): Document --datadir.
8986
8987 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
8988
8989         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
8990
8991 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
8992
8993         * gengtype-lex.l (ID): Allow underscore as first character.
8994
8995 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
8996
8997         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
8998         function.
8999         (rs6000_xcoff_asm_named_section): Rename.
9000         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
9001
9002 2002-08-21  Tom Tromey  <tromey@redhat.com>
9003
9004         For PR java/6005 and PR java/7611:
9005         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
9006         (fold): Likewise.
9007         * langhooks.c (lhd_can_use_bit_fields_p): New function.
9008         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
9009         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
9010         (LANG_HOOKS_INITIALIZER): Use it.
9011         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
9012         field.
9013
9014 2002-08-21  Stan Shebs  <shebs@apple.com>
9015
9016         * tree.c (finish_vector_type): Fix a typo in a comment.
9017         * Makefile.in: Fix "the the" stutters in comments.
9018         * genautomata.c: Ditto.
9019         * ifcvt.c: Ditto.
9020         * regrename.c: Ditto.
9021         * config/alpha/alpha.c: Ditto.
9022         * config/alpha/vms-crt0-64.c: Ditto.
9023         * config/alpha/vms-crt0.c: Ditto.
9024         * config/alpha/vms-psxcrt0-64.c: Ditto.
9025         * config/alpha/vms-psxcrt0.c: Ditto.
9026         * config/d30v/d30v.h: Ditto.
9027         * config/fr30/fr30.h: Ditto.
9028         * config/rs6000/rs6000.c: Ditto.
9029         * config/stormy16/stormy16.h: Ditto.
9030         * doc/md.texi: Ditto.
9031
9032 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9033
9034         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
9035
9036 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
9037
9038         * c-decl.c (grokdeclarator): Make invalid combinations with long,
9039         short, signed or unsigned into hard errors.  Fixes PR c/4319.
9040         Also make duplicate modifiers such as "short short" into hard
9041         errors.
9042
9043 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
9044             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9045
9046         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
9047         to the actual end.  Add '@end table' and '@table @code'.
9048
9049 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
9050
9051         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
9052
9053         * unroll.c (biv_total_increment): Don't try to compute the total
9054         increment for FP BIVs.
9055
9056 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9057
9058         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
9059         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
9060         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9061         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
9062         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
9063         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
9064         (GLOBAL_ASM_OP): Define.
9065         * arm.c (aof_globalize_label): New function.
9066         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
9067         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9068         * c4x.c (c4x_globalize_label): New function.
9069         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
9070         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
9071         (GLOBAL_ASM_OP): Define.
9072         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
9073         * darwin-protos.h (darwin_globalize_label): Declare.
9074         * darwin.c (darwin_globalize_label): New function.
9075         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
9076         (ASM_GLOBALIZE_LABEL): Delete.
9077         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
9078         * dsp16xx.c (asm_output_common): Use target hook.
9079         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
9080         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
9081         (GLOBAL_ASM_OP): Define.
9082         * i370.c (i370_globalize_label): New function.
9083         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
9084         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
9085         * i386.c (ix86_asm_file_end): Use target hook.
9086         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
9087         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
9088         * ia64.c (ia64_asm_output_external): Likewise.
9089         * ia64/sysv4.h: Update comment.
9090         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9091         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
9092         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
9093         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
9094         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
9095         * mmix-protos.h (mmix_asm_globalize_label): Delete.
9096         * mmix.c (mmix_asm_globalize_label): Likewise.
9097         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
9098         (GLOBAL_ASM_OP): Define.
9099         * ns32k.c (ns32k_globalize_label): New function.
9100         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
9101         (ASM_GLOBALIZE_LABEL): Delete.
9102         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
9103         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
9104         * pa.c (pa_globalize_label): New function.
9105         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
9106         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
9107         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
9108         (GLOBAL_ASM_OP): Define.
9109         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
9110         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9111         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
9112         (GLOBAL_ASM_OP): Define.
9113         * v850.c (v850_output_aligned_bss): Use target hook.
9114         * vax.c (vms_globalize_label): New function.
9115         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
9116         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
9117         (GLOBAL_ASM_OP): Define.
9118         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
9119         * doc/tm.texi: Update docs.
9120         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
9121         target hook.
9122         * final.c (output_alternate_entry_point): Likewise.
9123         * hooks.c (hook_FILEptr_constcharptr_void): New function.
9124         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
9125         * output.h (assemble_global): Delete.
9126         (default_globalize_label): Declare.
9127         * system.h (ASM_GLOBALIZE_LABEL): Poison.
9128         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
9129         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
9130         * target.h (gcc_target): Add globalize_label member.
9131         * varasm.c (asm_output_bss, asm_output_aligned_bss,
9132         globalize_decl): Use target hook.
9133         (assemble_global): Delete.
9134         (default_globalize_label): New function.
9135
9136 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9137
9138         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
9139
9140 2002-08-20  Devang Patel  <dpatel@apple.com>
9141         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
9142
9143 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9144
9145         * arc.c (output_shift): Use stdio instead of asm_fprintf.
9146         * arm.c (thumb_output_function_prologue): Likewise.
9147         * avr.c (print_operand): Likewise.
9148         * c4x.c (c4x_print_operand): Likewise.
9149         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
9150         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
9151         * cris.c (cris_target_asm_function_prologue,
9152         cris_asm_output_mi_thunk): Likewise.
9153         * h8300.c (print_operand): Likewise.
9154         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9155         * ip2k.c (print_operand): Likewise.  Fix format specifier.
9156         * m68hc11.c (asm_print_register, print_operand,
9157         print_operand_address): Use stdio instead of asm_fprintf.
9158         (print_operand_address): Fix format specifier.
9159         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
9160         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
9161         asm_fprintf.
9162         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9163         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9164         * m68k.c (m68k_output_function_prologue,
9165         m68k_output_function_epilogue, print_operand): Likewise.
9166         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
9167         Likewise.  Fix format specifier.
9168         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9169         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9170         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9171
9172 2002-08-15  Eric Christopher  <echristo@redhat.com>
9173             Jeff Knaggs  <jknaggs@redhat.com>
9174
9175         * config.gcc (mipsisa64sr71k-elf): New target.
9176         * config/mips/sr71k.md: New file.
9177         * config/mips/mips.md: Use it.
9178         (rot*): Add sr71k specifics.
9179         * config/mips/t-sr71k: New file.
9180         * config/mips/mips.h (sr71k): New cpu.
9181         (TARGET_SR71K): Use it.
9182         (TUNE_SR71K): Ditto.
9183         (GENERATE_BRANCHLIKELY): Ditto.
9184         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
9185         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
9186         * config/mips/mips.c (sr71k): New cpu.
9187         (mips_use_dfa_pipeline_interface): Use.
9188
9189 2002-08-15  Eric Christopher  <echristo@redhat.com>
9190             Richard Sandiford <rsandifo@redhat.com>
9191             Aldy Hernandez  <aldyh@redhat.com>
9192             Graham Stott    <grahams@redhat.com>
9193             Michael Meissner  <meissner@redhat.com>
9194             Gavin Romig-Koch  <gavin@redhat.com>
9195             Ken Raeburn  <raeburn@cygnus.com>
9196             Alexandre Oliva <aoliva@redhat.com>
9197
9198         * config.gcc (mips64vr-elf): New target.
9199         * config/mips/5400.md: New file.
9200         * config/mips/5500.md: Ditto.
9201         * config/mips/mips.md: Use them.
9202         (frsqrt): New.
9203         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
9204         cpus.
9205         (mips_issue_rate): Use them.
9206         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
9207         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
9208         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
9209         cpus.
9210         (TARGET_MIPSx): Use them.
9211         (TUNE_MIPSx): Ditto.
9212         (GETNATE_MULT3_SI): Ditto.
9213         (ISA_HAS_BRANCHLIKELY): Ditto.
9214         (ISA_HAS_CONDMOVE): Ditto.
9215         (ISA_HAS_NMADD_NMSUB): Ditto.
9216         (ISA_HAS_MULHI): New. Ditto.
9217         (ISA_HAS_MULS): Ditto.
9218         (ISA_HAS_MSAC): Ditto.
9219         (ISA_HAS_MACC): Ditto.
9220         (ISA_HAS_ROTR_SI): Ditto.
9221         (ISA_HAS_ROTR_DI): Ditto.
9222         (RTX_COSTS): Use.
9223
9224 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9225
9226         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
9227         at head.
9228         (remove_dup_nonsys_dirs): New function.
9229         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
9230         (merge_include_chains): Remove non-system include directories from
9231         quote and bracket include chains when they duplicate equivalent system
9232         directories.
9233         * doc/cpp.texi (-I): Update.
9234         * doc/cppopts.texi (-I): Update.
9235         * doc/install.texi (--with-local-prefix): Further document usage of
9236         this option.
9237         * doc/invoke.texi (-I): Update.
9238
9239 2002-08-20  Richard Henderson  <rth@redhat.com>
9240
9241         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
9242         (emit_block_move): Split out subroutines.
9243         (emit_block_move_via_movstr): New.
9244         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
9245         (emit_block_move_libcall_fn): New.  Construct function prototype for
9246         bcopy as well.
9247         (clear_storage): Split out subroutines.
9248         (clear_storage_via_clrstr): New.
9249         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
9250         (clear_storage_libcall_fn): New.  Construct function prototype for
9251         bzero as well.
9252         (emit_push_insn): Use emit_block_move.
9253         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
9254         (store_constructor): Likewise.
9255
9256 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
9257
9258         * objc/objc-act.c (building_objc_message_expr): Rename to
9259         current_objc_message_selector.
9260
9261 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
9262
9263         * objc/objc-act.c (build_ivar_chain): Remove.
9264         (objc_copy_list): Likewise.
9265         (get_class_ivars): Inline call to removed build_ivar_chain
9266         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
9267         slot; use that slot (rather than CLASS_IVARS) when accessing
9268         ivars for base classes.  Call copy_list and chainon instead of
9269         objc_copy_list.
9270         (build_private_template): Call get_class_ivars instead of
9271         build_ivar_chain.
9272         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
9273         (continue_class): Call get_class_ivars instead of
9274         build_ivar_chain.
9275         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
9276         of DECL_BIT_FIELD (which may have been cleared).
9277         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
9278
9279 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9280
9281         * genautomata.c (output_translate_vect, output_state_ainsn_table,
9282         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
9283         in output file.
9284         (output_internal_min_issue_delay_func): Initialize variable in
9285         output file.
9286
9287 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
9288
9289         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
9290         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
9291
9292 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
9293             Steve Ellcey  <sje@cup.hp.com>
9294
9295         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
9296         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
9297         * explow.c (trunc_int_for_mode): Abort when the mode is not
9298         a scaler integer mode.
9299         * combine.c (expand_compound_operation): Don't expand Vector
9300         or Complex modes into shifts.
9301         (expand_field_assignment): Don't do bitwise arithmatic and
9302         shifts on Vector or Complex modes.
9303         (simplify_comparison): Don't call trunc_int_for_mode
9304         for VOIDmode.
9305         * recog.c (general_operand): Likewise.
9306         (immediate_operand): Likewise.
9307         (nonmemory_operand): Likewise.
9308
9309 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
9310
9311         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
9312         multi-instruction SImode constant.  Add REG_EQUAL note.
9313         * config/rs6000/rs6000.md (movsi splitter): Use
9314         rs6000_emit_set_const.
9315
9316 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9317
9318         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
9319         the macro test controlling its use.
9320
9321 2002-08-18  H.J. Lu  (hjl@gnu.org)
9322
9323         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
9324         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
9325         gnu_ld=yes.
9326         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
9327         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
9328         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
9329         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
9330         here.
9331         (cris-*-linux*): Remove setting thread_file here.
9332
9333 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
9334
9335         PR preprocessor/7602
9336         * cppinit.c (path_include): Treat the system environment
9337         variables as being cxx_aware.
9338
9339 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
9340
9341         * c-decl.c (flexible_array_type_p): New function.
9342         (grokdeclarator, finish_struct): Use it.
9343         * doc/extend.texi: Document constraints on use of structures with
9344         flexible array members.
9345
9346 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
9347
9348         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
9349         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
9350         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
9351
9352 2002-08-16  Stan Shebs  <shebs@apple.com>
9353
9354         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
9355         for ObjC with -fnext-runtime.
9356         * doc/cpp.texi: Document it.
9357
9358 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
9359
9360         * doc/install.texi (Final installation): Replace links to individual
9361         build status pages with a link to a common page that lists them all.
9362
9363 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
9364
9365         * doc/invoke.texi: Fix typo.
9366
9367 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
9368
9369         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
9370
9371 2002-08-16  Andrew Haley  <aph@redhat.com>
9372
9373         * tree-inline.c: Add includes for Java inliner.
9374         (remap_decl): Don't handle anonymous types for Java.
9375         (remap_block): Add handling for Java trees.
9376         (copy_scope_stmt): Conditionalize for non-Java use only.
9377         (copy_body_r): Handle Java trees.  Add handling for
9378         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
9379         (initialize_inlined_parameters):  Handle Java trees.
9380         (declare_return_variable): Likewise.
9381         (expand_call_inline): Handle Java trees.
9382         (walk_tree): Likewise.
9383         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
9384         (add_stmt_to_compound): New function.
9385
9386 2002-08-15  Richard Henderson  <rth@redhat.com>
9387
9388         * Makefile.in (LOOSE_WARN): Remove -fno-common.
9389         (NOCOMMON_FLAG): New substitution point.
9390         (GCC_WARN_CFLAGS): Include it.
9391         * configure.in (ac_checking): Set nocommon_flag.
9392         (nocommon_flag): New substitution point.
9393
9394 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
9395
9396         * c-tree.h (skip_evaluation): Move declaration...
9397         * c-common.h: ... here.
9398         * c-typeck.c (build_external_ref): Don't assemble_external nor
9399         mark a tree as used if skip_evaluation is set.
9400         * c-parse.in (typeof): New non-terminal to set skip_evaluation
9401         around TYPEOF.
9402         (typespec_nonreserved_nonattr): Use it.
9403
9404 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
9405
9406         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
9407         (xcoff_debug_hooks): Update end_prologue.
9408         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
9409         * debug.h (end_prologue): Add file arg.
9410         (end_epilogue): Add line and file args.
9411         (dwarf2out_end_epilogue): Add line and file args.
9412         (vmsdbgout_after_prologue): Remove.
9413         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
9414         (dwarf2_debug_hooks): Update end_prologue.
9415         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
9416         (dwarfout_end_prologue): Add file arg.
9417         * final.c (vmsdbgout_after_prologue): Remove
9418         (final_end_function): Update end_epilogue call.
9419         (final_scan_insn): Update end_prologue call.
9420         * sdbout.c (sdbout_end_epilogue): Add line and file args.
9421         (sdbout_end_prologue): Add file arg.
9422         (sdb_debug_hooks): Update end_prologue.
9423         (sdb_begin_prologue): Update sdbout_end_prologue call.
9424         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
9425         vmsdbgout_end_function.
9426         (vmsdbgout_end_prologue): New function renamed from
9427         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
9428         (vmsdbgout_end_function): New function.
9429         (vmsdbgout_end_epilogue): Add line and file args. Call
9430         vmsdbgout_source_line.
9431         (write_pclines): Write only valid line numbers.
9432         (write_srccorr): Don't write source correlation records if 0 lines.
9433         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
9434
9435 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
9436
9437         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
9438         (_Unwind_Internal_Ptr): 32 bit version for use in
9439         read_encoded_value_with_base.
9440         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
9441         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
9442         right size.
9443
9444 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9445
9446         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
9447         signed/unsigned warnings.
9448
9449         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
9450         record_reg_classes): Likewise.
9451
9452         * reload.c (reload_inner_reg_of_subreg, push_reload,
9453         find_reloads_address_1): Likewise.
9454
9455 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
9456
9457         * rs6000.c (output_mi_thunk): Return to function section on
9458         TARGET_ELF.
9459
9460         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
9461
9462 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
9463
9464         * config/s390/s390.c (legitimize_address): Optimize loading
9465         of large displacements.
9466
9467 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
9468
9469         * config/alpha/alpha-protos.h: Update.
9470
9471         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
9472         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
9473         (alpha_linkage_symbol_p): New static function.
9474         (print_operand_address): Print linkage operand.
9475
9476         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
9477         variables.
9478         (reloc_kind): New enum.
9479         (struct alpha_funcs): New struct.
9480         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
9481
9482         (alpha_need_linkage): Rewrite.
9483         (alpha_use_linkage): New global function.
9484         (alpha_write_linkage): Rewrite and make static.
9485         (alpha_write_one_linkage): Rewrite
9486
9487         (alpha_start_function): Remove procedure descriptor output.
9488         (alpha_end_function): Write linkages at end of each function.
9489
9490         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
9491         (call_vms_1, call_value_vms_1): Rewrite.
9492
9493         * config/alpha/vms.h (ASM_FILE_END): Remove.
9494
9495 2002-08-14  Richard Henderson  <rth@redhat.com>
9496
9497         * ggc-page.c (RTL_SIZE): New.
9498         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
9499         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
9500
9501 2002-08-14  Richard Henderson  <rth@redhat.com>
9502
9503         * calls.c: Include target.h.
9504         * Makefile.in (calls.o): Update.
9505
9506         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
9507         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
9508
9509 2002-08-14  Richard Henderson  <rth@redhat.com>
9510
9511         * Makefile.in (LOOSE_WARN): Add -fno-common.
9512         * c-common.h (constant_string_class_name): Add missing extern.
9513
9514 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
9515
9516         PR preprocessor/7358
9517         * c-opts.c (check_deps_environment_vars): Ignore main file
9518         for SUNPRO_DEPENDENCIES.
9519         * cppfiles.c (stack_include_file): Ignore main file if
9520         appropriate.
9521         * cpplib.h (struct cpp_options): New member in deps.
9522         * doc/cppenv.texi: Update.
9523
9524 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9525
9526         PR preprocessor/7526
9527         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
9528
9529 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
9530
9531         * doc/invoke.texi (-a): Remove documentation.
9532         (-fprofile-arcs): Remove reference to -a, -ax options.
9533         * doc/gcov.texi (Gcov Data Files): Data might be merged.
9534
9535 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9536
9537         Fix PR/7566
9538         * c-semantics.c (genrtl_case_label): Don't (mis)use
9539         warning_with_decl.
9540
9541 2002-08-14  Dale Johannesen  <dalej@apple.com>
9542
9543         * explow.c (emit_stack_restore):  Emit memory clobbers
9544         preceding the stack pop, to prevent the scheduler from
9545         moving refs to variable arrays below this pop.
9546         * reload1.c (reload):  Preserve these clobbers for sched2.
9547         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
9548
9549 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9550
9551         * c-opts.c (c_common_post_options): Correct test.
9552
9553 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9554
9555         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
9556         order in call to fprintf.
9557
9558 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9559
9560         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
9561
9562 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
9563
9564         * reload.c (find_reloads): Handle constraint letters marked by
9565         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
9566         (alternative_allows_memconst): Likewise.
9567         * reload1.c (maybe_fix_stack_asms): Likewise.
9568         * recog.c (asm_operand_ok, preprocess_constraints,
9569         constrain_operands): Likewise.
9570         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
9571         * local-alloc.c (block_alloc, requires_inout): Likewise.
9572         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
9573
9574         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
9575         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
9576         * doc/tm.texi: Document these two new target macros.
9577
9578         * config/s390/s390.c (s390_expand_plus_operand): Accept already
9579         valid operands.
9580         (q_constraint): New function.
9581         config/s390/s390-protos.h (q_constraint): Declare it.
9582         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
9583         (EXTRA_MEMORY_CONSTRAINT): New macro.
9584
9585         * config/s390/s390.md: Throughout the machine description,
9586         replace all instances of the constraint combinations 'Qo'
9587         or 'oQ' with simply 'Q'.
9588
9589 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9590
9591         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
9592         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
9593         (LIBGCC2_CFLAGS): Compile with -mrelax.
9594
9595 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9596
9597         * doc/invoke.texi: Document -minmax for 68HC12.
9598
9599         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
9600         ("uminqi3"): Likewise.
9601         ("uminhi3", "umaxhi3"): Likewise.
9602
9603         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
9604         (TARGET_MIN_MAX): Define.
9605         (TARGET_SWITCHES): New option -minmax/-mnominmax.
9606
9607 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9608
9609         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
9610         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
9611
9612         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
9613         (ret, declare, farsym): New gas macros.
9614         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
9615         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
9616         and declare the symbol far when compiled with -mlong-calls.
9617         (__far_trampoline): New for 68HC12 trampoline code to invoke a
9618         far handler using jsr/bsr.
9619
9620         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
9621         (jsr): New macro to transform a 'jsr' into a 'call'.
9622
9623 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9624
9625         * doc/invoke.texi: Document -mlong-calls for 68HC12.
9626
9627         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
9628         -mlong-calls is specified.
9629         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
9630         assembler directives.
9631         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
9632         (TARGET_SWITCHES): Add -mlong-calls options.
9633         (current_function_far): Declare.
9634
9635         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
9636         into account the page register saved on the stack.
9637         (m68hc11_override_options): Take into account -mlong-calls option.
9638         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
9639
9640         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
9641         if the function is going to be in 68HC12 banked memory (-mlong-calls).
9642         ("*return_16bit"): Likewise.
9643         ("*return_void"): Likewise.
9644         ("call", "call_value"): Use call for a far function call.
9645
9646 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9647
9648         * toplev.c (parse_options_and_default_flags): Don't call
9649         post_options here.
9650         (general_init): Initialize GC, pools and tree hash here,
9651         instead of lang_independent_init.
9652         (lang_independent_init): Rename backend_init.
9653         (do_compile): Call post_options hook; exit early if there
9654         have been errors after switch processing.
9655         (toplev_main): Update.
9656
9657 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9658
9659         * c-pretty-print.h: Guard against multiple inclusion.
9660         Robustify macros.
9661         (pp_c_attributes): Declare.
9662         * c-pretty-print.c (pp_c_attributes): New function.
9663
9664 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9665
9666         * m68k.c (m68k_output_function_prologue,
9667         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
9668         and NEWS/MOTOROLA.
9669         * genattrtab.c: Remove dpx2 comment.
9670         * libgcc2.c (__enable_execute_stack): Delete versions for
9671         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
9672         sony_news/SYSTYPE_BSD.
9673         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
9674         __gmicro__, __i860__, __NeXT__ and __pyr__.
9675         * rtl.h: Remove convex comment.
9676         * varasm.c: Likewise.
9677
9678 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9679
9680         * c-opts.c (lang_flags): Const-ify.
9681         * ra-build.c (undef_table): Likewise.
9682         * ra.c (eliminables): Likewise.
9683
9684 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9685
9686         * tree.h: Guard against multiple inclusion.
9687
9688 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
9689
9690         * reload1.c (reload_cse_simplify): Before checking
9691         REG_FUNCTION_VALUE_P, check REG_P.
9692
9693 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
9694
9695         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
9696
9697 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
9698
9699         * c-opts.c (c_common_init_options): Extra braces needed.
9700
9701 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
9702
9703         * sh.c (sh_init_builtins): Add PARAMS to declaration.
9704         (sh_media_init_builtins, sh_expand_builtin): Likewise.
9705         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
9706         (sh_expand_binop_v2sf): Likewise.
9707         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
9708         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
9709         (sh_initialize_trampoline): Likewise.
9710
9711 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
9712
9713         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
9714         new condition code modes.
9715         s390.c (s390_match_ccmode_set): Handle those new CC modes.
9716         (s390_select_ccmode): Likewise.
9717         (s390_branch_condition_mask): Likewise.
9718
9719         * s390-protos.h (s390_tm_ccmode): Declare.
9720         s390.c (s390_tm_ccmode): New function.
9721         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
9722
9723         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
9724         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
9725         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
9726
9727         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
9728         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
9729         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
9730         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
9731         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
9732
9733         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
9734         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
9735         "*cmpqi_ccs_0"): Remove, replace by ...
9736         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
9737         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
9738         "*tstqi", "*tstqi_cconly"): ... these new patterns.
9739
9740         ("*cmpsidi_ccs"): Remove, replace by ...
9741         ("*cmpsi_ccs_sign"): ... this new pattern.
9742         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
9743
9744         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
9745         ("*cli"): ... this new pattern.
9746
9747         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
9748         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
9749         New patterns.
9750         ("adddi3_64"): Rename to "*adddi3_64".
9751         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
9752         ("adddi3"): Adapt expander.
9753
9754         ("*addsi3_cc"): Allow "general_operand" for operand 2.
9755         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
9756         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
9757
9758         ("addhi3", "addqi3"): Remove, replace by ...
9759         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
9760
9761         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
9762         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
9763         ("subdi3"): Replace by insn and splitter "*subdi3_31".
9764         ("subdi3"): New expander.
9765
9766         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
9767
9768         ("subhi3", "subqi3"): Remove, replace by ...
9769         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
9770
9771         ("*muldi3_sign"): New pattern.
9772         ("muldi3"): Do not clobber CC.
9773         ("mulsi3"): Likewise.
9774         ("mulsi_6432"): Likewise.
9775
9776 2002-08-13  Denis Chertykov  <denisc@overta.ru>
9777
9778         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
9779         which can change CC0.
9780
9781 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
9782
9783         * gcse.c (adjust_libcall_notes): New function.
9784         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
9785
9786 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
9787
9788         * libgcc2.c (L_bb): Remove unneeded #includes.
9789         (__global_counters, __gthreads_active): Remove unused globals.
9790         (__bb_exit_func): Merge counts into files rather than appending.
9791         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
9792         (ALL_CFLAGS): ... to here.
9793
9794 2002-08-13  Denis Chertykov  <denisc@overta.ru>
9795
9796         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
9797         (function_epilogue): Don't calculate function size.
9798         (ip2k_set_compare): Don't use lookup_const_double.
9799         (asm_file_start): Initialization of commands_in_file removed.
9800         (asm_file_end): Output of commands_in_file removed.
9801
9802         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
9803         __INT_MAX__.
9804
9805 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
9806
9807         * c-opts.c (c_common_init_options): Check option array is
9808         sorted if checking enabled.
9809
9810 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
9811
9812         * c-pretty-print.c: #include "c-tree.h".
9813         (pp_c_simple_type_specifier): Tweak.
9814         (pp_c_storage_class_specifier): New.
9815         (pp_c_function_specifier): Likewise.
9816         (pp_c_declaration_specifiers): Likewise.
9817         (pp_c_init_declarator): Likewise.
9818         (pp_c_declaration): Likewise.
9819         (pp_c_direct_declarator): Stub.
9820         (pp_c_declarator): Likewise.
9821         (pp_c_parameter_declaration): Likewise.
9822
9823 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
9824
9825         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
9826         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
9827         struct deferred_opt): New.
9828         (COMMAND_LINE_OPTIONS): Add -M*.
9829         (missing_arg): Update.
9830         (c_common_decode_option): Handle -M*.
9831         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
9832         don't call cpp_post_options.
9833         (c_common_finish, check_deps_environment_vars): Update.
9834         * cppfiles.c (stack_include_file, handle_missing_header): Update.
9835         * cpphash.h (CPP_PRINT_DEPS): Remove.
9836         * cppinit.c: Don't include version.h.
9837         (cpp_create_reader): Don't call deps_init.  Initialize
9838         warn_long_long.
9839         (cpp_read_main_file): Init deps if necessary.
9840         (cpp_destroy): Conditionally free deps.
9841         (cpp_finish): Update.
9842         (no_tgt): Remove.
9843         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
9844         (cpp_post_options): Rename post_options.
9845         * cpplib.h (struct cpp_options): Remove some dependency options;
9846         move others to a new structure.
9847         (cpp_post_options): Remove.
9848         (cpp_finish): Comment.
9849         * fix-header.c (read_scan_file): Don't call cpp_post_options.
9850
9851 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
9852
9853         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
9854         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
9855         MMIX_rR_REGNUM as clobbered.
9856         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
9857
9858 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
9859
9860         * diagnostic.h (output_formatted_scalar): Rename from
9861         output_formatted_integer.
9862         * diagnostic.def: Add DK_DEBUG.
9863         * diagnostic.c (output_decimal): Adjust.
9864         (output_long_decimal): Likewise.
9865         (output_unsigned_decimal): Likewise.
9866         (output_octal): Likewise.
9867         (output_long_octal): Likewise.
9868         (output_hexadecimal): Likewise.
9869         (output_long_hexadecimal): Likewise.
9870         * c-pretty-print.c (pp_c_type_specifier): New function.
9871         (pp_c_specifier_qualifier_list): Likewise.
9872         (pp_c_abstract_declarator): Likewise.
9873         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
9874
9875 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
9876
9877         * doc/trouble.texi (Disappointments): Add static constructor and
9878         destructor dependency information for AIX.
9879
9880 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
9881
9882         * cpphash.h (struct printer): New from cppmain.c.
9883         (cpp_reader): New member.
9884         * cppmain.c (struct printer): Move to cpphash.h.
9885         (options, print): Remove.
9886         (account_for_newlines, print_line, maybe_print_line,
9887         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
9888         scan_translation_unit_trad, cb_line_change, cb_ident,
9889         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
9890         cb_def_pragma): Make reentrant.
9891
9892 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9893
9894         * real.c (ieee_64): Always define.
9895         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
9896         (dec_h): Not used yet, hide it.
9897         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
9898         macro controlling use.
9899         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
9900
9901 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
9902
9903         * i386.md (tablejump): Sign extend the operand.
9904         * i386.c (classify_argument): Fix missed case from previous patch.
9905
9906 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
9907
9908         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
9909         to c-copts.c.
9910         (warn_multichar): Die.
9911         (cb_register_builtins): Export.
9912         * c-common.h (warn_multichar, preprocess_file): Remove.
9913         (cb_register_builtins): New.
9914         * c-lang.c (c_init): Remove.
9915         (LANG_HOOKS_INIT): Use c_objc_common_init.
9916         * c-lex.c (init_c_lex): Don't canonicalize filename.
9917         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
9918         (preprocess_file): Make static.  Update for cpplib.
9919         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
9920         (c_common_post_options): Set some cpp options here.
9921         (c_common_init): Move from c-common.c.
9922         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
9923         * cpplib.h (struct cpp_options): Remove in_fname.
9924         (cpp_preprocess_file): Update.
9925         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
9926
9927 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9928
9929         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
9930
9931 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9932
9933         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
9934         backslash in comment preceeding macro definition.
9935         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
9936         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
9937         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
9938
9939 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
9940
9941         * expr.c (store_expr): In condition for checking if value is
9942         generated in TARGET, move call to expr_size last.
9943
9944 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
9945
9946         * c-common.c (c_common_init): Call preprocess_file instead.
9947         (c_common_finish): Move to c-opts.c.
9948         * c-common.h (preprocess_file): new.
9949         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
9950         check_deps_environment_vars, c_common_finish): New.
9951         (c_common_decode_option): Update for out_fname and dependencies.
9952         * cppinit.c (init_dependency_output, output_deps): Remove.
9953         (cpp_destroy): Update prototype.
9954         (cpp_add_dependency_target): New.
9955         (cpp_read_main_file): Don't overlay a buffer.
9956         (cpp_finish): Take a deps output stream and write deps to it.
9957         Return the error count.
9958         (cpp_post_options): Don't canonicalize out_fname, or do anything
9959         with dependencies.
9960         * cpplib.h (struct cpp_options): Remove out_fname and
9961         preprocess_only.
9962         (cpp_add_dependency_target): New.
9963         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
9964         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
9965         set preprocess_only.  Don't handle the output stream directly.
9966
9967 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9968
9969         * dsp16xx.c (print_operand): Fix format specifier.
9970         * dsp16xx.md: Avoid automatic aggregate initialization.
9971         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
9972         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
9973         integer constant modifier.
9974         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
9975         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
9976         guards.
9977         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
9978         * v850.c (v850_select_section): Mark parameter with
9979         ATTRIBUTE_UNUSED.
9980         * global.c (global_alloc): Const-ify.
9981         * ra-colorize.c (hardregset_to_string): Fix format specifier.
9982
9983 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9984
9985         * darwin-c.c (darwin_pragma_options): Const-ify.
9986         * darwin.c (machopic_non_lazy_ptr_name,
9987         machopic_validate_stub_or_non_lazy_ptr): Likewise.
9988         (machopic_indirect_data_reference): Wrap variables in macros
9989         controlling their use.
9990         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
9991         (machopic_select_section): Use parentheses around && within ||.
9992         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
9993
9994 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9995
9996         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
9997         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
9998         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
9999         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
10000         mdr_try_remove_redundant_insns, track_w_reload,
10001         mdr_try_wreg_elim): Make function static to match prototype.
10002         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
10003         parameter with ATTRIBUTE_UNUSED.
10004
10005 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10006
10007         * arc.c (arc_init): Don't use ISO C style function definitions.
10008         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
10009         arm_get_strip_length, arm_strip_name_encoding): Likewise.
10010         * avr.h (progmem_section): Likewise.
10011         * h8300.c h8300_asm_insn_count): Likewise.
10012         * m32r.c (init_idents): Likewise.
10013         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
10014         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
10015         * xtensa.c (xtensa_build_va_list): Likewise.
10016
10017 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
10018
10019         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
10020         * c-opts.c (parse_option): Rename find_opt.
10021         (set_std_c99): New function.
10022         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
10023         (missing_arg): Remove OPT_std_bad.  Handle -o.
10024         (c_common_decode_option): Handle input and output file names,
10025         -o and -remap.  Clean up -std= handling.
10026         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
10027         (cpp_handle_option): Similarly.  Don't handle filenames.
10028
10029 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
10030
10031         * i386.c (classify_argument): Fix computing of field's offsets.
10032
10033 2002-08-11  Andreas Jaeger  <aj@suse.de>
10034
10035         PR target/7531:
10036         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
10037
10038 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
10039
10040         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
10041         reference to clk_objective_c with flag_objc.
10042         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
10043         Likewise.
10044         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
10045
10046 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
10047
10048         * c-opts.c (set_std_cxx98, set_std_c89): New.
10049         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
10050         (c_common_decode_option): Handle new switches from cppinit.c.
10051         Add -std=gnu++98.
10052         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
10053         (no_arg, no_num): Remove.
10054         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
10055         switches apart from -lang-objc and lang-asm.
10056         (cpp_handle_option): Similarly.
10057         * cpplib.h (cpp_set_lang): New.
10058         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
10059         -std=gnu++98.
10060         * objc/lang-specs.h: Remove -ansi.
10061
10062 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
10063                                Graham Stott
10064
10065         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
10066         errors.
10067
10068 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10069
10070         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
10071         emit_jump_insn): Fix uninitialized variable.
10072         * gcov.c (init_line_info): Likewise.
10073         * genautomata.c (transform_3): Add braces around ambiguous
10074         else.
10075         * ifcvt.c (cond_exec_process_insns): Mark parameter with
10076         ATTRIBUTE_UNUSED.
10077         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
10078         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
10079         variable.
10080
10081         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
10082         warnings in output files.
10083
10084 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
10085
10086         * c-common.c (flag_objc): New.
10087         * c-common.h (c_language_kind): Get rid of clk_objective_c
10088         enum value.
10089         (flag_objc): New extern declaration.
10090         * c-decl.c (implicitly_declare): Call objc_check_decl
10091         instead of maybe_objc_check_decl.
10092         (finish_decl): Likewise.
10093         (grokfield): Likewise.
10094         (finish_struct): Likewise.
10095         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
10096         (maybe_objc_comptypes): Rename to objc_comptypes.
10097         (maybe_building_objc_message_expr): Rename to
10098         objc_message_selector.
10099         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
10100         replace with flag_objc as needed.
10101         * c-opts.c (c_common_init_options): Likewise.
10102         (c_common_decode_option): Likewise.
10103         * c-parse.in (init_reswords): Likewise.
10104         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
10105         (maybe_objc_comptypes): Rename to objc_comptypes.
10106         (maybe_building_objc_message_expr): Rename to
10107         objc_message_selector.
10108         * c-typeck.c (comptypes): Call objc_comptypes instead of
10109         maybe_objc_comptypes, and/or objc_message_selector instead of
10110         maybe_building_objc_message_expr.
10111         (comp_target_types): Likewise.
10112         (convert_for_assignment): Likewise.
10113         (warn_for_assignment): Likewise.
10114         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
10115         independently of those for other languages.
10116         * objc/objc-act.c (maybe_objc_comptypes): Delete.
10117         (maybe_objc_check_decl): Delete.
10118         (maybe_building_objc_message_expr): Rename to
10119         objc_message_selector.
10120         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
10121         clk_objective_c; set flag_objc flag.
10122
10123 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10124
10125         * ifcvt.c (find_if_case_2): Test correct basic block for size.
10126
10127 2002-08-09  Dale Johannesen  <dalej@apple.com>
10128
10129         * config/rs6000/rs6000.md: Add sibcall patterns.
10130         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
10131         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
10132         Rewritten to handle sibcalls.
10133         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
10134         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
10135
10136 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10137
10138         * profile.c (da_file_name): New static var.
10139         (init_branch_prob): Initialize it.
10140         (end_branch_prob): Remove da file.
10141
10142         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
10143         * configure.in (coverage_flags): Default to nothing.
10144         * configure: Rebuilt.
10145
10146 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
10147
10148         * Makefile.in (c-opts.o): Update
10149         * c-opts.c: Include intl.h.
10150         (print_help): Move from cppinit.c.  Remove unused options.
10151         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
10152         (missing_arg): Complain for switches without an argument.
10153         (c_common_decode_option): Reject missing joined arguments.
10154         Handle new switches from cppinit.c.
10155         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
10156         (cpp_handle_option): Similarly.
10157         (print_help): Moved to c-opts.c.
10158         * cpplib.h (struct cpp_options): Remove help_only.
10159         * gcc.c (cpp_unique_options): Remove -$.
10160         * doc/cppopts.texi: Undocument -h.
10161
10162 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10163
10164         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
10165         legitimate constant.
10166         (legitimate_pic_operand_p): Neither pic operand.
10167         (legitimate_address_p): But legitimate address.
10168         (get_thread_pointer): Generate MEM/u instead of CONST around
10169         UNSPEC_TP.
10170         (print_operand): Remove printing of UNSPEC_TP.
10171         (print_operand_address): And print it here.
10172
10173 2002-08-08  Devang Patel  <dpatel@apple.com>
10174
10175         * objc/objc-act.c (build_selector_translation_table): Issue warning,
10176         when  -Wselector is used,if method for which selector is being
10177         created does not exist.
10178
10179 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
10180
10181         * config/sh/sh.c (prepare_move_operands): Only call
10182         target_reg_operand if TARGET_SHMEDIA.
10183
10184 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10185
10186         * config/rs6000/rs6000.h, config/rs6000/aix.h,
10187         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
10188         two patches.
10189         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
10190
10191 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
10192             Richard Henderson  <rth@redhat.com>
10193
10194         * emit-rtl.c (gen_rtx_REG): After reload, only return
10195         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
10196
10197 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10198
10199         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
10200         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
10201         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
10202         macro.
10203
10204 2002-08-08  Adam Nemet  <anemet@lnxw.com>
10205
10206         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
10207         register.
10208         (thumb_expand_prologue): Likewise.
10209         (thumb_output_function_prologue): Likewise.
10210         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
10211         the additional push of the PIC register.
10212
10213 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10214
10215         * configure.in (enable_coverage): New enable switch.
10216         * configure: Rebuilt.
10217         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
10218         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
10219         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
10220         (mostlyclean): Remove coverage files.
10221         * doc/install.texi: Document enable_coverage.
10222
10223         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
10224         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
10225         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
10226         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
10227         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
10228         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
10229         files.
10230
10231 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
10232
10233         * c-opts.c (cpp_opts): New.
10234         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
10235         (c_common_decode_options): Handle cpplib switches.
10236         (c_common_init_options): Set cpp_opts.
10237         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
10238         (cpp_handle_option): Similarly.
10239
10240 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
10241
10242         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
10243         (TARGET_ALTIVEC_ABI): Same.
10244         (TARGET_ALTIVEC_VRSAVE): Same.
10245
10246         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
10247         icode not CODE_FOR_nothing.  Change switch to if.
10248
10249 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
10250
10251         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
10252
10253 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10254
10255         * stor-layout.c (place_union_field): For bitfields if
10256         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
10257         TYPE_USER_ALIGN.
10258
10259 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10260
10261         * pa.c (struct deferred_plabel): Constify name field.
10262
10263 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
10264
10265         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
10266
10267 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10268
10269         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
10270         local_prefix are the same.
10271         * configure: Rebuilt.
10272
10273 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
10274             Richard Henderson  <rth@redhat.com>
10275
10276         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
10277         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
10278         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
10279         (place_field): Likewise.
10280         * config/i386/i386.c (x86_field_alignment): Don't check
10281         DECL_USER_ALIGN here.
10282         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
10283         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
10284         prototype.
10285         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
10286         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
10287         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
10288         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
10289         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
10290         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
10291
10292 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
10293
10294         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
10295         * c-common.c: Don't include tree-inline.h.
10296         (c_common_init_options, c_common_post_options): Move to c-opts.c.
10297         * c-common.h (c_common_decode_option): New.
10298         * c-decl.c (c_decode_option): Remove.
10299         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
10300         * c-opts.c: New file.
10301         * c-tree.h (c_decode_option): Remove.
10302         * doc/passes.texi: Update.
10303         * objc/objc-act.c (objc_decode_option): Remove.
10304         * objc/objc-act.h (objc_decode_option): Remove.
10305         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
10306         c_common_decode_option.
10307
10308 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
10309
10310         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
10311         dependency on TARGET_DOUBLE_FLOAT.
10312
10313 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
10314
10315         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
10316         overwrite callee-save registers.  Fix comment.
10317
10318 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
10319
10320         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
10321         in target_flags based on ISA, if it was not set on the command
10322         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
10323         support Branch Likely instructions.
10324         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
10325         (TARGET_BRANCHLIKELY): Likewise.
10326         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
10327         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
10328         ISA_HAS_BRANCHLIKELY.
10329         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
10330         * doc/invoke.texi: Document new MIPS -mbranch-likely and
10331         -mno-branch-likely options.
10332
10333 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10334
10335         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
10336
10337         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
10338         $(GCONFIG_H).
10339
10340 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
10341
10342         * c-decl.c (duplicate_decls): Error out for incompatible TLS
10343         declarations.
10344
10345         * testsuite/gcc.dg/tls/diag-3.c: New.
10346
10347 2002-08-06  Dale Johannesen  <dalej@apple.com>
10348
10349         * c-common.c (fname_decl): Use line number 0 for
10350         __func__, to avoid confusing debuggers.
10351
10352 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
10353
10354         * gcov.c: Tidy.
10355         (struct line_info, struct coverage): New structures.
10356         (gcov_file_name, gcov_file): Remove globals.
10357         (output_data): Take source file parameter. Fix memory leak. Break
10358         up into ...
10359         (init_line_info, output_line_info, make_gcov_file_name,
10360         accumulate_branch_counts): ... here.
10361         (calculate_branch_probs, function_summary): Adjust.
10362         (main): Adjust.
10363         (function_*): Remove global variables.
10364
10365 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10366
10367         * dwarf2out.c: Remove unused macros.
10368
10369 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10370
10371         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
10372
10373 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10374
10375         * cppinit.c (struct lang_flags): Rename trigraphs std.
10376         (set_lang): Update.
10377         * cpplib.h (struct cpp_options): New member std.
10378         * cppmacro.c (_cpp_builtin_macro_text): Use std.
10379         (collect_args): Flag whether to swallow a possible future
10380         comma pasted with varargs.
10381         (replace_args): Use this flag.
10382         * doc/cpp.texi: Update varargs extension documentation.
10383
10384 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10385
10386         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
10387
10388 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10389
10390         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
10391         and MODE_CLASS_INT modes.
10392
10393 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10394
10395         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
10396         --{enable,disable}-threads is given to configure.
10397         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
10398         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
10399         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
10400         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
10401         Remove thread_file setting here.
10402
10403 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
10404
10405         * doc/install.texi (Binaries): Update Bull Freeware URL.
10406
10407 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10408
10409         * doc/gcc.texi (Top): Rename Index to Keyword Index.
10410
10411 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
10412
10413         * gcov.c (output_data): Round to % to nearest, tweak formatting.
10414
10415 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
10416
10417         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
10418         of the operands into MINUS_EXPR if code is PLUS_EXPR.
10419
10420 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
10421
10422         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
10423         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
10424         drectve_section): Define.
10425         * config/i386/t-interix: Replace interix.o rule with winnt.o.
10426         * config/i386/interix.c: Remove.
10427
10428 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
10429
10430         * attribs.c: Don't include obstack.h.
10431         * builtins.c: Likewise.
10432         * cfganal.c: Likewise.
10433         * cfgbuild.c: Likewise.
10434         * cfgcleanup.c: Likewise.
10435         * emit-rtl.c: Likewise.
10436         * loop.c: Likewise.
10437         * stmt.c: Likewise.
10438
10439         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
10440
10441 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
10442
10443         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
10444
10445 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
10446
10447         * doc/invoke.texi: Remove duplicated paragraph describing
10448         TARGET_SWITCHES.
10449
10450 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
10451
10452         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
10453         * collect2.h (permanent_obstack): Delete declaration.
10454         * collect2.c (permanent_obstack): Delete definition.
10455         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
10456         * expr.c: Don't include obstack.h.
10457         (permanent_obstack): Delete declaration.
10458         * function.c: Don't include obstack.h.
10459         (permanent_obstack): Delete declaration.
10460         * integrate.c: Don't include obstack.h.
10461         (function_maybepermanent_obstack): Delete declaration.
10462         * print-tree.c (debug_tree): Use x*alloc not permalloc.
10463         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
10464         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
10465         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
10466         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
10467         of permalloc, expralloc, perm_calloc.
10468         * tree.c (permanent_obstack): Delete definition.
10469         (init_ttree): Rename from init_obstacks.
10470         (permalloc): Delete.
10471         (perm_calloc): Delete.
10472         (dump_tree_statistics): Don't print information about
10473         permanent_obstack.
10474         * varasm.c (assemble_start_function): Use xstrdup instead of
10475         permalloc/strcpy.
10476         (assemble_variable): Likewise.
10477         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
10478         permalloc.
10479         (unicosmk_add_extern): Likewise.
10480         * config/c4x/c4x.c (c4x_external_ref): Likewise.
10481         (c4x_global_label): Likewise.
10482         * config/frv/frv.c (frv_encode_section_info): Likewise.
10483         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
10484         (i386_pe_record_exported_symbol): Likewise.
10485         * config/mips/mips.c (mips_output_external): Likewise.
10486         (mips_output_external_libcall): Likewise.
10487         * config/pa/pa.c: (permanent_obstack): Delete declaration.
10488         (output_call): Use ggc_strdup instead of allocating on
10489         permanent_obstack.
10490         * config/romp/romp.c: Include ggc.h.
10491         (get_symref): Don't declare permanent_obstack, use ggc_strdup
10492         intead of permanent_obstack.
10493         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
10494         instead of permalloc.
10495         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
10496         instead of permalloc
10497         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
10498         instead of permalloc.
10499         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
10500         permalloc.
10501
10502 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
10503
10504         Contribute a port developed primarily by Michael Meissner,
10505         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
10506         * config.gcc: Add frv-elf target.
10507         * config/frv/cmovd.c: New file.
10508         * config/frv/cmovh.c: New file.
10509         * config/frv/cmovw.c: New file.
10510         * config/frv/frv-abi.h: New file.
10511         * config/frv/frv-asm.h: New file.
10512         * config/frv/frv-modes.def: New file.
10513         * config/frv/frv-protos.h: New file.
10514         * config/frv/frv.c: New file.
10515         * config/frv/frv.h: New file.
10516         * config/frv/frv.md: New file.
10517         * config/frv/frvbegin.c: New file.
10518         * config/frv/frvend.c: New file.
10519         * config/frv/lib1funcs.asm: New file.
10520         * config/frv/media.h: New file.
10521         * config/frv/modi.c: New file.
10522         * config/frv/t-frv: New file.
10523         * config/frv/uitod.c: New file.
10524         * config/frv/uitof.c: New file.
10525         * config/frv/ulltod.c: New file.
10526         * config/frv/ulltof.c: New file.
10527         * config/frv/umodi.c: New file.
10528         * config/frv/xm-frv.h: New file.
10529
10530         * config/frv/media.h: Removed again.
10531
10532 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10533
10534         * gcov.c (bb_file_time): New static variable.
10535         (object_directory): May also be object file.
10536         (preserve_paths): New static variable.
10537         (print_usage): Adjust.
10538         (options): Adjust.
10539         (process_args): Adjust.
10540         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
10541         file. Find modification date on bb file.
10542         (read_profile): Don't rewind a NULL file.
10543         (format_hwint): New static function.
10544         (function_summary): Use format_hwint.
10545         (output_data): SOURCE_FILE_NAME is never relative to
10546         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
10547         mangling. Adjust output format to make it more machine readable.
10548         * doc/gcov.texi: Document & clarify semantics.
10549
10550 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
10551
10552         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
10553
10554 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10555
10556         * gcc.c (cc1_options): Pass output file as auxbase when
10557         appropriate.
10558         * profile.c (init_branch_prob): FILENAME has already had ending
10559         stripped.
10560         * final.c (end_final): Likewise.
10561         * toplev.c (aux_base_name): New global.
10562         (compile_file): Pass aux_base_name to init init_branch_prob and
10563         end_final.
10564         (independent_decode_option, case 'a'): New auxinfo options.
10565         (case 'd'): Protect against mising basename.
10566         (do_compile): Initialize aux_base_name.
10567         * toplev.h (aux_base_name): New global.
10568         * doc/invoke.texi: Adjust documentation.
10569
10570 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10571
10572         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
10573         of TARGET_ALIGN_DOUBLE.
10574
10575 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
10576
10577         * diagnostic.c (inform): New function.
10578         * diagnostic.h (inform): Declare.
10579
10580 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
10581
10582         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
10583         (movhi_internal): Same.
10584         (movqi_internal): Same.
10585         (movdi_internal64): Same.
10586
10587         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
10588
10589         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
10590         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
10591         (COMMON_ASM_OP): Define.
10592         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
10593         Use ALIGN parameter.
10594         (LOCAL_COMMON_ASM_OP): Define.
10595         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
10596
10597 2002-08-03  Roger Sayle  <roger@eyesopen.com>
10598
10599         * builtins.def: Define new builtin functions exp, expf, expl,
10600         log, logf and logl (and their __builtin_* variants).
10601         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
10602         Define exp_optab and log_optab.
10603         * optabs.c (init_optans): Initialize exp_optab and log_optab.
10604         * genopinit.c (optabs): Implement exp_optab and log_optab
10605         using exp?f2 and log?f2 patterns.
10606         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
10607         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
10608         (expand_builtin): Ignore the new builtins (and all cos and
10609         sin variants) when not optimizing.  Expand new builtins via
10610         expand_builtin_mathfn when flag_unsafe_math_optimizations.
10611
10612         * doc/extend.texi: Document new exp and log builtins.
10613         * doc/md.texi: Document new exp?f2 and log?f2 patterns
10614         (and previously undocumented cos?f2 and sin?f2 patterns).
10615
10616 2002-08-03  Jason Merrill  <jason@redhat.com>
10617
10618         * explow.c (int_expr_size): New fn.
10619         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
10620         * expr.h: Declare it.
10621
10622 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
10623
10624         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
10625         gengtype-* dependencies.
10626
10627 2002-08-02  Eric Christopher  <echristo@redhat.com>
10628
10629         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
10630         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
10631         #ifndef to #undef.
10632         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
10633
10634 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
10635
10636         PR optimize/7067
10637         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
10638         small if optimizing for size.
10639
10640 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
10641
10642         * configure.in (FORBUILD): Use $build_alias.
10643         * configure: Regenerated.
10644
10645 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
10646
10647         * config.gcc: Don't include mips/abi64.h in $tm_file.
10648         * hard-reg-set.h (call_really_used_regs): Declare.
10649         * config/mips/abi64.h: Remove file.
10650         * config/mips/linux.h,
10651         * config/mips/iris6.h: Don't include it.
10652         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
10653         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
10654         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
10655         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
10656         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
10657         Bring across definitions from abi64.h.
10658         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
10659         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
10660         (struct mips_args): Use it.
10661         * config/mips/mips.c (mips_conditional_register_usage): Define.
10662
10663 2002-08-02  Jason Merrill  <jason@redhat.com>
10664
10665         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
10666         * langhooks.c (lhd_expr_size): Define default.
10667         * langhooks.h (struct lang_hooks): Add expr_size.
10668         * explow.c (expr_size): Call it.
10669         * expr.c (store_expr): Don't copy an expression of size zero.
10670         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
10671         to store.
10672         * Makefile.in (builtins.o): Depend on langhooks.h.
10673
10674 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10675
10676         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
10677         * ra-debug.c: Include "tm_p.h".
10678         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
10679
10680 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
10681
10682         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
10683         when not honoring signalling NaNs.
10684         (simplify_ternary_operation): a == b has a definite value
10685         when not honoring NaNs.
10686
10687 2002-08-02  Jason Merrill  <jason@redhat.com>
10688
10689         * gdbinit.in (pct): New macro.
10690
10691 2002-08-01  Stan Shebs  <shebs@apple.com>
10692             Andreas Tobler  <toa@pop.agri.ch>
10693
10694         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
10695         plays nice with Darwin headers.
10696         (_BSD_RUNE_T_DEFINED_): Likewise.
10697
10698 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
10699
10700         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
10701         * cppinit.c (cpp_post_options): Likewise.
10702
10703         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
10704         warning about 'LL' suffix (but not 'ULL' etc) when
10705         -Wno-long-long is in effect.
10706
10707         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
10708         Check for failing time()/localtime(), issue a warning, and
10709         make __TIME__ and __DATE__ expand to fallback strings.
10710
10711         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
10712         and __TIME__ when the date and time cannot be determined.
10713
10714 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
10715
10716         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
10717
10718 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
10719
10720         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
10721
10722 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
10723
10724         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
10725         (mipsisa64sb1el-*-elf*): Likewise.
10726         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
10727         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
10728         (TARGET_SB1, TUNE_SB1): New macros.
10729         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
10730         -mtune flags.
10731
10732 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
10733
10734         * varasm.c (asm_emit_uninitialized): Return false if global BSS
10735         and ASM_EMIT_BSS not supported by target.
10736         (assemble_variable): Do not duplicate uninitialized logic.
10737         Fall through if asm_emit_uninitialized failed.
10738
10739 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
10740
10741         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
10742
10743 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
10744
10745         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
10746         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
10747
10748         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
10749         HOST_BITS_PER_WIDE_INT == 64.
10750
10751 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10752
10753         * df.c (df_insn_table_realloc): Change parameter to unsigned.
10754         * optabs.c (expand_binop): Make variable unsigned.
10755         * simplify-rtx.c (simplify_subreg): Likewise.
10756         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
10757
10758 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10759
10760         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
10761
10762 2002-08-01  Richard Henderson  <rth@redhat.com>
10763
10764         * toplev.c (parse_options_and_default_flags): Don't set
10765         flag_reorder_blocks for -Os.
10766
10767         * config/avr/avr.c (avr_optimization_options): Remove.
10768         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
10769         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
10770         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
10771
10772 2002-08-01  H.J. Lu <hjl@gnu.org>
10773             Richard Henderson  <rth@redhat.com>
10774
10775         * output.h (DECL_READONLY_SECTION): Remove.
10776         (decl_readonly_section): Declare.
10777         * varasm.c (decl_readonly_section): New.
10778         (default_section_type_flags, default_select_section): Use it.
10779         * config/arm/pe.c (arm_pe_unique_section): Likewise.
10780         * config/i386/interix.c (i386_pe_unique_section): Likewise.
10781         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
10782         * config/mcore/mcore.c (mcore_unique_section): Likewise.
10783         * config/mips/mips.c (mips_unique_section): Likewise.
10784
10785 2002-08-01  Richard Henderson  <rth@redhat.com>
10786
10787         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
10788         refers to a subroutine parameter.
10789
10790 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
10791
10792         * varasm.c (assemble_visibility): Strip name encoding.
10793
10794 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
10795
10796         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
10797         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
10798         when there is no frame pointer.
10799         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
10800         registers properly.
10801         * config/ns32k/__unorddf2.c: New file.
10802         * config/ns32k/__unordsf2.c: New file.
10803         * config/ns32k/t-ns32k: New file.
10804         * config.gcc (ns32k-*-netbsd*): Use it.
10805
10806 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
10807
10808         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
10809
10810 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
10811
10812         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
10813
10814 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
10815
10816         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
10817
10818 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
10819
10820         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
10821
10822 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10823
10824         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
10825         n_sets): Removed.
10826         (expr_hash_table, set_hash_table): Type changed to ...
10827         (struct hash_table): New type.
10828         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
10829         insert_expr_in_table, insert_set_in_table, compute_hash_table,
10830         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
10831         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
10832         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
10833         (alloc_hash_table): New.
10834         (free_set_hash_table, free_expr_hash_table): Merged to ...
10835         (free_hash_table): New.
10836         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
10837         (compute_hash_table_work): New.
10838         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
10839         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
10840         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
10841         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
10842         hoist_code, one_code_hoisting_pass,
10843         trim_ld_motion_mems): Altered due to changed type of hash tables.
10844
10845 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
10846
10847         * final.c (output_alternate_entry_point):
10848         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
10849
10850 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10851
10852         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
10853         avoid ISO C style function definition.
10854
10855         * expr.c (expand_assignment): Delete unused variable.
10856
10857 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
10858
10859         * c-common.c (cb_register_builtins): Set
10860         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
10861         is given, and to 0 otherwise.
10862         * combine.c (simplify_if_then_else): HONOR_NANS
10863         implies FLOAT_MODE_P.
10864
10865 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
10866
10867         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
10868         (cpp_handle_option): Don't handle it.
10869         (print_help): Update.
10870         * doc/cppopts.texi: Update.
10871
10872 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
10873
10874         * c-common.c (cb_register_builtins): If C++, define
10875         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
10876         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
10877 cp:
10878         * lang-specs.h: Simplify in accordance with new code in
10879         c-common.c.
10880
10881 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
10882
10883         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
10884         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
10885         * c-decl.c: Move all warning and flag variables to c-common.c.
10886         * c-format.c: Move all warning variables to c-common.c.
10887         * c-tree.h: Move all warning and flag declarations to c-common.h.
10888         * objc/objc-act.c: Move all warning variables to c-common.c.
10889         (flag_warn_protocol): Rename warn_protocol.
10890
10891 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10892
10893         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
10894
10895 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
10896
10897         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
10898         .section prefix.
10899
10900 2002-07-31  Stan Shebs  <shebs@apple.com>
10901
10902         * config.gcc (i[34567]86-*-darwin*): New configuration.
10903         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
10904         defining.
10905         (TARGET_ENCODE_SECTION_INFO): Ditto.
10906         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
10907         * config/darwin.c (machopic_indirect_data_reference): Remove
10908         setting of RTX_UNCHANGING_P.
10909         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
10910         not to be applied to sums.
10911         * config/i386/t-darwin: New file.
10912         * config/i386/darwin.h: New file.
10913         * config/i386/i386.h (TARGET_MACHO): Add default definition.
10914         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
10915         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
10916         label and not the GOT add.
10917         (constant_address_p): For Mach-O, seeing a CONST is enough.
10918         (legitimate_pic_address_disp_p): Add a Mach-O case.
10919         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
10920         (legitimize_pic_address): Use generic Mach-O code to legitimize.
10921         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
10922         if outputting a difference.
10923         (ix86_output_addr_diff_elt): Add Mach-O case.
10924         (ix86_expand_move): Similarly.
10925         (ix86_expand_call): Similarly.
10926         (current_machopic_label_num): New global.
10927         (machopic_output_stub): New function.
10928         (ix86_value_regno): New function.
10929         (ix86_function_value): Use it instead of VALUE_REGNO.
10930         (ix86_libcall_value): Ditto.
10931         * config/i386/unix.h (VALUE_REGNO): Remove.
10932
10933 2002-07-31  Graham Stott  <grahas@btinternet.com>
10934
10935         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
10936         hash for LABEL_REF's.
10937
10938 2002-07-31  Graham Stott  <grahams@btinternet.com>
10939
10940         * config/rs6000/rs6000.c (spe_init_builtins,
10941         altivec_init_builtins, rs6000_common_init_builtins):
10942         Replace ANSI with K&R function def.
10943
10944 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
10945
10946         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
10947         for CCFPmode.
10948
10949 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
10950
10951         * config/mips/crtn.asm: Don't use __mips16 to determine the
10952         return-address offset.  Define RA to a suitable temporary
10953         register for the return address.
10954
10955 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
10956
10957         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
10958         constraints to 'd'.
10959
10960 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
10961
10962         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
10963         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
10964         patch on 2002-07-29.)
10965         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
10966
10967 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10968
10969         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
10970         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
10971         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
10972         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
10973         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
10974         (ASM_GLOBALIZE_LABEL): Delete.
10975         (GLOBAL_ASM_OP): Define.
10976
10977         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
10978
10979         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
10980         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
10981
10982 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
10983
10984         * doc/extend.texi (Hints implementation): Document that GCC
10985         mostly ignores `register'.
10986
10987 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
10988
10989         * flags.h: Declare flag_finite_math_only.
10990         Use it in definition of HONOR_NANS and
10991         HONOR_INFINITIES.
10992         * c-common.c (cb_register_builtins): Emit
10993         __FINITE_MATH_ONLY__ when flag_finite_math_only
10994         is set.
10995         * combine.c (simplify_if_then_else): If
10996         flag_finite_math_only is set, a == b has a
10997         definite value.
10998         * toplev.c: Initialize flag_finite_math_only.
10999         (set_flags_fast_math): Set it on -ffast-math.
11000         (flag_fast_math_set_p): Test it.
11001         * doc/invoke.texi: Document -ffinite-math-only.
11002
11003 2002-07-30  Richard Henderson  <rth@redhat.com>
11004
11005         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
11006         (noce_process_if_block): Likewise.
11007
11008 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
11009
11010         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
11011         Bail out early if false_expr is NULL and we'd crash due to this.
11012         * genemit.c (gen_expand): Recognize return insns even if the return
11013         appears in a parallel.
11014         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
11015         * config/fp-bit.c: Likewise.
11016         * doc/tm.texi: Document it.
11017
11018 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
11019             Zack Weinberg  <zack@codesourcery.com>
11020
11021         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
11022         CODE_FOR_nothing.  Change switch to if.
11023         (rs6000_expand_binop_builtin): Same.
11024         (rs6000_expand_builtin): Expand builtin if target support enabled.
11025         (rs6000_init_builtins): Init builtin if target support enabled.
11026         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
11027
11028 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11029
11030         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
11031
11032 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
11033
11034         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
11035
11036 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
11037
11038         * sh.md (cond_delay_slot): New attribute.
11039         (cbranch delay): Use it for anulled-true case.
11040         (stuff_delay_slot): New pattern.
11041         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
11042         delay slot insn.
11043         (gen_far_branch): Emit stuff_delay_slot pattern.
11044
11045 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
11046
11047         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
11048
11049 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
11050
11051         * fold-const.c: Fix comment typos.
11052         * gcse.c: Likewise.
11053         * reload1.c: Likewise.
11054
11055 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11056
11057         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
11058         for TARGET_SPE.
11059
11060 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11061
11062         * c-pretty-print.h (pp_c_statement): Declare.
11063         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
11064         (pp_c_statement): Define.
11065
11066 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11067
11068         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
11069         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
11070         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
11071         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
11072         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
11073         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
11074
11075         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
11076         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
11077
11078 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11079
11080         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
11081         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
11082         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
11083         (pp_c_expression): Update.
11084
11085 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11086
11087         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
11088         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
11089         * alpha/vms-ld.c (main): Likewise.
11090         * dsp16xx.c (double_reg_to_memory): Likewise.
11091         * mcore.c (mcore_expand_prolog): Likewise.
11092         * cppfiles.c (read_name_map): Likewise.
11093         * gensupport.c (process_rtx, identify_predicable_attribute,
11094         alter_test_for_insn): Likewise.
11095         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
11096
11097 2002-07-29  Roger Sayle  <roger@eyesopen.com>
11098
11099         * builtins.c (expand_builtin):  Change the default behavior to
11100         only issue an error if the builtin function doesn't have a
11101         fallback library call.  Remove several cases handled by the
11102         new default.
11103
11104 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
11105
11106         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
11107         floating point format of the target is IEEE.
11108         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
11109         format of the target is DEC.
11110
11111 2002-07-29  Richard Henderson  <rth@redhat.com>
11112
11113         * unroll.c (verify_addresses): Remove.
11114         (find_splittable_givs): Never split DEST_ADDR givs.
11115
11116 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
11117
11118         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
11119         is exhaustive.
11120         (Files): Improve documentation on generated source files.
11121
11122         * doc/extend.texi (Translation implementation): Document what
11123         diagnostics look like.
11124         (Identifiers implementation): Document that there's normally no
11125         limit on identifier names.
11126         (Integers implementation): Document two's complement.
11127         (Hints implementation): Document that GCC honors 'inline', mostly.
11128         (Preprocessing directives implementation): Document that GCC
11129         requires the current time.
11130
11131 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11132
11133         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
11134         (pp_initializer): New macro.
11135         (pp_c_initializer): Declare.
11136         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
11137         (pp_c_initializer): Define.
11138         (pp_c_initializer_list): New function.
11139         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
11140         VECTOR_CST, CONSTRUCTOR.
11141         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
11142         IMAGPART_EXPR.
11143         (pp_c_cast_expression): Handle FLOAT_EXPR.
11144         (pp_c_assignment_expression): Handle INIT_EXPR.
11145         (pp_c_expression): Update.
11146
11147 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
11148
11149         * objc/objc-act.c (objc_init): Return immediately if filename
11150         is NULL.
11151
11152 2002-07-29  Eric Christopher  <echristo@redhat.com>
11153
11154         * config/mips/elf.h: Remove ecoff.h and gofast includes.
11155         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
11156         (SDB_DEBUGGING_INFO): Undefine.
11157         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
11158         (PUT_SDB_SIZE): Remove.
11159         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
11160         (STARTFILE_SPEC): Add isa3264 define.
11161         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
11162         * config/mips/ecoff.h: Remove. and here...
11163         * config/mips/iris3.h: and here...
11164         * config/mips/sni-svr4.h: and here...
11165         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
11166         Add assembler -mmdebug options for non-dwarf debugging.
11167         * config/mips/r3900.h: Remove debug info defines.
11168         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
11169         * config/mips/isa3264.h: Ditto.
11170         * config/mips/t-isa3264: Fix up for file removal and gofast configure
11171         change.
11172         * config/mips/t-elf: Ditto.
11173         * config/mips/t-ecoff: Ditto.
11174         * config/mips/t-r3900: Ditto.
11175         * config/mips/t-iris5-6: Ditto.
11176         * config/mips/t-isa3264: Ditto.
11177         * config/mips/t-linux: Remove.
11178         * config/mips/t-netbsd: Remove.
11179         * config/mips/t-mips: New file.
11180         * config/mips/t-gofast: Ditto.
11181         * config/mips/netbsd.h: Remove unnecessary undefines.
11182         * config/mips/linux.h: Remove #include of mips.h.
11183         * config.gcc: Add mips.h include for elf targets. Remove tm_file
11184         for ecoff. Add gofast configure option for mips.
11185
11186 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
11187
11188         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
11189         linker scripts use STARTUP directives consistently.
11190         * configure: Regenerate.
11191         * config.in: Regenerate.
11192         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
11193         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
11194         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11195         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
11196         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
11197         will be the same.
11198
11199 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11200
11201         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
11202
11203 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11204
11205         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
11206
11207 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
11208
11209         * config/rs6000/rs6000.md: Move altivec patterns from here...
11210
11211         * config/rs6000/altivec.md: ...to here.
11212
11213 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11214
11215         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
11216
11217 2002-07-29  Richard Henderson  <rth@redhat.com>
11218
11219         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
11220         set_mem_attributes and add BITPOS argument.  Subtract it from
11221         OFFSET when same is adjusted.
11222         (set_mem_attributes): New wrapper function.
11223         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
11224         remove offset adjustment hack.
11225         * expr.h (set_mem_attributes_minus_bitpos): Declare.
11226
11227 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
11228
11229         * Makefile.in (C_OBJS): Include c-pretty-print.o
11230         (c-pretty-print.o): Add depency rule.
11231         * pretty-print.h: Add more macros.
11232         * c-pretty-print.c: New file.
11233         * c-pretty-print.h: Likewise.
11234
11235 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11236
11237         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
11238         constants to __ev64_s32__.
11239         (__internal_ev_mwhgsmian): Same.
11240         (__internal_ev_mwhgsmfan): Same.
11241         (__internal_ev_mwhgssfan): Same.
11242         (__internal_ev_mwhgumiaa): Same.
11243         (__internal_ev_mwhgsmiaa): Same.
11244         (__internal_ev_mwhgsmfaa): Same.
11245         (__internal_ev_mwhgssfaa): Same.
11246
11247 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
11248
11249         * varasm.c (assemble_variable): Narrow test for uninitialized
11250         without BSS target support.
11251
11252 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
11253
11254         * profile.c: Add file comment describing the overall algorithm and
11255         structures.
11256         (struct edge_info): Add comments.
11257         (struct bb_info): Add comments.
11258         * basic-block.h (EDGE_*): Add comments.
11259         * doc/gcov.texi (Gcov Data Files): Document bit flags.
11260
11261 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
11262
11263         * config/xtensa/elf.h, config/xtensa/linux.h
11264         (TARGET_OS_CPP_BUILTINS): Define.
11265         (CPP_PREDEFINES): Remove.
11266         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
11267         (CPP_SPEC): Remove.
11268
11269 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
11270
11271         * gensupport.c: Include hashtab.h.
11272         (insn_elision, condition_table, hash_c_test, cmp_c_test,
11273         maybe_eval_c_test): New routines and data structures to
11274         support insn elision.
11275         (init_md_reader): Read and initialize the condition_table.
11276         (read_md_rtx): Discard insn patterns whose C test is provably
11277         always false.
11278         * gensupport.h: Declare new functions and data structures.
11279
11280         * genconditions.c, dummy-conditions.c: New files.
11281         * Makefile.in: Build genconditions; run it to construct
11282         insn-conditions.c; build that and link it into most gen*
11283         programs.
11284         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
11285         (GEN): Delete, unused.
11286         (STAGESTUFF): Update.
11287
11288         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
11289         CODE_FOR_nothing for all elided patterns.
11290         (main): Tweaked to support this.
11291         * genflags.c (gen_proto): Emit a static inline generator
11292         function here for all elided patterns, which simply returns
11293         NULL_RTX.
11294         (gen_insn): Do not define HAVE_xxx for elided patterns.
11295         (main): Tweaked to support this.  No need to forward-declare
11296         struct rtx_def.
11297         * genrecog.c: Do not bother emitting the C test if it's known
11298         to be true at compile time.
11299
11300 2002-07-29  Mike Stump  <mrs@apple.com>
11301
11302         * config.gcc (target_gtfiles): Initialize, as otherwise cross
11303         compilers hosted on powerpc-apple-darwin6.0 won't even build.
11304
11305 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
11306
11307         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
11308         remove clobber of LR.
11309         (sibcall_insn, sibcall_value_insn): Update accordingly.
11310         (sibcall_epilogue): Remove debugging comment from assembler stream.
11311
11312 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
11313
11314         * pretty-print.h: Define more macros.
11315         * diagnostic.h (output_formatted_integer): Moved from...
11316         * diagnostic.c: ... here.
11317
11318 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11319
11320         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
11321
11322 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
11323
11324         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
11325         arguments.  Always use ".-symbol" as expression argument.
11326         * doc/tm.texi: Update to match.  Document requirement for
11327         ".size symbol, .-symbol" to be acceptable to assembler.
11328
11329         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
11330         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
11331         config/i386/freebsd-aout.h, config/i386/sco5.h,
11332         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
11333         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
11334
11335 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11336
11337         * Makefile.in (gengtype-lex.c): Fix error in last change.
11338
11339         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
11340         backslash.
11341
11342         * Makefile.in (vmsdbgout.o): Depend on function.h.
11343
11344         * vmsdbgout.c: Include function.h.
11345
11346 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
11347
11348         * prefix.c (update_path): Don't strip single `.' path components
11349         unless stripping a later `..' component.  Exit loop as soon as
11350         a valid path is found.
11351
11352 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11353
11354         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
11355         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
11356         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
11357         floating point unordered comparisons (e.g. __builtin_isgreater)
11358         as const, and leave the remaining GCC_BUILTINs unchanged.
11359
11360         * c-decl.c (builtin_function): No need to explicitly mark
11361         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
11362
11363 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11364
11365         * Makefile.in: rtlanal.o now depends upon real.h.
11366
11367         * flags.h [flag_signaling_nans]: New flag.
11368         [HONOR_SNANS]: New macro.
11369
11370         * toplev.c [flag_signaling_nans]: Initialize to false.
11371         (f_options): Add processing for "-fsignaling-nans".
11372         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
11373         (process_options): flag_signaling_nans implies flag_trapping_math.
11374
11375         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
11376         when -fsignaling-nans.  First step to implementing WG14's N965.
11377
11378         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
11379         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
11380         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
11381
11382         * simplify-rtx.c (simplify_relational_operation): Conditionalize
11383         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
11384
11385         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
11386         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
11387         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
11388         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
11389         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
11390
11391         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
11392
11393 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11394
11395         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
11396         * gengtype-lex.l (YY_USE_PROTOS): Undef.
11397         (YY_DECL): Define.
11398
11399 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11400
11401         * doc/invoke.texi: Document that both -fno-builtin-foo and
11402         -fno-builtin are supported by the g++ front-end.
11403
11404 2002-07-27  Stan Shebs  <shebs@apple.com>
11405
11406         * configure.in: Rename config_gtfiles to target_gtfiles.
11407         * configure: Regenerate.
11408         * doc/gty.texi: Update reference.
11409         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
11410         instead of appending to it.
11411
11412 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
11413
11414         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
11415         vectors are split into two registers.
11416         (function_arg): Same.
11417
11418 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
11419
11420         * pa.md (extv): Check predicates before emitting extv_32.
11421
11422 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
11423
11424         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
11425         (rs6000_traceback): New var.
11426         (rs6000_override_options): Set rs6000_traceback.
11427         (rs6000_output_function_epilogue): Implement traceback options.
11428         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
11429         (rs6000_traceback_name): Declare.
11430
11431         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
11432         label reference when NO_PROFILE_COUNTERS.
11433
11434 2002-07-26  Jason Merrill  <jason@redhat.com>
11435
11436         * function.c (assign_parms): Handle frontend-directed pass by
11437         invisible reference.
11438
11439 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11440
11441         * doc/cppopts.texi: Update.
11442
11443 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11444
11445         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
11446         warnings on assertions.
11447
11448 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11449
11450         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
11451         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
11452         RID_COMPL): Remove.
11453         * c-parse.in (rid_to_yy): Similarly.
11454
11455 2002-07-26  Jason Merrill  <jason@redhat.com>
11456
11457         * c-dump.c: Resurrect.
11458         * tree-dump.c: Move C-specific stuff to c-dump.c.
11459         * c-common.h: Declare c_dump_tree.
11460         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
11461         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
11462         (c-dump.o): New rule.
11463
11464 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
11465
11466         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
11467         PowerPC64.  Replace "T" and "S" constraints with "n" when the
11468         predicate will do.  Formatting fixes.
11469         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
11470         as for extzvsi_internal1.
11471
11472 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11473
11474         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
11475         DERIV_END_LABEL_FMT): Remove.
11476         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
11477
11478 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11479
11480         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
11481         Remove.
11482
11483 2002-07-25  Stan Shebs  <shebs@apple.com>
11484
11485         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
11486         local var dwarfp.
11487         (output_compiler_stub): Remove unused locals.
11488         (output_call): Always initialize line number.
11489
11490 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
11491
11492         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
11493         * sh.md (truncdiqi2, movqi_media): Likewise.
11494
11495 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11496
11497         * gcse.c (obstack_chunk_alloc): Remove.
11498         (gcse_alloc): Fix to count allocated bytes.
11499         * collect2.c (SYMBOL__MAIN): Remove.
11500
11501 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11502
11503         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
11504         HAVE_TARGET_EXECUTABLE_SUFFIX.
11505
11506 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
11507
11508         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
11509         SIZE, EXPR and OFFSET.
11510
11511 2002-07-25  Richard Henderson  <rth@redhat.com>
11512
11513         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
11514         in ARRAY_REF of DECL_P case.
11515
11516 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
11517
11518         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
11519         description.  Document -mips32, -mips64, and the associated -march
11520         values.  Describe the "mipsN" arguments to -march.  Say that the
11521         -mipsN options are equivalent to -march.  Reword the description
11522         of default type sizes.
11523         * toplev.h (target_flags_explicit): Declare.
11524         * toplev.c (target_flags_explicit): New var.
11525         (set_target_switch): Update target_flags_explicit.
11526         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
11527         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
11528         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
11529         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
11530         * config/mips/mips.h (mips_cpu_info): New struct.
11531         (mips_cpu_string, mips_explicit_type_size_string): Remove.
11532         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
11533         (MIPS_CPP_SET_PROCESSOR): New macro.
11534         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
11535         Define _MIPS_ARCH and _MIPS_TUNE.
11536         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
11537         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
11538         MIPS_ISA_DEFAULT were already defined.
11539         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
11540         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
11541         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
11542         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
11543         (ABI_GAS_ASM_SPEC): Remove.
11544         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
11545         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
11546         Invoke %(asm_abi_default_spec) if no ABI was specified.
11547         (CC1_SPEC): Remove ISA -> register-size rules.
11548         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
11549         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
11550         (mips_cpu_string, mips_explicit_type_size_string): Remove.
11551         (mips_cpu_info_table): New array.
11552         (mips_set_architecture, mips_set_tune): New fns.
11553         (override_options): Rework to make -mipsN equivalent to -march.
11554         Detect more erroneous cases, including those removed from CC1_SPEC.
11555         Don't change the ABI based on architecture, or vice versa.
11556         Unify logic with GAS.
11557         (mips_asm_file_start): Get architecture name from mips_arch_info.
11558         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
11559         (mips_parse_cpu): Take the name of the option as argument.  Handle
11560         'from-abi'.  Raise an error if the option is wrong.
11561         (mips_cpu_info_from_isa): New fn.
11562
11563 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
11564
11565         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
11566         (tablejump_mips162): Likewise.
11567
11568 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
11569
11570         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
11571         int_mode_for_mode.
11572
11573 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
11574
11575         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
11576         complaining.
11577         * c-common.h (c_sizeof): Adjust definition.
11578         (c_alignof): Likewise.
11579         * c-tree.h (c_sizeof_nowarn): Now macro.
11580         * c-typeck.c (c_sizeof_nowarn): Remove definition.
11581
11582 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11583
11584         * c-decl.c (c_decode_option): No need to handle switches
11585         cpplib handles.
11586
11587 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
11588
11589         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
11590         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
11591         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
11592         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
11593
11594         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
11595         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
11596         config/cris/aout.h, config/i386/freebsd-aout.h,
11597         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
11598         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
11599         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
11600         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
11601         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
11602         config/xtensa/elf.h, config/xtensa/linux.h:
11603         Use the new macros.
11604         Where possible, remove redundant definitions of SIZE_ASM_OP,
11605         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
11606
11607 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
11608
11609         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
11610         TARGET_ISEL, and TARGET_FPRS.
11611
11612         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
11613         -mabi=spe, -mabi=no-spe, and -misel=.
11614
11615         * config/rs6000/rs6000-protos.h: Add output_isel.
11616         Move vrsave_operation prototype here.
11617
11618         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
11619         (smaxsi3): Same.
11620         (uminsi3): Same.
11621         (umaxsi3): Same.
11622         (abssi2_nopower): Disallow when TARGET_ISEL.
11623         (*ne0): Same.
11624         (negsf2): Change to expand and rename old pattern to *negsf2.
11625         (abssf2): Change to expand and rename old pattern to *abssf2.
11626
11627         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
11628         fixunssfsi2.
11629
11630         Change patterns that check for TARGET_HARD_FLOAT or
11631         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
11632
11633         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
11634         rs6000_isel, rs6000_fprs, rs6000_isel_string.
11635         (rs6000_override_options): Add 8540 case to
11636         processor_target_table.
11637         Set rs6000_isel for the 8540.
11638         Call rs6000_parse_isel_option.
11639         (enable_mask_for_builtins): New.
11640         (rs6000_parse_isel_option): New.
11641         (rs6000_parse_abi_options): Add spe and no-spe.
11642         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
11643         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
11644         for TARGET_HARD_FLOAT.
11645         Add case for SPE_VECTOR_MODE.
11646         (rs6000_legitimize_reload_address): Handle SPE vector modes.
11647         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
11648         vector modes.
11649         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
11650         (rs6000_emit_move): Check for TARGET_FPRS.
11651         Add cases for SPE vector modes.
11652         (function_arg_boundary): Return 64 for SPE vector modes.
11653         (function_arg_advance): Check for TARGET_FPRS and
11654         Handle SPE vectors.
11655         (function_arg): Same.
11656         (setup_incoming_varargs): Check for TARGET_FPRS.
11657         (rs6000_va_arg): Same.
11658         (struct builtin_description): Un-constify mask field.  Move up in
11659         file.
11660         (bdesc_2arg): Un-constify and add SPE builtins.
11661         (bdesc_1arg): Same.
11662         (bdesc_spe_predicates): New.
11663         (bdesc_spe_evsel): New.
11664         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
11665         (rs6000_expand_binop_builtin): Same.
11666         (bdesc_2arg_spe): New.
11667         (spe_expand_builtin): New.
11668         (spe_expand_predicate_builtin): New.
11669         (spe_expand_evsel_builtin): New.
11670         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
11671         (rs6000_init_builtins): Initialize SPE builtins.  Call
11672         rs6000_common_init_builtins.
11673         (altivec_init_builtins): Move all non-altivec builtin code to...
11674         (rs6000_common_init_builtins): ...here.  New function.
11675         (branch_positive_comparison_operator): Allow NE code for SPE.
11676         (ccr_bit): Return correct ccr bit for SPE fp.
11677         (print_operand): Emit crnor in 'D' case for SPE.
11678         New case 't'.
11679         Add SPE code for 'y' case.
11680         (rs6000_generate_compare): Generate rtl for SPE fp.
11681         (output_cbranch): Handle SPE hard floats.
11682         (rs6000_emit_cmove): Handle isel.
11683         (rs6000_emit_int_cmove): New.
11684         (output_isel): New.
11685         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
11686         64-bits for SPE.
11687         (debug_stack_info): Add SPE info.
11688         (gen_frame_mem_offset): New.
11689         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
11690         Change mode of frame pointer, when saving it, to Pmode.
11691         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
11692         Misc cleanups and use gen_frame_mem_offset when appropriate.
11693
11694         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
11695         (TARGET_SPE_ABI): New.
11696         (TARGET_SPE): New.
11697         (TARGET_ISEL): New.
11698         (TARGET_FPRS): New.
11699         (FIXED_SCRATCH): New.
11700         (RTX_COSTS): Add PROCESSOR_PPC8540.
11701         (ASM_CPU_SPEC): Add case for 8540.
11702         (TARGET_OPTIONS): Add isel= case.
11703         (rs6000_spe_abi): New.
11704         (rs6000_isel): New.
11705         (rs6000_fprs): New.
11706         (rs6000_isel_string): New.
11707         (UNITS_PER_SPE_WORD): New.
11708         (LOCAL_ALIGNMENT): Adjust for SPE.
11709         (HARD_REGNO_MODE_OK): Same.
11710         (DATA_ALIGNMENT): Same.
11711         (MEMBER_TYPE_FORCES_BLK): New.
11712         (FIRST_PSEUDO_REGISTER): Set to 113.
11713         (FIXED_REGISTERS): Add SPE registers.
11714         (reg_class): Same.
11715         (REG_CLASS_NAMES): Same.
11716         (REG_CLASS_CONTENTS): Same.
11717         (REGNO_REG_CLASS): Same.
11718         (REGISTER_NAMES): Same.
11719         (DEBUG_REGISTER_NAMES): Same.
11720         (ADDITIONAL_REGISTER_NAMES): Same.
11721         (CALL_USED_REGISTERS): Same.
11722         (CALL_REALLY_USED_REGISTERS): Same.
11723         (SPE_ACC_REGNO): New.
11724         (SPEFSCR_REGNO): New.
11725         (SPE_SIMD_REGNO_P): New.
11726         (HARD_REGNO_NREGS): Adjust for SPE.
11727         (VECTOR_MODE_SUPPORTED_P): Same.
11728         (REGNO_REG_CLASS): Same.
11729         (FUNCTION_VALUE): Same.
11730         (LIBCALL_VALUE): Same.
11731         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
11732         (SPE_VECTOR_MODE): New.
11733         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
11734         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
11735         (rs6000_stack): Add spe_gp_size, spe_padding_size,
11736         spe_gp_save_offset.
11737         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
11738         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
11739         (SPE_CONST_OFFSET_OK): New.
11740         (rs6000_builtins): Add SPE builtins.
11741
11742         * testsuite/gcc.dg/ppc-spe.c: New.
11743
11744         * config/rs6000/eabispe.h: New.
11745
11746         * config/rs6000/spe.h: New.
11747
11748         * config/rs600/spe.md: New.
11749
11750         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
11751         __SIMD__ for TARGET_SPE.
11752
11753         * config.gcc: Add powerpc-*-eabispe* case.
11754         Add spe.h to user headers for powerpc.
11755
11756 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
11757
11758         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
11759         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11760         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
11761
11762 2002-07-24  Richard Henderson  <rth@redhat.com>
11763
11764         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
11765         form when not optimizing.
11766
11767 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
11768
11769         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
11770         thread_pointer_rtx as unchanging.
11771
11772 2002-07-24  Michael Matz  <matz@suse.de>
11773
11774         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
11775         (free_reg): Use it.
11776
11777 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
11778
11779         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
11780         pattern.
11781         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
11782         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
11783
11784 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
11785
11786         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
11787         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11788         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
11789
11790 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
11791
11792         * toplev.c (rest_of_compilation): Dump loops before clobbering
11793         the structure.
11794
11795 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
11796
11797         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
11798
11799 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
11800
11801         PR optimization/7291
11802         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
11803         problem on x86_64.
11804
11805 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
11806
11807         * pretty-print.h: Add macros from cp/error.c
11808
11809 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
11810
11811         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
11812         (mask64_2_operand): Declare.
11813         (build_mask64_2_operands): Declare.
11814         (and64_2_operand): Declare.
11815         (extract_MB): Declare.
11816         (extract_ME): Declare.
11817         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
11818         CONST_DOUBLE code.
11819         (mask_operand_wrap): New insn predicate.
11820         (mask64_2_operand): Likewise.
11821         (and64_2_operand): Likewise.
11822         (build_mask64_2_operands): New function.
11823         (extract_MB): New function.
11824         (extract_ME): New function.
11825         (print_operand <case m,M>): Use extract_MB and extract_ME.
11826         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
11827         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
11828         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
11829         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
11830         * config/rs6000/rs6000.md (andsi3_internal3): New
11831         (andsi3_internal3+1): Enable split for powerpc64.
11832         (andsi3_internal3+2): New split.
11833         (andsi3_internal4): Renamed old andsi3_internal3.
11834         (andsi3_internal5): New.
11835         (andsi3_internal5+1): Enable split for powerpc64.
11836         (andsi3_internal5+2): New split.
11837         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
11838         (anddi3): Handle 't' constraint.
11839         (anddi3+1): New split.
11840         (anddi3_internal2): Handle 't' constraint.
11841         (anddi3_internal2+1): New split.
11842         (anddi3_internal3): Handle 't' constraint.
11843         (anddi3_internal3+1): New split.
11844
11845 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
11846
11847         * config/rs6000/rs6000.md: Remove scratch reg on insns using
11848         addze and similar (plus (comparison r1 r2) r3) insns.  Add
11849         missing scratch reg in one case.  Formatting fixes.
11850
11851 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
11852
11853         * cppexp.c (parse_defined): Mark macro used.
11854         * cpphash.h (struct cpp_macro): New member "used".
11855         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
11856         (struct cpp_reader): New member.
11857         * cppinit.c (cpp_finish_options): Set first_unused_line.
11858         (cpp_finish): Warn of unused macros if requested.
11859         (OPT_TABLE): New switches.
11860         (cpp_handle_option): Handle them.
11861         * cpplib.c (do_undef): Warn if macro unused.
11862         (do_ifdef, do_ifndef): Mark macro used.
11863         * cpplib.h (struct cpp_options): New member.
11864         * cppmacro.c (_cpp_warn_if_unused_macro): New.
11865         (enter_macro_context): Mark macro used.
11866         (_cpp_create_definition): Mark macro unused; warn if unused
11867         when redefined.
11868         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
11869         Mark macros used.
11870         * doc/cppopts.texi: Update.
11871
11872 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
11873
11874         * dwarf2out.c (SECTION_ASM_OP,
11875         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
11876         * system.h (SECTION_ASM_OP): Poison.
11877         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
11878         * config/alpha/alpha-interix.h, config/mips/linux.h
11879         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
11880         * config/mmix/mmix-protos.h, config/mmix/mmix.c
11881         (mmix_asm_output_define_label_difference_symbol): Remove.
11882         * config/mmix/mmix.h
11883         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
11884         * doc/tm.texi: Remove documentation.
11885
11886 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
11887
11888         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
11889         (constrain_operands): Likewise.
11890         * regclass.c (record_reg_classes): Likewise.
11891         * reload.c (find_reloads): Likewise.
11892         * doc/md.texi: Likewise.
11893
11894         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
11895         * simplify-rtx.c (simplify_subreg): When converting to a non-int
11896         mode, try to convert to an integer mode of matching size first.
11897
11898         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
11899         from individual subregs, check that each subreg has been generated
11900         sucessfully.
11901
11902 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
11903
11904         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
11905         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
11906         FOR_EACH_BB_IN_SBITMAP): Remove.
11907         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
11908         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
11909         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
11910         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
11911         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
11912         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
11913
11914 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
11915
11916         * pretty-print.h: New file.
11917
11918 2002-07-23      Paul Koning     <pkoning@equallogic.com>
11919
11920         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
11921         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
11922         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
11923         (TARGET_G_FLOAT): Default to 0 if not defined.
11924         (ieeetoe): New, common routine to convert target format floats
11925         to internal form.
11926         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
11927         vs. others.
11928         (e113toe): Change to use ieeetoe.
11929
11930 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11931
11932         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
11933         IBM.
11934         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
11935         (e64toe): Remove special cases for DEC and IBM. Remove support for
11936         ARM_EXTENDED_IEEE_FORMAT.
11937         (e24toe): Remove special cases for DEC.
11938         (significand_size): Simplify. Indent.
11939         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
11940         (etoieee, toieee): New.
11941         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
11942         etoieee and toieee for IEEE arithmetic.
11943
11944 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
11945
11946         * doc/extend.texi: Say ISO C90, not ISO C89.
11947         * doc/invoke.texi: Likewise.
11948         * doc/standards.texi: Likewise.
11949
11950 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
11951
11952         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
11953         Fix permutation of conversion and plus/mult.
11954         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
11955         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
11956         (expand_builtin_strncpy) Ditto.
11957         (expand_builtin_memset) Ditto.
11958
11959 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
11960
11961         Fix PR/7363:
11962         * c-common.c (c_sizeof_or_alignof_type): New function.
11963         (c_alignof): Remove definition.
11964         * c-common.h (c_sizeof, c_alignof): Define as macros.
11965         (c_sizeof_or_alignof_type): Declare.
11966         (my_friendly_assert): Moved from cp/cp-tree.h
11967         * c-typeck.c (c_sizeof): Remove definition.
11968
11969 2002-07-23  Jan Hubicka  <jh@suse.cz>
11970
11971         * gcse.c (try_replace_reg): Use num_changes_pending.
11972         * recog.c (num_changes_pending): New function.
11973         (validate_replace_src): Use validate_repalce_src_group.
11974         (validate_replace_src_group): New.
11975         * recog.h (validate_repalce_src_group): New.
11976         (num_changes_pending): Likewise.
11977
11978 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
11979
11980         * calls.c (emit_library_call_value_1): If
11981         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
11982         libcall, const call nor pure call.
11983
11984 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
11985
11986         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
11987
11988 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
11989
11990         * vmsdbgout.c (SECTION_ASM_OP): Remove.
11991
11992 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
11993
11994         * config/i386/i386.c (AT_BP): Remove.
11995
11996 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
11997
11998         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
11999         Default definition.
12000         * gcse.c: Don't define obstack_chunk_free.
12001         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
12002         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
12003         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
12004         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
12005         Don't define obstack macros.
12006
12007 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
12008
12009         PR target/6744
12010         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
12011         ASM_OPERANDS instructions.
12012
12013 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
12014
12015         PR target/7361
12016         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
12017         constant addresses only on 68HC12.
12018
12019 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
12020
12021         * cppfiles.c (stack_include_file): Correct test of whether
12022         a dependency should be output.
12023
12024 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
12025
12026         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
12027
12028 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
12029
12030         * arm.md (movqi): If optimizing and we can create pseudos, use
12031         a ZERO_EXTEND to load from memory, then copy the result into the
12032         target.
12033         (movhi): Likewise, but only for ARMv4.
12034
12035 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
12036
12037         * ssa-ccp.c (PHI_PARMS): Remove.
12038
12039 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
12040
12041         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
12042         on big-endian targets.
12043
12044 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12045
12046         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
12047         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
12048         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
12049         New formatting macros.
12050
12051         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
12052
12053 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12054
12055         * rtlanal.c (subreg_regno_offset): Return correct offset for
12056         big endian paradoxical subregs.
12057
12058         * optabs.c (expand_vector_unop): Don't expand using sub_optab
12059         if we got the wrong mode.
12060
12061         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
12062         * genrecog.c (write_switch, write_cond): Use it.
12063         * genemit.c (gen_exp): Likewise.
12064
12065 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
12066
12067         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
12068
12069 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
12070
12071         * c-decl.c (build_compound_literal): Defer compound literal decls
12072         until until file end to emit them only if they are actually used.
12073
12074 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12075
12076         * ra-build.c (check_conflict_numbers): Hide unused function.
12077         (livethrough_conflicts_bb): Avoid automatic aggregate
12078         initialization.
12079         (parts_to_webs_1): Avoid `U' integer constant modifier.
12080         (conflicts_between_webs): Wrap a variable in the macro controlling
12081         its usage.
12082         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
12083         (dump_igraph, dump_graph_cost): Avoid string concatenation
12084         (dump_static_insn_cost): Avoid automatic aggregate
12085         initialization.
12086         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
12087         initialization.
12088         (dump_cost): Avoid string concatenation
12089
12090 2002-07-21  Richard Henderson  <rth@redhat.com>
12091
12092         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
12093         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
12094
12095 2002-07-21  Richard Henderson  <rth@redhat.com>
12096
12097         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
12098         that are not unrolled completely.
12099
12100 2002-07-21  Richard Henderson  <rth@redhat.com>
12101
12102         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
12103         * loop.c (strength_reduce): Update.
12104         * toplev.c (rest_of_compilation): Do unrolling in the first
12105         loop pass, not the second.
12106
12107 2002-07-21  Richard Henderson  <rth@redhat.com>
12108
12109         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
12110         when flag_argument_noalias == 2.
12111         * alias.c (nonoverlapping_memrefs_p): Handle that.
12112         * print-rtl.c (print_mem_expr): Likewise.
12113
12114 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
12115
12116         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
12117         instead of __negdi2 directly.
12118
12119 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12120
12121         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
12122         * function.c (SYMBOL__MAIN): Remove definition.
12123         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
12124         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
12125         * profile.c (GCOV_INDEX_TO_BB): Remove.
12126         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
12127         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
12128
12129 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12130
12131         * c-lex.c (GET_ENVIRONMENT): Remove.
12132         * collect2.c (GET_ENV_PATH_LIST): Remove.
12133         (prefix_from_env): Use GET_ENVIRONMENT.
12134         * cppinit.c (GET_ENV_PATH_LIST): Remove.
12135         (init_standard_includes): Use GET_ENVIRONMENT.
12136         * defaults.h (GET_ENVIRONMENT): Define here if not already.
12137         * gcc.c (GET_ENV_PATH_LIST): Remove.
12138         (make_relative_prefix, process_command): Update.
12139         * protoize.c (GET_ENV_PATH_LIST): Remove.
12140         (do_processing): Update.
12141
12142 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
12143
12144         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
12145         (grokdeclarator): Likewise.
12146         * c-format.c (C_STD_NAME): Likewise.
12147         * c-lex.c (interpret_integer): Likewise.
12148         * c-typeck.c (build_array_ref): Likewise.
12149         * cpplex.c (_cpp_lex_direct): Likewise.
12150         * toplev.c (documented_lang_options): Likewise.
12151
12152 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12153
12154         * c-format.c (T99_I, T99_UI): Remove.
12155
12156 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12157
12158         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
12159
12160 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
12161
12162         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
12163         do_local_cprop.
12164
12165 2002-07-21  Andreas Jaeger  <aj@suse.de>
12166
12167         * reload1.c (fixup_abnormal_edges): Remove unused variable.
12168
12169 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
12170
12171         Improvements for the ifcvt pass from Michael Meissner, with patches
12172         by Richard Sandiford <rsandifo@redhat.com>
12173         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
12174         * ifcvt.c (cond_exec_changed_p): New static variable.
12175         (last_active_insn): New function, renamed from last_active_insn_p
12176         and changed to return the last active insn in a basic block. All
12177         callers updated.
12178         (block_fallthru): New function.
12179         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
12180         IFCVT_MODIFY_INSN.  All callers updated.
12181         Return false if START or END are NULL.
12182         Handle case where we're processing an insn that is already
12183         conditional.
12184
12185         (noce_process_if_block): CE_INFO argument rather than
12186         multiple args containing the involved basic blocks.  All callers
12187         changed.
12188         (process_if_block, merge_if_block, find_if_block,
12189         cond_exec_process_if_block): Likewise.
12190
12191         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
12192         changed.
12193         Use new function last_active_insn to simplify some code.
12194         New code to handle multiple tests.
12195         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
12196         cond_exec_changed_p to TRUE.
12197
12198         (process_if_block): New code to handle multiple tests.
12199         (merge_if_block): Likewise.
12200         (find_if_header): New arg PASS.  Changed to return the currently
12201         processed basic block or NULL instead of true/false. All callers
12202         changed.
12203         Call IFCVT_INIT_EXTRA_FIELDS.
12204         (block_jumps_and_fallthru_p): New function.
12205         (find_if_block): Discover opportunities to convert multiple tests.
12206         Add additional debugging output.
12207         Update the ce_info structure before returning.
12208
12209         (if_convert): Run multiple passes of if-conversion.
12210         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
12211         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
12212         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
12213         these macros.
12214
12215 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
12216
12217         * gcse.c: Include cselib.h
12218         (constptop_register): Break out from ...
12219         (cprop_insn): ... here; kill basic_block argument.
12220         (do_local_cprop, local_cprop_pass): New functions.
12221         (one_cprop_pass): Call local_cprop_pass.
12222
12223 2002-07-20  Roger Sayle  <roger@eyesopen.com>
12224
12225         * simplify-rtx.c (simplify_relational_operation): Optimize
12226         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
12227
12228 2002-07-20  Michae Matz  <matz@suse.de>
12229
12230         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
12231
12232 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
12233
12234         * cppexp.c (struct op): Add token pointer.
12235         (check_promotion, CHECK_PROMOTION): New.
12236         (optab): Update.
12237         (_cpp_parse_expr): Update, use token pointer of struct op.
12238         (reduce): Warn about change of sign owing to promotion.
12239         * cppinit.c (cpp_handle_option): New warning if -Wall.
12240         * cpplib.h (struct cpp_options): New member.
12241
12242 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
12243
12244         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
12245         fpu list.  Separate Power4 compare and delayed_compare.  Correct
12246         Power4 fpcompare.
12247         (fix_truncdfsi2_internal): Restore FPR preference.
12248         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
12249         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
12250
12251 2002-07-19  Momchil Velikov <velco@fadata.bg>
12252
12253         * reload1.c (reload_as_needed): Duplicate oldpat.
12254
12255 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
12256
12257         PR optimization/7130
12258         * loop.h (struct loop_info): Add "preconditioned".
12259         * unroll.c (unroll_loop): Set it.
12260         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
12261
12262 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
12263
12264         * rtl.def (CODE_LABEL): Remove slot 8.
12265         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
12266         (LABEL_ALTERNATE_NAME): Delete.
12267         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
12268         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
12269
12270         * final.c (output_alternate_entry_point): New.
12271         (final_scan_insn): Use it instead of
12272         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
12273         of a case label being an alternate entry point.
12274
12275         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
12276         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
12277         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
12278         (field deleted).
12279         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
12280
12281         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
12282         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
12283         * doc/tm.texi: Delete documentation of
12284         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
12285
12286 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12287
12288         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
12289         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
12290         (LINK_SPEC): Define.
12291         (STARTFILE_SPEC): Define.
12292         (ENDFILE_SPEC): Define.
12293
12294         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
12295         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
12296
12297         * config/mips/iris6-o32-gas.h: New file.
12298         * config.gcc (mips-sgi-irix6*o32): Use it.
12299
12300         * config/mips/t-iris5-gas: New file.
12301         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
12302
12303 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
12304
12305         * cppexp.c (ALWAYS_EVAL): Remove.
12306         (optab, reduce): Always evaluate.
12307         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
12308         only if not skipping evaluation.
12309
12310 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12311
12312         * config/avr/avr.c (debug_hard_reg_set): Remove.
12313
12314 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
12315
12316         * gcc.c (cpp_options): Include "%1" (cc1_spec).
12317
12318 2002-07-19  Richard Henderson  <rth@redhat.com>
12319
12320         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
12321
12322 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
12323
12324         * prefix.c (update_path): Don't zap single `.' path components
12325         unless followed by another `.' and fix typo last patch.
12326
12327 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
12328
12329         * cppexp.c (cpp_num_mul): Remove unused parameter.
12330         (UNARY, BINARY, OTHER, binary_handler): Remove.
12331         (ALWAYS_EVAL): New.
12332         (optab): Update.
12333         (reduce): Refactor to a large switch, don't use a function
12334         pointer.
12335
12336 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
12337
12338         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
12339
12340 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
12341
12342         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
12343         (sh_expand_binop_v2sf): Likewise.
12344         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
12345         (int_gpr_dest, trunc_hi_operand): New functions.
12346         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
12347         trunc_hi_operand.
12348         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
12349         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
12350         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
12351         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
12352         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
12353         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
12354         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
12355         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
12356         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
12357         (movsf_ie+1): Likewise.
12358         (loaddi_trunc): Use int_gpr_dest predicate.
12359         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
12360         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
12361         (casesi_worker_0+[12], casesi_worker): Likewise.
12362         (shcompact_preserve_incoming_args): Likewise.
12363         (mov_nop): Use any_register_operand predicate.
12364         (mperm_w0): Use trunc_hi_operand predicate.
12365
12366 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12367
12368         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
12369         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
12370         numbering.
12371
12372 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12373
12374         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
12375
12376 2002-07-18  Richard Henderson  <rth@redhat.com>
12377
12378         PR optimization/7147
12379         * ifcvt.c (noce_get_condition): Make certain that the condition
12380         is valid at JUMP.
12381
12382 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
12383
12384         * sh.c (barrier_align, push): Shut up compiler warnings.
12385         (initial_elimination_offset,sh_media_init_builtins): Likewise.
12386         (reg_no_subreg_operand): Delete.
12387
12388 2002-07-17  Bo Thorsen  <bo@suse.de>
12389
12390         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
12391         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
12392         (STARTFILE_SPEC): Remove hardcoded library paths.
12393         (ENDFILE_SPEC): Likewise.
12394
12395 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
12396
12397         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
12398
12399         * gcse.c (try_replace_reg): Do not return false positives.
12400
12401 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
12402
12403         * prefix.c: (update_path): Strip ".." components when prior dir
12404         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
12405
12406         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
12407         (ASM_OUTPUT_REG_POP): Likewise.
12408
12409 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
12410
12411         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
12412         adjustments to first_reg for profiling case.
12413         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
12414         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
12415         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
12416         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
12417         (ASM_OUTPUT_REG_POP): Define.
12418         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
12419         (ASM_OUTPUT_REG_POP): Undef.
12420
12421 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
12422
12423         * cpplib.c (do_sccs): Handle #sccs on all systems.
12424         * system.h (SCCS_DIRECTIVE): Poison.
12425         * config/darwin.h, config/freebsd.h, config/netbsd.h,
12426         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
12427         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
12428         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
12429         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
12430         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
12431         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
12432         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
12433         Remove all references to SCCS_DIRECTIVE.
12434         * doc/cpp.texi, doc/tm.texi: Update.
12435
12436 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
12437
12438         * regrename.c (maybe_mode_change): New function.
12439         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
12440
12441 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
12442
12443         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
12444         suppress addition when either ct or cf are zero.
12445
12446 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
12447             Glen Nakamura <glen@imodulo.com>
12448
12449         PR optimization/6713
12450         * loop.c (loop_givs_rescan): Explicitly delete the insn that
12451         sets a non-replaceable giv after issuing the new one.
12452
12453 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
12454
12455         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
12456         eval_token): Clarify and correct use of "bool" variables.
12457         * cpplib.h (struct cpp_options): Similarly.
12458         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
12459         * cpptrad.c (recursive_macro): Similarly.
12460
12461 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
12462
12463         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
12464         SHmedia code.
12465
12466         * sh.md (cmpgtudi_media): Remove spurious @.
12467
12468         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
12469         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
12470
12471         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
12472         * sh-protos.h (sh_initialize_trampoline): Declare.
12473         * sh.c (sh_initialize_trampoline): New function.
12474         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
12475         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
12476         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
12477         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
12478         * sh.md (initialize_trampoline, double_shori): New patterns.
12479         (initialize_trampoline_compact): Likewise.
12480         (shmedia32_initialize_trampoline_big): Remove.
12481         (shmedia32_initialize_trampoline_little): Likewise.
12482
12483         * sh-protos.h (binary_float_operator): Remove declaration.
12484         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
12485         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
12486         (unary_float_operator, sh_expand_unop_v2sf): New functions.
12487         (sh_expand_binop_v2sf): Likewise.
12488         (zero_vec_operand): Delete.
12489         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
12490         all non-shared ones.
12491         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
12492         Enable nsb and byterev.
12493         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
12494         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
12495         in general regs.
12496         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
12497         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
12498         immediate operands.
12499         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
12500         Add DF_HI_REGS.
12501         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
12502         lowpart fp regs - only for big endian for now.
12503         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
12504         when FPU is in use.
12505         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
12506         (LOAD_EXTEND_OP): NIL for SImode.
12507         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
12508         general and fp registers is 4.
12509         PREDICATE_CODES: Amend binary_float_operator entry.
12510         Remove zero_vec_operand.  Add unary_float_operator.
12511         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
12512         subreg SET_DEST.
12513         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
12514         (truncdiqi2): Do sign extension.
12515         (movsi_media, movdi_media): Allow to use r63 to an fp register.
12516         (movdf_media, movsf_media): Likewise.
12517         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
12518         Collapse to one define_insn_and_split.  Allow immediate sources.
12519         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
12520         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
12521         (movv4sf): Allow immediate sources.
12522         (movsf_media_nofpu+1): Don't split moves to FP registers.
12523         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
12524         (movv8qi_i+3): Check against CONST0_RTX.
12525         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
12526         for input and output operands.  Fix argument 3 to gen_mextr_rl.
12527         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
12528         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
12529         (mshf0_w, fipr, ftrv): Likewise.
12530         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
12531
12532 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
12533
12534         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
12535         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
12536         * arm.c: Similarly.
12537
12538 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
12539
12540         * config/mips/mips-protos.h (mips_sign_extend): Declare.
12541         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
12542         (TARGET_SWITCHES): Remove debugh.
12543         (ISA_HAS_TRUNC_W): New macro.
12544         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
12545         (PREDICATE_CODES): Remove se_nonimmediate_operand.
12546         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
12547         any SImode move_operand.
12548         (se_nonimmediate_operand): Remove.
12549         (mips_sign_extend): New.
12550         (mips_move_2words): Use it for sign-extended source operands.
12551         (override_options): Allow integers to be put into single FPRs.
12552         (mips_secondary_reload_class): Handle integers in float registers.
12553         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
12554         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
12555         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
12556         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
12557         (fix_truncdfdi2): Provide only a single alternative, in which the
12558         integer is in a float register.  Depend on TARGET_FLOAT64 rather
12559         than TARGET_64BIT.
12560         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
12561         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
12562         (movdi_internal2): Don't allow the source operand to be sign-extended.
12563         Add alternatives for float registers.
12564         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
12565         allows sign-extension.
12566         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
12567         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
12568         float registers.  Remove TARGET_DEBUG_H_MODE test.
12569         (movhi_internal1): Rename to movhi_internal.  Don't check
12570         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
12571         (movqi_internal1): Rename to movqi_internal and remove
12572         TARGET_DEBUG_H_MODE dependency.
12573         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
12574
12575 2002-07-16  Jim Wilson  <wilson@redhat.com>
12576
12577         * toplev.c (lang_dependent_init): Create function context for
12578         init_expr_once.
12579
12580 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
12581
12582         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
12583         --gc-sections if -r.
12584         * config/cris/cris.h: Ditto.
12585
12586 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
12587
12588         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
12589         the comparison directly gives a mask suppress addition when cf is
12590         zero by complementing the mask.
12591
12592 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
12593
12594         * Makefile.in: Delete references to enquire.
12595         * enquire.c: Move to contrib.
12596
12597 2002-07-16  Stan Shebs  <shebs@apple.com>
12598
12599         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
12600         config/rs6000/darwin.h.
12601         (ASM_OUTPUT_SKIP): Ditto.
12602         (TEXT_SECTION_ASM_OP): Ditto.
12603         (DATA_SECTION_ASM_OP): Ditto.
12604         (ASM_APP_ON): Define.
12605         (ASM_APP_OFF): Define.
12606         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
12607         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
12608
12609         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
12610         (machopic_function_base_name): Declare result to be const.
12611         (machopic_non_lazy_ptr_name): Ditto.
12612         (machopic_stub_name): Ditto.
12613         * config/darwin-protos.h: Ditto for the prototypes.
12614
12615 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
12616
12617         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
12618
12619 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
12620
12621         * i386.md (prefetch): Fix for 64bit mode.
12622         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
12623
12624 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12625
12626         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
12627         * i386.c (x86_machine_dependent_reorg): New function.
12628         * i386-protos.h (x86_machine_dependent_reorg): Declare.
12629
12630 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
12631
12632         * builtins.c (std_expand_builtin_va_start): Remove unused
12633         first argument.
12634         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
12635         std_expand_builtin_va_start with just two arguments.
12636         * expr.h: Update prototypes.
12637
12638         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
12639         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
12640         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
12641         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
12642         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
12643         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
12644         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
12645         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
12646         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
12647         argument from all implementations of EXPAND_BUILTIN_VA_START
12648         and all uses of std_expand_builtin_va_start.
12649
12650 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
12651
12652         * regrename.c (copy_value): Don't record high part copies.
12653
12654 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
12655
12656         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
12657         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
12658         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
12659
12660 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
12661
12662         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
12663
12664         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
12665         into addsi3 using register class "x" and "y".
12666
12667         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
12668         "earlyclobber" constraint modifier for some alternative.
12669
12670         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
12671         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
12672         unordered.
12673         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
12674
12675         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
12676         (TARGET_SWITCHES): Add -mieee-compare option.
12677         (OVERRIDE_OPTIONS): 32332 is a subset of
12678         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
12679         (TARGET_SWITCHES): Fix description of bitfield option.
12680         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
12681         -mieee-compare option. Remove 32332 flag.
12682
12683 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
12684
12685         * explow.c (convert_memory_address): Remove special handling
12686         when POINTERS_EXTEND_UNSIGNED < 0.
12687         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
12688         (movedi_symbolic): Fix typo.
12689         (load_fptr): Remove mode restriction so it works for SI and DI.
12690         (load_fptr_internal1): Ditto.
12691         (load_gprel): Ditto.
12692         (load_symptr_internal1): Ditto.
12693         (call_pic): Ditto.
12694         * config/ia64.c (call_operand): Modify mode check.
12695         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
12696         (ia64_expand_move): Ditto.
12697         (ia64_assemble_integer): Handle SImode function pointers.
12698         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
12699         (ia64_expand_op_and_fetch): Ditto.
12700         (ia64_expand_compare_and_swap): Ditto.
12701         (ia64_expand_lock_test_and_set): Ditto.
12702         (ia64_expand_lock_release): Ditto.
12703
12704 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
12705
12706         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
12707
12708 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
12709             Richard Earnshaw  <rearnsha@arm.com>
12710
12711         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
12712         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
12713
12714 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
12715
12716         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
12717         understands to be a memory clobber.
12718         * arm.c (arm_expand_prologue): Use it.
12719
12720 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
12721
12722         * ra-rewrite.c: #include reload.h, insn-config.h
12723         * ra-build.c: #include reload.h
12724         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
12725         depend on reload.h, insn-config.h.
12726
12727 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
12728
12729         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
12730         the same size as a word.
12731
12732         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
12733         BYTES_BIG_ENDIAN into account.
12734
12735 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
12736
12737         * i386.md (prefetch): Fix for 64bit mode.
12738         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
12739
12740         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
12741
12742 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12743
12744         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
12745
12746 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
12747
12748         * ginclude/varargs.h: Replace with stub which issues #error.
12749         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
12750         __builtin_va_start.
12751
12752         * builtins.def (BUILT_IN_VARARGS_START): Delete.
12753         (BUILT_IN_VA_START): New.
12754         * builtins.c (expand_builtin_va_start): Eliminate first
12755         argument and code to implement pre-ISO varargs.
12756         (std_expand_builtin_va_start): Ignore first argument; it is
12757         always 1.
12758         (expand_builtin): Handle BUILT_IN_VA_START and
12759         BUILT_IN_STDARG_START identically.  Delete
12760         BUILT_IN_VARARGS_START case.
12761
12762         * function.c (assign_parms): Delete hide_last_arg and all
12763         its uses.
12764         (mark_varargs): Delete function.
12765         * function.h (struct function): Delete 'varargs' bit.
12766         (current_function_varargs): Delete macro.
12767         * tree.h: Don't declare mark_varargs.
12768
12769         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
12770         (c_expand_body): Don't call mark_varargs.
12771         * c-objc-common.c: Handle BUILT_IN_VA_START and
12772         BUILT_IN_STDARG_START identically.  Delete
12773         BUILT_IN_VARARGS_START case.
12774         * c-tree.h: Don't declare c_mark_varargs.
12775         * c-parse.in: Remove grammar rules for '&...' (which has been
12776         commented out since before 2.7.2) and for '...' in K+R
12777         argument declarations.
12778
12779         * builtins.c, function.c, integrate.c, sibcall.c,
12780         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
12781         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
12782         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
12783         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
12784         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
12785         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
12786         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
12787         config/stormy16/stormy16.c: Delete all references to
12788         current_function_varargs, and code predicated on that flag.
12789
12790         * config/alpha/alpha.c (alpha_va_start),
12791         config/arc/arc.c (arc_va_start),
12792         config/i386/i386.c (ix86_va_start),
12793         config/mips/mips.c (mips_va_start),
12794         config/mn10300/mn10300.c (mn10300_va_start),
12795         config/rs6000/rs6000.c (rs6000_va_start),
12796         config/s390/s390.c (s390_va_start),
12797         config/sh/sh.c (sh_va_start),
12798         Ignore first argument; it is always 1.
12799
12800         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
12801         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
12802         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
12803         Delete m68hc11_va_start.
12804         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
12805         No need to define EXPAND_BUILTIN_VA_START.
12806
12807         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
12808         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
12809
12810 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
12811
12812         PR optimization/7153
12813         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
12814         dies in more than one insn.
12815
12816 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
12817
12818         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
12819
12820 2002-07-15  Michael Matz  <matz@suse.de>,
12821             Daniel Berlin  <dberlin@dberlin.org>,
12822             Denis Chertykov  <denisc@overta.ru>
12823
12824         Add a new register allocator.
12825
12826         * ra.c: New file.
12827         * ra.h: New file.
12828         * ra-build.c: New file.
12829         * ra-colorize.c: New file.
12830         * ra-debug.c: New file.
12831         * ra-rewrite.c: New file.
12832
12833         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
12834         (ra-rewrite.o): New .o files for libbackend.a.
12835         (GTFILES): Add basic-block.h.
12836
12837         * toplev.c (flag_new_regalloc): New.
12838         (f_options): New option "new-ra".
12839         (rest_of_compilation): Call initialize_uninitialized_subregs()
12840         only for the old allocator.  If flag_new_regalloc is set, call
12841         new allocator, instead of local_alloc(), global_alloc() and
12842         friends.
12843
12844         * doc/invoke.texi: Document -fnew-ra.
12845         * basic-block.h (FOR_ALL_BB): New.
12846         * config/rs6000/rs6000.c (print_operand): Write small constants
12847         as @l+80.
12848
12849         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
12850         (df_reg_table_realloc): Make size at least as large as max_reg_num().
12851         (df_insn_table_realloc): Size argument now is absolute, not relative.
12852         Changed all callers.
12853
12854         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
12855         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
12856
12857         2002-06-20  Michael Matz  <matz@suse.de>
12858
12859         * df.h (struct ref.id): Make unsigned.
12860         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
12861
12862         2002-06-13  Michael Matz  <matz@suse.de>
12863
12864         * df.h (DF_REF_MODE_CHANGE): New flag.
12865         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
12866         involving subregs with invalid mode changes, when
12867         CLASS_CANNOT_CHANGE_MODE is defined.
12868
12869         2002-05-07  Michael Matz  <matz@suse.de>
12870
12871         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
12872
12873         2002-05-03  Michael Matz  <matz@suse.de>
12874
12875         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
12876
12877         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
12878
12879         * regclass.c (regclass): Work with all regs which have sets or
12880         refs.
12881         (reg_scan_mark_refs): Count regs inside (clobber ...).
12882
12883         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
12884
12885         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
12886         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
12887         add new refs.
12888         (df_bb_refs_update): Don't clear insns_modified here, ...
12889         (df_analyse): ... but here.
12890
12891         * sbitmap.c (dump_sbitmap_file): New.
12892         (debug_sbitmap): Use it.
12893
12894         * sbitmap.h (dump_sbitmap_file): Add prototype.
12895
12896         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
12897
12898         * df.c (df_insn_modify): Grow the UID table if necessary, rather
12899         than assume all emits go through df_insns_modify.
12900
12901         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
12902
12903         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
12904         increase REG_N_REFS (like flow does), so that regclass doesn't
12905         think a reg is useless, and thus, not calculate a class, when it
12906         really should have.
12907
12908         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
12909
12910         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
12911         dataflow analysis.
12912
12913 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
12914
12915         PR middle-end/7245
12916         * config/i386/i386.c (const_int_1_31_operand): New.
12917         * config/i386/i386.h (PREDICATE_CODES): Add it.
12918         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
12919         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
12920         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
12921
12922 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
12923
12924         PR target/7282
12925         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
12926         (floatunssidf2): Likewise.
12927         (floatsidf_ppc64): New insn_and_split.
12928         (floatunssidf_ppc64): Likewise.
12929
12930 2002-07-14  Andreas Jaeger  <aj@suse.de>
12931
12932         * config.gcc (sh64): Remove unused
12933         target_requires_64bit_host_wide_int.
12934
12935 2002-07-12  Roger Sayle  <roger@eyesopen.com>
12936
12937         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
12938         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
12939         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
12940         whether clear_by_pieces should be used to clear storage.
12941         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
12942
12943         * doc/tm.texi: Document these two new target macros.
12944
12945 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
12946
12947         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
12948         the scratch register.
12949         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
12950         of it, forbid reload to use it.
12951
12952 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12953
12954         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
12955         usage on 64-bit hosts, return value was truncated to 32 bits.
12956
12957 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
12958
12959         * simplify-rtx.c (simplify_subreg): Handle floating point
12960         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
12961         the element mode is requested, compute a subreg with an
12962         integer mode of the same size as the element mode first.
12963
12964 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
12965
12966         * combine.c (try_combine): When converting a paradoxical subreg
12967         to an extension, take LOAD_EXTEND_OP into account.
12968
12969 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12970
12971         * config.gcc (mips-sgi-irix6*o32): New configuration.
12972
12973         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
12974         configurations.
12975         * configure: Regenerate.
12976
12977         * config/mips/iris6-o32-as.h: New file.
12978         * config/mips/iris6-o32.h: New file.
12979
12980         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
12981         (NM_FLAGS): Define.
12982         (HAVE_AS_SHF_MERGE): Undefine.
12983
12984         * config/mips/t-iris5-as: New file.
12985         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
12986
12987         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
12988         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
12989         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
12990         dp-bit.c, fp-bit.c): Move ...
12991         * config/mips/t-iris5-6: ... here.
12992         New file, shared by IRIX 5 and IRIX 6.
12993         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
12994         mips-sgi-irix5*): Use it.
12995
12996         * config/mips/iris6.h: Remove duplicate comment.
12997
12998         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
12999         !TARGET_IRIX6]: Define.
13000         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
13001
13002         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
13003
13004 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13005
13006         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
13007         and delete code to force constant to register.
13008         * pa-protos.h (adddi3_operand): Add prototype.
13009         * pa.c (adddi3_operand): New function.
13010
13011 2002-07-11  Roger Sayle  <roger@eyesopen.com>
13012
13013         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
13014         non-ANSI builtin functions.
13015
13016 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
13017
13018         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
13019         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
13020         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
13021         (gen_const_vector_0): Use it.
13022
13023 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13024
13025         * pa.md (adddi3): For 32-bit targets, force constants to a register
13026         if they don't fit in an 11-bit immediate.  Change insn predicate to
13027         arith11_operand.  Remove comment.
13028         * pa.c (cint_ok_for_move): Fix comment.
13029         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
13030         targets.
13031
13032 2002-07-11  Tim Josling  <tej@melbpc.org.au>
13033
13034         Remove front end hard coding from gengtype.c.
13035
13036         * Makefile.in
13037         (STAGESTUFF): add gtyp-gen.h
13038         (GTFILES): Remove front end specific files.
13039         (GTFILES_FILES_LANGS): New, from configure..
13040         (GTFILES_FILES_FILES): Likewise.
13041         (GTFILES_LANG_DIR_NAMES): Likewise.
13042         (GTFILES_SRCDIR): Likewise.
13043         (gtyp-gen.h): Build from configure information.
13044         (s-gtype): Remove command line parameters from gengtype.
13045         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
13046         (mostlyclean): Delete files generated by and for gengtype.
13047
13048         * c-config-lang.in: New file.
13049
13050         * configure.in (all_gtfiles_files_langs): New. Accumulate files
13051         for each language.
13052         (all_gtfiles_files_files): New. Accumulate language for each file
13053         accumulated.
13054         (gtfiles): Pick up value for C.
13055         (srcdir): AC-SUBST this variable.
13056         (all_gtfiles_files_langs): AC-SUBST this variable.
13057         (all_gtfiles_files_files): AC-SUBST this variable.
13058
13059         * configure: Regenerate.
13060
13061         * gengtype-lex.l (parse_file): Make parameter const.
13062
13063         * gengtype.c (toplevel): include gtyp-gen.h.
13064         (BASE_FILE_<language> unnamed enum): Delete.
13065         (lang_names): Delete (replaced by gtyp-gen.h)
13066         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
13067         all references.
13068         (NUM_GT_FILES): New.
13069         (NUM_LANG_FILES): New.
13070         (srcdir_len): New.
13071         (NUM_BASE_FILES): Change calculation.
13072         (open_base_files): Change prototype to avoid warning.
13073         (startswith): Delete.
13074         (get_file_basename): Iterate through generated language list not
13075         hard coded list.
13076         (get_base_file_bitmap): Use generated list of files and languages.
13077         (close_output_files): Add prototype to rmove warning.
13078         (main): Iterate through list of generated files from gtyp-gen.h
13079         rather than command line paramaters.  Ignore duplicated file
13080         names.
13081
13082         * gengtype.h (parse_file): Amend prototype for const parameter.
13083
13084         * doc/sourcebuild.texi: Document gtfiles variable.
13085
13086         * doc/gty.texi: Document changes to gtfiles variable for front
13087         ends.
13088
13089         * objc/config-lang.in (gtfiles): Add files needed for objc front
13090         end.
13091
13092 2002-07-10  Roger Sayle  <roger@eyesopen.com>
13093
13094         PR c/2454
13095         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
13096         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
13097
13098 2002-07-10  Roger Sayle  <roger@eyesopen.com>
13099             Zack Weinberg <zack@codesourcery.com>
13100
13101         * builtins.def: Make the argument types of abort and exit
13102         independent of the front-end.
13103
13104 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
13105
13106         * config/rs6000/linux64.h (ASM_SPEC): Define.
13107
13108 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
13109
13110         * config/rs6000/rs6000.c (emit_frame_save): New.
13111         (rs6000_frame_related): Replace reg2 before reg.
13112         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
13113         and eh_return registers.
13114
13115 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
13116
13117         Revert all patches for optimization of Complex .op. Real.
13118         * complex_part_zero_p: Remove
13119         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
13120         with x.
13121         * expand_cmplxdiv_wide: Ditto.
13122         * expand_binop: Ditto.
13123
13124 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13125
13126         * config/avr/avr.md: Fix two 0x80000000 constants to make them
13127         negative also on 64-bit hosts.
13128
13129         Default to -fno-reorder-blocks when optimizing for size.
13130         * config/avr/avr-protos.h (avr_optimization_options): Declare.
13131         * config/avr/avr.c (avr_optimization_options): New function.
13132         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
13133
13134         Optimize returning from simple functions.
13135         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
13136         * config/avr/avr.c (avr_simple_epilogue): New function.
13137         * config/avr/avr.md (return): New insn.
13138
13139 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
13140
13141         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
13142         HAS_INIT_SECTION to protection.
13143
13144 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
13145
13146         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
13147         deprecated.
13148
13149 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
13150
13151         * combine.c (gen_lowpart_for_combine): Handle vector modes.
13152         Supply non-VOID mode to simplify_gen_subreg.
13153
13154 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
13155
13156         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
13157
13158 2002-07-10  Jeffrey A Law  <law@redhat.com>
13159
13160         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
13161         as appropriate.
13162
13163         * mn10200.c (expand_epilogue): Fix test to determine which scratch
13164         register to use.
13165
13166 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
13167
13168         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
13169         Get mode from dest.
13170         If simplify_gen_subreg fails, try next equivalent.
13171
13172 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
13173
13174         * diagnostic.h: #include location.h
13175         (location_t): Move definition to..
13176         * location.h: ... here.  New file.
13177         * tree.h: #include location.h
13178         (DECL_SOURCE_LOCATION): New macro.
13179         (DECL_SOURCE_FILE): Use.
13180         (DECL_SOURCE_LINE): Likewise.
13181         (struct tree_decl): REplace filename and linenum with locus.
13182         * Makefile.in (TREE_H): add location.h
13183         (diagnostic.o): Depends on gt-location.h
13184         (gt-location.h): Depends on s-gtype
13185
13186 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
13187
13188         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
13189         TARGET_OS_CPP_BUILTINS.
13190         * config/rs6000/aix31.h: Likewise.
13191         * config/rs6000/aix41.h: Likewise.
13192         * config/rs6000/aix43.h: Likewise.
13193         * config/rs6000/aix51.h: Likewise.
13194         * config/rs6000/beos.h: Likewise.
13195         * config/rs6000/darwin.h: Likewise.
13196         * config/rs6000/eabi.h: Likewise.
13197         * config/rs6000/eabisim.h: Likewise.
13198         * config/rs6000/linux.h: Likewise.
13199         * config/rs6000/linux64.h: Likewise.
13200         * config/rs6000/lynx.h: Likewise.
13201         * config/rs6000/mach.h: Likewise.
13202         * config/rs6000/rtems.h: Likewise.
13203         * config/rs6000/sysv4.h: Likewise.
13204         * config/rs6000/vxppc.h: Likewise.
13205
13206 2002-07-09 Devang Patel <dpatel@apple.com>
13207         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
13208         Do not allow ObjC objects as a parameter type for Objective-C methods.
13209         My previous patch restricted  'struct' also.
13210
13211 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
13212
13213         * cpperror.c (cpp_error): Default to directive_line within
13214         directives here.
13215         * cppexp.c (cpp_interpret_integer): Only use traditional
13216         number semantics in directives.
13217         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
13218         (do_include_common): Similarly.
13219         * cpptrad.c (scan_out_logical_line): Implement accurate
13220         quoting of <> in #include.
13221         * doc/cpp.texi: Update.
13222
13223 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
13224                           J"orn Rennecke <joern.rennecke@superh.com>
13225
13226         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
13227         * sh.md (attribute issues): Replace with:
13228         (attribute pipe_model).  All users changed.
13229         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
13230         All users changed.
13231         (function units sh5issue, sh5fds): New.
13232         (attribute is_mac_media): New.
13233         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
13234         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
13235         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
13236         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
13237         (call_media, call_value_media, sibcall_media): Likewise.
13238         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
13239         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
13240         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
13241         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
13242         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
13243         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
13244         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
13245         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
13246         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
13247         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
13248         (truncdfsf2_media): Likewise.
13249         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
13250         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
13251
13252 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
13253
13254         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
13255         * sh.c (general_extend_operand, inqhi_operand): New functions.
13256         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
13257         alternatives using 'N' modifier.  Add type.
13258         (adddi3z_media): Likewise.  Enable generator function generation.
13259         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
13260         exact predicates / constraints.  Add type.
13261         (subsi3): Allow 0 for SHMEDIA.
13262         (udivsi3_i4_media): Use match_operand for input values
13263         rather than hard registers.
13264         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
13265         unnecessarily through hard registers.  Keep copies of pseudo
13266         registers outside of the libcall sequence.
13267         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
13268         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
13269         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
13270         (extendhidi2, extendqidi2): Likewise.
13271         (andsi3_compact): Name.
13272         (andcdi3): Enable generator function generation.
13273         (zero_extendhisi2, zero_extendqisi2): Rename to
13274         (zero_extendhisi2_compact, zero_extendqisi2_compact).
13275         (extendhisi2, extendqisi2): Rename to
13276         (extendhisi2_compact, extendqisi2_compact).
13277         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
13278         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
13279         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
13280         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
13281         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
13282         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
13283         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
13284         (shmedia32_initialize_trampoline_big): Likewise.
13285         (shmedia32_initialize_trampoline_little): Likewise.
13286         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
13287         (negdi2): Remove spurious T clobber.
13288         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
13289         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
13290         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
13291         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
13292         (ic_invalidate_line_media): Write back data cache before invalidating
13293         instruction cache.  Add type.
13294         (movsf_media): Sign-extend when the destination is a general
13295         purpose register.  Add type.
13296         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
13297         (casesi_worker_0+1): Only increment ref count for proper label.
13298         (casesi_worker_0+2): Likewise.
13299
13300 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
13301
13302         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
13303
13304 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
13305
13306         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
13307         from Pmode to ptr_mode.
13308         (get_exception_pointer): Ditto.
13309         (connect_post_landing_pads): Ditto.
13310         (dw2_build_landing_pads): Ditto.
13311
13312 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
13313         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
13314         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
13315         (handle_pragma_redefine_extname): Change to use new function.
13316
13317 2002-07-08  Roger Sayle  <roger@eyesopen.com>
13318
13319         * combine.c (combine_simplify_rtx): Add an explicit cast
13320         to avoid signed/unsigned comparison warning.
13321         (simplify_if_then_else): Likewise.
13322         (extended_count): Likewise.
13323         (simplify_shift_const): Likewise.
13324         (simplify_comparison): Likewise.
13325
13326 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
13327
13328         * config/mips/mips.md: Add imadd type.  Update scheduler description
13329         to use imadd as well as imul.
13330         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
13331         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
13332         (*mul_sub_si): Likewise for first alternative.  Change second
13333         alternative from imul to multi.
13334
13335 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
13336
13337         * c-common.c (c_common_post_options): Update prototype;
13338         don't init backends if preprocessing only.
13339         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
13340         * langhooks.h (struct lang_hooks): Update post_options to
13341         return a boolean.
13342         * toplev.c (parse_options_and_default_flags, do_compile,
13343         lang_independent_init): Update prototypes.  Allow the
13344         front end to specify that there is no need to initialize
13345         the back end.
13346         (general_init): Move call to hex_init here...
13347         (toplev_main): ...from here.  Pass flag for back end init
13348         suppression.
13349
13350 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
13351
13352         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
13353         (PREDICATE_CODES): Add entries for equality_comparison_operator,
13354         greater_comparison_operator and less_comparison_operator.
13355         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
13356         more operators.
13357         (equality_comparison_operator): New function.
13358         (greater_comparison_operator, less_comparison_operator): Likewise.
13359         * sh.md (beq_media_i): Disable generator function generation.
13360         Use match_operator to handle a whole class of comparisons.  Add
13361         modifier in output template to provide branch prediction.  Add type.
13362         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
13363         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
13364         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
13365         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
13366
13367 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
13368
13369         Emit MMIX function prologue and epilogue as rtl.
13370         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
13371         not unprototyped get_hard_reg_initial_val.
13372         ("call_value", "nonlocal_goto_receiver"): Ditto.
13373         ("return"): Make define_expand.  Move real insn to...
13374         ("*expanded_return"): New pattern.
13375         ("prologue", "epilogue"): New define_expands.
13376         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
13377         (struct machine_function): New member in_prologue.
13378         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
13379         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
13380         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
13381         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
13382         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
13383         (LOCAL_REGNO): Define.  Adjust comment.
13384         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
13385         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
13386         leaf_function_p.
13387         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
13388         the prologue.
13389         (mmix_target_asm_function_prologue): Make static.  Just mark that
13390         the prologue is being emitted.  Move guts to...
13391         (mmix_expand_prologue): New function.  Adjust for emitting
13392         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
13393         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
13394         \n.  Move guts to...
13395         (mmix_expand_epilogue): New function.  Adjust for emitting
13396         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
13397         (mmix_target_asm_function_end_prologue): Mark that the prologue
13398         has ended.
13399         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
13400         (mmix_conditional_register_usage): Improve comments.
13401         (mmix_local_regno): New function.
13402         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
13403         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
13404         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
13405         (mmix_get_hard_reg_initial_val): Ditto.
13406
13407 2002-07-06  Andreas Jaeger  <aj@suse.de>
13408
13409         * toplev.c (set_fast_math_flags): Don't use ISO C style function
13410         definitions.
13411         * gengtype.c (open_base_files): Likewise.
13412         (close_output_files): Likewise.
13413         * tracer.c (find_best_predecessor): Likewise.
13414         (find_best_successor): Likewise.
13415         (ignore_bb_p): Likewise.
13416
13417 2002-07-05  Roger Sayle  <roger@eyesopen.com>
13418
13419         PR c++/7099
13420         * builtin-attrs.def: Define new attribute lists for use in
13421         builtins.def.
13422         * builtins.def [DEF_BUILTIN]: Modify to take an additional
13423         ATTRS argument, an enumerated value defined in builtin-attrs.def
13424         that represents the attribute list for the builtins.  Modify
13425         all builtin functions to pass an appropriate attribute list.
13426         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
13427         their required noreturn attributes.
13428         * tree.h (enum_builtin_function): Ignore the additional parameter
13429         to DEF_BUILTIN.
13430         * builtins.c (built_in_names): Likewise.
13431         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
13432         argument with a tree representing the functions attribute list.
13433         Pass this "attrs" argument to builtin_function.  No longer handle
13434         the noreturn_p processing manually.
13435         (built_in_attributes): Move the definitions from builtin-attrs.def
13436         before c_common_nodes_and_builtins.
13437         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
13438         DEF_BUILTIN, passing it to both builtin_function and the changed
13439         builtin_function_2.
13440
13441         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
13442         __builtin__exit and __builtin__Exit.
13443
13444 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13445
13446         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
13447         QI mode registers in soft registers.
13448         ("zero_extendqihi2"): Do not take into account soft registers
13449         for register allocation (use '*' constraint).
13450
13451 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13452
13453         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
13454         it is dead.
13455         ("*ashrsi3"): Likewise.
13456         ("*lshrsi3"): Likewise.
13457
13458 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
13459
13460         * genautomata.c (output_max_insn_queue_index_def): Take latencies
13461         into account.
13462
13463 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13464
13465         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
13466         address computation and memory moves.
13467
13468 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
13469
13470         PR c++/6706
13471         * dwarfout.c (output_reg_number): Fix warning message.
13472         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
13473         before using it.
13474
13475 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13476
13477         * gcc/gcc.c (asm_debug): Move initialization ...
13478         (init_spec): ... here.
13479
13480 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
13481
13482         * c-parse.in (extdef): Append ';'.
13483         (old_style_parm_decls): Append ';'.
13484
13485 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
13486
13487         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
13488         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
13489         to gcc_cv_as_gstabs_flag.
13490         * configure: Rebuilt.
13491
13492 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
13493
13494         * ggc.h (ggc_add_root): Document as obsolete.
13495
13496 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
13497
13498         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
13499         (mshflo_w): Likewise.
13500
13501 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
13502
13503         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
13504         vector mode subregs of constants to finding integer mode
13505         subregs of constants.
13506         * cse.c (cse_insn): Use simplify_gen_subreg.
13507         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
13508         From a vector mode expression of different size than the
13509         target mode.
13510
13511 2002-07-03  Eric Christopher  <echristo@redhat.com>
13512
13513         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
13514         * config/mips/mips.h: Remove deprecated -m<processor> options
13515         and cc1_cpu_spec associated.
13516         (CONSTANT_ADDRESS_P): Fix last patch.
13517         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
13518         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
13519         sunge_sf): Remove.
13520
13521 2002-07-03  Stan Shebs  <shebs@apple.com>
13522
13523         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
13524         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
13525         (CPP_SPEC): Remove insertion of APPLE_CC definition.
13526
13527 2002-07-03  Roger Sayle  <roger@eyesopen.com>
13528
13529         * combine.c (struct_undo): Change types of recorded substitutions
13530         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
13531         (do_SUBST_INT): Change types of the substitution from unsigned int
13532         to int, to avoid compilation warning from SUBST_INT's only caller.
13533
13534         (make_extraction): Add cast to avoid compilation warning.
13535         (force_to_mode): Remove cast to avoid compilation warning.
13536
13537 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
13538             Jeff Law  <law@redhat.com>
13539
13540         * i386.md (length_immediate attribute): Fix typo.
13541         (length_address attribute): Likewise.
13542         (modrm attribute): Set it to 0 for immediate call instructions.
13543         (jcc_1 pattern): Set modrm attribute to 0.
13544         (jcc_2 pattern ): Likewise.
13545         (jump pattern): Likewise.
13546         (doloop_end_internal pattern): Explicitly set length.
13547         (leave pattern): Fix typo.
13548         (leave_rex64 pattern): Likewise.
13549
13550 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
13551
13552         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
13553         in FPR as preference.
13554         (fctiwz): Same.
13555         (floatdidf2, fix_truncdfdi2): Same.
13556         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
13557         (floatditf2): Same.
13558         (floatsitf2, fix_trunctfsi2): SImode in GPR.
13559         (ctrdi): Remove FPR alternative and splitter.
13560
13561 2002-07-03  Will Cohen  <wcohen@redhat.com>
13562
13563         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
13564
13565 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
13566
13567         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
13568         than UNITS_PER_WORD, unless this is little endian and the first unit
13569         in this word.  Let extract_bit_field decide how to load an element.
13570         Force arguments to matching mode.
13571         (expand_vector_unop): Likewise.
13572
13573         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
13574         consist of word_mode elements.
13575         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
13576         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
13577         (build_unary_op): Allow vector types for BIT_NOT_EPR.
13578         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
13579         CONST_VECTOR.
13580         * optabs.c (expand_vector_binop): Try to perform operation in
13581         smaller vector modes with same inner size.  Add handling of AND, IOR
13582         and XOR.  Reject expansion to inner-mode sized scalars when using
13583         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
13584         (expand_vector_unop): Try to perform operation in smaller vector
13585         modes with same inner size.  Add handling of one's complement.
13586         When there is no vector negate operation, try a vector subtract
13587         operation.  Use simplify_gen_subreg on constants.
13588         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
13589         constants into smaller vectors with same inner mode, and to
13590         integer CONST_DOUBLEs.
13591
13592 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13593
13594         * c-parse.in (parsing_iso_function_signature): New variable.
13595         (extdef_1): New, copied from...
13596         (extdef): ... here.  Reset parsing_iso_function_signature.
13597         (old_style_parm_decls):  Reset parsing_iso_function_signature.
13598         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
13599         Warn about ISO C style function definitions.
13600         (nested_function, notype_nested_function): Reset
13601         parsing_iso_function_signature.
13602         (parmlist_2): Set parsing_iso_function_signature.
13603
13604         * doc/invoke.texi (-Wtraditional): Document new behavior.
13605
13606 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
13607
13608         * config.gcc (mips*el-*-*): Use tm_defines to set
13609         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
13610         * config/mips/little.h: Remove.
13611
13612 2002-07-02 Devang Patel <dpatel@apple.com>
13613
13614         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
13615         object as parameter. Prevent something like 'NSObject' to be
13616         used as the type for a method argument.
13617
13618 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
13619
13620         * cpptrad.c: Update comment.
13621
13622 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
13623
13624         * doc/cpp.texi: Update for traditional preprocessing changes.
13625         * goc/cppopts.texi: Similarly.
13626
13627 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
13628
13629         * c-parse.in (designator): Enable designated initializers if ObjC.
13630         (objcmessageexpr): Remove references to objc_receiver_context.
13631         * objc/objc-act.h (objc_receiver_context): Remove decl.
13632         * objc/objc-act.c (objc_receiver_context): Remove.
13633         (lookup_objc_ivar): Test objc_method_context instead of
13634         objc_receiver_context.
13635
13636 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
13637
13638         * sh.c (print_operand, case 'N'): Allow zero vector.
13639         (arith_reg_or_0_operand): Likewise.
13640         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
13641         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
13642         IOR, XOR, PLUS and SET and take their respective constant
13643         ranges into account.
13644         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
13645         * sh.md (subdi3, subdi3_media): Allow zero operand.
13646         (movv8qi_i+3): Only vector that is not split is the zero vector.
13647         Fix operand 3 to simplify_subreg.
13648         (movv2si_i): Split alternative 1.
13649         (mshfhi_l_di_rev+1): New splitter.
13650
13651 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
13652
13653         PR preprocessor/7029
13654         * cppinit.c (cpp_handle_option):  Suppress warnings with an
13655         implicit "-w" for "-M" and "-MM".
13656         * doc/cppopts.texi: Update.
13657
13658 2002-07-01  Roger Sayle  <roger@eyesopen.com>
13659
13660         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
13661         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
13662         builtin_function.
13663
13664 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
13665
13666         * README.Portability: Fix typos.
13667
13668 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
13669
13670         PR target/7177
13671         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
13672         of indirections for register inside sign-extended mem part.
13673
13674 2002-07-01  Roger Sayle  <roger@eyesopen.com>
13675
13676         * tree.h:  Modify builtin_function interface to take an extra
13677         argument ATTRS, which is a tree representing an attribute list.
13678
13679         * c-decl.c (builtin_function): Accept additional parameter.
13680         * objc/objc-act.c (builtin_function): Likewise.
13681         * f/com.c (builtin_function): Likewise.
13682         * java/decl.c (builtin_function): Likewise.
13683         * ada/utils.c (builtin_function): Likewise.
13684         * cp/decl.c (builtin_function): Likewise.
13685         (builtin_function_1): Likewise.
13686
13687         * c-common.c (c_common_nodes_and_builtins): Pass an additional
13688         NULL_TREE argument to builtin_function.  (builtin_function_2):
13689         Likewise.
13690         * cp/call.c (build_java_interface_fn_ref): Likewise.
13691         * objc/objc-act.c (synth_module_prologue): Likewise.
13692         * java/decl.c (java_init_decl_processing): Likewise.
13693         * f/com.c (ffe_com_init_0): Likewise.
13694
13695         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
13696         NULL_TREE argument to builtin_function.
13697         * config/arm/arm.c (def_builtin): Likewise.
13698         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
13699         * config/i386/i386.c (def_builtin): Likewise.
13700         * config/ia64/ia64.c (def_builtin): Likewise.
13701         * config/rs6000/rs6000.c (def_builtin): Likewise.
13702
13703 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
13704
13705         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
13706         * config/mips/t-isa3264: Likewise.
13707         * config/mmix/t-mmix: Likewise.
13708
13709 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13710
13711         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
13712
13713 2002-07-01  Roger Sayle  <roger@eyesopen.com>
13714
13715         PR opt/4046
13716         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
13717         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
13718         B are truth values.
13719
13720 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
13721
13722         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
13723
13724 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
13725
13726         * README.Portability (Function prototypes): Give an example of
13727         declaring and defining a function with no arguments.
13728
13729         * README.Portability (Function prototypes): Document new
13730         variable-argument function macros.
13731
13732 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
13733
13734         * sh.c (langhooks.h): Include.
13735         (sh_init_builtins, sh_media_init_builtins): New functions.
13736         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
13737         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
13738         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
13739         (builtin_description): New struct tag.
13740         (signature_args, bdesc): New arrays.
13741         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
13742         (print_operand): Add 'N' modifier.
13743         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
13744         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
13745         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
13746         (CONST_COSTS): Add special case for SHmedia AND.
13747         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
13748         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
13749         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
13750         target_operand can also be const or unspec.
13751         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
13752         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
13753         (attribute type): Add new types.
13754         (anddi3): Add splitter.
13755         (movdi_const_16bit+1): Add code to handle vector constants and
13756         bitmasks efficiently.
13757         (shori_media): Have generator function made.
13758         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
13759         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
13760         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
13761         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
13762         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
13763         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
13764         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
13765         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
13766         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
13767         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
13768         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
13769         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
13770         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
13771         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
13772         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
13773         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
13774         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
13775         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
13776         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
13777         (ftrv): Likewise.
13778
13779         (fpu_switch+1, fpu_switch+2): Remove constraint.
13780
13781 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
13782
13783         * tree.c (build_function_type_list): Update function comment.
13784         Rename first argument to return_type.
13785
13786 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
13787
13788         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
13789         tradcif.y and related files.
13790
13791 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
13792
13793         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
13794
13795 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13796
13797         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
13798
13799 See ChangeLog.7 for earlier changes.