OSDN Git Service

* c-pretty-print.h: Fix comment typos.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2
3         * c-pretty-print.h: Fix comment typos.
4         * integrate.c: Likewise.
5         * varasm.c: Likewise.
6         * config/c4x/c4x.h: Likewise.
7         * config/c4x/c4x.md: Likewise.
8         * config/fr30/fr30.md: Likewise.
9         * config/frv/frv.c: Likewise.
10         * config/h8300/h8300.c: Likewise.
11         * config/i386/i386.c: Likewise.
12         * config/i386/i386.h: Likewise.
13         * config/ia64/ia64.c: Likewise.
14         * config/ia64/ia64.h: Likewise.
15         * config/ip2k/ip2k.md: Likewise.
16         * config/m68hc11/m68hc11-crt0.S: Likewise.
17         * config/m68hc11/m68hc11.h: Likewise.
18         * config/m68hc11/m68hc11.md: Likewise.
19         * config/m68hc11/m68hc12.h: Likewise.
20         * config/mcore/mcore.md: Likewise.
21         * config/mips/mips.c: Likewise.
22         * config/mips/mips.md: Likewise.
23         * config/mmix/mmix-modes.def: Likewise.
24         * config/pa/pa.c: Likewise.
25         * config/rs6000/rs6000.c: Likewise.
26         * config/rs6000/rs6000.h: Likewise.
27         * config/rs6000/rs6000.md: Likewise.
28
29 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
30
31         * config/h8300/h8300.md (output_a_shift): Clean up the code to
32         output shifts using rotation.
33
34 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
35
36         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
37
38 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
39
40         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
41         pointer.
42         (pushqi_h8300hs): Likewise.
43         (pushhi_h8300): Likewise.
44         (pushhi_h8300hs): Likewise.
45
46 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
47
48         * sched-rgn.c (init_regions): Update comment.
49
50 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
51
52         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
53         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
54         attributes.
55         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
56         (get_vrsave_internal,set_vrsave_internal): Same.
57         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
58         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
59         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
60
61 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
62             Danny Smith  <dannysmith@users.sourceforge.net>
63             Eric Kohl  <ekohl@rz-online.de>
64
65         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
66         attributes incompatible with fastcall attribute.
67         (ix86_handle_regparm_attribute): Likewise.
68
69         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
70         fastcall types.
71
72         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
73         attributes.
74         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
75         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
76         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
77         i386_pe_output_labelref rather than here.
78         (gen_fastcall_suffix): New function. Decorates a label name with the
79         fastcall prefix (@) and the stdcall suffix.
80         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
81         has a fastcall attribute.
82         (i386_pe_output_labelref): New function. Outputs a label reference.
83         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
84         valid attribute.
85         (ix86_return_pops_args): Fastcall functions pop the stack.
86         (init_cumulative_args): Reserve registers ECX and EDX if function has
87         fastcall attribute.
88         (function_arg): Use registers ECX and EDX if function has fastcall
89         attribute.
90         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
91         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
92         (FASTCALL_PREFIX): Define as '@'.
93         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
94         attributes.
95         * doc/extend.texi: Add documentation of fastcall attribute.
96
97 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
98
99         * configure.in: FORBUILD when build!=host changed from 
100         ../$build-alias to ../build-$build_alias to match change made
101         in top directory.
102         * configure: Regenerated.
103
104 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
105
106         PR optimization/8988
107         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
108         the biv when eliminating.
109
110 2002-12-19  Devang Patel  <dpatel@apple.com>
111         * gcc.c (struct default_compiler): Recognizes input file name with
112         .CPP extension as C++ source files
113         * cp/lang-spec.h: Same
114         * doc/invoke.texi:  Add documentation for .CPP support.
115         
116 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
117
118         PR 8553
119         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
120         registers.
121         ("absv16qi2"): Same.
122         ("absv4si2"): Same.
123         ("absv4sf2"): Same.
124         ("altivec_abss_v16qi"): Same.
125         ("altivec_abss_v8hi"): Same.
126         ("altivec_abss_v4si"): Same.
127
128 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
129
130         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
131         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
132
133 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
134
135         PR target/8340
136         * stmt.c (expand_asm_operands): Produce an error when
137         the PIC register is clobbered.
138
139 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
140
141         * Makefile.in (OBJS): Add alloc-pool.o
142         (alloc-pool.o): New object.
143
144         * alloc-pool.c: New file.
145         * alloc-pool.h: New file.
146
147 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
148
149         * gcc.c (validate_switches): Robustify against skipping past '\0'.
150
151 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
152
153         * config.gcc: Set extra_objs in the generic Darwin rule,
154         not in the machine-specific rules.
155
156 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
157
158         * ChangeLog: Follow spelling conventions.
159         * ChangeLog.2: Likewise.
160         * ChangeLog.4: Likewise.
161         * ChangeLog.5: Likewise.
162         * cppexp.c: Likewise.
163         * df.c: Likewise.
164         * gcov.c: Likewise.
165         * gengtype.c: Likewise.
166         * reload1.c: Likewise.
167         * sched-rgn.c: Likewise.
168         * stmt.c: Likewise.
169         * stor-layout.c: Likewise.
170         * timevar.c: Likewise.
171         * toplev.c: Likewise.
172         * tree.h: Likewise.
173         * varasm.c: Likewise.
174         * config/fr30/fr30.md: Likewise.
175         * config/i386/i386.c: Likewise.
176         * config/ia64/ia64.c: Likewise.
177         * config/pa/pa.c: Likewise.
178
179 2002-12-18  Roger Sayle  <roger@eyesopen.com>
180
181         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
182
183 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
184
185         PR 8551
186         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
187         macro.
188         (vec_cmplt C++ functions): Reverse arguments.
189
190 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
191
192         * config/rs6000/t-rs6000: Move contents to t-fprules,
193         add rules for dependencies of rs6000.o and to build rs6000-c.o
194         * config/rs6000/t-fprules: New file from t-rs6000.
195         * config/rs6000/t-beos: Remove soft-fp rules.
196         * config/rs6000/t-ppccomm: Likewise.
197         * config/rs6000/t-newas: Likewise.
198         * config/rs6000/t-rs6000-c-rule: Delete.
199         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
200         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
201         Create generic Darwin rules.
202
203         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
204
205 2002-12-18  Doug Evans  <dje@sebabeach.org>
206
207         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
208         and LIT_NAME_P.
209         (move_src_operand): Remove compile-time warning.
210         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
211
212 2002-12-18  Jason Merrill  <jason@redhat.com>
213
214         * unwind-dw2-fde.c (frame_downheap): Split out from...
215         (frame_heapsort): Here.
216
217 2002-12-17  Jason Merrill  <jason@redhat.com>
218
219         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
220         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
221
222         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
223
224         * calls.c (expand_call): Don't try to be clever about expanding
225         the return slot address.
226
227 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
228
229         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
230         Define.
231
232 2002-12-17  Jason Merrill  <jason@redhat.com>
233
234         * genmultilib: Use 'cd ./foo'.
235
236 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
237
238         * doc/c-tree.texi: Restore deliberate spelling mistakes.
239
240 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
241
242         * doc/c-tree.texi: Fix typos and follow spelling conventions.
243         * doc/cpp.texi: Likewise.
244         * doc/extend.texi: Likewise.
245         * doc/gty.texi: Likewise.
246         * doc/install.texi: Likewise.
247         * doc/invoke.texi: Likewise.
248         * doc/md.texi: Likewise.
249         * doc/passes.texi: Likewise.
250         * doc/rtl.texi: Likewise.
251         * doc/sourcebuild.texi: Likewise.
252         * doc/tm.texi: Likewise.
253
254 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
255
256         * doc/invoke.texi: Minor spelling and grammar fixes.
257
258 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
259
260         * config/s390/s390.c (s390_output_constant_pool): Replace
261         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
262
263 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
264
265         * convert.c (convert_to_real): Disable function transformation for
266         now.
267
268 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
269
270         * gcc.c (handle_braces): Allow '@' as a switch name.
271
272 2002-12-16  Jason Merrill  <jason@redhat.com>
273
274         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
275         with special struct-return ABIs.
276
277         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
278         doesn't match the begin SCOPE_STMT in partialness.
279
280 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
281
282         * genmultilib: Create temporary files in unique subdirectory.
283
284         * gcc.c (validate_switches): Allow '@' as a switch name.
285
286 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
287
288         * Makefile.in (gcov-iov.h): Improve portability.
289
290 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
291
292         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
293         gas
294         * mips.md (tablejump insn): Likewise.
295
296 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
297
298         * doc/include/gcc-common.texi: Change version number to 3.4.
299
300 2002-12-16  Bruce Korb  <bkorb@gnu.org>
301
302         * fixinc/fixlib.h: add: #include <signal.h>
303         * fixinc/fixincl.c: remove: #include <signal.h>
304
305 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
306
307         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
308         (EXTRA_CONSTRAINT): Use it.
309         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
310
311 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
312
313         * config.gcc (need_64bit_hwint): New variable.
314         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
315         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
316         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
317         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
318         Set it.
319         (powerpc*-*-darwin*): Unset it.
320         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
321         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
322         deleted/nonexistent xm-*.h headers.
323         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
324         target set need_64bit_hwint in config.gcc.
325         * configure, config.in: Regenerate.
326
327         * hwint.h: Overhaul.  Don't bother trying int for
328         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
329         decision to force 64-bit HOST_WIDE_INT on
330         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
331         not visible at this point.  Don't allow prior definition of
332         any macro defined by this file.
333
334         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
335         HOST_BITS_PER_WIDE_INT.
336         * config/c4x/c4x.h: Adjust redefinition of
337         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
338         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
339         config/i386/xm-i386-interix.h: Delete file.
340
341 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
342             John David Anglin  <dave@hiauly1.hia.nrc.ca>
343
344         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
345         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
346
347 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
348
349         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
350
351 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
352
353         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
354         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
355         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
356         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
357         config/v850/t-v850:  Correct dependencies and normalize
358         compilation commands for files that include coretypes.h and tm.h.
359
360         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
361         not config.h and system.h.
362
363 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
364
365         * i386.c (flags_reg_operand):  New function.
366         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
367         * i386.md (cmov splitter, movqicc): Use new predicate.
368
369 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
370
371         * i386.md (movqicc splitter): Fix template.
372
373 2002-12-13  Jason Merrill  <jason@redhat.com>
374
375         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
376         * calls.c (expand_call): Handle it.
377         * tree-inline.c (struct inline_data): Remove target_exprs field.
378         (optimize_inline_calls): Don't initialize it.
379         (expand_call_inline): Don't modify it.  Handle
380         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
381         (declare_return_variable): Take return slot addr.
382         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
383         to return_slot_addr.
384         * langhooks-def.h, langhooks.c: Adjust.
385         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
386         a decl with no DECL_INITIAL.
387
388         * expr.c (expand_expr): Don't discard the target of a call which
389         returns in memory.
390
391 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
392
393         * cppinit.c (path_include): Take an environment variable name.
394         Tidy up.
395         (init_standard_includes): Simplify environment handling, and
396         move to ...
397         (cpp_read_main_file): ...here as -nostdinc should not affect
398         environment variable paths.
399
400 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
401
402         * pa.c (output_millicode_call): Correct typo.
403         (output_call): Likewise.
404
405 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
406
407         * config/mn10300/mn10300.c (print_operand) <case N>: Check
408         operand's range.  Print value directly, without aid from
409         output_address.
410         <case U>: New.
411         <case S>: Make sure argument to fprintf has the right type.
412         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
413         (EXTRA_CONSTRAINT): Adjust.
414         * config/mn10300/mn10300.md: Add new all-QImode pattern for
415         bclr.  Use %U for immediate operands of bset and bclr.
416         (iorqi3): New expand, with insns for AM33 and mn10300.
417
418 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
419
420         * sh.c (sh_register_operand): New function.
421         (prepare_move_operands): Use it.
422         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
423         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
424         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
425         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
426         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
427         (movv2si_i): Likewise.
428
429 2002-12-13  Jim Wilson  <wilson@redhat.com>
430
431         * doc/extend.texi (Complex Numbers): Update info on debug info.
432
433 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
434
435         * config/h8300/h8300.md (addhi3_h8300): Remove the last
436         alternative.
437
438 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
439
440         * hooks.h (hook_tree_tree_bool_false): Declare
441         hook_bool_tree_tree_false instead.
442
443 2002-12-12  Devang Patel  <dpatel@apple.com>
444
445         * doc/invoke.texi: Document Darwin linker options, -bundle
446         -bind_at_load, -all_load and -arch_errors_fatal
447
448 2002-12-12  Jim Wilson  <wilson@redhat.com>
449
450         * dbxout.c (dbxout_fptype_value): New.
451         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
452
453 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
454
455         * c-decl.c: Fix a comment typo.
456         * cfg.c: Likewise.
457         * cfgcleanup.c: Likewise.
458         * cfglayout.c: Likewise.
459         * cfgrtl.c: Likewise.
460         * c-typeck.c: Likewise.
461         * dominance.c: Likewise.
462         * dwarf2asm.c: Likewise.
463         * dwarfout.c: Likewise.
464         * expmed.c: Likewise.
465         * expr.c: Likewise.
466         * final.c: Likewise.
467         * flow.c: Likewise.
468         * function.c: Likewise.
469         * gcc.c: Likewise.
470         * genautomata.c: Likewise.
471         * integrate.c: Likewise.
472         * loop.c: Likewise.
473         * loop.h: Likewise.
474         * output.h: Likewise.
475         * profile.c: Likewise.
476         * ra.h: Likewise.
477         * reload1.c: Likewise.
478         * reload.c: Likewise.
479         * sched-rgn.c: Likewise.
480         * stmt.c: Likewise.
481         * tree.h: Likewise.
482         * vmsdbgout.c: Likewise.
483
484 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
485
486         * config/h8300/h8300.md: Add a new peephole2.
487
488 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
489
490         * config/h8300/h8300.md (a peephole2): Accept a constant
491         that's accepted by CONST_OK_FOR_J.
492
493 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
494
495         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
496         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
497         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
498         (*addhi_h8300hs): Likewise.
499
500 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
501
502         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
503         (sh_register_move_cost): Add clause for SImode fp-fp moves.
504         Increase cost for moves involving multiple general purpose registers.
505         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
506         TARGET_FMOVD.
507         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
508         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
509         (enum reg_class reg_class_from_letter): No longer const.
510         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
511         REGCLASS_HAS_GENERAL_REG.
512         Handle SImode moves from/to fp registers.
513         ! TARGET_SHMEDIA && TARGET_FMOVD.
514         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
515         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
516
517 2002-12-12  Andreas Schwab  <schwab@suse.de>
518
519         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
520         change and some warnings.
521
522 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
523
524         * doc/md.texi (pushm): Fix a typo.
525
526 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
527
528         * config/mips/mips.c (mips_output_conditional_branch): Support
529         PIC-safe out-of-range branch and branch-likely.
530         * config/mips/mips.md (attr length): PIC-safe out-of-range
531         branches are longer.
532         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
533         unused code to support indirect jumps.
534
535 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
536
537         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
538         $(tm_file_list).
539
540 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
541
542         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
543
544 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
545
546         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
547
548 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
549
550         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
551         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
552         BIGGEST_ALIGNMENT.
553         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
554         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
555
556 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
557
558         * doc/invoke.texi: Correct dump file names.
559
560 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
561
562         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
563         name to globalize_label or assemble_name.
564
565 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
566
567         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
568         if not TARGET_SHMEDIA.
569
570 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
571
572         * sh.h (REG_CLASS_HAS_FP_REG): New.
573         (REGISTER_MOVE_COST) Use it.  Put body into a function and
574         move it into:
575         * sh.c (sh_register_move_cost).
576         * sh-protos.h (sh_register_move_cost): Declare.
577
578         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
579         (sh_adjust_cost): Always return a value.
580
581 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
582
583         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
584         (REGISTER_MOVE_COST): Use it.
585
586 2002-12-11  Richard Henderson  <rth@redhat.com>
587
588         * tree.h (MODULE_LOCAL_P): Kill.
589         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
590
591 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
592
593         * config/h8300/h8300.md (two define_peephole2): New.
594
595 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
596
597         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
598         (CONST_OK_FOR_K): Likewise.
599         (CONST_OK_FOR_M): Likewise.
600         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
601
602 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
603
604         * c-common.c (builtin_define_type_max): Handle unsigned
605         types too.
606
607 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
608
609         * haifa-sched.c (rank_for_schedule): Correct style.
610
611 2002-12-10  Per Bothner  <pbothner@apple.com>
612
613         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
614         directive_index into an unsigned field and a new is_directive field.
615         * cppinit.c (mark_named_operators):  Update to set new fields.
616         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
617         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
618         No longer need to subtract 1 from directive_index.
619         (_cpp_init_directives):  No longer need to add 1 to directive_index.
620         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
621
622 2002-12-10  Roger Sayle  <roger@eyesopen.com>
623
624         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
625         check for evaluating sqrt of a constant at compile time.
626         * simplify-rtx.c (simplify_unary_operation): Likewise.
627
628 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
629
630         PR other/8882
631         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
632
633 2002-12-10  Devang Patel  <dpatel@appple.com>
634
635         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
636         * doc/invoke.texi: Add new "Darwin Options" section.
637
638 2002-12-10  Jim Wilson  <wilson@redhat.com>
639
640         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
641         memory.
642
643 2002-12-10  Andrew Haley  <aph@redhat.com>
644
645         * cse.c (cse_insn): Don't cse past a basic block boundary.
646
647 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
648
649         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
650         -shared.
651         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
652         * config/alpha/linux.h (LIB_SPEC): Likewise.
653         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
654         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
655         * config/sparc/linux.h (LIB_SPEC): Likewise.
656         * config/sparc/linux64.h (LIB_SPEC): Likewise.
657
658 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
659
660         * doc/invoke.texi: Document UltraSparc III option.
661
662 2002-12-09  Richard Henderson  <rth@redhat.com>
663
664         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
665         __tune_pentium2__ and __tune_pentium3__ as necessary.
666
667 2002-12-09  Richard Henderson  <rth@redhat.com>
668
669         * target.h (gcc_target): Add cannot_force_const_mem.
670         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
671         (TARGET_INITIALIZER): Add it.
672         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
673         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
674         * reload1.c (reload): Likewise.
675         * hooks.c (hook_bool_rtx_false): New.
676         * hooks.h: Declare it.
677
678         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
679         (TARGET_CANNOT_FORCE_CONST_MEM): New.
680         (ix86_expand_move): Remove de-const-pooling hack.
681
682 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
683
684         * toplev.c (dump_file): Fix order to match reality.
685
686 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
687
688         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
689         (store_multiple): Likewise.
690
691 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
692
693         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
694         function pointers in page 0.
695
696 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
697
698         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
699         definition
700         (MEMBER_TYPE_FORCES_BLK): Move.
701         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
702         aggregate arguments.
703         (ia64_function_value): Use PARALLEL to return aggregate values.
704
705 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
706
707         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
708         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
709         * calls.c (store_unaligned_arguments_into_pseudos) Remove
710         FUNCTION_ARG_REG_LITTLE_ENDIAN.
711         * stmt.c (expand_return): Ditto.
712         * expr.c (move_block_from_reg): Ditto.
713         (copy_blkmode_from_reg): Ditto.
714         * expmed.c (store_bit_field): Ditto.
715
716 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
717
718         * config.gcc: Added tic4x-* target as an alias to c4x-*
719
720 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
721
722         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
723         constructing insn directly.
724
725 2002-12-06  Per Bothner  <pbothner@apple.com>
726
727         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
728         char to an int bit-field, for hosts where char is unsigned.
729
730 2002-12-07  Roger Sayle  <roger@eyesopen.com>
731             Richard Henderson <rth@redhat.com>
732
733         * real.c (ieee_extended_motorola_format,
734         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
735         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
736         Provide appropriate values for new signbit field.
737
738 2002-12-07  Roger Sayle  <roger@eyesopen.com>
739
740         * real.h (real_format): Add signbit field.
741         * real.c (ieee_single_format, ieee_double_format,
742         ieee_extended_motorola_format, ieee_extended_intel_96_format,
743         ieee_extended_intel_128_format, ibm_extended_format,
744         ieee_quad_format, vax_f_format, vax_d_format,
745         vax_g_format, i370_single_format, i370_double_format,
746         c4x_single_format, c4x_extended_format, real_internal_format):
747         Provide suitable signbit value, or -1 to avoid bit twiddling.
748
749         * optabs.c (expand_unop): Try implementing negation of
750         floating point modes by flipping the sign bit.
751         (expand_abs): Try implementing abs of floating point modes
752         by clearing the sign bit.
753
754 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
755
756         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
757         of constructing insn directly.
758
759 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
760
761         * config/h8300/h8300.md (*iorhi_shift_8): New.
762
763 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
764
765         * doc/invoke.texi: Document FRV port options.
766         * doc/md.texi: Document FRV register classes.
767
768 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
769
770         * doc/install.texi (Configuration): Improve description of cases
771         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
772
773 2002-12-06  Per Bothner  <pbothner@apple.com>
774
775         * cpplib.h (NODE_MACRO_ARG):  New flag.
776         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
777         Remove value.operator field.  Move arg_index field to value union.
778         (directive_index):  Make signed, since also used for C++ operators.
779         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
780         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
781         Save node->value, and set node->value.arg_index.
782         (_cpp_create_definition):  For each paramater, restore node->value.
783         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
784         * cpptrad.c (scan_out_logical_line): Likewise.
785         (scan_out_logical_line): Check for directive > 0.
786         * cpplib.c (cpp_handle_directive):  Likewise.
787         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
788         by negative of directive_index.
789         * cppinit.c (mark_named_operators):  Likewise.
790
791         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
792
793 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
794
795         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
796         FPU.
797         (push): Generate push_fpscr.
798         (pop): Generate pop_fpscr.
799         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
800         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
801
802 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
803
804         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
805         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
806
807 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
808
809         * sh.md (movdi_i): Name.  Remove inappropriate comment.
810
811 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
812         Merged from basic improvements branch (excerpt):
813
814         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
815         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
816
817 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
818
819         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
820
821 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
822
823         * i386.md (dimode peep2s): Re-add "&& 1".
824
825 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
826
827         * i386.c (ix86_expand_prologue):  Add comment, do not use
828         fast prologues for cold and normal functions.
829
830 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
831
832         * i386.c (x86_rep_movl_optimal): New variable.
833         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
834         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
835
836         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
837         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
838         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
839         generate unnecesary subregs.
840
841 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
842
843         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
844         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
845
846 2002-12-05  Dale Johannesen  <dalej@apple.com>
847
848         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
849
850 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
851
852         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
853         PROFILE_HOOK.
854         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
855
856 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
857
858         * config/rs6000/spe.h (__ev_mwlufi): Remove.
859         (__ev_mwlufia): Remove.
860         (__ev_mwlumfaaw): Remove.
861         (__ev_mwlusfaaw): Remove.
862         (__ev_mwlumfanw): Remove.
863         (__ev_mwlusfanw): Remove.
864
865 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
866
867         * config/h8300/h8300.md (*andorsi3_shift_8): New.
868
869 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
870
871         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
872         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
873         (get_shift_alg): Return optimal assembly instructions for the
874         shifts mentioned above.
875
876 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
877
878         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
879         condtiional moves.
880
881 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
882
883         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
884         implement ashiftrt:HI by 13 bits on H8S.
885
886 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
887
888         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
889         * pa.md (canonicalize_funcptr_for_compare): Output library call to
890         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
891         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
892         CTOR_LIST_BEGIN): New defines.
893         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
894         (fptr.c): Add make rules.
895
896 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
897
898         * combine.c (combine_simplify_rtx): Add new canonicalizations.
899         * doc/md.texi (Insn Canonicalizations): Document new
900         canonicalizations for multiply/add combinations.
901         * config/rs6000/rs6000.md: Add and modify floating add/multiply
902         patterns to ensure they're used whenever they can be.
903
904 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
905
906         * config/h8300/h8300.c: Update the comments related to shifts.
907
908 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
909
910         * config/mips/mips.md (get_fnaddr): Correct length attribute.
911
912 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
913
914         * config/h8300/h8300.md (*extzv_8_8): New.
915         (*extzv_8_16): Likewise.
916
917 2002-12-04  Jason Merrill  <jason@redhat.com>
918
919         PR c++/8461, c++/8625
920         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
921         references.
922         * tree-inline.c (initialize_inlined_parameters): Likewise.
923
924         * tree.c (variably_modified_type_p): Just return an error_mark_node.
925
926 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
927
928         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
929         macro instruction in a branch delay slot, to avoid assembler
930         warnings.
931
932 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
933
934         PR c/7622
935         * c-semantics (genrtl_scope_stmt): Do not output inlined
936         nested functions that contain no code.
937
938 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
939
940         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
941         to be forced into nonfallthru.
942
943 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
944
945         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
946
947 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
948
949         * config/rs6000/spe.md (*movv1di_const0): New pattern.
950
951 2002-12-03  Richard Henderson  <rth@redhat.com>
952
953         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
954
955 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
956
957         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
958         Initialize tmp.using_obstack to 0.
959
960 2002-12-03  Andreas Schwab  <schwab@suse.de>
961
962         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
963         (EH_RETURN_STACKADJ_RTX): Define.
964         (EH_RETURN_HANDLER_RTX): Define.
965         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
966         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
967         registers and don't save fixed registers.
968         (m68k_output_function_prologue): Use it.
969         (use_return_insn): Likewise.
970         (m68k_output_function_epilogue): Likewise.
971
972 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
973
974         * config/h8300/h8300.c (single_one_operand): Fix a warning.
975         (single_zero_operand): Likewise.
976
977 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
978
979         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
980         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
981         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
982         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
983         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
984         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
985         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
986         doc/install-old.texi: Replace hconfig.h with bconfig.h.
987         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
988
989 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
990
991         * config/rs6000/rs6000.md (ffssi): Convert to expander.
992         (ffsdi): Likewise.
993         (cntlzw2, cntlzd2): New patterns.
994
995 2002-12-02  H.J. Lu <hjl@gnu.org>
996
997         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
998         (mips*-*-linux*): Remove mips/t-linux.
999
1000 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
1001
1002         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
1003
1004 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1005
1006         * config/h8300/h8300.c (dosize): Replace argument op with
1007         sign.
1008         (h8300_output_function_prologue): Update the call to dosize.
1009         (h8300_output_function_epilogue): Likewise.
1010
1011 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
1012
1013         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
1014
1015 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1016
1017         * configure.in: Use "missing" script to generate warning if
1018         flex or bison programs not found, instead of invoking "false".
1019         * configure: Rebuilt.
1020
1021 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
1022
1023         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
1024
1025 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
1026
1027         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
1028
1029 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1030
1031         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
1032         (push): Likewise.
1033         (pop): Likewise.
1034         (h8300_output_function_prologue): Likewise.
1035         (h8300_output_function_epilogue): Likewise.
1036
1037 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
1038
1039         * expmed.c (store_bit_field): Use int_mode_for_mode to find
1040         corresponding mode of non-integer mode, unless it is VOIDmode.
1041
1042 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1043
1044         * config/h8300/h8300.md (stm_h8300s_2): New.
1045         (stm_h8300s_3): Likewise.
1046         (stm_h8300s_4): Likewise.
1047         (five define_peephole2): Likewise.
1048
1049 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1050
1051         * ra-build.c: Fix a comment typo.
1052
1053 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1054
1055         * i386.c (ix86_expand_int_movcc): fix
1056         reversed BRANCH_COST test; be curefull about infinite recursion.
1057
1058 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
1059
1060         * config/h8300/h8300.c (h8300_output_function_prologue):
1061         Remove variable idx.
1062         (h8300_output_function_epilogue): Likewise.
1063
1064 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
1065
1066         * config/frv/xm-frv.h: Delete, unnecessary.
1067
1068 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
1069
1070         * config/h8300/h8300.md: Add comments for define_peephole2.
1071
1072 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
1073
1074         * builtin-types.def (BT_SIZE): Use size_type_node.
1075         * builtins.c (fold_builtin): Make the builtin strlen returns a
1076         size_t, not a sizetype.
1077         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
1078         c_size_type_node.
1079         (c_alignof_expr): Likewise.
1080         (c_common_nodes_and_builtins): Likewise.
1081         * c-common.h (CTI_C_SIZE_TYPE): Remove.
1082         (c_size_type_node): Likewise.
1083         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
1084         * tree.h (TI_SIZE_TYPE): New enumeral.
1085         (size_type_node): Likewise.
1086
1087 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
1088
1089         * configure.in: Don't put ${tm_file} into host_xm_file,
1090         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
1091         Take location of tm-preds.h into account when calculating
1092         tm_p_file_list.
1093         * configure: Regenerate.
1094         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
1095         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
1096         Remove special case code for tm_p.h and *config.h; add new
1097         special case code for tm.h and tconfig.h. Clean up a bit.
1098
1099         * Makefile.in (tm_file, tm_file_list): New variables set from
1100         @-substitutions.
1101         (GCONFIG_H): Deleted.
1102         (GTM_H, TM_H): New.
1103         (CONFIG_H): Is now just config.h $(host_xm_file_list).
1104         (TM_P_H): Move up with the other mkconfig.sh-generated
1105         headers; don't mention tm-preds.h explicitly.
1106         (tm.h, cs-tm.h): New rule.
1107         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
1108         invocations of mkconfig.sh for changes to that program.
1109         (mostlyclean): Delete print-rtl1.c.
1110         (clean): Delete tm.h.
1111         Update dependencies for the files listed below.
1112
1113         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
1114
1115         * coretypes.h: New file.
1116         * system.h: #define malloc to xmalloc and realloc to xrealloc
1117         when FLEX_SCANNER or YYBISON is defined, independent of the
1118         value of GCC_VERSION.
1119         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
1120         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
1121         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
1122         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
1123         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
1124         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
1125         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
1126         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
1127         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
1128         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
1129         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
1130         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
1131         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
1132         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
1133         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
1134         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
1135         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
1136         genconstants.c, genemit.c, genextract.c, genflags.c,
1137         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
1138         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
1139         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
1140         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
1141         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
1142         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
1143         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
1144         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
1145         print-tree.c, profile.c, protoize.c, ra-build.c,
1146         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
1147         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
1148         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
1149         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
1150         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
1151         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
1152         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
1153         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
1154         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
1155         xcoffout.c, config/darwin-c.c, config/darwin.c,
1156         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
1157         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
1158         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
1159         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
1160         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
1161         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
1162         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
1163         config/i960/i960-c.c, config/i960/i960.c,
1164         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
1165         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
1166         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
1167         config/mips/irix6-libc-compat.c, config/mips/mips.c,
1168         config/mmix/mmix.c, config/mn10200/mn10200.c,
1169         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
1170         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
1171         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
1172         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
1173         config/sparc/sparc.c, config/stormy16/stormy16.c,
1174         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
1175         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
1176         Include coretypes.h and tm.h.
1177
1178         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
1179         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
1180         genrecog.c: Include coretypes.h and tm.h from the file
1181         generated by this program.
1182
1183         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
1184         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
1185         coretypes.h and tm.h, and tsystem.h when not already included.
1186         No need to include stddef.h nor stdlib.h.
1187
1188         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
1189         include auto-host.h or ansidecl.h/
1190         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
1191         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
1192         include auto-host.h, ansidecl.h, or system.h.
1193         * fixinc/server.c: Likewise.  Also, do not include signal.h,
1194         and do not redefine volatile.
1195
1196 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
1197
1198         * i386.md (movdf_integer):  Always enable in 64bit.
1199         (movdf_nointeger): Always disable in 64bit.
1200
1201 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1202
1203         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
1204         pseudo register number plus 1.
1205
1206 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
1207
1208         * expmed.c (store_bit_field): Use int_mode_for_mode to find
1209         corresponding mode of non-integer mode, unless it is VOIDmode.
1210
1211 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
1212
1213         * cpplib.c (_cpp_test_assertion): Default *value to 0.
1214
1215         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
1216
1217 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
1218
1219         * config/s390/t-crtstuff: New target makefile fragment.
1220         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
1221
1222 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1223
1224         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
1225         alternatives to correct the length when the memory operand is
1226         either pre_dec or post_inc.
1227
1228 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1229
1230         * config/h8300/h8300.md (an anonymous pattern): Give an
1231         internal name *tst_extzv_bitqi_1_n.
1232         Accept bit_operand instead of bit_memory_operand.
1233         Do not accept bit tests with the MSB.
1234         (*tst_extzv_memqi_1_n): New.
1235
1236 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
1237
1238         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
1239         sharing when operand is SUBREG.
1240
1241 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
1242
1243         * athlon.md (athlon-decodev): New reservation unit.
1244         (athlon-direct0): New reservation.
1245         (athlon-vector): New use athlon-decodev.
1246         (athlon-double, athlon-direct): Better model.
1247         (athlon_imul_k8): Use athlon-direct0.
1248         (athlon_movlpd_load): New insn reservation.
1249
1250 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1251
1252         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
1253         Fix a comment typo.
1254         (h8300_tiny_constant_address_p): Likewise.
1255
1256 2002-11-28  Michael Matz  <matz@suse.de>
1257
1258         * doc/passes.texi: Mention the other register allocator.
1259
1260 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1261
1262         * config/h8300/h8300.md (6 new peephole2 patterns): New.
1263
1264 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
1265
1266         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
1267         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
1268         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
1269
1270 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1271
1272         * config/h8300/h8300.c (h8300_and_costs): New.
1273         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
1274         * config/h8300/h8300-protos.h: Add a prototype for
1275         h8300_and_costs.
1276
1277 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
1278
1279         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
1280         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
1281         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
1282         * i386.md (truncdfsf patterns and splitters): Use
1283         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
1284
1285 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
1286
1287         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
1288         pointer argument in the prototypes of the following builtins
1289         be (const TYPE *) rather than (TYPE *):
1290          + __builtin_altivec_ld_internal_4sf
1291          + __builtin_altivec_ld_internal_4si
1292          + __builtin_altivec_ld_internal_8hi
1293          + __builtin_altivec_ld_internal_16qi
1294          + __builtin_altivec_lvsl
1295          + __builtin_altivec_lvsr
1296          + __builtin_altivec_lvebx
1297          + __builtin_altivec_lvehx
1298          + __builtin_altivec_lvewx
1299          + __builtin_altivec_lvxl
1300          + __builtin_altivec_lvx
1301          + __builtin_altivec_dst
1302          + __builtin_altivec_dstt
1303          + __builtin_altivec_dstst
1304          + __builtin_altivec_dststt
1305
1306 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1307
1308         * except.c (default_exception_section): Move variable into the
1309         scope where it is used.
1310
1311 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
1312
1313         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
1314         correct version.
1315
1316 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1317
1318         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
1319
1320 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1321
1322         * config/h8300/h8300.c (h8300_shift_costs): New.
1323         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
1324         * config/h8300/h8300-protos.h: Add a prototype for
1325         h8300_shift_costs.
1326
1327 2002-11-27  Jim Wilson  <wilson@redhat.com>
1328
1329         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
1330         in output template.
1331
1332 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
1333
1334         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
1335         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
1336         DLL_IMPORT_EXPORT_PREFIX, not '@'.
1337         (i386_pe_dllimport_name_p): Likewise.
1338         (i386_pe_mark_dllexport): Likewise.
1339         (i386_pe_mark_dllimport): Likewise.
1340         (i386_pe_encode_section_info): Likewise.
1341         (i386_pe_strip_name_encoding): Likewise.
1342
1343 2002-11-27  Richard Henderson  <rth@redhat.com>
1344
1345         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
1346         (nm && NF == 3): Set sawsymbol true.
1347         (END): Exit if no symbols seen.
1348         (output): Fix map syntax error if no globals for the version.
1349
1350 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
1351
1352         * builtins.def (DEF_C99_BUILTIN): Fix.
1353
1354 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
1355
1356         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
1357         (all): Add .size and .type information.
1358
1359 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
1360
1361         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
1362         partial_reg_stall target.
1363
1364 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1365
1366         * i386.md (movhicc): Allow general operand.
1367         (movqicc): New expander.
1368         (movqicc_noc): New pattern.
1369         * i386.c (ix86_expand_carry_flag_compare): New function.
1370         (ix86_expand_int_movcc): Optimize harder using sbb; support more
1371         HImode conversion; support QImode conditional moves
1372
1373 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
1374
1375         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
1376         (ix86_expand_prologue): Multiply the count by amount of registers to be
1377         pushed.
1378
1379 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
1380
1381         * i386.c (override_options): Error about wrong -mcpu on x86-64
1382         compilation.
1383
1384 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
1385
1386         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
1387
1388 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
1389
1390         * i386-protos.h (x86_extended_QIreg_mentioned_p,
1391         x86_extended_reg_mentioned_p): Declare.
1392         * i386.c (extended_reg_mentioned_1): New static function.
1393         (x86_extended_QIreg_mentioned_p,
1394         x86_extended_reg_mentioned_p): New global functions.
1395         * i386.h (REX_SSE_REGNO_P): New macro.
1396         * i386.md (prefix_rex): New attribute.
1397         (length attribute): Add rex.
1398
1399 2002-11-26  Andrew Haley  <aph@redhat.com>
1400
1401         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
1402         from_Unwind_Find_Enclosing_Function.
1403         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
1404         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
1405         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
1406         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
1407         * unwind.h (_Unwind_FindEnclosingFunction): Add.
1408
1409 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1410
1411         * config/s390/s390.c (390_output_constant_pool): Set alignment
1412         before label in 64 bit mode, behind otherwise.
1413
1414 2002-11-26  Richard Henderson  <rth@redhat.com>
1415
1416         * c-common.c (handle_visibility_attribute): Accept "default".
1417         * tree.h (enum symbol_visibility): New.
1418         (decl_visibility): Declare.
1419         * target.h (gcc_target.visibility): Take visibility arg as integer.
1420         * varasm.c (default_assemble_visibility): Likewise.
1421         (decl_visibility): New.
1422         (maybe_assemble_visibility): Use it.
1423         * output.h (default_assemble_visibility): Update prototype.
1424         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
1425         visibility arg as integer.
1426         * doc/extend.texi: Document default visibility.
1427
1428 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
1429
1430         * config/h8300/h8300.c: Adjust spacing.
1431         * config/h8300/h8300.h: Likewise.
1432
1433 2002-11-26  Richard Henderson  <rth@redhat.com>
1434
1435         * hooks.c (hook_bool_void_false, hook_void_tree_int,
1436         hook_void_FILEptr_constcharptr): Rename so that the return
1437         type is first.
1438         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
1439         hook_bool_tree_false): New.
1440         * hooks.h: Update.
1441         * langhooks-def.h: Update for renames.
1442         * target-def.h: Likewise.
1443         * tree.c (default_comp_type_attributes,
1444         default_set_default_type_attributes, default_insert_attributes,
1445         default_function_attribute_inlinable_p,
1446         default_ms_bitfield_layout_p): Remove.
1447         * tree.h: Update.
1448
1449 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1450
1451         * pa-protos.h (function_value): New prototype.
1452         * pa.c (function_value): Use a PARALLEL to return small aggregates on
1453         TARGET_64BIT.
1454         * pa.h (FUNCTION_VALUE): Use function_value.
1455         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
1456         call_value_internal_reg, sibcall_value_internal_symref,
1457         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
1458         value.
1459
1460 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1461
1462         * expr.c (gen_group_rtx, emit_group_move): New functions.
1463         * expr.h (gen_group_rtx, emit_group_move): Prototype.
1464         * function.c (expand_function_start): Use gen_group_rtx to create a
1465         PARALLEL rtx to hold the return value when the real return rtx is a
1466         PARALLEL.
1467         (expand_function_end): Use emit_group_move to move the return value
1468         from a PARALLEL to the real return registers.
1469         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
1470         in PARALLELs.
1471
1472 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1473
1474         * config/t-libc-ok: Fix typo.
1475
1476 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1477
1478         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
1479         before AC_PROG_CC.
1480         * configure: Rebuilt.
1481
1482 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
1483
1484         * c-decl.c: (start_struct): Commonize flag setting.
1485
1486 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1487
1488         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
1489         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
1490         RS6000_CPU_CPP_ENDIAN_BUILTINS.
1491         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
1492
1493 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1494
1495         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
1496         insns.
1497         * config/s390/s390.c (struct machine_function): Introduction of
1498         struct machine_function.
1499         (s390_output_symbolic_const): Use of cfun.
1500         (s390_optimize_prolog): Likewise.
1501         (s390_fixup_clobbered_return_reg): Likewise.
1502         (s390_frame_info): Likewise.
1503         (s390_emit_prologue, s390_emit_epilogue): Likewise.
1504         (s390_init_machine_status): New function.
1505         (override_options): call s390_init_machine_status.
1506         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
1507         prototype.
1508
1509 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1510
1511         * varasm.c (output_constant_pool): For pool constants in mergeable
1512         section ensure each constant is padded to multiple of entity size.
1513
1514 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1515
1516         * varasm.c (default_exception_section): Move to...
1517         * except.c (default_exception_section): ... here. Make
1518         .gcc_except_table read-only if it is not expected to have any
1519         dynamic relocations and linker handles it.
1520         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
1521         if it is not expected to have any dynamic relocations and linker
1522         handles it.
1523         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
1524         when linking read-only and read-write sections together.
1525         * configure, config.in: Rebuilt.
1526         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
1527         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
1528
1529 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
1530
1531         * i386.md (pushsf_rex64): Fix typo.
1532
1533 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1534
1535         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
1536         new function.
1537         (__ev_create_ufix32_fs): Same.
1538         (__ev_get_sfix32_fs_internal): New.
1539         (__ev_get_sfix32_fs): Define to use function.
1540         (__ev_get_ufix32_fs_internal): New.
1541         (__ev_get_ufix32_fs): Define to use function.
1542         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
1543         (__ev_get_lower_ufix32_fs): Same.
1544         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
1545         (__ev_get_lower_sfix32_fs): Same.
1546         (__ev_set_sfix32_fs_internal): New.
1547         (__ev_set_ufix32_fs_internal): New.
1548         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
1549         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
1550         (__ev_set_upper_sfix32_fs): Call function.
1551         (__ev_set_lower_sfix32_fs): Same.
1552         (__ev_set_upper_ufix32_fs): Same.
1553         (__ev_set_lower_ufix32_fs): Same.
1554
1555 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
1556
1557         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
1558
1559 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1560
1561         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
1562         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1563         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1564         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
1565         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
1566         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1567         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
1568         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
1569         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1570         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1571         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
1572         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
1573         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
1574         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1575         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
1576         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
1577         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
1578         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
1579         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
1580         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
1581         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1582         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
1583         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
1584         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
1585         defining.
1586         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
1587         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
1588
1589 2002-11-25  Dave Pitts  <dpitts@cozx.com>
1590
1591         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
1592
1593 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
1594
1595         * config/h8300/h8300.md (an anonymous pattern): New.
1596
1597 2002-11-25  Richard Henderson  <rth@redhat.com>
1598
1599         * alias.c (find_base_value): Use new_reg_base_value if it's live.
1600         (copying_arguments): Make boolean.
1601
1602 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1603
1604         * gcc.c (static_spec_functions): Add if-exists-else spec
1605         function.
1606         (if_exists_else_spec_function): New function.
1607         * doc/invoke.texi: Document the if-exists-else spec function.
1608
1609         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
1610         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
1611
1612 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1613
1614         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
1615         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
1616         "${tmake_file} rs6000/t-netbsd".
1617         * config/rs6000/netbsd.h: Rewrite.
1618         * config/rs6000/t-netbsd: New file.
1619
1620 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
1621
1622         * config/h8300/h8300.md (an anonymous pattern): Relax the
1623         condition for the pattern.
1624
1625 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1626
1627         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
1628         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
1629         evmwlssfanw, evmwlsmfanw.
1630
1631         * config/rs6000/rs6000.c (bdesc_2arg): Same.
1632
1633         * config/rs6000/spe.md: Same for patterns.
1634
1635 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
1636
1637         PR c/8639
1638         * fold-const.c (extract_muldiv): Don't propagate division unless
1639         both arguments are multiples of C.
1640
1641 2002-11-25  Andrew Haley  <aph@redhat.com>
1642
1643         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
1644         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
1645         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
1646         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
1647
1648 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
1649
1650         * i386.c (x86_use_ffreep): New global variable.
1651         * i386.h (x86_use_frfeep): Declare
1652         (TARGET_USE_FFREEP): New macro
1653         * i386.md  (movs?f*): Use freep when asked for.
1654         (push?f): Remove dead code.
1655
1656 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1657
1658         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
1659         target help message.
1660
1661 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1662
1663         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
1664         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
1665         crtbeginT.o".
1666         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
1667         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
1668         to "" for a.out configurations.
1669         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
1670
1671 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1672
1673         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
1674         NETBSD_CPP_SPEC directly.
1675         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
1676         netbsd_endfile_spec.
1677         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
1678
1679 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1680
1681         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
1682         NETBSD_STARTFILE_SPEC.
1683         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
1684         (ENDFILE_SPEC): Likewise.
1685         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
1686
1687 2002-11-24  Andreas Schwab  <schwab@suse.de>
1688
1689         * Makefile.in (install-driver): Remove versioned link before
1690         trying to create it.
1691
1692         * config/m68k/m68k.c: Fix typo in last change defining
1693         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
1694
1695 2002-11-23  H.J. Lu <hjl@gnu.org>
1696
1697         * aclocal.m4: Include ../config/accross.m4.
1698         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
1699         (gcc_AC_C_COMPILE_ENDIAN): Removed.
1700         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
1701         instead of $ac_cv_c_compile_endian.
1702
1703         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
1704         AC_COMPILE_CHECK_SIZEOF.
1705         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
1706         * configure: Rebuild.
1707
1708 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
1709
1710         * config/h8300/h8300.c (print_operand): Update the use of
1711         h8300_tiny_constant_address_p.
1712         (h8300_adjust_insn_length): Likewise.
1713         (h8300_tiny_constant_address_p): Check if the given rtx is a
1714         variable declared with __attribute__ ((tiny_data)).
1715
1716 2002-11-22  Dale Johannesen  <dalej@apple.com>
1717
1718         * toplev.c (rest_of_compilation):  Fix comments.
1719
1720 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
1721
1722         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
1723         allow mmap from /dev/zero.  Don't make decisions for the host
1724         based on presence or absence of /dev/zero on the build machine.
1725         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
1726         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
1727         * configure: Regenerate.
1728
1729 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
1730
1731         * gcc.c (make_relative_prefix, split_directories)
1732         (free_split_directories): Removed.
1733
1734 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
1735
1736         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
1737         * configure: Regenerated.
1738
1739 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
1740
1741         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
1742         length computation when xor.l is output.
1743
1744 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
1745
1746         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
1747         (call_vms_1, call_value_vms_1): Cleanup syntax.
1748
1749 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
1750
1751         * athlon.md (define_atuomaton): Add athlon_load.
1752         (athlon-double): New reservation.
1753         (athlon-ieu0): New CPU unit.
1754         (athlon-load?): Use athlon_load automaton.
1755         (*_k8 reservations): New.
1756         (other insn revervations): Activate for K8.
1757
1758 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
1759
1760         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
1761
1762 2002-11-21  Jim Wilson  <wilson@redhat.com>
1763
1764         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
1765         vectors to SI.
1766
1767 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
1768
1769         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
1770         * config/xtensa/xtensa.c (struct machine_function): Add
1771         incoming_a7_copied flag.
1772         (xtensa_copy_incoming_a7): Define.
1773         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
1774         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
1775
1776 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
1777
1778         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
1779         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
1780         x86_64_nonmemory_operand, x86_64_movabs_operand,
1781         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
1782         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
1783         (local_symbolic_operand): Do not care the 64bit limits.
1784         (x86_64_sign_extended_value): Remove allow_rip support.
1785         (legitimate_pic_address_disp_p): Handle all cases allowed
1786         with RIP addressing.
1787         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
1788         (legitimize_pic_address): Reorganize.
1789         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
1790
1791 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1792
1793         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
1794         * config/arm/netbsd-elf.h: New file.
1795
1796 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1797
1798         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
1799         subtarget_asm_float_spec.
1800         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
1801         defaults from...
1802         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
1803
1804 2002-11-21  Nick Clifton  <nickc@redhat.com>
1805
1806         * config/fr30/fr30.md (movsf_constant_store): Move code to
1807         detect 0.0 into fr30.c.
1808         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
1809         Prototype.
1810         * config/fr30/fr30.c (fr30_const_double_is_zero): New
1811         function.  Return true if the rtx is 0.0.
1812
1813 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1814
1815         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
1816         if -mlittle-endian is specified.
1817
1818 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
1819
1820         PR optimization/2903
1821         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
1822         (anddi_notsesidi_di): Likewise.
1823
1824 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
1825
1826         * config/h8300/h8300.c (print_operand): Use
1827         h8300_eightbit_constant_address_p and
1828         h8300_tiny_constant_address_p.
1829         (h8300_adjust_insn_length): Likewise.
1830         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
1831         (TINY_CONSTANT_ADDRESS_P): Likewise.
1832         (OK_FOR_U): Use eightbit_constant_address_p.
1833
1834 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
1835
1836         * config/s390/libgcc-libc.ver: Add multilib support.
1837         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
1838         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
1839         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
1840         EXTRA_MULTILIB_PARTS): Define.
1841
1842 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
1843
1844         * arm.c (arm_get_frame_size): A leaf function does not need its
1845         stack padding to an aligned boundary if it has no frame.
1846         (thumb_get_frame_size): Likewise.
1847
1848 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
1849
1850         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
1851         (override_options): Likewise.
1852
1853 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
1854
1855         * config.gcc: Add k8 target alias support
1856         * i386.c (_cost): Declare costs for various variants of divides and
1857         multiplies.
1858         (k8_cost): New.
1859         (m_K8, m_ATHLON_K8): New macros.
1860         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
1861         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
1862         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
1863         x86_integer_DFmode_moves, x86_partial_reg_dependency,
1864         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
1865         x86_prologue_using_move, x86_epilogue_using_move,
1866         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
1867         x86_sse_typeless_stores): Set for K8
1868         (override_options): Add k8 support; fix athlon alignment;
1869         complain about non-x86-64 capable CPU being used in x86-64 compilation.
1870         (ix86_issue_rate): Set for K8.
1871         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
1872         x86_machine_dependent_reorg): Handle K8 like
1873         * i386.h
1874         (x86_costs):  Change mult_init and divide into array.
1875         (TARGET_K8, TARGET_ATHLON): New macros.
1876         (MODE_INDEX): New macro.
1877         (RTX_COST): Use new costs.
1878         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
1879         (TARGET_CPU_DEFAULT_NAMES): Add k8
1880         (TARGET_CPU_DEFAULT_k8): New constant
1881         (enum processor_type): Add PROCESSOR_K8.
1882         * i386.md (cpu attribute): Add k8.
1883
1884         * invoke.texi: Document -march=k8.
1885
1886         * i386.md (type attribute): Add leave
1887         (mode attribute): Remove unknownfp.
1888         (length_immediate, modrm, memory attributes): Handle leave correctly.
1889         (fp comparison patterns): Determine FP mode.
1890         (leave, leave_rex64): Remove special cases.
1891         * ppro.md (ppro_uops, ppro_p2): Add leave
1892         * pentiun.md (pent_pop): Handle leave too.
1893         * k6.md (k6_load): Handle leave.
1894         * athlon.md (athlon_leave, athlon_pop): Fix.
1895         (athlon_decode): Handle leave.
1896
1897 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
1898
1899         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
1900         to component type using GET_MODE_INNER.
1901         * expr.c (emit_move_insn_1): Ditto.
1902         * optabs.c (expand_binop): Ditto.
1903         (expand_unop): Ditto.
1904         (expand_complex_abs): Ditto.
1905
1906 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
1907
1908         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
1909
1910 2002-11-20  DJ Delorie  <dj@redhat.com>
1911
1912         * config/stormy16/stormy16.c (s16builtins,
1913         xstormy16_init_builtins, xstormy16_expand_builtin): New.
1914         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
1915
1916 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
1917
1918         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
1919         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
1920         (executing gencheck, genconfigs, genconditions, genflags,
1921         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
1922         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
1923         gengtype, genprotos): Prepend $(RUN_GEN).
1924         * configure.in: Move host compiler tests before --enable-checking
1925         tests.
1926         (--enable-checking=valgrind): New.
1927         * config.in, configure: Regenerate.
1928         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1929         Define as empty.
1930         (read_include_file): When doing the mmap+1 trick,
1931         valgrind-annotate the byte after the mmap:ed area as readable.
1932         (purge_cache): Remove above annotation.
1933         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
1934         VALGRIND_PATH -q to each command.
1935
1936         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1937         Define as empty.
1938         (ggc_realloc): Update valgrind annotations.
1939         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1940         Define as empty.
1941         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
1942         valgrind-annotate memory.
1943
1944 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
1945
1946         * recog.c (constrain_operands): Prefer exact match over reloadable
1947         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
1948
1949         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
1950         operands in Pmode.
1951
1952 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
1953
1954         PR c/8518
1955         * c-decl.c (duplicate_decls): Outline the second definition
1956         of an extern inline function in all cases.
1957
1958 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1959
1960         * stor-layout.c (place_field): Update rli->offset as well as
1961         rli->bitpos.
1962
1963 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1964
1965         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
1966
1967 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1968
1969         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
1970         into a libcall block.
1971         (divsi3): Likewise divsi3_i4_media.
1972
1973 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
1974
1975         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
1976         out another register.
1977
1978 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
1979
1980         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
1981         (not just mask) are set in C.
1982
1983 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
1984
1985         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
1986
1987 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1988
1989         * profile.c (index_counts_file): Fix obvious mistake.
1990
1991 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1992
1993         * Makefile.in (profile.o): Add hashtab.h dependency.
1994         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
1995         * profile.c: Include hashtab.h.
1996         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
1997         cleanup_counts_index, index_counts_file, struct section_reference,
1998         struct da_index_entry, counts_file_name, counts_file_index): New.
1999         (get_exec_counts, init_branch_prob): Modified.
2000
2001 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
2002
2003         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
2004         to tmake_file. Remove setting gas and gnu_ld here.
2005         * config/sh/libgcc-glibc.ver: New file.
2006         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
2007         (SHLIB_MAPFILES): New.
2008         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
2009         (MD_STARTFILE_PREFIX): Likewise.
2010         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
2011         (DWARF2_UNWIND_INFO): Redefine.
2012         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2013         (LINK_EH_SPEC): Redefine.
2014         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
2015         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
2016         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
2017         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
2018         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
2019         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
2020         SH_DWARF_FRAME_FPSCR): Likewise.
2021         * config/sh/sh-protos.h (sh_set_return_address): Declare.
2022         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
2023         registers if the current function calls EH return.
2024         (sh_expand_epilogue): Handle EH stack adjustments.
2025         (sh_set_return_address): New function.
2026         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
2027         Don't abort even if the number is mapped to -1.
2028         (EH_RETURN_DATA_REGNO): Define.
2029         (EH_RETURN_STACKADJ_RTX): Define.
2030         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
2031         (eh_return): New pattern.
2032         (eh_set_ra_di, eh_set_ra_si): Likewise.
2033         Add splitter to perform EH return after reload.
2034
2035 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
2036
2037         * stor-layout.c (excess_unit_span): New function.
2038         (place_field): Use it.
2039
2040 2002-11-19  Andreas Schwab  <schwab@suse.de>
2041
2042         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
2043         not valid in C++.
2044
2045 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2046
2047         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
2048         * configure: Regenerate.
2049
2050 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2051
2052         * convert.c (strip_float_extensions): New function.
2053         (convert_to_real): Optimize some cases.
2054
2055 2002-11-19  Andreas Jaeger  <aj@suse.de>
2056
2057         * loop.c (record_giv): Initialize not_replaceable.
2058         (check_final_value): Likewise.
2059
2060 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2061
2062         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
2063         MASK_H8300S.
2064
2065 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
2066
2067         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
2068         only if -mh or -ms present.
2069         (h8300_eightbit_constant_address_p): Support the normal mode.
2070         (h8300_tiny_constant_address_p): Likewise.
2071         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
2072         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
2073         (Pmode): Evaluate to HImode for the normal mode.
2074         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
2075         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
2076         (ASM_WORD_OP): Evaluate to word for the normal mode.
2077         * config/h8300/h8300.md (tablejump_normal_mode): New.
2078         (indirect_jump_normal_mode): New.
2079         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
2080         directory.
2081         (MULTILIB_DIRNAMES): Create target dependent directory
2082         'normal'.
2083         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
2084         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
2085
2086 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
2087
2088         * i386.md (length_immediate): Do not refer to insn address.
2089         (jcc*, jmp patterns):  Compute length explicitly.
2090
2091 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
2092
2093         PR c/8588
2094         * optabs.c (expand_binop): Convert CONST_INTs in shift
2095         operations too.
2096
2097 2002-11-19  Roger Sayle  <roger@eyesopen.com>
2098
2099         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
2100
2101 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2102
2103         * config/h8300/h8300.md (an anonymous pattern): Relax the
2104         condition to accept the same operands and/or subregs.
2105
2106 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
2107
2108         * config/sh/sh.c (gen_shl_and): Revert previous patch.
2109         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
2110         reload_completed.
2111
2112 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2113
2114         * config/h8300/h8300.c (print_operand): Update the use of
2115         EIGHTBIT_CONSTANT_ADDRESS_P.
2116         (h8300_adjust_insn_length): Likewise.
2117         (h8300_eightbit_constant_address_p): Check if the given rtx is
2118         a variable with __attribute__((eightbit_data)).
2119         * config/h8300/h8300.h (OK_FOR_U): Update the use of
2120         EIGHTBIT_CONSTANT_ADDRESS_P.
2121
2122 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2123
2124         * doc/contrib.texi (Contributors): Add self as second contact in
2125         addition to Jeff Law.
2126
2127 2002-11-19  Andreas Jaeger  <aj@suse.de>
2128
2129         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
2130         find_alloca_call to right place.
2131
2132 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2133
2134         * cppfiles.c: Fix formatting.
2135
2136 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
2137
2138         * gcc.c (The Specs Language): Document spec functions.
2139         (static_spec_functions, lookup_spec_function)
2140         (eval_spec_function, handle_spec_function)
2141         (if_exists_spec_function, alloc_args): New.
2142         (execute): Abort if processing_spec_function is true.
2143         (do_spec_1): Hand off spec to handle_spec_function if %:
2144         is encountered.  If processing_spec_function is true,
2145         end any pending argument when the end of the string is reached.
2146         (main): Use alloc_args to allocate the initial argument vector.
2147         * gcc.h (struct spec_function): New.
2148         (lang_specific_spec_functions): New extern.
2149
2150         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
2151         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
2152         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
2153
2154         * doc/invoke.texi: Document spec functions.
2155
2156         * cppspec.c (lang_specific_spec_functions): New.
2157         * gccspec.c: Likewise.
2158
2159 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
2160
2161         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
2162         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
2163         (fixunstfsi_libfunc): Change.
2164         (fixunstfdi_libfunc): Change.
2165         (sdiv_optab): Don't zero out SImode handler.
2166         (udiv_optab): Don't zero out SImode handler.
2167         (smod_optab): Don't zero out SImode handler.
2168         (umod_optab): Don't zero out SImode handler.
2169
2170 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
2171
2172         PR preprocessor/8524
2173         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
2174         Add a new one in its place, which hopefully works.
2175         (skip_rest_of_line): Change test for bottom-of-context-stack.
2176
2177 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
2178
2179         * i386.md (addqi_1_slp): Fix output template.
2180         (subqi_1_slp): Fix type.
2181
2182 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
2183
2184         * calls.c (alloca_call_p): New global function.
2185         * tree.h (alloca_call_p): New.
2186         * tree-inline.c (inlinable_function_p):  Do not inline when
2187         function calls alloca.
2188         (find_alloca_call, find_alloca_call_1): New functions.
2189
2190 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
2191
2192         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
2193         bst.  Update the insn length.
2194         (*andorhi3): Likewise.
2195         (*andorsi3): Likewise.
2196
2197 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2198
2199         * config/sh/sh-protos.h (sh_mark_label): Declare.
2200         * config/sh/sh.c (sh_mark_label): New function, taken from
2201         movdi_const, but fixing the case when the address has an addend.
2202         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
2203
2204 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2205
2206         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
2207         (add_constant): Set it.
2208         (dump_table): Don't reorder a constant if part_of_sequence_p.
2209         (machine_dependent_reorg): Assume that float constants will
2210         stay in their original order if used as a sequence.
2211
2212 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2213
2214         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
2215         in compact code.
2216
2217 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2218
2219         * config/sh/sh.md (initialize_trampoline): Do not force the
2220         trampoline address into R0_REGS here.
2221
2222 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
2223
2224         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
2225         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
2226         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
2227         generate unnecesary subregs.
2228
2229 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2230
2231         * df.c: Fix formatting.
2232
2233 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2234
2235         * config/h8300/h8300.md (two anonymous patterns): Fix insn
2236         lengths.
2237
2238 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
2239
2240         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
2241         is not an arith_reg_operand.
2242
2243 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
2244
2245         * real.c (real_to_decimal): Fix buffer overrun when buffer size
2246         is smaller than representation.
2247
2248 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2249
2250         * builtins.c: Fix formatting.
2251
2252 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
2253
2254         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
2255         floats?dff2_i387):
2256         Work around regclass stupidity.
2257         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
2258
2259 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
2260
2261         * i386.md (fop_df_6): New pattern.
2262         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
2263         (fop_xf_6): Rewrite
2264         (fop_xf_7): Delete.
2265         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
2266         (fop_tf_6): Rewrite
2267         (fop_tf_7): Delete.
2268
2269 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2270
2271         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
2272
2273 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2274
2275         * config/h8300/h8300.md: Fix formatting.
2276
2277 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2278
2279         * config/h8300/h8300.md: Replace spaces with tabs.
2280         * config/h8300/t-h8300: Remove a trailing empty line.
2281
2282 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2283
2284         * tlink.c: Fix formatting.
2285
2286 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
2287
2288         PR 8362
2289         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
2290         * config/rs6000/rs6000.md (movti_string): Remove output modifier
2291         when scratch register never needed.
2292         (ldmsi[3-8]): New patterns.
2293
2294 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2295
2296         * hard-reg-set.h: Follow spelling conventions.
2297         * real.c: Likewise.
2298         * target.h: Likewise.
2299
2300 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
2301
2302         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
2303
2304 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2305
2306         * optabs.c: Fix formatting.
2307
2308 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
2309
2310         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
2311         * i386.md (attribute type): Add type shift1 and rotate1.
2312         (*_slp): Rewrite to have just two operands to avoid reload problems.
2313
2314 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
2315
2316         * config/h8300/h8300.md (4 anonymous patterns): New.
2317
2318 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
2319
2320         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
2321         * doc/invoke.texi: Correct description of what needs to be done to
2322         force collection at every ggc_collect call.
2323
2324 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2325
2326         * config/s390/s390.c (optimization_options): Set
2327         flag_asynchronous_unwind_tables to 1 by default.
2328
2329 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2330
2331         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2332
2333 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2334
2335         * i386-protos.h (x86_function_profiler): New function
2336         * i386.h (MCOUNT_NAME): New.
2337         (PROFILE_COUNT_REGISTER): New.
2338         (FUNCTION_PROFILER): Move offline to ...
2339         * i386.c (x86_function_profiler) ... here; fix 64bit support
2340         * beos-elf.h (FUNCTION_PROFILER): Kill.
2341         (MCOUNT_NAME): New.
2342         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
2343         (MCOUNT_NAME): New.
2344         (PROFILE_COUNT_REGISTER): New.
2345         * linux.h (FUNCTION_PROFILER): Kill.
2346         (MCOUNT_NAME): New.
2347         * x86-64.h (FUNCTION_PROFILER): Kill.
2348         (MCOUNT_NAME): New.
2349         * freebsd.h (FUNCTION_PROFILER): Kill.
2350         (MCOUNT_NAME): New.
2351
2352 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
2353
2354         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
2355         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
2356         * config/arm/arm.c (arm_va_arg,
2357         arm_function_arg_pass_by_reference): New.
2358         * config/arm/arm-protos.h: Add prototypes.
2359
2360 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2361
2362         * gthr-single.h: Fix formatting.
2363
2364 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
2365
2366         * tree.c (tree_vec_elt_check_failed): New function.
2367         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
2368         (TREE_VEC_ELT): Use it.
2369
2370         * tree-inline.c (optimize_inline_calls): Don't copy a
2371         zero-length vector.
2372
2373 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2374
2375         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
2376
2377 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
2378
2379         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
2380         both operands contain local relocations.
2381         (categorize_decl_for_section): Don't use mergeable sections if
2382         initializer has any relocations.
2383
2384 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2385
2386         * gthr-vxworks.h: Fix formatting.
2387
2388 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
2389
2390         * doc/install.texi (Testing): Document extra Java testing.
2391         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
2392
2393 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2394
2395         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
2396         beginning of the spec.
2397         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
2398         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
2399         regarding problems with global constructors when using GNU ld.
2400
2401 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2402
2403         * gthr-solaris.h: Fix formatting.
2404
2405 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2406
2407         * gthr-posix.h: Fix formatting.
2408
2409 2002-11-12  Devang Patel <dpatel@apple.com>
2410         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
2411         (process_command): Same.
2412         * doc/invoke.texi: Info about these two new options.
2413
2414 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2415
2416         * config/h8300/h8300.md (*andorsi3): New.
2417
2418 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2419
2420         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
2421
2422 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2423
2424         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
2425         expressions appropriately.
2426
2427 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2428
2429         * gthr-win32.h: Fix formatting.
2430
2431 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2432
2433         * config/h8300/h8300.c (single_one_operand): Correctly compute
2434         mask when mode is SImode.
2435         (single_zero_operand): Likewise.
2436         * config/h8300/h8300.md (two new anonymous insns): New.
2437
2438 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2439
2440         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
2441         to that entire project.
2442
2443 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2444
2445         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
2446         directories.
2447
2448 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
2449
2450         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
2451         * doc/invoke.texi: Document them.
2452
2453         * ggc-page.c: Include params.h.  Remove definitions of
2454         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
2455         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
2456         (init_gcc): Don't set G.allocated_last_gc here.
2457         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
2458         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
2459         perform collection.
2460         * ggc-simple.c: Similarly.
2461         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
2462         dependencies.
2463
2464 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
2465
2466         * gthr-dce.h: Fix formatting.
2467
2468 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2469
2470         PR c/8467
2471         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
2472         mode of DECL_RTL case.
2473
2474 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
2475
2476         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
2477
2478 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
2479
2480         * i386.c (construct_container): Fix handling of SSE_CLASS.
2481
2482 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
2483
2484         * config/m68k/t-crtstuff (crti.o): Use this...
2485         ($(T)crti.o): ... instead.
2486         (crtn.o): Use this...
2487         ($(T)crtn.o): ... instead.
2488
2489 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
2490
2491         PR c/8439
2492         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
2493         if there is something new to be simplified.
2494
2495 2002-11-10  H.J. Lu <hjl@gnu.org>
2496
2497         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
2498         * expr.c (PUSH_ARGS_REVERSED): Likewise.
2499
2500         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
2501
2502 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
2503
2504         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
2505         * config/rs6000/linux.h, config/rs6000/linux64.h,
2506         config/rs6000/windiss.h: ... not here.
2507
2508 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
2509
2510         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
2511         __ABICALLS__ if TARGET_ABICALLS.
2512
2513 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
2514
2515         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
2516
2517 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
2518
2519         * c-decl.c (grokdeclarator): Make error for duplicate type
2520         qualifiers into a pedwarn, disabled for C99.
2521
2522 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
2523
2524         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
2525         as FUNCTION_ARG_PASS_BY_REFERENCE.
2526
2527 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
2528
2529         * doc/install.texi: Add *-*-vxworks* specific installation
2530         instructions.
2531
2532         * config/vxlib.c: Rewrite using generation numbers to identify
2533         valid TSD keys.
2534
2535 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
2536
2537         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
2538
2539 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2540
2541         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
2542
2543         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
2544         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
2545         * pa.c (output_millicode_call): Use symbol difference rather than
2546         $PIC_pcrel$0 when using HP assembler.
2547         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
2548         not elfos.h (i.e., gas) is being used.
2549         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
2550         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
2551         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
2552         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
2553         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
2554         using elfos.h.
2555         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
2556         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
2557         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
2558         using elfos.h.
2559         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
2560         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
2561         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
2562         Don't define when not using elfos.h.
2563         (ASM_DECLARE_RESULT): Don't define.
2564         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
2565         doesn't work on hppa64-hp-hpux11.
2566         (hppa*-hp-hpux11): Update.
2567
2568 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
2569
2570         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
2571         to the assembler if -mno-abicalls was specified.
2572
2573 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2574
2575         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
2576         ASM_OUTPUT_DEF): Delete.
2577
2578 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
2579
2580         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
2581
2582 2002-11-08  Roger Sayle  <roger@eyesopen.com>
2583
2584         * real.c (real_sqrt): Update comment with bibliographic reference.
2585
2586 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
2587
2588         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
2589
2590 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
2591
2592         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
2593
2594 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
2595
2596         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
2597         (expand_builtin): Likewise.
2598         * builtins.def: Add
2599         __builtin_floor, __builtin_floorf, __builtin_floorl
2600         __builtin_ceil, __builtin_ceilf, __builtin_ceill
2601         __builtin_round, __builtin_roundf, __builtin_roundl
2602         __builtin_trunc, __builtin_truncf, __builtin_truncl
2603         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
2604         * genopinit.c (optabs): Initialize the new optabs.
2605         * optab.c (init_optabs): Likewise.
2606         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
2607         OTI_round, OTI_nearbyint.
2608         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
2609         * doc/md.texi: Document new named patterns.
2610         * doc/extend.texi (builtin functions)  Document
2611         floor, floorf, floorl, ceil, ceilf,
2612         ceill, round, roundf, roundl, trunc,
2613         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
2614
2615 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
2616
2617         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
2618
2619 2002-11-08  Dale Johannesen  <dalej@apple.com>
2620
2621         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
2622
2623 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
2624
2625         PR preprocessor/8497
2626         PR preprocessor/8501
2627         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
2628         start a directive.  In assembler, #NUM is not a line directive.
2629
2630 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
2631
2632         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
2633         buffers.
2634
2635 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
2636
2637         * config/h8300/h8300.md (two anonymous test insns): New.
2638
2639 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2640
2641         * jump.c (mark_jump_label): Handle subregs of label_refs.
2642
2643 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
2644
2645         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
2646         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
2647
2648 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
2649
2650         * config/ia64/crtend.asm: Include "auto-host.h".
2651         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
2652         * config/ia64/crtbegin.asm: Similarly.
2653         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
2654         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
2655
2656         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
2657         * configure.in: Use it if --enable-initfini-array not specified.
2658         * doc/install.texi (Configuration): Document --enable-initfini-array.
2659         * configure, config.in: Rebuild.
2660
2661 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
2662
2663         * config/arm/arm-protos.h (arm_get_frame_size)
2664         (thumb_get_frame_size): New prototypes.
2665         * config/arm/arm.c (arm_get_frame_size)
2666         (thumb_get_frame_size): New functions.
2667         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
2668         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
2669         arm_get_frame_size.
2670         (thumb_expand_prologue, thumb_expand_epilogue): Use
2671         thumb_get_frame_size.
2672         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
2673         (machine_function): Add frame_size member.
2674         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
2675
2676 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
2677
2678         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
2679         Adjust code to use portable unsigned bit manipulation.
2680         (insn_flags, tune_flags): Change type to unsigned.
2681         (struct processors): Make flags unsigned long.
2682         (arm_override_options): Change type of count and current_bit_count
2683         to unsigned.
2684
2685 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
2686
2687         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
2688
2689 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
2690
2691         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
2692
2693 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
2694
2695         * reg-stack.c (compensate_edge): Fix sanity check.
2696
2697 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
2698
2699         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
2700         crt2.o.  Rearrange t-darwin makefiles.
2701         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
2702         * unwind-dw2-fde-darwin.c: New.
2703         * unwind-dw2-fde-glibc.c: Correct comment.
2704         * unwind-dw2-fde.c (__register_frame_info_bases)
2705         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
2706         (classify_object_over_fdes): Use last_fde.
2707         (add_fdes): Likewise.
2708         (linear_search_fdes): Likewise.
2709         * unwind-dw2-fde.h (struct object)
2710         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
2711         (last_fde): New.
2712         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
2713         (ENDFILE_SPEC): No crtend.o.
2714         * config/t-darwin: New.
2715         * config/i386/t-darwin: Delete.
2716         * config/darwin-crt2.c: New.
2717         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
2718         or config/t-darwin.
2719
2720 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
2721
2722         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
2723         MASK_MS_BITFIELD_LAYOUT
2724         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
2725         MS bitfields for Objective-C.
2726         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
2727         defines.
2728
2729         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
2730         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
2731         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
2732
2733         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
2734         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
2735         (TARGET_SWITCHES): Add above mask.
2736
2737         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
2738         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
2739         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
2740         flags for interix.
2741
2742 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
2743
2744         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
2745         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
2746         assembler.
2747         * config/mips/mips.md (tablejump_internal3): Output .cpadd
2748         before jump on ABI_N32 too.
2749         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
2750         length to match.
2751
2752 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
2753
2754         * i386.md (negsf splitter): Accept memory operand in second register.
2755         (abssf/absdf splitters): Simplify
2756         (sse_loadss, sse_loadsd): Turn into expander.
2757
2758 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
2759
2760         PR target/8480
2761         * config/rs6000/rs6000.md (movdi_internal64): Discourage
2762         FPR to FPR moves.
2763
2764 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
2765
2766         * doc/contrib.texi: Merge in the list from the Java web pages.
2767
2768 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
2769
2770         * config/sparc/freebsd: Fix typo.
2771
2772 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2773
2774         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
2775
2776 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
2777
2778         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
2779         non-SImode addresses.
2780
2781 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
2782
2783         * i386.md (float_truncate SSE splitter): Ensure that operand is not
2784         stack register.
2785         (float SSE splitters): Reorder conditional.
2786
2787 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
2788
2789         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
2790
2791 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
2792
2793         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
2794         (STARTFILE_SPEC): Remove p and pg options.
2795
2796 2002-11-05  Andrew Haley  <aph@redhat.com>
2797
2798         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
2799         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
2800
2801 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
2802
2803         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
2804         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
2805
2806 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
2807
2808         * gthr-vxworks.h: Rewritten from scratch.
2809         * config/vxlib.c: New file.
2810         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
2811         * config/rs6000/t-vxworks: Add config/vxlib.c to
2812         LIB2FUNCS_EXTRA here too, because of clash with
2813         config/rs6000/t-ppccomm.
2814
2815 2002-11-04  Dale Johannesen  <dalej@apple.com>
2816
2817         * doloop.c (doloop_modify_runtime):  Fix loop count computation
2818         for unrolled loops.
2819         * loop.c (loop_invariant_p):  Support calling from unroller.
2820
2821 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
2822
2823         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
2824         for comparison.
2825
2826 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
2827
2828         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
2829
2830         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
2831         (CLASS_CANNOT_CHANGE_MODE): Remove.
2832         (CANNOT_CHANGE_MODE_CLASS): New.
2833
2834         * config/alpha/alpha.h: Same.
2835
2836         * config/ia64/ia64.h: Same.
2837
2838         * config/mips/mips.h: Same.
2839
2840         * config/s390/s390.h: Same.
2841
2842         * config/sh/sh.h: Same.
2843
2844         * config/pa/pa64-regs.h: Same.
2845
2846         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
2847
2848         * config/sh/sh.c (sh_cannot_change_mode_class): New.
2849
2850         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
2851         prototype.
2852
2853         * config/mips/mips.c (mips_cannot_change_mode_class): New.
2854
2855         * doc/tm.texi (Register Classes): Remove
2856         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
2857         Document CANNOT_CHANGE_MODE_CLASS.
2858
2859         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
2860         (push_reload): Same.
2861
2862         * simplify-rtx.c (simplify_subreg): Same.
2863
2864         * reload1.c (choose_reload_regs): Same.
2865
2866         * recog.c (register_operand): Same.
2867
2868         * regrename.c (mode_change_ok): Change to use new
2869         CANNOT_CHANGE_MODE_CLASS infrastructure.
2870
2871         * regclass.c (cannot_change_mode_set_regs): New.
2872         Declare subregs_of_mode.
2873         (regclass): Use subregs_of_mode.
2874         Remove references to reg_changes_mode.
2875         (init_reg_sets_1): Remove class_can_change_mode and
2876         reg_changes_mode code.
2877         (invalid_mode_change_p): New.
2878         (dump_regclass): Use invalid_mode_change_p instead of
2879         class_can_change_mode.
2880         (regclass): Same.
2881         (record_operand_costs): Do not set reg_changes_mode.
2882
2883         * local-alloc.c (struct qty): Remove changes_mode field.
2884         (alloc_qty): Remove changes_mode initialization.
2885         (update_qty_class): Remove set of changes_mode.
2886         (find_free_reg): Use subregs_of_mode.
2887
2888         * global.c (find_reg): Use subregs_of_mode info.
2889
2890         * rtl.h (cannot_change_mode_set_regs): New prototype.
2891         (invalid_mode_change_p): Same.
2892         (REG_CANNOT_CHANGE_MODE_P): New macro.
2893
2894         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
2895         REG_CHANGES_MODE.
2896         (life_analysis): Clear subregs_of_mode.
2897
2898         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
2899         Remove use of CLASS_CANNOT_CHANGE_MODE.
2900         (simplify_set): Same.
2901         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
2902         REG_CHANGES_MODE.
2903
2904         * regs.h: Add extern for subregs_of_mode;
2905         Include hard-reg-set and basic-block.
2906         (REG_CHANGES_MODE): Delete.
2907
2908 2002-11-03  Roger Sayle  <roger@eyesopen.com>
2909
2910         * real.c (real_sqrt): New function to calculate square roots.
2911         * real.h (real_sqrt): Add function prototype.
2912         * builtins.c (fold_builtin): Fold sqrt of constant argument.
2913         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
2914         of constant argument.
2915
2916 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2917
2918         * jump.c (never_reached_warning): Don't set contains_insn until the
2919         first line note is seen.
2920
2921 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
2922
2923         * config/rs6000/rs6000.md (movti_string): Use string instructions.
2924
2925 2002-11-03  Roger Sayle  <roger@eyesopen.com>
2926
2927         PR c/7128
2928         * c-typeck.c (c_expand_asm_operands): Defend against
2929         error_mark_nodes in the output argument to avoid ICE.
2930
2931 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
2932
2933         PR middle-end/8408
2934         * genrecog.c (preds): Handle ADDRESSOF.
2935         (validate_pattern): Mark it as an lvalue.
2936
2937 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
2938
2939         * config/rs6000/rs6000.c (rs6000_override_options): Use string
2940         instructions when optimizing for size.
2941
2942 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
2943
2944         * config/h8300/h8300.h: Fix comment typos.
2945         * config/h8300/h8300.md: Likewise.
2946         * config/h8300/lib1funcs.asm: Likewise.
2947
2948 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2949
2950         Revert this change:
2951
2952         *doc/install.texi (Installing GCC: Configuration): Clarify
2953         the only supported ways to configure gcc.
2954
2955 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
2956
2957         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
2958         instead of 'O' for the constraint for the second operand.
2959
2960 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
2961
2962         PR c++/8391
2963         * toplev.c (rest_of_compilation): Do not refuse to output code for
2964         an inline function in a local class.
2965
2966 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
2967
2968         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
2969         (TRANSFER_FROM_TRAMPOLINE): Reformat.
2970         Add comment.
2971
2972 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
2973
2974         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
2975
2976 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
2977
2978         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
2979
2980 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
2981
2982         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
2983         (MASK_INLINE_DIV_THR): Remove.
2984         (TARGET_INLINE_DIV_LAT): Remove.
2985         (TARGET_INLINE_DIV_THR): Remove.
2986         (TARGET_INLINE_DIV): Remove.
2987         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
2988         (MASK_INLINE_FLOAT_DIV_THR): New macro.
2989         (MASK_INLINE_INT_DIV_LAT): New macro.
2990         (MASK_INLINE_INT_DIV_THR): New macro.
2991         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
2992         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
2993         (TARGET_INLINE_INT_DIV_LAT): New macro.
2994         (TARGET_INLINE_INT_DIV_THR): New macro.
2995         (TARGET_INLINE_FLOAT_DIV): New macro.
2996         (TARGET_INLINE_INT_DIV): New macro.
2997         * config/ia64/ia64.md (divsi3): Change to use new macros.
2998         (modsi3): Ditto.
2999         (udivsi3): Ditto.
3000         (umodsi3): Ditto.
3001         (divsi3_internal): Ditto.
3002         (divdi3): Ditto.
3003         (moddi3): Ditto.
3004         (udivdi3): Ditto.
3005         (umoddi3): Ditto.
3006         (divdi3_internal_lat): Ditto.
3007         (divdi3_internal_thr): Ditto.
3008         (divsf3): Ditto.
3009         (divsf3_internal_lat): Ditto.
3010         (divsf3_internal_thr): Ditto.
3011         (divdf3): Ditto.
3012         (divdf3_internal_lat): Ditto.
3013         (divdf3_internal_thr): Ditto.
3014         (divtf3): Ditto.
3015         (divtf3_internal_lat): Ditto.
3016         (divtf3_internal_thr): Ditto.
3017         * config/ia64/ia64.c (ia64_override_options): Change
3018         to check new macros for conflicts in settings.
3019         * doc/invoke.texi (-minline-divide-min-latency): Remove.
3020         (-minline-divide-max-throughput): Remove.
3021         (-minline-float-divide-min-latency): New.
3022         (-minline-float-divide-max-throughput): New.
3023         (-minline-int-divide-min-latency): New.
3024         (-minline-int-divide-max-throughput): New.
3025
3026 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
3027
3028         PR target/7856
3029         * arm.c (use_return_insn): Don't use a return insn if there are
3030         saved integer regs, but LR is not one of them.
3031
3032 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3033
3034         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
3035         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
3036
3037 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
3038
3039         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
3040         (movps, movpd splitters): Use canonical form.
3041         (movv2di): Fix merge problem.
3042
3043 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
3044
3045         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
3046
3047 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
3048
3049         PR optimization/6162
3050         * doc/md.texi: Document restriction on commutative operand
3051         specification.
3052
3053 2002-10-31  Eric Christopher  <echristo@redhat.com>
3054
3055         * explow.c (convert_memory_address): Use shallow_copy_rtx.
3056
3057 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
3058
3059         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
3060
3061 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
3062
3063         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
3064
3065 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
3066
3067         * config/rs6000/darwin.h:  Correct formatting in previous.
3068
3069 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
3070
3071         * config/rs6000/darwin.h:  Enable -falign-xxx options.
3072
3073 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
3074
3075         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
3076         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
3077         * i386.c (optimization_options): Set flag_omit_frame_pointer,
3078         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
3079         Do not clear -momit-leaf-frame-pointer when profiling.
3080         (ix86_frame_pointer_required): Frame pointer is always required when
3081         profiling.
3082
3083 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
3084
3085         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
3086
3087 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
3088
3089         * sh.h (binary_logical_operator): Declare.
3090         * sh.c (binary_logical_operator): New function.
3091         * sh.md (xordi3+1): New combiner splitter pattern.
3092
3093 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
3094
3095         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
3096         __enable_execute_stack function.
3097
3098 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
3099
3100         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
3101         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
3102         * unwind-sjlj.c (fc_key_dtor): Delete.
3103         (fc_key_init): Adjust __gthread_key_create call to match.
3104
3105 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
3106
3107         * c-common.c: Add GTY to vector_type_node_list.
3108
3109 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
3110
3111         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
3112         * pa-protos.h (attr_length_millicode_call, attr_length_call,
3113         pa_init_machine_status): Declare new global functions.
3114         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
3115         implement new functions.
3116         (attr_length_millicode_call, attr_length_call): Implement.
3117         (total_code_bytes): Change type to long.
3118         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
3119         Reset counter if flag_function_sections.
3120         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
3121         (output_cbranch): Move call to gen_label_rtx.
3122         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
3123         delay slot in all variants, shorten pc-relative calls.
3124         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
3125         slot usage and exposure, various new call variants, and shortened
3126         sequences for some variants on TARGET_PA_20.
3127         Miscellaneous format changes.
3128         * pa.h (total_code_bytes): Change type to long.
3129         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
3130         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
3131         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
3132         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
3133         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
3134         stores on TARGET_ELF32.
3135         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
3136         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
3137         canonicalize_funcptr_for_compare expanders): Calculate attribute length
3138         attr_length_millicode_call().
3139         (call_internal_symref, call_value_internal_symref): Clobber register 1.
3140         Calculate attribute length using attr_length_call().
3141         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
3142         to delay slot.
3143         (sibcall, sibcall_value): Rewrite.
3144         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
3145         register 1.  Use attr_length_call().
3146         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
3147         New patterns.
3148         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
3149         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
3150         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
3151         * doc/invoke.texi (mlong-calls): Document.
3152
3153 2002-10-30  Roger Sayle  <roger@eyesopen.com>
3154
3155         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
3156         handling of cases where one or both branches of the conditional
3157         have void type, i.e. throw an exception or don't return.
3158         (fold): Only apply (and undo) type conversion to the non-void
3159         branches of a COND_EXPR.
3160
3161 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
3162
3163         PR c++/8333
3164         * varasm.c (asm_output_aligned_bss): Do not call
3165         ASM_GLOBALIZE_LABEL.
3166
3167 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
3168             Torbjorn Granlund  <tege@swox.com>
3169
3170         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
3171         for addressibility.
3172         (load_toc_v4_PIC_1b): Same.
3173
3174 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
3175
3176         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
3177         Truncate the addresses for H8/300 using HImode.
3178
3179 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
3180
3181         * i386.md (negdf splitter): Fix construction of the constant.
3182
3183 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
3184
3185         * i386.md (negsf, negdf): Reorganize to use vector modes
3186         for SSE variants.
3187         (abssf, absdf): Use force_reg.
3188         (movv4sf, movv2df): New splitters.
3189         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
3190         * i386.c (zero_extended_scalar_load_operand
3191
3192         * i386-protos.h (ix86_expand_call): Update prototype.
3193         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
3194         (ix86_expand_call): Use r11 for indirect sibcalls.
3195         * i386.md (call, call_value, untyped_call, call_value_pop):
3196         update x86_expand_call call.
3197         (sibcall, sibcall_value): new patterns
3198         (call_rex64, call_value_rex64): Do not accept sibcalls.
3199         (sibcall_rex64, sibcall_value_rex64,
3200         sibcall_rex64_v, sibcall_value_rex64_v): New.
3201
3202 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3203
3204         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
3205         before final pass.
3206
3207 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
3208
3209         * toplev.c (rest_of_type_compilation): Return early in case of
3210         errors.
3211         (check_global_declarations): Don't call debug_hooks->global_decl
3212         in case of errors.
3213
3214 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
3215
3216         * doc/c-tree.texi (Tree overview): Fix typos.
3217
3218 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
3219
3220         * Makefile.in (gnucompare*):  Only record bad comparisons
3221         if there really was a bad comparison.
3222
3223 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
3224
3225         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
3226         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
3227         * md.texi (machine dependent constraints): Document 'C'
3228
3229         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
3230
3231         * i386.c (ix86_expand_vector_move): Fix.
3232
3233         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
3234         * i386.md (sse2_maskmovdqu_rex64): New pattern
3235
3236         PR target/8322
3237         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
3238         (ix86_init_mmx_sse_builtins): Fix type.
3239
3240 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
3241
3242         * gthr-posix.h: Include <unistd.h> for feature tests.
3243         (sched_get_priority_max, sched_get_priority_min)
3244         (pthread_getschedparam, pthread_setschedparam): Only use
3245         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
3246         (__gthread_objc_thread_set_priority): Don't treat all nonzero
3247         returns from sched_get_priority_max and sched_get_priority_min
3248         as an error.
3249
3250 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3251
3252         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
3253         MASK_QUICKCALL.
3254
3255 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3256
3257         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
3258         (h8300_tiny_constant_address_p): Likewise.
3259         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
3260         h8300_eightbit_constant_address_p.
3261         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
3262         * config/h8300/h8300-protos.h: Add the prototypes for the two
3263         new functions.
3264
3265 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3266
3267         * reload1.c (update_eliminables): Unconditionally check if
3268         frame_pointer_needed has changed.
3269
3270 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3271
3272         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
3273         before final pass.
3274
3275 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
3276
3277         PR optimization/8334
3278         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
3279         check for zero operands explicitly.
3280
3281 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
3282
3283         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
3284         memory after adjusting to BLKmode.
3285
3286 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3287
3288         * config/h8300/h8300.h (MASK_*): New.
3289         (TARGET_*): Use MASK_*.
3290
3291 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
3292
3293         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
3294         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
3295         config/rs6000/vxworks.h: New files.
3296         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
3297
3298         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
3299         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
3300         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
3301         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
3302         sparc-*-vxsim*): Delete stanzas.
3303         * gthr-vxworks.h: Rip out all substantive code and just
3304         include gthr-single.h.
3305
3306         * config/alpha/vxworks.h, config/arm/vxarm.h,
3307         config/i386/vxi386.h, config/i960/t-vxworks960,
3308         config/i960/vx960-coff.h, config/i960/vx960.h,
3309         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
3310         config/mips/vxworks.h, config/rs6000/vxppc.h,
3311         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
3312         config/sparc/vxsim.h, config/sparc/vxsparc.h,
3313         config/sparc/vxsparc64.h: Delete files.
3314
3315 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
3316
3317         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
3318         tm_defines if pthreads are enabled.
3319         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
3320         if NETBSD_ENABLE_PTHREADS is defined.
3321
3322 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
3323
3324         * ChangeLog.1: Fix typos.
3325         * cse.c: Fix a comment typo.
3326         * reload1.c: Likewise.
3327
3328 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
3329
3330         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
3331         * fixinc/tests/base/_G_config.h: New file.
3332
3333 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3334
3335         * combine.c: Fix comment formatting.
3336         * loop.c: Likewise.
3337         * real.c: Likewise.
3338         * regclass.c: Likewise.
3339         * regmove.c: Likewise.
3340         * regrename.c: Likewise.
3341         * reg-stack.c: Likewise.
3342         * reload1.c: Likewise.
3343         * reload.c: Likewise.
3344         * reload.h: Likewise.
3345         * unroll.c: Likewise.
3346
3347 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3348
3349         * reload1.c (reload): Fix a comment typo.
3350
3351 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
3352
3353         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
3354
3355 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3356
3357         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
3358         * dwarf2out.c: Include hashtab.h.
3359         (is_main_source): New static variable.
3360         (attr_checksum, die_checksum): Modified to handle die references.
3361         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
3362         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
3363         record_comdat_symbol_number): New static functions.
3364         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
3365         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
3366         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
3367         declarations added.
3368
3369 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
3370
3371         * config/h8300/h8300.c (initial_offset): Change to
3372         h8300_initial_elimination_offset.
3373         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
3374         h8300_initial_elimination_offset.
3375         * config/h8300/h8300-protos.h: Update the prototype.
3376
3377 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
3378
3379         * config/mmix/mmix.h (LIBCALL_VALUE): Use
3380         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
3381         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
3382         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
3383         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
3384         and RTX_CODE.
3385         (mmix_function_value_regno_p): Declare.
3386
3387         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
3388         invalid for floating point mode result, with fix.
3389
3390 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
3391
3392         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
3393         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
3394         (stage1_build): Likewise.
3395
3396 2002-10-25  Mike Stump  <mrs@apple.com>
3397
3398         Fixes gcc.dg/warn-1.c.
3399         * c-typeck.c (warn_for_assignment): Don't print argument number,
3400         if zero.
3401
3402 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
3403
3404         * toplev.c (dump_file_index): Add DFI_ce3.
3405         (dump_file_info): Likewise.
3406         (rest_of_compilation): Run first ifcvt pass before tracer.
3407
3408 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
3409
3410         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
3411
3412 2002-10-25  Richard Henderson  <rth@redhat.com>
3413
3414         * real.c (real_to_decimal): If the >1 tens reduction loop results
3415         in a negative exponent, fall into the <1 pten computation.
3416
3417 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
3418
3419         PR middle-end/6994
3420         * c-objc-common.c (inline_forbidden_p): Can not inline
3421         functions containing structures or unions containing VLAs.
3422         * tree-inline.c (walk_tree): For all class 't' nodes, walk
3423         TYPE_SIZE and TYPE_SIZE_UNIT.
3424         (copy_tree_r): Copy types if they are variably modified.
3425
3426 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3427
3428         * config/s390/s390.md: Remove old-style peepholes.
3429
3430 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3431
3432         * config/s390/s390.c (s390_decompose_address): Do not range check the
3433         displacement if base or index is the argument pointer register.
3434
3435 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
3436
3437         PR other/3337
3438         PR bootstrap/6763
3439         PR bootstrap/8122
3440         * fixinc/inclhack.def (libc1_G_va_list): New fix.
3441         * fixinc/fixincl.x: Regenerate.
3442         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
3443         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
3444         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
3445         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
3446         * config.in, configure: Regenerate.
3447
3448 2002-10-24  Igor Shevlyakov <igor@microunity.com>
3449
3450         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
3451
3452 2002-10-24  Richard Henderson  <rth@redhat.com>
3453
3454         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
3455
3456 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3457
3458         * config/h8300/h8300.c (initial_offset): Simplify by using
3459         round_frame_size.
3460
3461 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
3462
3463         * doc/install.texi (avr): Update required binutils version.
3464
3465 2002-10-24  Theodore A. Roth  <troth@openavr.org>
3466
3467         * doc/install.texi: Point avr users at more up-to-date information.
3468
3469 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3470
3471         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
3472         to pull operands out of the literal pool where possible.
3473
3474 2002-10-24  Denis Chertykov  <denisc@overta.ru>
3475
3476         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
3477
3478 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
3479
3480         * expr.c (convert_move): If unsignedp is less then zero there
3481         is no equivalent code.
3482
3483 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
3484
3485         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
3486
3487 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3488
3489         * config/s390/s390.h: Rework comments; re-sort target macro definitions
3490         according to the sequence they are defined in the manual.
3491         (POINTER_BOUNDARY): Remove.
3492
3493 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3494
3495         * config/h8300/h8300.c (round_frame_size): Replace 8 with
3496         BITS_PER_UNIT.
3497
3498 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3499
3500         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
3501         64-bit safe.
3502         (TINY_CONSTANT_ADDRESS_P): Likewise.
3503
3504 2002-10-24  Richard Henderson  <rth@redhat.com>
3505
3506         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3507         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
3508         vcall offset.
3509
3510 2002-10-24  Richard Henderson  <rth@redhat.com>
3511
3512         PR opt/7944
3513         * reload.c (find_reloads_toplev): Mode of X is not important
3514         when simplifying subregs of constants.
3515
3516 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3517
3518         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
3519         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
3520         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
3521         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
3522         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
3523
3524 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3525
3526         * optabs.c (expand_binop): Don't reuse the shift target in the
3527         middle of shift sequences.
3528
3529 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
3530
3531         * i386.md (abs splitters): Do not produce nested subregs.
3532
3533 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
3534
3535         * i386.md (movti_rex64): Fix constraints.
3536
3537 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
3538
3539         * i386.md (abssf,absdf): Use vector operands for SSE
3540         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
3541         vector operand.
3542
3543 2002-10-23  Ziemowit Laski <zlaski@apple.com>
3544
3545         * objc/objc-act.c (get_static_reference): Remove unneeded
3546         TYPE_BINFO initialization.
3547         (get_object-reference): Likewise.
3548         (build_constructor): Tighten precondition check.
3549         (finish_message_expr): Likewise.
3550
3551 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
3552
3553         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
3554         after CONST test.
3555
3556 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
3557
3558         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
3559         in HFAs.
3560
3561 2002-10-23  Richard Henderson  <rth@redhat.com>
3562
3563         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3564         (alpha_output_mi_thunk_osf): Handle vcall_offset.
3565
3566 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
3567
3568         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
3569         var_mod_type_p.
3570         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
3571         hook_tree_bool_false.
3572
3573         * tree.c (variably_modified_type_p): Moved here from
3574         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
3575         language-specific cases.  Due to this, must weaken some 'if
3576         and only if' checks to merely 'if'.
3577         * tree.h: Prototype variably_modified_type_p.
3578
3579         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
3580
3581 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
3582
3583         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
3584         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
3585
3586         * config/s390/s390-protos.h (fp_operand): Remove.
3587         * config/s390/s390.c (fp_operand): Remove.
3588         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
3589         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
3590         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
3591         (movdi_31, movdf_31 splitters): Likewise.
3592
3593         * config/s390/s390.h (IEEE_FLOAT): Remove.
3594         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
3595         (INT_REGNO_P): Rename to ...
3596         (GENERAL_REGNO_P): ... this.
3597         (FLOAT_REGNO_P): Rename to ...
3598         (FP_REGNO_P): ... this.
3599         (ADDR_REGNO_P): New macro.
3600         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
3601         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
3602         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
3603         (HARD_REGNO_NREGS): Adapt to macro renaming.
3604         (HARD_REGNO_MODE_OK): Likewise.
3605
3606 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
3607             Geoff Keating  <geoffk@apple.com>
3608
3609         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
3610         (rs6000_memory_move_cost): New function.
3611         * config/rs6000/rs6000-protos.h: Declare them.
3612         * config/rs6000/rs6000.h: Use them.
3613
3614 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
3615
3616         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
3617         inlining it into other libgcc2 routines.
3618         (__udivmoddi4): Likewise.
3619
3620 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
3621
3622         * doc/sourcebuild.texi (Test Suites): Improve.
3623
3624 2002-10-22  Stan Shebs  <shebs@apple.com>
3625
3626         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
3627         case for Darwin.
3628
3629 2002-10-22  Jim Wilson  <wilson@redhat.com>
3630
3631         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
3632
3633 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
3634
3635         PR other/8289
3636         * xmmintrin.h: Add const to the argument of loads.
3637
3638         * i386.md (pushv2di): New pattern.
3639         PR target/6890
3640         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
3641
3642 2002-10-22  Richard Henderson  <rth@redhat.com>
3643
3644         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
3645         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
3646         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
3647         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3648         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3649         (TARGET_ASM_OUT): Update.
3650         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
3651         (hook_bool_tree_hwi_hwi_tree_true): New.
3652         (default_can_output_mi_thunk_no_vcall): New.
3653         * hooks.h: Declare them.
3654         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
3655
3656         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3657         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
3658         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
3659         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
3660         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
3661         config/stormy16/stormy16.c: Similarly.
3662
3663         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
3664         Handle 64-bit properly.  Streamline.
3665         (x86_output_mi_vcall_thunk): Remove.
3666         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
3667         (x86_can_output_mi_thunk): New.
3668         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3669         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3670         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
3671
3672         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
3673         output_mi_thunk; make static; always use function_section.
3674         (TARGET_ASM_OUTPUT_MI_THUNK): New.
3675         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3676         (rs6000_ra_ever_killed): Test no_new_pseudos not
3677         targetm.asm_out.output_mi_thunk in conjunction with thunks.
3678         * config/rs6000/rs6000-protos.h: Update.
3679         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3680         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
3681         xcoffout_declare_function when using rs6000_output_mi_thunk.
3682
3683         * config/s390/s390.c (s390_output_mi_thunk): Rename from
3684         s390_output_mi_vcall_thunk.
3685         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3686         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3687
3688         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
3689         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3690         * config/vax/vax-protos.h: Update.
3691         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
3692
3693 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
3694
3695         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
3696         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
3697         * i386.md (movti_internal): Use 'C'
3698
3699         * xmmintrin.h (_mm_cmplt_epi*): New.
3700
3701 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3702
3703         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
3704         ("*movdf_64"): Likewise.
3705         ("*lshrdi3_64"): Likewise.
3706         ("blockage"): Add length attribute.
3707         ("lit"): Likewise.
3708
3709 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
3710
3711         * i386.md: FIx typo.
3712         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
3713         (sse2_umulv2siv2di3): Fix predicate.
3714         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
3715         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
3716         * xmmintrin.h (_mm_mul_epu16): Rename to...
3717         (_mm_mul_epu32): This one.
3718         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
3719
3720         (contains_128bit_aligned_vector_p): Undo accidental checkin.
3721
3722 2002-10-22  Eric Christopher  <echristo@redhat.com>
3723
3724         * config/sparc/sparc.h: Add #error.
3725
3726 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3727
3728         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
3729         [s390x-*-linux*]: Likewise.
3730         * config/s390/t-linux: Remove.
3731         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
3732
3733 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
3734
3735         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
3736         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
3737         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
3738         * i386.md (mmx_punpck?dq): Simplify.
3739         (sse2_pubpcklqdq): Fix.
3740         (sse2_pubpckhqdq): New.
3741         * xmmintrin.h (_mm_unpackhi_epi32): New.
3742
3743         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
3744         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
3745
3746 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
3747
3748         PR c++/7209
3749         * fold_const.c (fold_binary_op_with_conditional_arg): Always
3750         build compound_expr if we used save_expr.
3751
3752 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
3753
3754         * output.h (SECTION_NOTYPE): Define.
3755         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
3756         init array sections.
3757         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
3758         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
3759         merge TLS support.
3760
3761 2002-10-21  Richard Henderson  <rth@redhat.com>
3762
3763         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
3764         the function type, not the return type.
3765
3766 2002-10-21  Richard Henderson  <rth@redhat.com>
3767
3768         * real.c (sticky_rshift_significand): Return inexact, don't
3769         or it in immediately.
3770         (sub_significands): Accept incomming carry.
3771         (div_significands, rtd_divmod): Update for sub_significands change.
3772         (round_for_format): Update for sticky_rshift_significand change.
3773         (do_add): Don't involve the inexact bit in addition, do give the
3774         inexact bit as the subtraction carry-in.
3775         (encode_internal, decode_internal, real_internal_format): New.
3776         * real.h (real_internal_format): Declare.
3777
3778 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3779
3780         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
3781         don't define sdiv_qrnnd.
3782
3783 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
3784
3785         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
3786         using IN_RANGE.
3787         (TINY_CONSTANT_ADDRESS_P): Likewise.
3788
3789 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
3790
3791         * i386.c (builtin_description): Add punpcklqdq and movdq2q
3792         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
3793         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
3794         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
3795         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
3796         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
3797         __builtin_ia32_setzero128.
3798         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
3799         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
3800         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
3801         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
3802         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
3803         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
3804         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
3805         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
3806         sse2_movq): New patterns.
3807         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
3808         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
3809         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
3810         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
3811         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
3812         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
3813         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
3814         (_mm_insert_epi16): Fix.
3815
3816 2002-10-21  Dale Johannesen  <dalej@apple.com>
3817
3818         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
3819             unsafe math reversals correctly for RTL generation.
3820           (output_cbranch):  Replace rs6000_reverse_condition call
3821             by its former definition.
3822
3823 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
3824
3825         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
3826         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
3827         from constant pool or LABEL_REFs as sign extended if allow_rip.
3828         Change all +-1GB limits to +-16MB.
3829         (x86_64_general_operand, x86_64_szext_general_operand,
3830         x86_64_nonmemory_operand, x86_64_movabs_operand,
3831         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
3832         legitimate_address_p, ix86_expand_int_movcc): Update callers.
3833         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
3834         in CM_SMALL_PIC model.
3835         (legitimate_pic_address_disp_p): Don't check offsets before
3836         calling local_symbolic_operand.
3837         (legitimize_pic_address): Force offsets bigger than +-16MB into
3838         register.
3839         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
3840         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
3841         prototype.
3842
3843         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
3844         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
3845         * configure: Rebuilt.
3846         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
3847         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
3848         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
3849         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
3850         -fpic.
3851         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
3852         non-pic code if TARGET_64BIT.
3853         (legitimize_address): Generate 64-bit TLS sequences.
3854         (output_pic_addr_const): Support x86-64 TLS operators.
3855         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
3856         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
3857         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
3858         (output_addr_const_extra): Support x86-64 TLS operators.
3859         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
3860         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
3861         unconditionally.
3862         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
3863         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
3864         (*tls_global_dynamic_sun): Renamed to...
3865         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
3866         (tls_global_dynamic): Renamed to...
3867         (tls_global_dynamic_32): ... this.
3868         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
3869         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
3870         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
3871         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
3872         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
3873         (tls_local_dynamic_base_dynamic): Renamed to...
3874         (tls_local_dynamic_base_dynamic_32): ... this.
3875         (tls_local_dynamic_base_dynamic_64,
3876         *tls_local_dynamic_base_dynamic_64): New.
3877         (*tls_local_dynamic_once): Renamed to...
3878         (*tls_local_dynamic_32_once): ... this.
3879
3880 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3881
3882         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
3883         __divdi3, __umoddi3, or __moddi3.
3884
3885 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3886
3887         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
3888         instead of just opt_index as switch expression.
3889
3890         * calls.c (store_one_arg): Change type of 'excess_align'
3891         to unsigned int.
3892
3893         * profile.c (output_gcov_string): Change type of 'temp'
3894         to size_t.
3895
3896 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3897
3898         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
3899         (__fixunssfdi, __fixsfdi): Likewise.
3900         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
3901         (s390_single_qi): Likewise.
3902         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
3903         unsigned comparison warning.
3904         (s390_return_addr_rtx): New function.
3905         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
3906         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
3907         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
3908
3909 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3910
3911         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
3912         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
3913         (s390_output_mi_thunk): Remove.
3914         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3915
3916 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
3917
3918         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
3919
3920 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
3921
3922         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
3923         inverted test in the conditional determining the possibility
3924         of sibcalls in PIC mode.
3925
3926 2002-10-20  Richard Henderson  <rth@redhat.com>
3927
3928         * target.h (struct gcc_target): Line wrap.
3929
3930         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
3931         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
3932         * config/alpha/alpha.h: ... not here.
3933         * config/alpha/alpha-protos.h: Update.
3934
3935         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
3936         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
3937         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
3938         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
3939         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
3940         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
3941         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
3942         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
3943         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
3944         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
3945         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
3946         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
3947         config/sparc/sparc.c, config/sparc/sparc.h,
3948         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
3949         config/stormy16/stormy16.h: Similarly.
3950
3951         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
3952         selection logic from call patterns.
3953
3954 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
3955
3956         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
3957
3958 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3959
3960         PR other/8202
3961         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
3962         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
3963         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
3964         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
3965
3966 2002-10-20  Roger Sayle  <roger@eyesopen.com>
3967
3968         PR c/761
3969         * toplev.c (flag_unsafe_profile_arcs): Remove.
3970         (flag_bounded_pointers): Remove.
3971         (flag_bounds_check): Correct comments.
3972         (lang_independent_options): Remove -funsafe-profile-arcs and
3973         -fbounded-pointers.  Correct -fbounds-check comments.
3974
3975         * flags.h: Correct flag_schedule_interblock comments.
3976         (flag_bounded_pointers): Remove prototype.
3977         (flag_bounds_check): Correct comments.
3978
3979         * c-opts.c (c_common_init_options): No need to mark
3980         flag_bounds_check as unspecified.
3981         (c_common_post_options): And no need to set it from
3982         flag_bounded_pointers if its still unspecified.
3983
3984         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
3985         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
3986         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
3987         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
3988
3989 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
3990         Angela Marie Thomas  <angela@releasedominatrix.com>
3991         Brendan Kehoe  <brendan@zen.org>
3992         Nick Clifton  <nickc@redhat.com>
3993         Andrew Haley  <aph@redhat.com>
3994
3995         * configure.in (--with-sysroot): New.  Don't inhibit libc if
3996         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
3997         and CROSS_SYSTEM_HEADER_DIR.
3998         * configure: Rebuilt.
3999         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
4000         (TARGET_SYSTEM_ROOT): New.
4001         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
4002         CROSS_SYSTEM_HEADER_DIR.
4003         (install-gcc-tooldir): New target.
4004         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
4005         if SYSTEM_HEADER_DIR does not exist and it's not the default
4006         sys-include directory.
4007         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
4008         (install-mkheaders): Likewise.
4009         * gcc.c (target_system_root): New variable.
4010         (add_sysrooted_prefix): New function.
4011         (process_command): Recompute run-time target_system_root from
4012         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
4013         does not exist.
4014         (do_spec_1): Process 'R' spec.
4015         (main): Add md_exec_prefix to exec_prefixes regardless of
4016         startfile_prefix_spec.  Use add_sysrooted_prefix for
4017         startfile_prefixes, and don't skip the default ones when cross
4018         compiling with sysroot enabled.  Removed unused case of
4019         non-absolute standard_startfile_prefix.
4020         * config/interix.h: Remove the only potential, yet disabled,
4021         occurrence of non-absolute (empty) standard_startfile_prefix.
4022         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
4023         linking.
4024         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
4025         * doc/install.texi (--with-sysroot): Document.
4026         (--with-headers, --with-libs): Deprecate.
4027
4028 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4029             Mark Mitchell  <mark@codesourcery.com>
4030
4031         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
4032         match target.h.
4033         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
4034         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
4035         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
4036         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
4037         x86_output_mi_thunk): Likewise.
4038         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
4039         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
4040         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
4041         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
4042         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
4043         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
4044         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
4045         Likewise.
4046         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
4047
4048         * target.h (gcc_target): Update output_mi_thunk and
4049         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
4050         vcall_index.
4051
4052         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
4053         TARGET_ASM_OUTPUT_MI_THUNK in comments.
4054         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
4055         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
4056         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
4057         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
4058         signature.
4059         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
4060         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
4061         TARGET_ASM_OUTPUT_MI_THUNK in comments.
4062         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
4063         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
4064         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
4065         TARGET_ASM_OUTPUT_MI_THUNK in comments.
4066         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
4067         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
4068
4069         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
4070         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
4071
4072 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
4073
4074         * real.c (do_add): Fix 0+0 sign corner case.
4075         (do_divide): Fix Inf/0 corner case.
4076
4077 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
4078
4079         * i386.c (classify_argument): Pass MMX arguments in memory
4080         (ix86_expand_builtin): Expand proper address mode for cflush.
4081         * i386.md (movdqa): Fix typo.
4082         (sse2_cflush): Accept DImode addresses.
4083
4084         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
4085         (_mm_max_sd): Fix pasto.
4086         (_mm_storeh_pd, _mm_storel_pd): Fix.
4087
4088         * i386.c (bdesc_comi): Fix to match specification.
4089         (ix86_expand_sse_comi): Emit the comparison properly.
4090         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
4091         Do not use comparison operator.
4092         (vnmaskcmp): Fix template.
4093
4094         * xmmintrin.h (_mm_cvtps_pi16): Fix.
4095
4096 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
4097
4098         * dependence.c : Removed.
4099         * Makefile.in : Remove dependence.o.
4100
4101 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
4102
4103         * mmintrin.h (__m64): typedef it to v2si.
4104         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
4105         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
4106         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
4107         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
4108         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
4109         * xmmintrin.h (_mm_setzero_si64): Likewise.
4110
4111         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
4112         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
4113
4114         PR target/7693
4115         Patch by Shawn Wagner
4116         * mmintrin.h: Replace pi64 by si64.
4117
4118 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
4119
4120         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
4121         Use length of 4 not *.
4122         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
4123         (movdf_softfloat64): Likewise.
4124         (movdi_internal32): Use length of 4 not *.
4125         (movti_power): Same.
4126         (ctrsi, ctrdi): Same.
4127
4128 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
4129
4130         * c-decl.c (start_decl): Point users of the old initialized-
4131         typedef extension at __typeof__.
4132
4133 2002-10-18  Richard Henderson  <rth@redhat.com>
4134
4135         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
4136         (real_to_decimal): Re-implement using the logic from the
4137         gcc 3.2 etoasc.  Comment heavily.
4138         (div_significands): Simplify loop startup and comparison logic.
4139
4140 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
4141
4142         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
4143         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
4144         (TARGET_ASM_OUT): Add them.
4145         * target.h (asm_out): Add output_mi_thunk and
4146         output_mi_vcall_thunk.
4147         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4148         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4149         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
4150         * config/arm/arm.c (arm_output_mi_thunk): Define.
4151         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4152         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4153         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4154         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4155         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4156         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4157         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
4158         prototype.
4159         (x86_output_mi_vcall_thunk): Declare.
4160         * config/i386/i386.c (override_options): Clear
4161         output_mi_vcall_thunk in 64-bit mode.
4162         (ix86_fntype_regparm): New function.
4163         (ix86_return_pops_args): Use it.
4164         (ia32_this_parameter): New function.
4165         (x86_output_mi_vcall_thunk): New function.
4166         (x86_output_mi_thunk): Use it
4167         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
4168         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
4169         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
4170         * config/i960/i960.c (i960_output_mi_thunk): New function.
4171         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
4172         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
4173         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
4174         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4175         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4176         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
4177         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4178         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4179         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4180         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4181         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4182         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4183         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4184         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4185         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4186         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4187         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
4188         * config/s390/s390.c (s390_output_mi_thunk): Define.
4189         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4190         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4191         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4192         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4193         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4194         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4195         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
4196         * config/vax/vax.c (vax_output_mi_thunk): Define.
4197         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4198         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4199         * doc/tm.texi: Adjust documentation.
4200
4201 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
4202
4203         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
4204         __enable_execute_stack function.
4205         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
4206         as NETBSD_ENABLE_EXECUTE_STACK.
4207         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4208         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4209         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4210         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4211         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4212
4213 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
4214
4215         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
4216         to __enable_execute_stack with the address of the trampoline
4217         if TRANSFER_FROM_TRAMPOLINE is defined.
4218         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
4219         constant if building libgcc2.
4220
4221 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
4222
4223         * i386.c (pentium4_cost): Fix according to Intel recommendations.
4224         (ix86_memory_move_cost): Fix for 64bit compilation.
4225
4226 2002-10-17  Roger Sayle  <roger@eyesopen.com>
4227
4228         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
4229
4230 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
4231
4232         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
4233         in CTR/LR/MQ.
4234         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
4235         to/from CTR/LR/MQ.
4236         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
4237         (movsf_softfloat): Likewise.
4238
4239 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
4240
4241         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
4242
4243 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
4244
4245         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
4246         tramp, not addr, to pass the trampoline address to
4247         __enable_execute_stack.
4248
4249 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
4250
4251         * mmintrin.h: Guard by __MMX__
4252         * xmmintrin.h: Guard by __SSE__
4253
4254         PR other/8062
4255         * xmmintrin.h (_MM_SHUFFLE2): New macro.
4256         (_mm_load*_?d): New functions.
4257         (_mm_set*_?d): New functions.
4258         (_mm_store*_?d): New functions.
4259
4260 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
4261
4262         Really commit patch announced at Oct 14
4263         PR c/7344
4264         * predict.c (can_predict_insn_p): New function.
4265         (estimate_probability): Avoid unnecesary work.
4266         (process_note_prediction): Likewise.
4267         * toplev.c (rest_of_compilation): Account early branch prediction pass
4268         as TV_BRANCH_PROB.
4269
4270         PR other/8048
4271         Found by Ian Ollmann
4272         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
4273         (_mm_load?_pd): Likewise.
4274         (_mm_store?_pd): Likewise.
4275
4276         PR target/7386
4277         * i386.c (builtin_description):Drop cmpg[te]s[sd].
4278         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
4279         swapped alternative.
4280
4281         PR opt/7630
4282         * reload1.c (reload_inner_reg_of_subreg): New argument output;
4283         (push_reload): Update call.
4284
4285 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
4286
4287         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
4288         if using mips/elf.h or mips/elf64.h.
4289         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
4290         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
4291
4292 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
4293
4294         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
4295         SI.
4296
4297 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
4298
4299         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
4300         (LPREFIX): Likewise.
4301         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
4302         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
4303         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
4304         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
4305         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
4306
4307         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
4308         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
4309         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4310         BSS_SECTION_ASM_OP): Move from linux.h.
4311         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4312         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4313
4314         * config/s390/s390.c (s390_function_profiler): Use
4315         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4316
4317 2002-10-15  Eric Christopher  <echristo@redhat.com>
4318
4319         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
4320         * java/parse.y (obtain_incomplete_type): Make pointer
4321         ptr_mode.
4322
4323 2002-10-15  Richard Henderson  <rth@redhat.com>
4324
4325         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
4326         as arguments.  Bound DIGITS by the available buffer size.
4327         (real_to_hexadecimal): Likewise.
4328         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
4329         (REAL_VALUE_TO_DECIMAL): Remove.
4330         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
4331         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
4332         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
4333         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4334         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
4335         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
4336         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
4337         use real_to_decimal directly, and with the proper arguments.
4338         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
4339
4340 2002-10-15  Jim Wilson  <wilson@redhat.com>
4341
4342         * reload1.c (merge_assigned_reloads): After converting overlapping
4343         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
4344
4345         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
4346
4347 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
4348
4349         * expr.c (do_tablejump): Fix typo in my previous commit.
4350
4351 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
4352
4353         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
4354
4355 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4356
4357         * config/s390/s390.c (s390_split_branches): Add return
4358         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
4359
4360         (find_base_register_in_addr): New function.
4361         (find_base_register_ref): New function.
4362         (replace_base_register_ref): New function.
4363
4364         (struct constant_pool): Add members pool_insn, insns, and anchor.
4365         Remove member last_insn.
4366         (s390_start_pool): Initialize them.
4367         (s390_end_pool): Emit pool placeholder insn.
4368         (s390_add_pool_insn): New function.
4369         (s390_find_pool): Use insns bitmap instead of addresses.
4370         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
4371         Replace unspec 104 by local-pool-relative references.
4372         (s390_output_constant_pool): Output anchor label if required.
4373         (s390_output_symbolic_const): Handle unspec 104 and 105.
4374         (s390_add_pool): Remove, replace by ...
4375         (s390_add_constant, s390_find_constant): ... these new functions.
4376         (s390_add_anchor): New function.
4377
4378         (s390_chunkify_pool): Delete, replace by ...
4379         (s390_chunkify_start, s390_chunkify_finish,
4380         s390_chunkify_cancel): ... these new functions.
4381         (s390_optimize_prolog): Add parameter TEMP_REGNO.
4382         Recompute register live data for special registers.
4383         (s390_fixup_clobbered_return_reg): New function.
4384         (s390_machine_dependent_reorg): Rewrite to use new
4385         s390_chunkify_... routines.
4386
4387         config/s390/s390.md ("reload_base"): Rename to ...
4388         ("reload_base_31"): ... this.
4389         ("reload_base_64"): New insn.
4390         ("reload_base2"): Remove.
4391         ("reload_anchor"): New insn.
4392         ("pool"): New insn.
4393
4394         s390.c (s390_pool_overflow): Remove.
4395         s390.h (s390_pool_overflow): Likewise.
4396         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
4397
4398 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
4399
4400         * sh.md (movv8qi_i+2): Don't split if source is -1.
4401
4402 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
4403
4404         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
4405
4406 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4407
4408         PR opt/7409
4409         * loop.c (loop_regs_scan): Mark registers used for function
4410         argument passing as MAY_NOT_OPTIMIZE.
4411
4412 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
4413
4414         * gcov-io.h (gcov_info): Fix type.
4415         * profile.c (create_profiler): Fix type mismatch.
4416
4417 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
4418
4419         * i386.md (movv2di_internal): New pattern.
4420         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
4421         (movv2di): New expander.
4422         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
4423
4424         * i386.c (ix86_expand_timode_binop_builtin): Delete.
4425         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
4426         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
4427         (ix86_expand_builtin): Likewise.
4428         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4429         sse_andti3,
4430         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4431         sse_andnti3,
4432         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
4433         sse_orti3,
4434         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
4435         sse_xorti3): Kill.
4436         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
4437          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
4438         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
4439          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
4440         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
4441          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
4442
4443         * xmmintrin.h (__m128i): Define as __v2di.
4444
4445         PR c++/6419
4446         (expand_expr): Use DECL_RTL_SET_P.
4447
4448 2002-10-14  Roger Sayle  <roger@eyesopen.com>
4449
4450         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
4451
4452 2002-10-14  Roger Sayle  <roger@eyesopen.com>
4453             Zack Weinberg <zack@codesourcery.com>
4454
4455         * config/i386/i386.c (k6_cost): Correct typo.
4456
4457 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
4458
4459         PR optimization/6631
4460         * alias.c (objects_must_conflict_p): Check honor_readonly when
4461         examining TYPE_READONLY.
4462         * function.c (assign_stack_temp_for_type): Likewise.
4463
4464 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
4465
4466         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
4467         Swap zero extension arguments.
4468         (umaxhi3): Fix instruction class.
4469         PR target/7211
4470         (prefetch): Fix prefetch instructions.
4471         PR target/7238
4472         (pkwb): Fix output constraint.
4473
4474 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
4475
4476         * config/mips/mips.c (print_operand): Increase buffer size for
4477         real numbers.
4478
4479 2002-10-14  Richard Henderson  <rth@redhat.com>
4480
4481         PR opt/8165
4482         * gcse.c (adjust_libcall_notes): Revert last change.
4483         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
4484
4485 2002-10-14  Andrew Haley  <aph@redhat.com>
4486
4487         * tree-inline.c (remap_block): All local class initialization
4488         flags go in the outermost scope.
4489         (expand_call_inline): Call java_inlining_map_static_initializers.
4490         (expand_call_inline): Call java_inlining_merge_static_initializers.
4491         * java/lang.c (merge_init_test_initialization): New.
4492         (java_inlining_merge_static_initializers): New.
4493         (inline_init_test_initialization): New.
4494         (java_inlining_map_static_initializers): New.
4495
4496         * tree-inline.c (expand_call_inline): Convert retvar to expected
4497         type.
4498
4499 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
4500
4501         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
4502
4503 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
4504
4505         * stmt.c: Fix typo in comment.
4506
4507 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
4508
4509         * c-common.c (c_common_type_for_mode): Add V2HImode case.
4510         * tree.c (build_common_tree_nodes_2): Initialize
4511         unsigned_V2HI_type_node and V2HI_type_node.
4512         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
4513         (unsigned_V2HI_type_node, V2HI_type_node): Define.
4514
4515 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
4516
4517         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
4518         Handle TARGET_64BIT.
4519
4520 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
4521
4522         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
4523         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
4524         (MULTILIB_DIRNAMES): Remove long32.
4525         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
4526         (MULTILIB_REDUNDANT_DIRS): Remove.
4527
4528 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
4529
4530         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
4531         * gcc.c (driver_self_specs): New variable.
4532         (do_self_spec): New function.
4533         (main): Use it to process driver_self_specs.
4534
4535 2002-10-13  Richard Henderson  <rth@redhat.com>
4536
4537         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
4538         indirect sibcalls when regparm >= 3.
4539
4540         * config/i386/i386.c (sibcall_insn_operand): New.
4541         * config/i386/i386.h (PREDICATE_CODES): Update.
4542         * config/i386/i386-protos.h: Update.
4543         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
4544
4545         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
4546
4547 2002-10-12  Roger Sayle  <roger@eyesopen.com>
4548
4549         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
4550         arithmetic right shifts of ~0 during RTL simplifications.
4551
4552 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
4553
4554         PR preprocessor/7862
4555         PR preprocessor/8190
4556         * gcc.c (cpp_unique_options): Don't delete .d files.
4557         Remove stray whitespace.
4558
4559 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
4560
4561         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
4562         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
4563         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
4564         (pdp11_output_function_epilogue, output_ascii): Likewise.
4565         (output_addr_const_pdp11): Likewise.
4566         * pdp11.md (movdi): Use offsetable memory for floating store.
4567         (lshrsi3, negsi2): Delete irrelevant comment.
4568
4569 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
4570
4571         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
4572         indirect calls to be sibcall optimized.
4573         * config/i386/i386.md (sibcall_1): New.
4574         (call_1): Add no-sibcalls condition.
4575         (sibcall_value_1): New.
4576         (call_value_1): Add no-sibcalls condition.
4577
4578 2002-10-11  Eric Christopher  <echristo@redhat.com>
4579
4580        * output.h (default_valid_pointer_mode): Declare.
4581        * varasm.c (default_valid_pointer_mode): Define.
4582        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
4583        * target.h: Ditto.
4584        * tree.c (build_pointer_type_for_mode): New function.
4585        (build_pointer_type): Use.
4586        (build_reference_type_for_mode): New function.
4587        (build_reference_type): Use.
4588        * tree.h: Declare new functions.
4589        * c-common.c (handle_mode_attribute): Use new functions, check
4590        for type.
4591        * stor-layout.c (layout_type): Depend on machine mode for
4592        REFERENCE_TYPE and POINTER_TYPE.
4593        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
4594        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
4595        and REFERENCE_TYPE.
4596        * config/mips/mips.c (mips_valid_pointer_mode): New function.
4597        (TARGET_VALID_POINTER_MODE): Use and define.
4598        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
4599
4600 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
4601
4602         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
4603         not the address of the REG.
4604         (struct cse_reg_info): Make subreg_ticked unsigned.
4605
4606 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
4607
4608         * doc/compat.texi: Add info about C++ libraries.
4609
4610 2002-10-11  Richard Henderson  <rth@redhat.com>
4611
4612         PR opt/8165
4613         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
4614
4615 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4616
4617         * cfganal.c (dfs_enumerate_from): Use PARAMS.
4618         * genautomata.c (output_insn_code_cases): Likewise.
4619         * real.c (real_format): Likewise.
4620         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
4621         ensure value is promoted before doing subtraction.
4622
4623 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
4624
4625         * calls.c (expand_call): Simplify noreturn call.
4626
4627         PR c/7344
4628         * cfgbuild.c (make_edges): Create edge cache when we do have
4629         large jumptable.
4630         * expr.c (do_tablejump): Note size of maximal jumptable.
4631         * function.c (prepare_function_start): Zero out size.
4632         * function.h (function): Add max_jumptable_ents.
4633
4634         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
4635
4636 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
4637
4638         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
4639         register for mperm_w operation.
4640
4641 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
4642
4643         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
4644         an integer, use simplify_gen_subreg.
4645
4646 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
4647
4648         * calls.c (flags_from_decl_or_type): Make extern.
4649         (ECF_*): Move ...
4650         * rtl.h (ECF_*): ... here.
4651         (flags_from_decl_or_type): Declare.
4652
4653 2002-10-10  Roger Sayle  <roger@eyesopen.com>
4654             Nathan Sidwell <nathan@codesourcery.com>
4655
4656         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
4657         shifts of the form -1 >> x.
4658
4659 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
4660
4661         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
4662
4663 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
4664
4665         * extend.texi (Vector Extensions): Remove comment about single
4666         element vectors.
4667
4668 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4669
4670         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
4671         * function.c (insns_for_mem_hash): Likewise.
4672         * varasm.c (STRHASH): Likewise.
4673
4674 2002-10-10  Stuart Hastings  <stuart@apple.com>
4675
4676         * cse.c (struct cse_reg_info): Add subreg_ticked.
4677         (SUBREG_TICKED): New.
4678         (get_cse_reg_info): Initialize SUBREG_TICKED.
4679         (mention_regs): Use it.
4680         (invalidate): Set SUBREG_TICKED.
4681         (invalidate_for_call): Likewise.
4682         (addr_affects_sp_p): Likewise.
4683
4684 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
4685
4686         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
4687         into proper operand.
4688
4689 2002-10-10  Denis Chertykov  <denisc@overta.ru>
4690
4691         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
4692         deallocation.
4693         * config/ip2k/libgcc.S: Combine routines used by function
4694         epilogue.
4695
4696 2002-10-10  Jim Wilson  <wilson@redhat.com>
4697
4698         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
4699         UDIV.
4700
4701 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
4702
4703         * config/rs6000/aix52.h: New file.
4704         * config/rs6000/t-aix52: New File.
4705         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
4706         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
4707
4708 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
4709
4710         PR target/5610
4711         * invoke.texi (-msse-math): Kill
4712         (-msse): Add note to mfpmath=sse.
4713
4714 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
4715
4716         PR target/7723
4717         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
4718
4719 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
4720
4721         PR preprocessor/8179
4722         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
4723         as cc1_options.
4724         (default_compilers): Pass debug options when preprocessing
4725         stdin.
4726
4727 2002-10-06  Richard Henderson  <rth@redhat.com>
4728
4729         * toplev.c (rest_of_compilation): Revert opt/2960 change.
4730
4731 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
4732
4733         * i386.c (*_cost): Add branch costs.
4734         (override_options): set ix86_branch_cost.
4735         (ix86_expand_int_movcc): Use BRANCH_COST.
4736         * i386.h (costs): Add branch_cost.
4737
4738 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
4739
4740         PR c/7353
4741         * c-decl.c (start_decl): Unconditionally issue error for
4742         'typedef foo = bar'.
4743         (finish_decl): Remove special case for TYPE_DECL with initializer.
4744
4745         * doc/extend.texi: Delete "Naming Types" section.  Change all
4746         cross-references to that section to refer to "Typeof" instead.
4747         Add the useful safe-max()-macro example from "Naming Types" to
4748         "Typeof", rewritten using that extension.  Add some compatibility
4749         notes to "Typeof."
4750
4751 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4752
4753         * loop.c: Revert 2002-08-15 change.
4754         (LOOP_REGNO_NREGS): Ensure type is int.
4755
4756 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
4757
4758         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
4759         which copies first FPR and clears second.
4760         (extendsftf2): Same.
4761         (floatditf2): Fix typo.
4762         (floatsitf2): Same.
4763         (fix_trunctfdi2): Same.
4764         (fix_trunctfsi2): Same.
4765
4766 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4767
4768         * conflict.c (arc_hash): Change return type to hashval_t.
4769         * cselib.c (get_value_hash): Likewise.
4770         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
4771         state_hash, automata_list_hash): Likewise.
4772         * read-rtl.c (def_hash): Likewise.
4773         * tree.c (type_hash_hash): Likewise.
4774
4775 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
4776
4777         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
4778         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
4779
4780 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
4781
4782         * sh.md (ffssi2): Fix emitted code.
4783
4784 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
4785
4786         * cse.c (insn_live_p): Pass insn pattern, not full insn
4787         to may_trap_p.
4788
4789 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
4790
4791         * cppmacro.c (paste_tokens): Only allow / to paste with =.
4792
4793 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
4794
4795         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
4796         64-bit hosts.
4797         (movtf_internal): Reference correct displacement for second value
4798         in memory.
4799         (movtf splitter): Correct generation of constants in 64-bit mode.
4800
4801 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
4802
4803         * libgcc2.c (__floatdisf): Properly cure double rounding.
4804
4805 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4806
4807         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
4808         * doc/cpp.texi (Common Predefined Macros): Document.
4809
4810 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4811
4812         PR doc/7484
4813         * doc/invoke.texi (Option Summary): List
4814         -Wmissing-declarations as a C only option.
4815
4816 2002-10-08  Roger Sayle  <roger@eyesopen.com>
4817
4818         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
4819         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
4820         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
4821
4822 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
4823
4824         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
4825         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
4826         variables.
4827         (safe_vector_operand): Update sse_clrv4sf call.
4828         (ix86_expand_buildin): Likewise
4829         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
4830         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
4831         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
4832         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
4833         macros.
4834         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
4835         movv4si):  Obey the new flags.
4836         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
4837         reformating penalty.
4838         (anddf, cmov patterns): Avoid reformating by first converting.
4839         (sse_cvtsd2ss): Fix predicate.
4840         (sse2_clrti): Fix mode,
4841         (sse_clrv4sf): Avoid unspec.
4842
4843 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
4844
4845         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
4846         mno-app-regs|mcmodel=medany.
4847         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
4848         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
4849         (CRTSTUFF_T_CFLAGS): Define.
4850
4851 2002-10-08  Roger Sayle  <roger@eyesopen.com>
4852
4853         PR target/8087
4854         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
4855         pool references that are constructed using LO_SUM.
4856
4857 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
4858
4859         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
4860         -Wall.
4861         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
4862         message.
4863         * flags.h (warn_strict_aliasing): Declare.
4864         * toplev.c (warn_strict_aliasing): Define.
4865         (lang_independent_options): Add it.
4866         * doc/invoke.texi (-Wstrict-aliasing): Document it.
4867
4868 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
4869
4870         * system.h (GCCBUGURL): Delete.
4871         * version.c (bug_report_url): New.  Add commentary about
4872         modifying both these strings in modified distributions.
4873         * version.h: Declare bug_report_url.
4874
4875         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
4876         bug_report_url.
4877
4878 2002-10-08  Nick Clifton  <nickc@redhat.com>
4879
4880         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
4881         convert uint64_t into __ev64_opaque__.
4882         (__ev_set_acc_s64): Likewise, but using signed types.
4883
4884 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
4885
4886         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
4887         ("*doloop_di_long"): Likewise.
4888
4889 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
4890
4891         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
4892
4893 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
4894
4895         * config/mips/mips.md (define_attr cpu): Add r4111.
4896
4897 2002-10-08  Anthony Green  <green@redhat.com>
4898
4899         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
4900
4901 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4902
4903         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
4904         for REAL_VALUE_TO_DECIMAL output.
4905
4906 2002-10-07  Richard Henderson  <rth@redhat.com>
4907
4908         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
4909         function; cleanup PLUS case by using recursion.  Update all users.
4910         (NONZERO_BASE_PLUS_P): Remove.
4911         (find_comparison_args): Use rtx_addr_can_trap_p instead.
4912         (fold_rtx): Use nonzero_address_p.
4913         * rtl.h (nonzero_address_p): Declare.
4914         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
4915         (rtx_addr_can_trap_p): Likewise.
4916         (nonzero_address_p): New.
4917         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
4918         (simplify_relational_operation): Use nonzero_address_p.
4919
4920 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
4921
4922         * config/rs6000/rs6000.c (rs6000_override_options): Set
4923         real_format_for_mode for IBM extended format, if enabled.
4924         (easy_fp_constant): Add TFmode.
4925         (rs6000_legitimize_address): Add TFmode.
4926         (rs6000_legitimate_address): Same.
4927         (function_arg_advance): TFmode uses two FPRs.
4928         (rs6000_emit_prologue): Fix warning.
4929         (rs6000_output_function_epilogue): Add TFmode.
4930         (output_toc): Add TFmode.
4931         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
4932         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
4933         * rs6000.md (movtf splitter): Load TFmode constant.
4934
4935 2002-10-07  Dale Johannesen  <dalej@apple.com>
4936
4937         * rtl.h:  Add NOTE_PRECONDITIONED.
4938         * unroll.c:  Set it.
4939         * loop.c:  Set loop_info->preconditioned from it.
4940         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
4941
4942 2002-10-07  Richard Henderson  <rth@redhat.com>
4943
4944         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
4945         new rtx for comparing the argument pointer against zero.
4946         (i960_va_start): Similarly.
4947
4948 2002-10-07  Richard Henderson  <rth@redhat.com>
4949
4950         * config/i960/i960.md (*): Use TFmode, not XFmode.
4951         * config/i960/i960.c (*): Likewise.
4952         (i960_arg_size_and_align): Remove XFmode alignment hack.
4953         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
4954         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
4955         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
4956         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
4957
4958 2002-10-07  Richard Henderson  <rth@redhat.com>
4959
4960         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
4961         entry points; use void return value and argument list.
4962
4963 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
4964
4965         * calls.c (expand_call): Fix function-is-volatile check.
4966
4967 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
4968
4969         * t-pdp11: Add MULTILIB support for msoft-float.
4970         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
4971
4972         * t-pdp11: Add LIB2FUNCS_EXTRA.
4973         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
4974         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
4975         'fldd' to 'ldd', rename 'fstd' to 'std'.
4976         (pdp11_output_function_epilogue): Likewise.
4977         (output_move_quad): Make the comment gas compatible.
4978         (output_ascii): Add preceding 0 to the octal constant.
4979         (print_operand_address): Add pre_modify, post_modify.
4980         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
4981         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
4982         with the indication of Paul Koning.
4983         (PRINT_OPERAND): Fix floating constant.
4984         * pdp11.md (movdi): Restrict matching pattern.
4985         (movqi): Generalize the matching pattern.
4986         (movdf): Restrict matching pattern.
4987         (zero_extendqihi2): Change constant representation.
4988         (floatsidf2): Fix wrong operands.
4989         (addqi3): Fix wrong instruction name.
4990         (subqi3): Fix wrong instruction name.
4991         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
4992         (xorsi3): Fix wrong insn.
4993         (one_cmplqi2): Add two operand pattern.
4994         (lsrsi3): New.
4995         (negsi2): New.
4996         (call): Add register indirect case.
4997         (mod): Fix wrong subreg.
4998
4999 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
5000             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5001
5002         PR c/7411
5003         * expr.c (expand_expr) [PLUS]: Simplify after the operands
5004         have been expanded in EXPAND_NORMAL mode.
5005
5006 2002-10-06  Richard Henderson  <rth@redhat.com>
5007
5008         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
5009
5010 2002-10-06  Richard Henderson  <rth@redhat.com>
5011
5012         PR optimization/2960
5013         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
5014         optimize_size.
5015
5016 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
5017
5018         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
5019         previously definitions.
5020
5021 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
5022
5023         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
5024         * c-opts.c (find_opt): Similarly.
5025
5026 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
5027
5028         * athlon.md: rewrite to DFA.
5029         * i386 (ix86_adjust_cost): Drop memory latency code.
5030         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
5031
5032 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
5033
5034         * gcc.c (set_multilib_dir): Don't access *end.
5035         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
5036         (print_multilib_info): Don't show paths starting with ".:".
5037         * genmultilib: Add new option, "yes" if multilibs are enabled.
5038         Update comments.  If multilibs not enabled, print .:${osdirout}
5039         for each directory.  If multilibs are enabled, always print
5040         ${dirout}:${osdirout}, even if the two are the same.
5041         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
5042         Pass all MULTILIB_* variables to genmultilib even if
5043         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
5044
5045 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
5046
5047         * gcc.c (process_command): Set .validated for -pipe.  Correct
5048         grammar in comment.
5049
5050 2002-10-04  Bruce Korb  <bkorb@gnu.org>
5051
5052         * fixinc/inclhack.def(hpux11_abs):  use format fix
5053         * fixinc/fixincl.x: regenerate
5054         * fixinc/tests/base/stdlib.h: accommodate new fix test
5055
5056 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
5057
5058         * c-common.c (cb_register_builtins):  Use really_no_inline.
5059
5060 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
5061
5062         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
5063         copied instruction if the note is not loop invariant.
5064
5065 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
5066
5067         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
5068
5069 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
5070
5071         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
5072         and -mhp-ld options to list of options.  Add -mgnu-ld
5073         and -mhp-ld option descriptions.
5074
5075 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
5076
5077         * fixinc/inclhack.def (hpux11_abs):  New.
5078         (stdio_va_list): change __va_list__ to __gnuc_va_list.
5079         * fixinc/fixincl.x: Rebuild.
5080
5081 2002-10-04  Roger Sayle  <roger@eyesopen.com>
5082
5083         * config/i386/i386.h (processor_costs): Add new fields fadd,
5084         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
5085         (RTX_COSTS): Use these fields to determine the RTX costs
5086         of floating point addition/subtraction, multiplication,
5087         division, fabs, negation and square root respectively.
5088         * config/i386/i386.c (size_cost): Provide instruction sizes
5089         for these new fields.
5090         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
5091         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
5092         counts for these new fields for all x86 processor variants.
5093
5094 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5095
5096         * mips.c (mips_const_double_ok): Delete unused variable.
5097
5098         * gengtype.c (rtx_next): Change type to int.
5099
5100 2002-10-04  Andreas Jaeger  <aj@suse.de>
5101
5102         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
5103
5104 2002-10-04  Richard Henderson  <rth@redhat.com>
5105
5106         * real.h (SIGNIFICAND_BITS): Add one more word.
5107         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
5108         * real.c (times_pten): New.
5109         (real_to_decimal, real_from_string): Use it.
5110         (sticky_rshift_significand): Use & to find modulus.
5111         (rshift_significand, lshift_significand): Likewise.
5112         (do_divide): Apply sticky bit after normalization.
5113         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
5114
5115 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
5116
5117         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
5118         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
5119
5120 2002-10-03  Andreas Jaeger  <aj@suse.de>
5121
5122         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
5123         to unsigned long, adjust printf format string.
5124         (output_mangled_typename): Likewise.
5125
5126 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
5127
5128         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
5129         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
5130         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
5131         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
5132         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
5133         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
5134         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
5135         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
5136
5137 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
5138
5139         * doc/invoke.texi (-Wabi): Document mangling bug.
5140
5141 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
5142
5143         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
5144         name for the tbtab label that depends on the function asm name.
5145         Don't output tbtab label unless optional_tbtab.
5146         (output_mi_thunk): Formatting.
5147
5148 2002-10-03  Richard Henderson  <rth@redhat.com>
5149
5150         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
5151         * config/m68k/m68k.c (override_options): ... here.
5152         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
5153         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
5154         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
5155         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
5156
5157 2002-10-03  Richard Henderson  <rth@redhat.com>
5158
5159         * real.h (struct real_value): Use ENUM_BITFIELD.
5160
5161 2002-10-03  Richard Henderson  <rth@redhat.com>
5162
5163         * config/i960/i960.md (call, call_value): Use emit_call_insn.
5164
5165 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
5166
5167         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
5168
5169 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
5170
5171         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
5172         * config/pa/pa.h (MASK_GNU_LD): New.
5173         (TARGET_GNU_LD): New.
5174         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
5175         on gnu-ld and MASK_GNU_LD.
5176         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
5177
5178 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
5179
5180         * i386.c (athlon_cost): Fix the move costs.
5181
5182 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
5183
5184         * final.c (final): Use symbol name as function name for profiling.
5185         * profile.c (get_exec_counts): Likewise.
5186         (branch_prob): Likewise.
5187
5188 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
5189
5190         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
5191
5192 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
5193
5194         * gcc.c (print_multi_os_directory): New variable.
5195         (option_map): Support --print-multi-os-directory.
5196         (struct prefix_list): Add os_multilib field.
5197         (multilib_os_dir): New variable.
5198         (static_specs): Add multilib_options.
5199         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
5200         subdirs if nonzero.
5201         (read_specs, execute): Update callers.
5202         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
5203         pass 1 as multilib option.
5204         (display_help): Include --print-multi-os-directory.
5205         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
5206         (process_command): Update callers.  Handle --print-multi-os-directory.
5207         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
5208         set.
5209         (main): Update find_a_file and add_prefix callers.
5210         Handle print_multi_os_directory.
5211         (struct mdswitchstr): New.
5212         (mdswitches, n_mdswitches): New variables.
5213         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
5214         present on the command line nor their mutually incompatible
5215         switches.
5216         (default_arg): Optimize.
5217         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
5218         array.
5219         (print_multilib_info): Only print GCC multilib dir name, not OS
5220         multilib dirname.
5221         * genmultilib: Add osdirnames parameter.  Output multilib_options
5222         variable.  If osdirnames is specified, output dirnames as
5223         dirname:osdirname.
5224         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
5225         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
5226         to compute libgcc_s soname and install path.
5227         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
5228         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
5229         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
5230         argument.
5231
5232         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
5233         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5234         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
5235         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
5236         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
5237         and -m64.
5238         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
5239         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5240         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
5241         (STARTFILE_ARCH_SPEC): Remove.
5242         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
5243         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5244         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
5245         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
5246         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5247
5248 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
5249
5250         * predict.c (choose_function_section): Avoid choice for linkonce functions.
5251
5252 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
5253
5254         * i386.md (lea to mul peep2): Fix condition.
5255
5256 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5257
5258         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
5259         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
5260
5261 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
5262
5263         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
5264         attribute "unused".
5265
5266         * config/t-libunwind: Mention unwind-sjlj.c.
5267         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
5268         to #ifndef __USING_SJLJ_EXCEPTIONS__.
5269
5270         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
5271         before inclusion of config.gcc, but after configuring the compiler etc.
5272         Determine default value for --enable-libunwind-exceptions based on
5273         whether the host has a libunwind library (not guaranteed to be correct,
5274         but it's a reasonable first guess and can always be overridden with an
5275         explicit --enable/disable-libunwind-exceptions.
5276         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
5277         tmake_file when $use_libunwind_exceptions is enabled.
5278         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
5279         ia64 (e.g., config/t-linux also updates it).
5280         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
5281         along with the shared version of libgcc since the latter requires
5282         the former.
5283         * unwind-libunwind.c: New file.
5284         * config/t-libunwind: Ditto.
5285
5286 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5287
5288         * config.gcc: Remove support for vax-*-vms*.
5289         * config/vax/vms.h: Remove.
5290         * config/vax/xm-vms.h: Remove.
5291         * config/vax/vax-protos.h: Remove VMS-specific code.
5292         * config/vax/vax.c: Remove VMS-specific code.
5293
5294 2002-10-02  Richard Henderson  <rth@redhat.com>
5295
5296         PR opt/7124
5297         * config/i386/i386.c (ix86_register_move_cost): Increase cost
5298         for secondary_memory_needed pairs.
5299
5300 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5301
5302         * doc/vms.texi: Blow away false include file section.
5303
5304 2002-10-02  Roger Sayle  <roger@eyesopen.com>
5305
5306         PR optimization/6627
5307         * toplev.c (force_align_functions_log): New global variable.
5308         * flags.h (force_align_functions_log): Add extern prototype.
5309         * varasm.c (assemble_start_function): Use it to force minimum
5310         function alignment.
5311         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
5312         minimum function alignment to one byte.
5313         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
5314         the least significant bit of vtable member function pointers.
5315         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
5316         here from cp/cp-tree.h.
5317
5318 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
5319
5320         * i386.c (print_operand_address): Use RIP addressing for offsetted
5321         label refs too.
5322
5323 2002-09-30  David S. Miller  <davem@redhat.com>
5324
5325         PR middle-end/7151
5326         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
5327         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
5328
5329 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
5330
5331         * calls.c (expand_call): Remove the `no indirect check'
5332         for sibcall optimization; use function_ok_for_sibcall
5333         target hook; refine check for `function is volatile'.
5334         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
5335         * hooks.c (hook_tree_tree_bool_false): New.
5336         * hooks.h (hook_tree_tree_bool_false): Declare.
5337         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
5338         (TARGET_INITIALIZER): Add it.
5339         * target.h (struct gcc_target): Add function_ok_for_sibcall.
5340         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
5341         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5342         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5343         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
5344         Remove function declaration.
5345         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
5346         function static and accept another argument of type `tree'.
5347         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5348         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5349         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5350         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
5351         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5352         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5353         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5354         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
5355         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
5356         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5357         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5358         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
5359         Remove function declaration.
5360         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
5361         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
5362         rename first argument to `decl'; accept another argument
5363         of type `tree'; make static.
5364         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5365         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5366         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
5367         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5368         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5369         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
5370         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5371         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5372         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5373
5374 2002-10-01  Roger Sayle  <roger@eyesopen.com>
5375
5376         * unroll.c (loop_iterations): Revert 2002-09-08 change.
5377
5378 2002-10-01  Richard Henderson  <rth@redhat.com>
5379
5380         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
5381         (real_to_hexadecimal): Likewise.
5382         * print-rtl.c (print_rtx): If we are linked with real.c, don't
5383         dump the XWINT fields of a floating point CONST_DOUBLE.
5384
5385 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
5386
5387         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
5388
5389 2002-10-01  Richard Henderson  <rth@redhat.com>
5390
5391         * calls.c (precompute_register_parameters): Force non-legitimate
5392         constants into pseudos.
5393
5394 2002-10-01  Nick Clifton  <nickc@redhat.com>
5395
5396         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
5397         to assembler template.
5398
5399 2002-10-01  Richard Henderson  <rth@redhat.com>
5400
5401         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
5402         for TLS debug info to !DECL_EXTERNAL.
5403
5404 2002-10-01  Matt Thomas  <matt@3am-software.com>
5405             Jason Thorpe  <thorpej@wasabisystems.com>
5406
5407         * config.gcc (vax-*-netbsdelf*): Enable configuration.
5408         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
5409         if not already defined.
5410         * config/vax/elf.h: New file.
5411         * config/vax/netbsd-elf.h: New file.
5412         * config/vax/vax.c: Include "debug.h".
5413         (vax_output_function_prologue): Add dwarf2 support.  Use
5414         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
5415         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
5416         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
5417         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
5418         (VAX_ISTREAM_SYNC): Remove.
5419         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
5420         (JUMP_TABLES_IN_TEXT_SECTION): Define.
5421         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
5422         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
5423         and assemble_name.
5424         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5425         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
5426         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
5427         (INCOMING_RETURN_ADDR_RTX): Define.
5428         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
5429         (VUNSPEC_SYNC_ISTREAM): Define.
5430         (blockage): Use VUNSPEC_BLOCKAGE.
5431         (sync_istream): New insn.
5432
5433 2002-10-01  Richard Henderson  <rth@redhat.com>
5434
5435         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
5436         (*call_value_pop, call, call_value): Add dwarf2 EH support.
5437         (*call): New insn.
5438
5439 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
5440
5441         PR c/8083
5442         * c-typeck.c (build_c_cast): Warn about type punning which breaks
5443         type based aliasing.
5444
5445 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
5446
5447         * stor-layout.c (update_alignment_for_field): New function.
5448         (place_union_field): Use it.
5449         (place_field): Likewise.
5450
5451 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
5452
5453         PR other/8077
5454         * gcc.c (cc1_options): Add space on -auxbase-strip.
5455
5456 2002-10-01  Jim Wilson  <wilson@redhat.com>
5457
5458         * config/v850/v850.h (EPILOGUE_USES): Define.
5459
5460 2002-09-30  Andrew Haley  <aph@redhat.com>
5461
5462         * flow.c (insn_dead_p): When using non-call-exceptions, don't
5463         eliminate insns that may trap.
5464         * cse.c (insn_live_p): Likewise.
5465
5466 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5467
5468         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
5469         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
5470         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
5471         * config/mips/mips.md: Apply same renaming here.
5472
5473 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5474
5475         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
5476         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
5477         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
5478         * config/mips/mips.md (define_attr cpu): Remove r4320.
5479         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
5480
5481 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5482
5483         * config/mips/mips.c (mips16_strings): New variable.
5484         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
5485         symbol in mips16_strings.  Free the list.
5486         (mips_encode_section_info): Keep track of local strings.
5487
5488 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5489
5490         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
5491         (sordered_df, sordered_sf): Remove.
5492         * config/mips/mips.c (get_float_compare_codes): New fn.
5493         (gen_int_relational, gen_conditional_move): Use it.
5494
5495 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5496
5497         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
5498         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
5499         * config/mips/mips.c (fcc_register_operand): New function.
5500         (mips_emit_fcc_reload): New function, extracted from reload_incc.
5501         (override_options): Allow TFmode values in float registers
5502         if ISA_HAS_8CC.
5503         * cnfig/mips/mips.md (reload_incc): Change destination prediate
5504         to fcc_register_operand.  Remove misleading source constraint.
5505         Use mips_emit_fcc_reload.
5506         (reload_outcc): Duplicate reload_incc.
5507
5508 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
5509
5510         * gcc.c (validate_switches): Handle all new forms of spec
5511         syntax introduced recently.  Now returns a char *.
5512         (validate_all_switches): Repetitive logic broken out to...
5513         (validate_switches_from_spec): ...here.
5514         * mklibgcc.in: Don't @-flag commands to generate .oS files.
5515
5516 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
5517
5518         * longlong.h: Partially synchronize with GMP-4.1 version:
5519         Use i370 definitions also for s390.
5520         Add generic definition of umul_ppmm in terms of smul_ppmm.
5521         [s390] (umul_ppmm): Remove.
5522         [s390] (smul_ppmm): Fix incorrect assembler constraints.
5523         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
5524
5525 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
5526
5527         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
5528         Add new RL_REGS register class.
5529         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
5530         Call xtensa_preferred_reload_class for both input and output reloads.
5531         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
5532         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
5533         instead of either AR_REGS or GR_REGS classes.
5534         (xtensa_secondary_reload_class): Use new RL_REGS class.
5535         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
5536
5537 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5538
5539         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
5540         (pa_strip_name_encoding): Strip '@' and '*', in that order.
5541         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
5542         there is a '*' prefix in NAME.
5543
5544 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
5545
5546         * reload.c (push_reload): Handle subregs and secondary memory.
5547         * reload1.c (gen_reload): Likewise.
5548
5549         * jump.c (reg_or_subregno): New function.
5550         * rtl.h (reg_or_subregno): Declare
5551         * unroll.c (find_splittable_givs): Handle subregs.
5552
5553 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
5554
5555         * store-layout.c (finish_record_layout): Add free_p parameter.
5556         (layout_type): Pass it.
5557         * tree.h (finish_record_layout): Update prototype.
5558
5559 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
5560
5561         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
5562
5563         * gcse.c (cprop_jump): Check that the register has not
5564         been modified
5565         (cprop_jump): Likewise.
5566
5567 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
5568
5569         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
5570         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
5571         that we have a SImode access, and only then if reload hasn't completed;
5572         for all other cases, use LO_REGS.
5573
5574 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5575
5576         * openbsd.h: Fix typo in last change.
5577
5578 2002-09-29  Richard Henderson  <rth@redhat.com>
5579
5580         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
5581
5582 2002-09-29  Richard Henderson  <rth@redhat.com>
5583
5584         PR c/8002
5585         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
5586         for CONST_INT.
5587
5588 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
5589
5590         * real.h (ibm_extended_format): Declare.
5591         * real.c (encode_ibm_extended, decode_ibm_extended): New
5592         functions.
5593
5594 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5595
5596         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
5597
5598         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
5599
5600 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5601
5602         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
5603
5604 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
5605
5606         * builtins.def: Fix comment formatting.
5607         * c-common.def: Likewise.
5608         * cfgcleanup.c: Likewise.
5609         * combine.c: Likewise.
5610         * gengtype.c: Likewise.
5611         * params.def: Likewise.
5612         * predict.def: Likewise.
5613         * rtl.def: Likewise.
5614         * stab.def: Likewise.
5615         * stor-layout.c: Likewise.
5616         * tree.def: Likewise.
5617         * config/darwin.c: Likewise.
5618         * config/darwin.h: Likewise.
5619         * config/dbxcoff.h: Likewise.
5620         * config/elfos.h: Likewise.
5621         * config/fp-bit.c: Likewise.
5622         * config/freebsd-spec.h: Likewise.
5623         * config/interix.h: Likewise.
5624         * config/libgloss.h: Likewise.
5625         * config/linux-aout.h: Likewise.
5626         * config/linux.h: Likewise.
5627         * config/lynx-ng.h: Likewise.
5628         * config/lynx.h: Likewise.
5629         * config/netbsd-aout.h: Likewise.
5630         * config/netbsd.h: Likewise.
5631         * config/netware.h: Likewise.
5632         * config/psos.h: Likewise.
5633         * config/ptx4.h: Likewise.
5634
5635 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
5636
5637         * ChangeLog.4: Fix typos.
5638         * ChangeLog.6: Likewise.
5639         * FSFChangeLog.10: Likewise.
5640         * genattrtab.c: Fix comment typos.
5641         * haifa-sched.c: Likewise.
5642         * real.c: Likewise.
5643         * tree.h: Likewise.
5644         * config/arm/arm.c: Likewise.
5645         * config/arm/crti.asm: Likewise.
5646         * config/arm/crtn.asm: Likewise.
5647         * config/frv/frv.c: Likewise.
5648         * config/frv/frv.md: Likewise.
5649         * config/h8300/h8300.md: Likewise.
5650         * config/i386/rtemself.h: Likewise.
5651         * config/ia64/unwind-ia64.c: Likewise.
5652         * config/ip2k/ip2k.h: Likewise.
5653         * config/m88k/m88k.c: Likewise.
5654         * config/m88k/m88k.md: Likewise.
5655         * config/mips/sr71k.md: Likewise.
5656         * config/mmix/mmix.c: Likewise.
5657         * config/rs6000/rs6000.c: Likewise.
5658         * config/sh/sh.md: Likewise.
5659
5660 2002-09-26  Theodore A. Roth  <troth@verinet.com>
5661
5662         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
5663         * config/avr/avr.md: Ditto.
5664
5665 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
5666
5667         PR preprocessor/8055
5668         * cppmacro.c (stringify_arg): Do not overflow the buffer
5669         with the terminating NUL when the argument to be stringified
5670         has no tokens.
5671
5672 2002-09-27  Richard Henderson  <rth@redhat.com>
5673
5674         * unroll.c (simplify_cmp_and_jump_insns): New.
5675         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
5676         instead of expand_simple_foo.
5677
5678 2002-09-27  Richard Henderson  <rth@redhat.com>
5679
5680         PR optimization/7520
5681         * cfganal.c (flow_active_insn_p): New.
5682         (forwarder_block_p): Use it.
5683
5684 2002-09-27  Richard Henderson  <rth@redhat.com>
5685
5686         * emit-rtl.c (active_insn_p): Revert last change.
5687
5688 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
5689
5690         * doc/extend.texi (tls_model): Document.
5691         * varasm.c (decl_tls_model): New.
5692         * c-common.c (handle_tls_model_attribute): New.
5693         (c_common_attribute_table): Add tls_model.
5694         * config/alpha/alpha.c (alpha_encode_section_info): Use
5695         decl_tls_model.
5696         * flags.h (enum tls_model, flag_tls_default): Move...
5697         * tree.h (enum tls_model, flag_tls_default): ...here.
5698         (decl_tls_model): New prototype.
5699         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
5700         * config/i386/i386.c (ix86_encode_section_info): Likewise.
5701         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
5702         Allow !flag_pic.
5703
5704 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
5705
5706         * LANGUAGES: Follow spelling conventions.
5707         * rtl.def: Likewise.
5708         * sbitmap.c: Likewise.
5709         * sched-int.h: Likewise.
5710         * sched-rgn.c: Likewise.
5711         * sibcall.c: Likewise.
5712         * simplify-rtx.c: Likewise.
5713         * ssa.c: Likewise.
5714         * stab.def: Likewise.
5715         * stmt.c: Likewise.
5716         * stor-layout.c: Likewise.
5717         * target.h: Likewise.
5718         * timevar.c: Likewise.
5719         * toplev.c: Likewise.
5720         * tree-dump.c: Likewise.
5721         * tree-inline.c: Likewise.
5722         * tree.c: Likewise.
5723         * tree.def: Likewise.
5724         * tree.h: Likewise.
5725         * unroll.c: Likewise.
5726         * varasm.c: Likewise.
5727         * vmsdbgout.c: Likewise.
5728         * treelang/treelang.texi: Likewise.
5729         * treelang/treetree.c: Likewise.
5730
5731 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
5732
5733         * config/h8300/h8300.c (compute_saved_regs): Use a macro
5734         instead of a hard register number.
5735         (get_shift_alg): Use an enumerated type instead of numbers.
5736         (h8300_shift_needs_scratch_p): Likewise.
5737
5738 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5739
5740         * varasm.c (force_data_section): Remove.
5741         (assemble_constant_align): Likewise.
5742         * output.h: Remove corresponding prototypes.
5743
5744 2002-09-26  Roger Sayle  <roger@eyesopen.com>
5745
5746         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
5747         jump, if the loop to exit is the top of the current nesting stack.
5748
5749 2002-09-26  Torbjorn Granlund  <tege@swox.com>
5750
5751         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
5752         arithmetic.
5753
5754 2002-09-26  David S. Miller  <davem@redhat.com>
5755
5756         PR optimization/7335
5757         * calls.c (emit_library_call_value_1): Passing args by reference
5758         converts a CONST function into a PURE one.
5759
5760 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
5761
5762         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
5763         text_section.
5764         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
5765         text section.
5766         * config/rs6000/rs6000.c (rs6000_override_options): Allow
5767         function-sections and data-sections functionality on AIX.
5768
5769 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
5770             Dale Johannesen  <dalej@apple.com>
5771
5772         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
5773         in RTL for sub-word loads from memory.
5774
5775 2002-09-26  Richard Henderson  <rth@redhat.com>
5776
5777         PR c/7160
5778         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
5779         on call insns.
5780
5781 2002-09-26  Richard Henderson  <rth@redhat.com>
5782
5783         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
5784
5785 2002-09-26  Chris Lattner  <sabre@nondot.org>
5786
5787         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
5788         handling undefined values.
5789
5790 2002-09-26  Richard Henderson  <rth@redhat.com>
5791
5792         PR opt/7520
5793         * emit-rtl.c (active_insn_p): Consider a clobber of the
5794         function return value to be active even after reload.
5795
5796 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
5797
5798         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
5799         by absolute loop increment, not loop increment.
5800
5801 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5802
5803         * c-common.h: Follow spelling conventions.
5804         * cpplex.c: Likewise.
5805         * cpplib.h: Likewise.
5806         * gthr-dce.h: Likewise.
5807         * gthr-posix.h: Likewise.
5808         * optabs.c: Likewise.
5809         * output.h: Likewise.
5810         * profile.c: Likewise.
5811         * protoize.c: Likewise.
5812         * ra-rewrite.c: Likewise.
5813         * real.c: Likewise.
5814         * recog.c: Likewise.
5815         * reg-stack.c: Likewise.
5816         * regclass.c: Likewise.
5817         * regmove.c: Likewise.
5818         * reload.c: Likewise.
5819         * reload.h: Likewise.
5820         * reload1.c: Likewise.
5821         * reorg.c: Likewise.
5822         * resource.c: Likewise.
5823         * rtl.h: Likewise.
5824         * rtlanal.c: Likewise.
5825
5826 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
5827
5828         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
5829         for symbol address.
5830
5831 2002-09-24  Eric Christopher  <echristo@redhat.com>
5832
5833         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
5834         * config/mips/elf64.h: Ditto.
5835
5836 2002-09-24  Eric Christopher  <echristo@redhat.com>
5837
5838         * except.c (expand_builtin_extract_return_address): Handle case
5839         where Pmode != ptr_mode.
5840
5841 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
5842
5843         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
5844
5845 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
5846
5847         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
5848
5849 2002-09-26  Igor Shevlyakov <igor@microunity.com>
5850
5851         * combine.c (simplify_set): Don't call to force_to_mode if size
5852         of integer type is larger than HOST_BITS_PER_WIDE_INT.
5853
5854 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
5855
5856         * Makefile.in (qmtest-g++): Fix file path.
5857
5858 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
5859
5860         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
5861         A + (-const) on RTX level, even for unsigned types.
5862
5863 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
5864
5865         * reload.c (dup_replacements): New function.
5866         (find_reloads): Use it to duplicate replacements at the top level
5867         of match_dup operands.
5868
5869 2002-09-26  Miles Bader  <miles@gnu.org>
5870
5871         * v850.md ("length"): Change default value to 4.
5872
5873 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5874
5875         * ChangeLog.1: Follow spelling conventions.
5876         * ChangeLog.4: Likewise.
5877         * ChangeLog.6: Likewise.
5878         * FSFChangeLog.11: Likewise.
5879         * doc/cpp.texi: Likewise.
5880         * doc/invoke.texi: Likewise.
5881         * doc/tm.texi: Likewise.
5882
5883 2002-09-26  Nick Clifton  <nickc@redhat.com>
5884
5885         * config.gcc: Add x prefix to v850e case for handling
5886         --with-cpu=v850e.
5887
5888 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
5889
5890         * gcc.c (input_suffix_matches, switch_matches,
5891         mark_matching_switches, process_marked_switches,
5892         process_brace_body): New functions - split from handle_braces.
5893         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
5894         and ignore whitespace in more places.
5895         (specs documentation comment): Document %{S:X;T:Y;:D}.
5896         Clarify other %{...} docs.
5897         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
5898         %{...} docs.
5899
5900         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
5901         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
5902
5903 2002-09-25  David S. Miller  <davem@redhat.com>
5904
5905         PR target/7842
5906         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
5907         extend.
5908
5909 2002-09-25  Richard Henderson  <rth@redhat.com>
5910
5911         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
5912         fp CONST_DOUBLE; use real_identical.
5913
5914 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
5915
5916         * doc/invoke.texi: Add more -Wabi examples.
5917
5918 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
5919
5920         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
5921
5922 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
5923
5924         * profile.c (end_branch_prob): Only look for __gcov_init on
5925         weak-enabled native compilers.
5926
5927 2002-09-24  Denis Chertykov  <denisc@overta.ru>
5928
5929         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
5930         cases of optimizing "add sp,w" to "inc sp".
5931
5932 2002-09-24  Adam Nemet  <anemet@lnxw.com>
5933
5934         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
5935         epilogue for naked functions.
5936
5937 2002-09-24  Adam Nemet  <anemet@lnxw.com>
5938             Nick Clifton  <nickc@redhat.com>
5939
5940         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
5941         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
5942         is defined.
5943
5944 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
5945
5946         * config/s390/s390.c (preferred_la_operand_p): New function.
5947         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
5948         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
5949         ("*la_64_cc", "*la_31_cc", splitters): ... these.
5950         ("*la_31"): Deactivate for TARGET_64BIT.
5951         ("*la_31_and", "*la_31_and_cc"): New.
5952
5953 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5954
5955         * real.h (real_value): Make `exp' explicitly signed.
5956
5957 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
5958
5959         * config/elfos.h: Follow spelling conventions.
5960         * config/alpha/alpha.h: Likewise.
5961         * config/arc/arc.h: Likewise.
5962         * config/arm/arm.md: Likewise.
5963         * config/avr/avr.h: Likewise.
5964         * config/cris/cris.md: Likewise.
5965         * config/d30v/d30v.h: Likewise.
5966         * config/frv/frv.c: Likewise.
5967         * config/frv/frv.h: Likewise.
5968         * config/h8300/h8300.c: Likewise.
5969         * config/h8300/h8300.h: Likewise.
5970         * config/h8300/h8300.md: Likewise.
5971         * config/i386/cygwin.h: Likewise.
5972         * config/i386/i386.h: Likewise.
5973         * config/i386/sysv3.h: Likewise.
5974         * config/i960/i960.h: Likewise.
5975         * config/ia64/ia64.h: Likewise.
5976         * config/ia64/ia64.md: Likewise.
5977         * config/ip2k/ip2k.h: Likewise.
5978         * config/m32r/m32r.h: Likewise.
5979         * config/m68k/m68k.h: Likewise.
5980         * config/m88k/m88k.h: Likewise.
5981         * config/mcore/mcore.c: Likewise.
5982         * config/mcore/mcore.h: Likewise.
5983         * config/mcore/mcore.md: Likewise.
5984         * config/mips/mips.h: Likewise.
5985         * config/mmix/mmix.h: Likewise.
5986         * config/mmix/mmix.md: Likewise.
5987         * config/ns32k/netbsd.h: Likewise.
5988         * config/ns32k/ns32k.h: Likewise.
5989         * config/ns32k/ns32k.md: Likewise.
5990         * config/pa/pa.h: Likewise.
5991         * config/romp/romp.h: Likewise.
5992         * config/rs6000/rs6000.h: Likewise.
5993         * config/rs6000/rs6000.md: Likewise.
5994         * config/sparc/sparc.h: Likewise.
5995         * config/stormy16/stormy-abi: Likewise.
5996         * config/stormy16/stormy16.h: Likewise.
5997         * config/vax/vax.h: Likewise.
5998
5999 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
6000
6001         * config/alpha/alpha.h: Remove commented-out macro
6002         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
6003         * config/avr/avr.h: Likewise.
6004         * config/d30v/d30v.h: Likewise.
6005         * config/dsp16xx/dsp16xx.h: Likewise.
6006         * config/i370/i370.h: Likewise.
6007         * config/i386/i386.h: Likewise.
6008         * config/i960/i960.h: Likewise.
6009         * config/m68k/m68k.h: Likewise.
6010         * config/m88k/m88k.h: Likewise.
6011         * config/mips/mips.h: Likewise.
6012         * config/ns32k/ns32k.h: Likewise.
6013         * config/pdp11/pdp11.h: Likewise.
6014         * config/romp/romp.h: Likewise.
6015         * config/rs6000/rs6000.h: Likewise.
6016         * config/s390/s390.h: Likewise.
6017         * config/sh/sh.h: Likewise.
6018         * config/sparc/sparc.h: Likewise.
6019         * config/stormy16/stormy16.h: Likewise.
6020         * config/vax/vax.h: Likewise.
6021
6022 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
6023
6024         * function.c (push_temp_slots_for_block): Remove.
6025         (push_temp_slots_for_target): Likewise.
6026         (get_target_temp_slot_level): Likewise.
6027         (set_target_temp_slot_level): Likewise.
6028         (get_first_block_beg): Likewise.
6029         * function.h: Remove corresponding prototypes.
6030
6031 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
6032
6033         * version.c (version_string): Now const char[].
6034         * version.h: Update to match.
6035
6036 2002-09-23  Richard Henderson  <rth@redhat.com>
6037
6038         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
6039         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
6040         (TARGET_SWITCHES): Don't reference them.
6041         * config/i386/i386.c (override_options): Use target_flags_explicit
6042         to examine bits set by the user.
6043
6044 2002-09-23  Dale Johannesen  <dalej@apple.com>
6045
6046         * dbxout.c (dbxout_parms):  Set current_sym_code for params
6047         passed on stack by invisible reference.
6048
6049 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
6050
6051         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
6052         at least one byte of space.
6053
6054 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
6055
6056         * c-common.h (flag_abi_version): Fix typo in comment.
6057         * doc/invoke.texi (flag_abi_version): Document default value.
6058
6059 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
6060
6061         * doc/extend.texi (Extended Asm): Clarify that overlap between
6062         asm-declared register variables used in an asm and the asm clobber
6063         list is not allowed.
6064         * stmt.c (decl_conflicts_with_clobbers_p): New function.
6065         (expand_asm_operands): Keep track of clobbered registers.  Call
6066         decl_conflicts_with_clobbers_p for each input and output operand.
6067         If no conflicts found before, also do conflict sanity check when
6068         emitting clobbers.
6069
6070 2002-09-23  Richard Henderson  <rth@redhat.com>
6071
6072         * c-common.c (cpp_define_data_format): Remove.
6073         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
6074         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
6075         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
6076         * doc/cpp.texi: Don't document them either.
6077         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
6078         __LONG_LONG_MAX__): Document.
6079         (__TARGET_FLOAT_FORMAT__): Remove.
6080
6081 2002-09-23  Richard Henderson  <rth@redhat.com>
6082
6083         * real.c (do_multiply): Normalize U before addition.
6084
6085 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
6086
6087         * c-common.c (flag_abi_version): New variable.
6088         * c-common.h (flag_abi_version): Declare it.
6089         * c-opts.c (missing_arg): Add -fabi-version.
6090         (c_common_decode_option): Process -fabi-version.
6091         * doc/invoke.texi (-fabi-version): Document it.
6092         (-Wabi): Add information about bit-fields in unions.
6093
6094 2002-09-22  Roger Sayle  <roger@eyesopen.com>
6095
6096         * expr.c (STORE_BY_PIECES_P): New target macro.
6097         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
6098         instead of MOVE_BY_PIECES_P.
6099         * doc/tm.texi: Document this new macro.
6100
6101 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
6102
6103         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
6104         unless -fno-pic or -fno-PIC is specified.
6105
6106 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6107
6108         * c-common.c (preprocessing_trad_p): Define.
6109         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
6110         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
6111         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
6112         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
6113         * pa-linux.h (CPP_PREDEFINES): Delete.
6114         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
6115         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
6116         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
6117         (TARGET_OS_CPP_BUILTINS): Define.
6118         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
6119         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
6120         (SUBTARGET_SWITCHES): Provide default definition.
6121         (TARGET_OPTIONS): Reformat.  Use N_() macro.
6122         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
6123         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
6124         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
6125         (TARGET_CPU_CPP_BUILTINS): Define.
6126         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
6127         * doc/invoke.texi (msio, mwsio): Document new hppa options.
6128         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
6129         preprocessing_trad_p().
6130
6131 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
6132
6133         * doc/install.texi: Document behavior of --with-headers and
6134         --with-libs when arguments are omitted.
6135
6136 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
6137
6138         * dbxout.c: Follow spelling conventions.
6139         * defaults.h: Likewise.
6140         * df.c: Likewise.
6141         * diagnostic.h: Likewise.
6142         * doloop.c: Likewise.
6143         * dwarf2out.c: Likewise.
6144         * dwarfout.c: Likewise.
6145         * emit-rtl.c: Likewise.
6146         * except.c: Likewise.
6147         * explow.c: Likewise.
6148         * expmed.c: Likewise.
6149         * expr.c: Likewise.
6150         * expr.h: Likewise.
6151         * flags.h: Likewise.
6152         * flow.c: Likewise.
6153         * fold-const.c: Likewise.
6154         * function.c: Likewise.
6155         * function.h: Likewise.
6156         * gcc.c: Likewise.
6157         * gcov-io.h: Likewise.
6158         * gcov.c: Likewise.
6159         * gcse.c: Likewise.
6160         * genattrtab.c: Likewise.
6161         * genconfig.c: Likewise.
6162         * genrecog.c: Likewise.
6163         * ggc-page.c: Likewise.
6164         * ggc.h: Likewise.
6165         * global.c: Likewise.
6166         * gthr-win32.h: Likewise.
6167         * integrate.c: Likewise.
6168         * jump.c: Likewise.
6169         * langhooks.c: Likewise.
6170         * langhooks.h: Likewise.
6171         * line-map.h: Likewise.
6172         * local-alloc.c: Likewise.
6173         * longlong.h: Likewise.
6174         * loop.c: Likewise.
6175         * loop.h: Likewise.
6176
6177 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
6178
6179         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
6180
6181 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
6182
6183         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
6184         for -Os/TARGET_64BIT too.
6185
6186 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
6187
6188         * ChangeLog: Follow spelling conventions.
6189         * ChangeLog.0: Likewise.
6190         * ChangeLog.1: Likewise.
6191         * ChangeLog.2: Likewise.
6192         * ChangeLog.3: Likewise.
6193         * ChangeLog.4: Likewise.
6194         * ChangeLog.5: Likewise.
6195         * ChangeLog.6: Likewise.
6196         * FSFChangeLog.10: Likewise.
6197         * FSFChangeLog.11: Likewise.
6198         * alias.c: Likewise.
6199         * basic-block.h: Likewise.
6200         * c-aux-info.c: Likewise.
6201         * c-common.c: Likewise.
6202         * c-common.h: Likewise.
6203         * c-decl.c: Likewise.
6204         * c-format.c: Likewise.
6205         * c-semantics.c: Likewise.
6206         * c-typeck.c: Likewise.
6207         * calls.c: Likewise.
6208         * cfganal.c: Likewise.
6209         * cfgloop.c: Likewise.
6210         * collect2.c: Likewise.
6211         * combine.c: Likewise.
6212         * conflict.c: Likewise.
6213         * cppexp.c: Likewise.
6214         * cppfiles.c: Likewise.
6215         * cpphash.h: Likewise.
6216         * cppinit.c: Likewise.
6217         * cpplex.c: Likewise.
6218         * cpplib.c: Likewise.
6219         * cpplib.h: Likewise.
6220         * cppmacro.c: Likewise.
6221         * cse.c: Likewise.
6222
6223 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
6224
6225         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
6226         LINK_SPEC.
6227         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
6228         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
6229         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
6230
6231 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
6232
6233         PR opt/7930
6234         * cse.c (fold_rtx): Calculate old_cost before we fold each
6235         operand.
6236
6237 2002-09-21  Richard Henderson  <rth@redhat.com>
6238
6239         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
6240         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
6241         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
6242         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
6243         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
6244         * doc/cpp.texi: Don't document them.
6245
6246 2002-09-21  Richard Henderson  <rth@redhat.com>
6247
6248         * c-common.c (builtin_define_float_constants): Use real_format
6249         to get the floating-point parameters.
6250
6251 2002-09-21  Richard Henderson  <rth@redhat.com>
6252
6253         * real.c (struct real_format): Move to real.h.
6254         (real_format_for_mode): Rename from fmt_for_mode; update all users;
6255         initialize with ieee defaults.
6256         (real_to_target_fmt, real_from_target_fmt): New.
6257         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
6258         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6259         ieee_quad_format, i370_single_format, i370_double_format,
6260         c4x_single_format, c4x_extended_format): Rename from s/_format//.
6261         (ieee_quad_format): Fix emin.
6262         (format_for_size, init_real_once): Remove.
6263         * real.h (struct real_format): Move from real.c.
6264         (real_format_for_mode): Declare.
6265         (real_to_target_fmt, real_from_target_fmt): Declare.
6266         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
6267         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6268         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
6269         i370_single_format, i370_double_format, c4x_single_format,
6270         c4x_extended_format): Declare.
6271         * toplev.c (do_compile): Don't call init_real_once.
6272
6273         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6274         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6275
6276         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
6277         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
6278         * config/alpha/alpha.c (override_options): Set real_format_for_mode
6279         for VAX, if enabled.
6280
6281         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
6282         for C4X.
6283
6284         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
6285         * config/i370/i370.c (override_options): New.
6286         * config/i370/i370-protos.h: Update.
6287
6288         * config/i386/i386.c (override_options): Set real_format_for_mode
6289         for Intel 80-bit extended.
6290         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6291
6292         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
6293         (OVERRIDE_OPTIONS): Move code...
6294         * config/i960/i960.c (i960_initialize): ... here.  Set
6295         real_format_for_mode for Intel 80-bit extended.
6296
6297         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
6298         for Intel 80-bit extended, if enabled.
6299
6300         * config/m68k/m68k.c (override_options): Set real_format_for_mode
6301         for Motorola 96-bit extended.
6302
6303         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
6304         * config/vax/vax.c (override_options): New.
6305         * config/vax/vax-protos.h: Update.
6306
6307 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
6308
6309         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
6310         #if TARGET_MACHO.
6311
6312         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
6313         insns.  Supply missing clobber of scratch reg.
6314
6315 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
6316
6317         * config/m32r/m32r.c: Follow spelling conventions.
6318         * config/m32r/m32r.h: Likewise.
6319         * config/m32r/m32r.md: Likewise.
6320         * config/m68k/m68k.c: Likewise.
6321         * config/m88k/m88k.c: Likewise.
6322         * config/mcore/mcore.c: Likewise.
6323         * config/mips/mips.c: Likewise.
6324         * config/mips/mips.h: Likewise.
6325         * config/mmix/mmix.c: Likewise.
6326         * config/mn10200/mn10200.c: Likewise.
6327         * config/ns32k/ns32k.h: Likewise.
6328         * config/pa/pa.c: Likewise.
6329         * config/pa/pa64-linux.h: Likewise.
6330         * config/pdp11/pdp11.h: Likewise.
6331         * config/romp/romp.c: Likewise.
6332         * config/romp/romp.h: Likewise.
6333         * config/rs6000/eabi.asm: Likewise.
6334         * config/rs6000/linux64.h: Likewise.
6335         * config/rs6000/rs6000.c: Likewise.
6336         * config/rs6000/rs6000.h: Likewise.
6337         * config/rs6000/rs6000.md: Likewise.
6338         * config/rs6000/sysv4.h: Likewise.
6339         * config/rs6000/xcoff.h: Likewise.
6340
6341 2002-09-20  Jim Wilson  <wilson@redhat.com>
6342
6343         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
6344
6345 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
6346
6347         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
6348         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
6349         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
6350         (legitimate_address_p): Likewise.
6351         (legitimize_address): Use @gotntpoff and @indntpoff.
6352         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
6353         (output_addr_const_extra): Likewise.
6354
6355 2002-09-20  Jim Wilson  <wilson@redhat.com>
6356
6357         * combine.c (try_combine): When split an instruction pair, where the
6358         first has a sign_extend src, verify that the src and dest modes match.
6359
6360 2002-09-20  Richard Henderson  <rth@redhat.com>
6361
6362         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
6363         (override_options): Do not initialize them.
6364         (mips_const_double_ok): Allow no fp constants except zero,
6365         and not even that for mips16.
6366         (const_float_1_operand): Use dconst1.
6367         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
6368         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
6369         Don't allow arbitrary constants; fix predicates and C constraint.
6370
6371 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
6372
6373         * cppmacro.c: Don't warn about function-like macros without
6374         '(' during pre-expansion.
6375
6376 2002-09-20  Jim Wilson  <wilson@redhat.com>
6377
6378         * config/v850/v850.c (current_function_anonymous_args): Delete.
6379         (expand_prologue): Use current_function_args_info.anonymous_args.
6380         (expand_epilogue): Delete use of current_function_anonymous_args.
6381         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
6382         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
6383         (current_function_anonymous_args): Delete extern declaration.
6384         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
6385
6386 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
6387
6388         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
6389         to load_macho_picbase.
6390         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
6391         (load_macho_picbase): Take the symbol to use as a parameter.
6392         (macho_correct_pic): New insn.
6393         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
6394
6395         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
6396         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
6397         (CAN_ELIMINATE): Likewise.
6398         (INITIAL_ELIMINATION_OFFSET): Likewise.
6399         (TOC_REGISTER): Likewise.
6400
6401 2002-09-20  Richard Henderson  <rth@redhat.com>
6402
6403         * real.c (real_hash): New.
6404         * real.h: Declare it.
6405         * cse.c (canon_hash): Use it.
6406         * cselib.c (hash_rtx): Likewise.
6407         * emit-rtl.c (const_double_htab_hash): Likewise.
6408         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
6409         * varasm.c (struct rtx_const): Reduce vector size; separate
6410         integer and fp vectors.
6411         (HASHBITS): Remove.
6412         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
6413         take modulus MAX_HASH_TABLE.
6414         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
6415         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
6416         (SYMHASH): Don't use HASHBITS.
6417         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
6418         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
6419         (simplify_subtraction): Fix kind comparison.
6420         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
6421         Use a union to pun integer array.
6422         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
6423         only hash two words of integral CONST_DOUBLE.
6424
6425 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
6426
6427         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
6428         (STARTFILE_PREFIX_SPEC): New.
6429         (LINK_SPEC): Modify.
6430         (LIB_SPEC): Modify.
6431         (LIBGCC_SPEC): New.
6432
6433 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
6434
6435         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
6436         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
6437
6438 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
6439
6440         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
6441         Add clobber of the condition code register.
6442
6443 2002-09-20  Richard Henderson  <rth@redhat.com>
6444
6445         * real.c (do_fix_trunc): Static.
6446         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
6447         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
6448         encode_i370_single, encode_i370_double, encode_c4x_single,
6449         encode_c4x_extended): Add default abort case.
6450
6451 2002-09-20  Richard Henderson  <rth@redhat.com>
6452
6453         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
6454         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
6455         (struct realvaluetype): Remove.
6456         (REAL_VALUE_TYPE): Use struct real_value.
6457         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
6458         (test_real_width): New.
6459         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
6460         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
6461         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
6462         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
6463         real_to_integer, real_to_integer2, real_to_decimal,
6464         real_to_hexadecimal, real_from_string, real_from_integer,
6465         real_inf, real_nan, real_2expN, real_convert, real_to_target,
6466         real_from_target): Likewise.
6467         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
6468         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
6469
6470 2002-09-20  Richard Henderson  <rth@redhat.com>
6471
6472         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
6473         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
6474         * defaults.h: ... here.
6475         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
6476         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
6477         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
6478         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
6479
6480 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
6481
6482         * config/mmix/mmix.md ("negdf2"): Rewrite.
6483         ("*expanded_negdf2"): New.
6484
6485 2002-09-19  Jim Wilson  <wilson@redhat.com>
6486
6487         * combine.c (simplify_set): When optimizing a subreg src with a
6488         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
6489
6490 2002-09-19  Dale Johannesen <dalej@apple.com>
6491         * combine.c (make_extraction): Don't create
6492         invalid subreg.
6493
6494 2002-09-19  Roger Sayle  <roger@eyesopen.com>
6495
6496         * tree.c (integer_nonzerop): New predicate for nonzero integers.
6497         * tree.h (integer_nonzerop): Add function prototype.
6498         * stmt.c (expand_end_loop):  Don't rotate the loop when there
6499         are no instructions in the test, i.e. the loop is unconditional.
6500         (expand_exit_loop_if_false):  Optimize RTL generation of loop
6501         tests when the condition is always true or always false.
6502         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
6503         do-loops when the condition is always true.
6504         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
6505         the for-expression is empty.
6506
6507 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
6508
6509         * gcc.c (use_pipes): New flag.
6510         (process_command): Set it.  Adjust check for -pipe conflicting
6511         with -time or -save-temps.
6512         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
6513         %<SWITCH.  Drop %| (without a SUFFIX).
6514         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
6515         (give_switch): Third argument eliminated.
6516         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
6517         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
6518         (specs documentation comment): Update.
6519
6520         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
6521         config/svr4.h, config/i386/freebsd-aout.h,
6522         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
6523         config/m68k/openbsd.h, config/mips/openbsd.h,
6524         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
6525         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
6526         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
6527         * config/cris/cris.h: Update comment.
6528
6529         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
6530         error messages.  Don't use %{^SWITCH}.
6531         * ada/misc.c (gnat_decode_option): Handle -I with a
6532         separate argument.
6533
6534         * f/lang-specs.h: Use %| and %m.
6535         * java/jvspec.c: Use %m and %(invoke_as).  Change all
6536         uses of %{<SWITCH} to %<SWITCH.
6537
6538         * doc/invoke.texi: Update documentation of specs.
6539         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
6540
6541 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
6542
6543         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
6544         and STRICT_LOW_PART within SET_DEST.
6545         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
6546         splitters, replacing pre-reload splitters.
6547         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
6548         "*zero_extendqihi2_31"): New insns.
6549         ("*zero_extendqihi2_64"): Do not clobber CC.
6550
6551 2002-09-18  Devang Patel  <dpatel@apple.com>
6552
6553         * cp/cp-tree.h: New prototype for walk_vtables().
6554         * cp/decl.c (walk_vtables_r): New function.
6555         (struct cp_binding_level): Add new members, namespaces,
6556         names_size and vtables.
6557         (add_decl_to_level): Add decl in namespaces or vtables
6558         chain, if conditions match.
6559         (walk_vtables): New function.
6560         (walk_namespaces_r): Travers separate namespace chain
6561         for namespace decls.
6562         (wrapup_globals_for_namespace): Use names_size instead
6563         of list_length().
6564         * cp/decl2.c (finish_file): Use walk_vtables() instead of
6565         walk_globals() to walk vtable decls.
6566
6567 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
6568
6569         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
6570         (DTORS_SECTION_ASM_OP): Ditto.
6571         (READONLY_DATA_SECTION_ASM_OP): Moved.
6572         (DATA_SECTION_ASM_OP): New.
6573         (SDATA_SECTION_ASM_OP): New.
6574         (BSS_SECTION_ASM_OP): New.
6575         (SBSS_SECTION_ASM_OP): New.
6576         (TEXT_SECTION_ASM_OP): New.
6577
6578 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
6579
6580         * config/fp-bit.c: Follow spelling conventions.
6581         * config/d30v/d30v.c: Likewise.
6582         * config/d30v/d30v.h: Likewise.
6583         * config/fr30/fr30.c: Likewise.
6584         * config/fr30/fr30.h: Likewise.
6585         * config/fr30/fr30.md: Likewise.
6586         * config/frv/frv.c: Likewise.
6587         * config/frv/frv.h: Likewise.
6588         * config/h8300/h8300.c: Likewise.
6589         * config/h8300/lib1funcs.asm: Likewise.
6590         * config/i370/i370.c: Likewise.
6591         * config/i386/i386.h: Likewise.
6592         * config/i386/i386.md: Likewise.
6593         * config/i386/pentium.md: Likewise.
6594         * config/i386/winnt.c: Likewise.
6595         * config/i960/i960.c: Likewise.
6596         * config/ia64/ia64.h: Likewise.
6597         * config/ip2k/ip2k.c: Likewise.
6598         * config/ip2k/ip2k.h: Likewise.
6599         * config/ip2k/ip2k.md: Likewise.
6600         * config/ip2k/libgcc.S: Likewise.
6601
6602 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
6603
6604         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
6605         (GOTOFF_P): Extend to allow gotoff plus constant.
6606
6607 2002-09-18  Richard Henderson  <rth@redhat.com>
6608
6609         * ifcvt.c (noce_process_if_block): Correctly detect X modified
6610         with INSN_B before COND_EARLIEST.  Don't check A and B for
6611         modification in condition range.  Reorder INSN_B for A==B properly.
6612         (if_convert): Iterate until no matches for a block.
6613
6614 2002-09-18  Richard Henderson  <rth@redhat.com>
6615
6616         * calls.c (store_one_arg): Rename default_align to parm_align;
6617         always adjust parm_align for downward padding.
6618
6619 2002-09-18  Richard Henderson  <rth@redhat.com>
6620
6621         * toplev.c (backend_init): Move init_real_once invocation ...
6622         (do_compile): ... here.
6623
6624 2002-09-18  Richard Henderson  <rth@redhat.com>
6625
6626         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
6627         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
6628
6629 2002-09-18  Richard Henderson  <rth@redhat.com>
6630
6631         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
6632
6633 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
6634
6635         * config/rs6000/rs6000.md: (floatdisf2): Rename to
6636         floatdisf2_internal1.
6637         (floatdisf2): New define_expand.
6638         (floatdisf2_internal2): Likewise.
6639
6640 2002-09-18  Richard Henderson  <rth@redhat.com>
6641
6642         * real.c (sticky_rshift_significand): Collect sticky as
6643         unsigned long, not bool.
6644
6645 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
6646
6647         * config/s390/s390.c (s390_address_cost): New function.
6648         config/s390/s390-protos.h (s390_address_cost): Add prototype.
6649         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
6650         (RTX_COST): Use COSTS_N_INSNS.
6651
6652 2002-09-18  Douglas Rupp  <rupp@gnat.com>
6653             Donn Terry  <donnte@microsoft.com>
6654
6655         * stor-layout.c (place_field): Handle alignment of whole
6656         structures when MSVC compatible bitfields are involved.
6657         Change method of computing location of MS bitfields to
6658         be compatible with #pragma pack(n).
6659
6660         * tree.h (record_layout_info): Add new field
6661         remaining_in_alignment.
6662
6663         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
6664         (pragma pack): Add paragraph on MSVC bitfield packing.
6665
6666 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
6667
6668         PR optimization/7967
6669         * arm.md (ne_zeroextractsi): Add clobber of the condition code
6670         register.
6671
6672 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
6673
6674         * config/s390/s390.c: Follow spelling conventions.
6675         * config/sh/lib1funcs.asm: Likewise.
6676         * config/sh/sh.c: Likewise.
6677         * config/sh/sh.h: Likewise.
6678         * config/sparc/sparc.c: Likewise.
6679         * config/sparc/sparc.h: Likewise.
6680         * config/sparc/sparc.md: Likewise.
6681         * config/stormy16/stormy16.c: Likewise.
6682         * config/stormy16/stormy16.h: Likewise.
6683         * config/v850/v850.c: Likewise.
6684         * config/v850/v850.h: Likewise.
6685         * config/vax/vax.c: Likewise.
6686         * config/vax/vax.h: Likewise.
6687
6688 2002-09-18  Nick Clifton  <nickc@redhat.com>
6689
6690         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
6691         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
6692         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
6693
6694 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6695
6696         * function.c (max_parm_reg_num): Remove.
6697         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
6698         drop_through_at_end_p, move_cleanups_up,
6699         expand_end_case_dummy, case_index_expr_type): Likewise.
6700         * stor-layout.c (pos_from_byte): Likewise.
6701         * tree.c (chain_member_value, chain_member_purpose, listify,
6702         tree_int_cst_msb, index_type_equal): Likewise.
6703         * tree.h: Remove prototypes for unused functions.
6704
6705 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
6706
6707         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
6708         statement that the only translation is to en_UK.
6709
6710 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6711
6712         * config/alpha/alpha.c: Follow spelling conventions.
6713         * config/alpha/alpha.h: Likewise.
6714         * config/alpha/alpha.md: Likewise.
6715         * config/arc/arc.h: Likewise.
6716         * config/arm/arm.c: Likewise.
6717         * config/arm/arm.h: Likewise.
6718         * config/arm/arm.md: Likewise.
6719         * config/arm/pe.c: Likewise.
6720         * config/arm/unknown-elf.h: Likewise.
6721         * config/avr/avr.c: Likewise.
6722         * config/avr/avr.h: Likewise.
6723         * config/c4x/c4x.c: Likewise.
6724         * config/cris/cris.c: Likewise.
6725         * config/cris/cris.h: Likewise.
6726
6727 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
6728
6729         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
6730         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
6731         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
6732
6733 2002-09-17  Dale Johannesen  <dalej@apple.com>
6734
6735         * cfgcleanup.c (try_forward_edges):  Do not forward a
6736         branch to just after a loop exit before loop optimization;
6737         this interfered with doloop detection.
6738
6739 2002-09-17  Nick Clifton  <nickc@redhat.com>
6740
6741         * config/arm/arm.c (output_return_instruction): Do not
6742         writeback the stack pointer when it is being loaded.
6743         (arm_output_epilogue): Likewise.
6744
6745 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6746
6747         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
6748         generate a pseudo reg that receives the result of a libcall.
6749         (prepare_float_lib_cmp): Likewise.
6750
6751 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
6752
6753         * config/ia64/elf.h: Remove CPP_PREDEFINES.
6754
6755 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
6756
6757         Fix PR/7014 and related objc bugs:
6758         * c-typeck.c (comp_target_types): Added a reflexive argument.
6759         Pass it to ObjC when/if calling objc_comptypes().  Updated all
6760         callers to provide the appropriate reflexive argument.
6761         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
6762         typechecking for all cases of comparisons and assignments,
6763         particularly the obscure and less common ones involving protocols.
6764
6765 2002-09-17  Nick Clifton  <nickc@redhat.com>
6766
6767         * machmode.def (V1DImode): New mode.  A single element vector.
6768         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
6769         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
6770         * tree.c (build_common_tree_nodes_2): Build
6771         unsigned_V1DI_type_node and V1D1_type_node.
6772         * c-common.c (c_common_type_for_mode): Return
6773         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
6774         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
6775
6776 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
6777
6778         * doc/objc.texi (Constant string objects): Extended documentation
6779         to make clear that the constant string class ivar layout is
6780         completely fixed.
6781
6782 2002-09-17  Roger Sayle  <roger@eyesopen.com>
6783
6784         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
6785         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
6786
6787 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
6788
6789         * config/mips/mips.c (save_restore_insns): Remove unused variable.
6790         * gcc.c (make_relative_prefix): Likewise.
6791         * loop.c (check_final_value): Likewise.
6792         * jump.c (init_label_info): Remove return value.
6793         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
6794
6795 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6796
6797         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
6798         (ASM_PN_FORMAT): Define.
6799
6800 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6801
6802         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
6803         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
6804         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
6805         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
6806         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
6807         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
6808         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
6809         Delete.
6810         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
6811         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
6812         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
6813
6814         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
6815         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
6816
6817 2002-09-16  Richard Henderson  <rth@redhat.com>
6818
6819         * expr.c (emit_block_move): Set memory block size as appropriate
6820         for the copy.
6821
6822 2002-09-16  Richard Henderson  <rth@redhat.com>
6823
6824         PR fortran/3924
6825         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
6826
6827 2002-09-16  Richard Henderson  <rth@redhat.com>
6828
6829         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
6830         as well as OFFSET for BITPOS.
6831
6832 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
6833
6834         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
6835         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
6836         winchip2 and c3.
6837         * doc/invoke.texi: Mention new aliases.
6838
6839 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6840
6841         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
6842         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
6843         downward.
6844         * function.c (pad_below):  Always compile.
6845         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
6846         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
6847         Pad below when the argument is not in a register and the padding
6848         direction is downward.
6849
6850         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
6851         (PAD_VARARGS_DOWN): Define.
6852         * pa.c (function_arg_padding): Revise padding directions to make them
6853         compatible with the 32 and 64-bit runtime architecture documentation.
6854         (hppa_va_arg):  Add code to handle variable and size zero arguments
6855         passed by reference on TARGET_64BIT.  Reformat.
6856         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
6857         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
6858         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
6859         Add comments.
6860         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
6861         (RETURN_IN_MEMORY): Return size zero types in memory.
6862         (FUNCTION_VALUE): Return TFmode in general registers.
6863         (MUST_PASS_IN_STACK): Define.
6864         (FUNCTION_ARG_BOUNDARY): Simplify.
6865         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
6866         by reference.
6867         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
6868
6869 2002-09-16  Richard Henderson  <rth@redhat.com>
6870
6871         * real.c (do_fix_trunc): New.
6872         (real_arithmetic): Call it.
6873         * simplify-rtx.c (simplify_unary_operation): Handle FIX
6874         with a floating-point result mode.
6875
6876 2002-09-16  Richard Henderson  <rth@redhat.com>
6877
6878         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
6879         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
6880         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
6881         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
6882         * builtins.c (fold_builtin_nan): New.
6883         (fold_builtin): Call it.
6884         * real.c (real_nan): Parse a non-empty string.
6885         (round_for_format): Fix NaN significand truncation.
6886         * real.h (real_nan): Return bool.
6887         * doc/extend.texi: Document new builtins.
6888
6889 2002-09-16  Jason Merrill  <jason@redhat.com>
6890             Danny Smith  <dannysmith@users.sourceforge.net>
6891
6892         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
6893         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
6894         (i386_pe_mark_dllimport): Not here.
6895
6896 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
6897
6898         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
6899
6900 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
6901
6902         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
6903         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
6904         < 64.
6905         (rs6000_emit_cmove): Use real_isinf not target_isinf.
6906
6907 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
6908
6909         * calls.c (emit_library_call_value_1): Don't refer to
6910         hard_libcall_value.
6911         * optabs.c (prepare_float_lib_cmp): Likewise.
6912
6913 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
6914
6915         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
6916         mangling.
6917
6918         The following changes are merged from pch-branch:
6919
6920         * doc/gty.texi (GTY Options): Document %a.
6921         * gengtype.c (do_scalar_typedef): New function.
6922         (process_gc_options): Handle `length' option.
6923         (set_gc_used_type): A pointer to an array of structures doesn't
6924         qualify as a pointer to a structure.
6925         (output_escaped_param): Add `%a' escape.
6926         (write_gc_structure_fields): Allow 'desc' on array of unions.
6927         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
6928         do_scalar_typedef.
6929
6930         * gengtype.c (enum rtx_code): Make global.
6931         (rtx_format): Make global.
6932         (rtx_next): New.
6933         (gen_rtx_next): New.
6934         (write_rtx_next): New.
6935         (adjust_field_rtx_def): Skip fields marked by chain_next.
6936         (open_base_files): Delete redundant prototype.
6937         (write_enum_defn): New.
6938         (output_mangled_typename): Correct abort call.
6939         (write_gc_marker_routine_for_structure): Handle chain_next and
6940         chain_prev options.
6941         (finish_root_table): Don't output redundant \n.
6942         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
6943         * c-tree.h (union lang_tree_node): Add chain_next option.
6944
6945         * gengtype.h (NUM_PARAM): New definition.
6946         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
6947         * gengtype.c (find_param_structure): New.
6948         (adjust_field_type): Handle param<n>_is option.
6949         (process_gc_options): Detect use_params option.  Update callers.
6950         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
6951         'use_params' option.
6952         (open_base_files): Add splay-tree.h to list of files included.
6953         (output_mangled_typename): New.
6954         (write_gc_structure_fields): Update 'param' parameter to support
6955         multiple parameters.  Change name mangling.  Allow parameterized
6956         fields to have an apparent scalar type.  Handle param<n>_is options,
6957         use_param option.
6958         (write_gc_marker_routine_for_structure): Update for change to name
6959         mangling.  Better guess the output file for parameterized types.
6960         (write_gc_types): Update for change to name mangling.
6961         (write_gc_root): Update for change to name mangling.  Handle (ignore)
6962         param<n>_is options.
6963         * doc/gty.texi (GTY Options): Add description of param<n>_is
6964         options, use_params option.
6965         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
6966         * gengtype-lex.l: Produce token for param<n>_is.
6967         * gengtype-yacc.y: Parse param<n>_is.
6968
6969         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
6970
6971         * rtl.c: Update comment describing rtx_format.
6972         * rtl.h (union rtunion): Separate definition and typedef.
6973         (struct rtx_def): Use gengtype to mark.
6974         * Makefile.in (gengtype.o): Also depend on rtl.def.
6975         * ggc.h (ggc_mark_rtx_children): Delete prototype.
6976         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
6977         * ggc-common.c (ggc_mark_rtx_children): Delete.
6978         (ggc_mark_rtx_children_1): Delete.
6979         (gt_ggc_m_rtx_def): Delete.
6980         * gengtype.c (adjust_field_rtx_def): New.
6981         (adjust_field_type): Call adjust_field_rtx_def.
6982         (write_gc_structure_fields): Add 'default' case to switch if none
6983         is specified; remove unused code.
6984
6985         * tree.h (struct tree_exp): Update for change to meaning
6986         of special.
6987         * gengtype.c (adjust_field_tree_exp): New function.
6988         (adjust_field_type): Handle `tree_exp' special here.
6989         (write_gc_structure_fields): Don't handle `tree_exp' special here.
6990         Handle new `dot' option.
6991
6992         * gengtype.h: Make `info' a pointer-to-const.
6993         * gengtype-yacc.y (yacc_ids): Use xasprintf.
6994
6995         * gengtype.c (write_gc_structure_fields): Remove implementation
6996         of `always' option, add `default' option.
6997         * doc/gty.texi (GTY Options): Remove documentation of `always',
6998         add `default'.
6999
7000 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
7001
7002         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
7003
7004 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7005
7006         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
7007
7008         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
7009         instead of the *-protos.h file directly.
7010         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
7011         * darwin.c (machopic_output_stub): Move prototype ...
7012         * darwin-protos.h (machopic_output_stub): ... here.
7013         * rs6000-protos.h (machopic_output_stub): Don't declare.
7014
7015 2002-09-16  Richard Henderson  <rth@redhat.com>
7016
7017         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
7018
7019 2002-09-16  Richard Henderson  <rth@redhat.com>
7020
7021         * real.c, real.h: Rewrite from scratch.
7022
7023         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
7024         (paranoia): New target.
7025         * builtins.c (fold_builtin_inf): Use new real.h interface.
7026         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
7027         * c-lex.c (interpret_float): Likewise.
7028         * emit-rtl.c (gen_lowpart_common): Likewise.
7029         * optabs.c (expand_float): Use real_2expN.
7030         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
7031         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
7032         (FLOAT_WORDS_BIG_ENDIAN): New.
7033         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
7034         directly to REAL_VALUE_NEGATIVE.
7035         * loop.c (canonicalize_condition): Likewise.
7036         * simplify-rtx.c: Include tree.h.
7037         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
7038         with floating-point result modes.
7039         * toplev.c (backend_init): Call init_real_once.
7040
7041         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
7042         * tree.c (build_real): Likewise.
7043         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
7044         float_values, inited_float_values, check_float_value): Remove.
7045         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
7046         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
7047         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
7048         (VAX_HALFWORD_ORDER): Remove.
7049
7050 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
7051
7052         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
7053         (s390_load_address): ... this new function.
7054         (s390_decompose_address): Allow the argument pointer and all
7055         virtual registers as 'pointer' registers.
7056         (s390_expand_plus_operand): Use s390_load_address.
7057         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
7058         ("force_la_31"): New insn pattern.
7059         config/s390/s390-protos.h (legitimize_la_operand): Remove.
7060         (s390_load_address): Add prototype.
7061
7062         * config/s390/s390.c: Include "optabs.h".
7063         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
7064         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
7065         s390_expand_cmpstr): Add prototypes.
7066         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
7067         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
7068         for operands 0 and 1 to "memory_operand".  Add type attribute.
7069         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
7070         for operands 0 and 1 to "memory_operand".  Add type attribute.
7071         ("movstrdi_long", "movstrsi_long"): Remove.
7072         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
7073         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
7074         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
7075         ("clrstrsico"): Remove, replace by ...
7076         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
7077         ("clrstrsi_64"): Rename to "clrstr_long_64".
7078         ("clrstrsi_31"): Rename to "clrstr_long_31".
7079         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
7080         ("cmpstr_const"): Remove, replace by ...
7081         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
7082         ("cmpstr_64"): Rename to "cmpstr_long_64".
7083         ("cmpstr_31"): Rename to "cmpstr_long_31".
7084
7085 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
7086
7087         * ABOUT-NLS: Follow spelling conventions.
7088         * ChangeLog: Likewise.
7089         * ChangeLog.1: Likewise.
7090         * ChangeLog.2: Likewise.
7091         * ChangeLog.3: Likewise.
7092         * ChangeLog.4: Likewise.
7093         * ChangeLog.5: Likewise.
7094         * ChangeLog.6: Likewise.
7095         * FSFChangeLog.10: Likewise.
7096         * FSFChangeLog.11: Likewise.
7097         * c-common.c: Likewise.
7098         * c-lex.c: Likewise.
7099         * c-objc-common.c: Likewise.
7100         * cppexp.c: Likewise.
7101         * cppinit.c: Likewise.
7102         * cpplex.c: Likewise.
7103         * doloop.c: Likewise.
7104         * flow.c: Likewise.
7105         * function.c: Likewise.
7106         * integrate.c: Likewise.
7107         * loop.c: Likewise.
7108         * reg-stack.c: Likewise.
7109         * reload.h: Likewise.
7110         * ssa.c: Likewise.
7111
7112 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7113
7114         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
7115         * vmsdbgout.c: Include "target.h".
7116
7117 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7118
7119         * ChangeLog: Follow spelling conventions.
7120         * ChangeLog.0: Likewise.
7121         * ChangeLog.1: Likewise.
7122         * ChangeLog.2: Likewise.
7123         * ChangeLog.4: Likewise.
7124         * ChangeLog.6: Likewise.
7125         * config.gcc: Likewise.
7126         * dwarfout.c: Likewise.
7127         * reload1.c: Likewise.
7128         * simplify-rtx.c: Likewise.
7129         * unwind-sjlj.c: Likewise.
7130         * config/avr/avr.h: Likewise.
7131         * config/d30v/d30v.h: Likewise.
7132         * config/frv/frv.c: Likewise.
7133         * config/frv/frv.h: Likewise.
7134         * config/ip2k/ip2k.h: Likewise.
7135         * config/m88k/m88k-move.sh: Likewise.
7136         * config/stormy16/stormy16.c: Likewise.
7137         * config/stormy16/stormy16.h: Likewise.
7138         * doc/extend.texi: Likewise.
7139         * doc/interface.texi: Likewise.
7140         * doc/invoke.texi: Likewise.
7141         * doc/md.texi: Likewise.
7142         * doc/rtl.texi: Likewise.
7143         * doc/tm.texi: Likewise.
7144         * doc/trouble.texi: Likewise.
7145         * ginclude/float.h: Likewise.
7146         * treelang/treelang.texi: Likewise.
7147
7148 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7149
7150         * i386-protos.h (i386_pe_dllexport_name_p,
7151         i386_pe_dllimport_name_p, i386_pe_unique_section,
7152         i386_pe_declare_function_type, i386_pe_record_external_function,
7153         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
7154         prototype.
7155         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
7156         * i386/t-interix (winnt.o): Likewise.
7157
7158         * v850-protos.h (v850_output_addr_const_extra): Prototype.
7159
7160 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7161
7162         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
7163         MIPS ABI CPP macros.
7164         (TARGET_CPU_CPP_BUILTINS): Redefine.
7165         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
7166         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
7167
7168 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7169
7170         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
7171
7172 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7173
7174         * ChangeLog: Follow spelling conventions.
7175         * ChangeLog.0: Likewise.
7176         * ChangeLog.1: Likewise.
7177         * ChangeLog.2: Likewise.
7178         * ChangeLog.3: Likewise.
7179         * ChangeLog.4: Likewise.
7180         * ChangeLog.5: Likewise.
7181         * ChangeLog.6: Likewise.
7182         * FSFChangeLog.10: Likewise.
7183         * FSFChangeLog.11: Likewise.
7184         * c-common.c: Likewise.
7185         * c-common.h: Likewise.
7186         * c-format.c: Likewise.
7187         * c-opts.c: Likewise.
7188         * cpplib.c: Likewise.
7189         * langhooks.h: Likewise.
7190         * real.c: Likewise.
7191         * reg-stack.c: Likewise.
7192         * toplev.c: Likewise.
7193         * config/arm/arm.c: Likewise.
7194         * config/arm/arm.md: Likewise.
7195         * config/arm/linux-gas.h: Likewise.
7196         * config/arm/netbsd.h: Likewise.
7197         * config/c4x/c4x.c: Likewise.
7198         * config/c4x/c4x.h: Likewise.
7199         * config/c4x/c4x.md: Likewise.
7200         * config/c4x/libgcc.S: Likewise.
7201         * config/fr30/fr30.md: Likewise.
7202         * config/frv/frv.md: Likewise.
7203         * config/ia64/ia64.md: Likewise.
7204         * config/mips/mips.h: Likewise.
7205         * config/mn10300/mn10300.c: Likewise.
7206         * config/stormy16/stormy16.c: Likewise.
7207         * config/v850/v850.md: Likewise.
7208         * doc/extend.texi: Likewise.
7209         * doc/invoke.texi: Likewise.
7210         * doc/md.texi: Likewise.
7211
7212 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7213
7214         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
7215         library if -pthread is specified.
7216
7217 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7218
7219         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
7220         for --enable-threads=yes and --enable-threads=posix.
7221
7222 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7223
7224         * config/sparc/cypress.md: Replace Sparc with SPARC.
7225         * config/sparc/freebsd.h: Likewise.
7226         * config/sparc/gmon-sol2.c: Likewise.
7227         * config/sparc/hypersparc.md: Likewise.
7228         * config/sparc/lb1spc.asm: Likewise.
7229         * config/sparc/lb1spl.asm: Likewise.
7230         * config/sparc/linux.h: Likewise.
7231         * config/sparc/linux64.h: Likewise.
7232         * config/sparc/lynx.h: Likewise.
7233         * config/sparc/sol2.h: Likewise.
7234         * config/sparc/sparc-modes.def: Likewise.
7235         * config/sparc/sparc.c: Likewise.
7236         * config/sparc/sparc.h: Likewise.
7237         * config/sparc/sparc.md: Likewise.
7238         * config/sparc/sparclet.md: Likewise.
7239         * config/sparc/supersparc.md: Likewise.
7240         * config/sparc/sysv4.h: Likewise.
7241         * config/sparc/vxsim.h: Likewise.
7242         * config/sparc/vxsparc64.h: Likewise.
7243
7244 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7245
7246         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
7247         * collect2.c (ignore_library, aix_std_libs): Move into the context
7248         where it is used.
7249         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
7250         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
7251         * m88k.c (output_call): Wrap variables with macro controlling use.
7252         * rs6000.md: Likewise.  Const-ify variable.
7253         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
7254         * final.c (only_leaf_regs_used): Likewise.
7255         * regrename.c (maybe_mode_change): Mark parameter with
7256         ATTRIBUTE_UNUSED.
7257         * reload.c (find_valid_class): Likewise.  Likewise for variable.
7258         (find_reloads_address_1): Likewise.
7259         * varasm.c (weak_finish): Wrap variable with macro controlling use.
7260
7261 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
7262
7263         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
7264
7265 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7266
7267         * ChangeLog: Follow spelling conventions.
7268         * ChangeLog.0: Likewise.
7269         * ChangeLog.2: Likewise.
7270         * ChangeLog.3: Likewise.
7271         * ChangeLog.4: Likewise.
7272         * ChangeLog.5: Likewise.
7273         * ChangeLog.6: Likewise.
7274         * cppfiles.c: Likewise.
7275         * cppinit.c: Likewise.
7276         * cpplib.h: Likewise.
7277         * cse.c: Likewise.
7278         * debug.h: Likewise.
7279         * df.c: Likewise.
7280         * dominance.c: Likewise.
7281         * hashtable.c: Likewise.
7282         * hashtable.h: Likewise.
7283         * loop.c: Likewise.
7284         * config/arm/README-interworking: Likewise.
7285         * config/arm/arm.c: Likewise.
7286         * config/arm/arm.h: Likewise.
7287         * config/arm/arm.md: Likewise.
7288         * config/dsp16xx/dsp16xx.h: Likewise.
7289         * config/frv/frv.c: Likewise.
7290         * config/frv/frv.h: Likewise.
7291         * config/ip2k/ip2k.h: Likewise.
7292         * config/rs6000/rs6000.c: Likewise.
7293         * config/stormy16/stormy-abi: Likewise.
7294         * config/stormy16/stormy16.h: Likewise.
7295         * config/v850/v850.c: Likewise.
7296
7297 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7298
7299         * loop.c: Fix a comment typo.
7300
7301 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7302
7303         * config/fr30/fr30.h: Fix comment typos.
7304         * config/frv/frv.c: Likewise.
7305         * config/i386/xmmintrin.h: Likewise.
7306         * config/mips/mips.c: Likewise.
7307         * config/sh/sh.c: Likewise.
7308
7309 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7310
7311         * haifa-sched.c: Follow spelling conventions.
7312         * regclass.c: Likewise.
7313         * regrename.c: Likewise.
7314         * config/fp-bit.c: Likewise.
7315         * config/frv/frv.h: Likewise.
7316         * config/m88k/m88k.c: Likewise.
7317         * config/mcore/mcore.c: Likewise.
7318         * config/rs6000/darwin.h: Likewise.
7319         * config/rs6000/gnu.h: Likewise.
7320         * config/rs6000/linux.h: Likewise.
7321         * config/rs6000/linux64.h: Likewise.
7322         * config/rs6000/rs6000.c: Likewise.
7323         * config/rs6000/rs6000.h: Likewise.
7324         * config/sh/sh.c: Likewise.
7325         * config/sparc/sparc.c: Likewise.
7326         * config/sparc/ultra1_2.md: Likewise.
7327
7328 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
7329
7330         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
7331         memory operand when source is 0 (K constraint).
7332         ("movsi_internal"): Likewise.
7333         ("movdf_internal"): Likewise.
7334         ("movsf_internal"): Likewise.
7335
7336 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
7337
7338         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
7339         targetm.binds_local_p to set SYMBOL_REF_FLAG.
7340         (rs6000_xcoff_encode_section_info): Likewise.
7341         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
7342
7343 2002-09-10  Theodore A. Roth  <troth@verinet.com>
7344
7345         * gcc/config/avr/avr.h: Set default options for C++ for avr.
7346
7347 2002-09-13  Roger Sayle  <roger@eyesopen.com>
7348
7349         * stmt.c (struct nexting): Remove unused alt_end_label field.
7350         (expand_start_loop): Delete initialization of alt_end_label.
7351         (expand_start_null_loop): Likewise.
7352         (expand_exit_loop_if_false): Delete updating of alt_end_label.
7353
7354 2002-09-13  Richard Henderson  <rth@redhat.com>
7355
7356         * Makefile.in (toplev.o): Depend on real.h.
7357         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
7358
7359 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
7360
7361         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
7362         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
7363         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
7364
7365 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
7366
7367         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
7368
7369 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7370
7371         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
7372         ia64*-*-linux*): Set extra_parts.
7373         * config/ia64/t-aix (EXTRA_PARTS): Remove.
7374         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
7375
7376 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
7377
7378         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
7379         * config/h8300/h8300.c: Likewise.
7380         * config/h8300/h8300.h: Likewise.
7381         * config/h8300/h8300.md: Likewise.
7382         * doc/invoke.texi: Likewise.
7383
7384 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
7385
7386         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
7387
7388 2002-09-13  Richard Henderson  <rth@redhat.com>
7389
7390         * config/alpha/alpha.md (attr type): Add callpal.
7391         (imb, trap, load_tp, set_tp): Use it.
7392         * config/alpha/ev4.md (ev4_callpal): New.
7393         * config/alpha/ev5.md (ev5_callpal): New.
7394         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
7395         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
7396         (alphaev5_insn_pipe): Likewise.
7397
7398 2002-09-13  Andreas Jaeger  <aj@suse.de>
7399
7400         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
7401
7402 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7403
7404         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
7405         LIB2ADDEH): New, set to NULL.
7406         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
7407
7408 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7409
7410         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
7411         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
7412         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
7413         Add declarations.
7414         (_U_Qfneg): Remove.
7415
7416 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
7417
7418         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
7419         for H8/300, H8S aa:8 mode.
7420         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
7421         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
7422         for H8/300 aa:8 mode.
7423
7424 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
7425
7426         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
7427         insns.
7428
7429 2002-09-12  Richard Henderson  <rth@redhat.com>
7430
7431         * Makefile.in (HOST_PRINT): Use print-rtl1.o
7432         (print-rtl.o): Don't define GENERATOR_FILE.
7433         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
7434         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
7435         unless GENERATOR_FILE.
7436
7437 2002-09-12  Stan Shebs  <shebs@apple.com>
7438
7439         * config/darwin.h (USER_LABEL_PREFIX): Define here...
7440         * config/i386/darwin.h: ... instead of here.
7441
7442         * target.h (struct gcc_target): New field
7443         terminate_dw2_eh_frame_info.
7444         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
7445         (TARGET_INITIALIZER): Add it.
7446         * dwarf2out.c (output_call_frame_info): Use target hook.
7447         * dwarf2asm.c (dw2_asm_output_delta): Use macro
7448         ASM_OUTPUT_DWARF_DELTA if defined.
7449         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
7450         (ASM_OUTPUT_DWARF_DELTA): Ditto.
7451         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
7452         (ASM_OUTPUT_DWARF_PCREL): Ditto.
7453         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
7454         (powerpc-*-darwin*): Ditto.
7455         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
7456         to work correctly for Darwin.
7457         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
7458         (STARTFILE_SPEC): Add crtbegin.o.
7459         (ENDFILE_SPEC): Define.
7460         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
7461         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
7462         (ASM_OUTPUT_DWARF_DELTA): Define.
7463         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
7464         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
7465
7466 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
7467
7468         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
7469         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
7470         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
7471
7472 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
7473
7474         * toplev.c: Move default definition of USER_LABEL_PREFIX...
7475         * defaults.h: ... here.
7476
7477 2002-09-12  Richard Henderson  <rth@redhat.com>
7478
7479         * vax.c: Include tree.h earlier.
7480
7481 2002-09-12  Stan Shebs  <shebs@apple.com>
7482
7483         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
7484         (machopic_operand_p): Ditto.
7485
7486 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7487
7488         * config/arm/arm.c (arm_compute_initial_elimination_offset):
7489         Fix a comment typo.
7490
7491 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7492
7493         * toplev.c (do_abort): Fix a comment typo.
7494
7495 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7496
7497         * cselib.c: Fix comment formatting.
7498         * gengtype.c: Likewise.
7499
7500 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7501
7502         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
7503         (udivmodhi4): Likewise.
7504
7505 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
7506             Roger Sayle  <roger@eyesopen.com>
7507
7508         * i386.c (any_fp_register_operand, fp_register_operand,
7509         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
7510         New predicate functions.
7511         * i386-protos.h:  Add their prototypes.
7512         * i386.h: Add them to PREDICATE_CODES.
7513         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
7514         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
7515         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
7516         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
7517         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
7518         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
7519         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
7520         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
7521         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
7522         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
7523         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
7524         Use these new predicates to simplify and correct the use of
7525         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
7526
7527 2002-09-12  Jason Merrill  <jason@redhat.com>
7528
7529         * diagnostic.c (output_add_identifier): New fn.
7530         * diagnostic.h: Declare it.
7531
7532         * calls.c (store_one_arg): Use size_in_bytes to determine the
7533         amount of space to push.
7534
7535 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
7536
7537         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
7538
7539 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
7540
7541         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
7542         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
7543         (s390_select_ccmode): Likewise.
7544         (s390_branch_condition_mask): Likewise.
7545         (optimization_options): Do not set flag_branch_on_count.
7546         (s390_split_branches): Handle doloop branches.
7547         (s390_chunkify_pool): Likewise.
7548         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
7549         ("doloop_end"): New expander.
7550         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
7551         associated splitters): New.
7552
7553 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7554
7555         * genattrtab.c (simplify_cond): Remove unused variable(s).
7556         * global.c (record_conflicts): Likewise.
7557         * jump.c (rebuild_jump_labels): Likewise.
7558         * loop.c (scan_loop, check_final_value): Likewise.
7559         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
7560         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
7561         * rtlanal.c (reg_set_p): Likewise.
7562         * stmt.c (expand_asm_operands, expand_decl): Likewise.
7563         * genautomata.c (empty_reserv): Remove.
7564         * loop.c (max_luid): Likewise.
7565         * sched-rgn.c (bitlst_table_size): Likewise.
7566
7567 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
7568
7569         Reimplement gcov format.
7570         * gcov-io.h: Replace.
7571         * gcov.c: Reimplement.
7572         * gcov-iov.c: New file.
7573         * gcov-dump.c: New file.
7574         * libgcc2.c (L_bb): Replace with ...
7575         (L_gcov): ... this.
7576         (struct bb_function_info, struct bb): Remove.
7577         (inhibit_libc): Never inhibit.
7578         (gcov_list, gcov_crc): New static variables.
7579         (gcov_version_mismatch): New static function.
7580         (__bb_exit_func): Renamed to ...
7581         (__gcov_exit): ... here. Made static. Reimplement.
7582         (__gcov_init_func): Rename to ...
7583         (__gcov_init): ... here. Check version, update crc.
7584         (__bb_fork_func): Rename to ...
7585         (__gcov_flush): ... here.
7586         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
7587         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
7588         * calls.c (expand_call): Call __gcov_flush.
7589         * profile.c (bb_file, last_bb_file_name): Remove.
7590         (bbg_file_name): New global variable.
7591         (output_gcov_string): Remove.
7592         (get_exec_counts): Reimplement.
7593         (branch_prob): Reimplement gcov file writing.
7594         (init_branch_prob): Create bbg_file_name, don't create
7595         bb_file_name.
7596         (end_branch_prob): Adjust. Don't remove counter file when
7597         instrumenting ourselves.
7598         (create_profiler): Adjust.
7599         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
7600         point to gcov-io.h.
7601         * Makefile.in (LANGUAGES): Add gcov-dump.
7602         (coverageexts): Remove .bb.
7603         (STAGESTUFF): Add gcov-dump.
7604         (LIB2FUNCS_ST): Replace _bb with _gcov.
7605         (profile.o): Depend on gcov-iov.h.
7606         (final.o): Don't depend on profile.h, gcov.h.
7607         (gcov.o): Depend on gcov-iov.h.
7608         (gcov-iov.o): New target.
7609         (gcov-iov): New target.
7610         (gcov-iov.h): New target.
7611         (gcov-dump.o): New target.
7612         (GCOV_DUMP_OBJS): New variable.
7613         (gcov-dump): New target.
7614         (distclean): Remove coverageexts.
7615         (stage1): Remove coverageexts.
7616
7617 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
7618
7619         * fold-const.c (make_range): Only narrow to signed range if
7620         the signed range is smaller than the unsigned range.
7621
7622 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
7623
7624         * emit-rtl.c (set_mem_size): New function.
7625         * expr.h (set_mem_size): Declare.
7626         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
7627         (expand_block_move): Instead, use adjust_address and
7628         replace_equiv_address to generate proper aliasing info.
7629         Move common code out of conditionals.  Localize vars.
7630
7631 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
7632
7633         * optabs.c (expand_binop): Minor cleanup.
7634         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
7635
7636 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
7637
7638         * print-tree.c (print_node): Print the restrict qualifier.
7639
7640 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
7641
7642         * doc/install.texi: Fix typos.
7643
7644 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
7645
7646         * Makefile.in: Remove all references to s-under and underscore.c.
7647         * collect2.c, tlink.c: Change all uses of prepends_underscore
7648         to look directly at USER_LABEL_PREFIX.
7649
7650 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
7651
7652         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
7653         alignment to csect.
7654         (rs6000_xcoff_unique_section): Only set section name for public
7655         data.
7656         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
7657         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
7658         duplicate definition.
7659
7660 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7661
7662         * pa.md (extzv): Check predicates before emitting extzv_32.
7663         (insv): Likewise.
7664
7665 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
7666
7667         * config/s390/s390.h (MOVE_MAX): Define to correct value.
7668         (MAX_MOVE_MAX): Define.
7669         (MOVE_BY_PIECES_P): Define.
7670         (CLEAR_BY_PIECES_P): Define.
7671
7672 2002-09-10  Denis Chertykov  <denisc@overta.ru>
7673
7674         * config/avr/avr.md (movstrhi): Use right operands for conversion.
7675
7676 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
7677
7678         PR c/7873
7679         * arm.md (insv): Use reg_or_int_operand for operand[3].
7680
7681 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
7682
7683         * rs6000.c (rs6000_assemble_visibility): Protect declaration
7684         inside macro.  Correct function definition typo.
7685         (rs6000_xcoff_section_type_flags): New function.
7686         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
7687         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
7688         with appropriate PIC test.
7689         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
7690         determine readonly.
7691         (rs6000_binds_local_p): Combine PIC flags.
7692         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
7693         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
7694
7695 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7696
7697         * h8300.md: Fix signed/unsigned warnings.
7698         * mcore.md: Likewise.
7699         * mn10300.c (mask_ok_for_mem_btst): Likewise.
7700
7701 2002-09-09  Per Bothner  <per@bothner.com>
7702
7703         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
7704         characters, and only print TREE_STRING_LENGTH chars.
7705
7706 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
7707
7708         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
7709         (ASM_FILE_END) New.
7710         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
7711         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
7712         * config/ia64/ia64.c (ia64_asm_output_external): Create list
7713         of external functions if TARGET_HPUX_LD is true.
7714         (ia64_hpux_add_extern_decl): New, routine to put names on
7715         list of external functions.
7716         (ia64_hpux_asm_file_end): Put out declarations for external
7717         functions if and only if they are used.
7718
7719 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7720
7721         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
7722         on TARGET_64BIT before pic register restore.
7723
7724 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
7725
7726         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
7727         (TARGET_HAVE_TLS): New description.
7728
7729 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
7730
7731         * doc/extend.texi (Statement Exprs): Fix broken link.
7732
7733 2002-09-09  Denis Chertykov  <denisc@overta.ru>
7734
7735         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
7736         right conversion of operands[1].
7737
7738 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
7739
7740         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
7741         commutative.  Use "nonimmediate_operand" instead of "register_operand"
7742         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
7743
7744         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
7745         as commutative.
7746
7747         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
7748         mark as commutative.  Use "nonimmediate_operand" instead of
7749         "register_operand" as predicate for operand 1.
7750
7751         ("movstrictsi"): Fix typo in insn name.
7752
7753 2002-09-09  Jan Hubicka  <jh@suse.cz>
7754
7755         * i386.c (index_register_operand): New.
7756         * i386.h (predicate_codes): Add new predicate.
7757         * i386.md (lea_general_*): Use index_register_operand
7758         (ashift to lea splitter): Do not produce invalid leas
7759         (ashift to mov+ashift split): New.
7760
7761 2002-09-09  Nick Clifton  <nickc@redhat.com>
7762
7763         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
7764         Fix folding marks.
7765
7766 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
7767             J"orn Rennecke <joern.rennecke@superh.com>
7768
7769         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
7770
7771 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
7772
7773         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
7774         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
7775         attributes.
7776
7777 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
7778
7779         * basic_block.h (gcov_type): Explain why it is signed.
7780         * final.c: Don't include profile.h.
7781         (struct function_list, functions_head, functions_tail,
7782         end_final): Moved to profile.c
7783         (final): Move arc chaining code to profile.c.
7784         * function.c (prepare_function_start): Remove duplicate line.
7785         * output.h (end_final): Remove prototype.
7786         * predict.c (estimate_loops_at_level): Use gcov_type.
7787         * profile.c (struct function_list, functions_head,
7788         functions_tail): Moved from final.c
7789         (need_func_profiler): Remove.
7790         (instrument_edges): Don't set need_func_profiler.
7791         (get_exec_counts): Avoid signed/unsigned warning.
7792         (compute_checksum): Use crc32.
7793         (branch_prob): Adjust. Chain onto functions_head.
7794         (init_branch_prob): Absorb init_edge_profiler.
7795         (init_edge_profiler): Remove.
7796         (create_profiler): Moved and renamed from final.c:end_final.
7797         Emit data and constructor.
7798         (output_func_start_profiler): Remove.
7799         * profile.h (struct profile_info): checksum is unsigned.
7800         * rtl.h (output_func_start_profiler): Remove prototype.
7801         (create_profiler): Declare.
7802         * toplev.c (compile_file): Call create_profiler, if instrumenting
7803         arcs. Don't call end_final.
7804
7805 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7806
7807         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
7808
7809 2002-09-08  Richard Henderson  <rth@redhat.com>
7810
7811         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
7812         (DW_OP_GNU_push_tls_address): New.
7813         (DW_OP_lo_user): Fix.
7814         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
7815         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
7816         (size_of_loc_descr): Likewise.
7817         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
7818         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
7819         (loc_descriptor_from_tree): Handle TLS variables.
7820         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
7821         (add_location_or_const_value_attribute): ... not here.  Defer
7822         to loc_descriptor_from_tree for TLS variables.
7823
7824         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
7825         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
7826         * config/i386/i386-protos.h: Update.
7827
7828 2002-09-08  Roger Sayle  <roger@eyesopen.com>
7829
7830         PR optimization/6405
7831         * unroll.c (loop_iterations): last_loop_insn should be the previous
7832         non-note instruction before loop->end.
7833         * loop.c (strength_reduce): The conditional jump is the last
7834         non-note instruction before loop->end (as above).
7835
7836 2002-09-08  Roger Sayle  <roger@eyesopen.com>
7837
7838         * combine.c (try_combine): Handle the case that undobuf.other_insn
7839         has been turned into a return or unconditional jump, by inserting
7840         a BARRIER if necessary.
7841         (simplify_set):  Test if a condition code setter has a constant
7842         comparison at compile time, if so convert this insn to a no-op move
7843         and update/simplify the condition code user (undobuf.other_insn).
7844
7845 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
7846
7847         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
7848         (CLEAR_INSN_CACHE): Define.
7849
7850 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
7851
7852         * basic-block.h: Fix comment formatting.
7853         * c-common.c: Likewise.
7854         * c-common.h: Likewise.
7855         * c-lex.c: Likewise.
7856         * c-pretty-print.c: Likewise.
7857         * cfglayout.c: Likewise.
7858         * cfgloop.c: Likewise.
7859         * defaults.h: Likewise.
7860         * et-forest.c: Likewise.
7861         * explow.c: Likewise.
7862         * function.h: Likewise.
7863         * gcov.c: Likewise.
7864         * genattrtab.c: Likewise.
7865         * gengtype.c: Likewise.
7866         * ifcvt.c: Likewise.
7867         * libgcc2.c: Likewise.
7868         * loop.c: Likewise.
7869         * profile.c: Likewise.
7870         * ra-build.c: Likewise.
7871         * real.c: Likewise.
7872         * rtl.h: Likewise.
7873         * tracer.c: Likewise.
7874         * tree-inline.c: Likewise.
7875         * varasm.c: Likewise.
7876
7877 2002-09-08  Jan Hubicka  <jh@suse.cz>
7878
7879         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
7880         handling.
7881
7882         * loop.c (loop_givs_reduce):  Emit addition after.
7883
7884 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
7885
7886         * varasm.c (default_assemble_visibility): Rename from
7887         assemble_visibility.
7888         * output.h: Here too.
7889         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
7890         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
7891
7892 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
7893
7894         * reload.c (find_reloads <p constraint>): Pass operand_mode to
7895         find_reloads_address.
7896
7897 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
7898
7899         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
7900         (anonymous pattern): Likewise.
7901
7902 2002-09-07  Igor Shevlyakov <igor@microunity.com>
7903
7904         * machmode.def: Add modes for half-float vectors.
7905
7906 2002-09-07  Scott Snyder  <snyder@fnal.gov>
7907
7908         PR target/7374
7909         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
7910
7911 2002-09-07  Roger Sayle  <roger@eyesopen.com>
7912
7913         * basic-block.h (struct loop): Remove unused cont_dominator field.
7914
7915 2002-09-07  Igor Shevlyakov <igor@microunity.com>
7916
7917         * varasm.c (decode_rtx_const): Don't check undefined field for
7918         CONST_VECTOR.
7919
7920 2002-09-07  Glen Nakamura  <glen@imodulo.com>
7921
7922         PR opt/7814
7923         * sched-deps.c (sched_analyze_insn): Make sure to add insn
7924         to reg_last->sets after flushing the dependency lists to guarantee
7925         that subsequent clobbers will be dependent on it.
7926
7927 2002-09-07  Igor Shevlyakov <igor@microunity.com>
7928
7929         * combine.c (simplify_shift_const): Calculate rotate count
7930         correctly for vector operands.
7931
7932 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
7933
7934         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
7935         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
7936         tree_expr_nonnegative_p.
7937         (build_conditional_expr): Likewise.
7938         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
7939
7940 2002-09-07  Richard Henderson  <rth@redhat.com>
7941
7942         * builtins.def (inf, inff, infl): Mark const.
7943         (huge_val, huge_valf, huge_vall): Likewise.
7944         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
7945
7946         * real.c (ereal_inf): Clear E before use.
7947
7948 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
7949
7950         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
7951         an expander and an anonymous pattern.  Zero out the upper half
7952         of the dividend in the expander.
7953         (udivmodqi4): Likewise.
7954
7955 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
7956
7957         * config/h8300/h8300.c: Fix formatting.
7958         * config/h8300/h8300.h: Likewise.
7959         * config/h8300/h8300.md: Likewise.
7960
7961 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7962
7963         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
7964         information.
7965
7966 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
7967
7968        * rtlanal.c (dead_or_set_regno_p): Fix typo.
7969
7970 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
7971
7972         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7973
7974         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
7975         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
7976         (TARGET_ASM_OUT): Add the above here.
7977         * target.h (struct gcc_target): Add "visibility" field.
7978         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
7979         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
7980         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
7981         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
7982
7983 2002-09-06  Ziemowit Laski <zlaski@apple.com>
7984
7985         * c-lang.c (objc_is_id): New stub.
7986         * c-tree.h (objc_is_id): New forward declaration.
7987         * c-typeck.c (build_c_cast): Do not strip protocol
7988         qualifiers from 'id' type.
7989         * objc/objc-act.c (objc_comptypes): Correct handling
7990         of protocol qualifiers.
7991         (objc_is_id): New.
7992
7993 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
7994
7995         * pentium.md (pentium-firstvboth): Fix typo.
7996
7997 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
7998
7999         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
8000         (enum shift_type, enum h8_cpu): Likewise.
8001         (INL, ROT, LOP, SPC macros): Likewise.
8002         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
8003         const designator.
8004         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
8005         space efficient algorithms when optimize for codesize.
8006
8007 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8008
8009         Fix PR/1727 and long-standing failing testcase
8010         objc/formal-protocol-6.m.
8011         * objc-act.c (build_protocol_expr): If compiling for the GNU
8012         runtime, create a list of Protocol statically allocated instances
8013         if it doesn't exist, then add the Protocol object to this same
8014         list.
8015         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
8016         instead of TREE_CHAIN.
8017
8018 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8019
8020         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
8021         10k.  Fixed category dumping - print out category names with the
8022         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
8023         interface.
8024         (finish_objc): Fixed the -gen-decls option.  It was printing out
8025         only the last class.  Dump an interface declaration of all classes
8026         being compiled instead.
8027
8028 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
8029
8030         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
8031         prototype.
8032         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
8033         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
8034         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
8035         rather than GEN_INT.
8036         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
8037         (return_addr_mask, *check_arch2): New.
8038
8039 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
8040
8041         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
8042         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
8043         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
8044         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
8045         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
8046         "adddf3", "*adddf3", "*adddf3_ibm",
8047         "addsf3", "*addsf3", "*addsf3_ibm",
8048         "muldi3", "mulsi3", "mulsidi3",
8049         "muldf3", "*muldf3", "*muldf3_ibm",
8050         "mulsf3", "*mulsf3", "*mulsf3_ibm",
8051         "*anddi3_cc", "*anddi3_cconly", "anddi3",
8052         "*andsi3_cc", "*andsi3_cconly", "andsi3",
8053         "*iordi3_cc", "*iordi3_cconly", "iordi3",
8054         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
8055         "*xordi3_cc", "*xordi3_cconly", "xordi3",
8056         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
8057         instead of "register_operand" as predicate for "%0" operand.
8058
8059 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
8060
8061         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
8062         unconditionally when gcc_cv_as_flags64 checks are gone.
8063         * configure: Rebuilt.
8064
8065 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
8066
8067         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
8068         2002-07-26 change.  Comment.
8069
8070 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8071
8072         * frv.c (frv_unique_section, frv_select_section,
8073         frv_select_rtx_section): Delete.
8074         (frv_in_small_data_p): New.
8075         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
8076         TARGET_ASM_SELECT_RTX_SECTION): Delete.
8077         (TARGET_IN_SMALL_DATA_P): Define.
8078
8079 2002-09-05  Dale Johannesen  <dalej@apple.com>
8080
8081         * reload1.c (reload):  Retain only those memory clobbers
8082         added for variable-array handling.
8083
8084 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
8085
8086         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
8087         return-in-memory rules.
8088         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
8089
8090 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
8091
8092         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
8093         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
8094
8095 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
8096
8097         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
8098         not a compile-time constant for the non-IBM case.
8099         * config/arm/arm-protos.h (arm_float_words_big_endian): New
8100         prototype.
8101         * config/arm/arm.c (arm_float_words_big_endian): New function.
8102         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
8103         if TARGET_VFP  and not TARGET_HARD_FLOAT.
8104         (ARM_FLAG_VFP, TARGET_VFP): Define.
8105         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
8106
8107 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
8108
8109         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
8110         URLs.  Fix AIX wording.
8111
8112 2002-09-05  Stan Shebs  <shebs@apple.com>
8113
8114         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
8115         -fPIC equivalent on Darwin.
8116
8117 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
8118
8119         * sh.c (sh_expand_builtin): Return early if encountering an
8120         error_mark for a type.
8121
8122 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
8123
8124         * config/s390/s390.c (s390_expand_plus_operand): Do not require
8125         double-word scratch register.
8126         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
8127
8128         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
8129         "*cli"): Replace s_operand by memory_operand.
8130         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
8131
8132 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
8133
8134         * config/h8300/h8300.c (asm_file_start): Add a missing
8135         semicolon.
8136
8137 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8138
8139         * c-typeck.c (build_function_call): Remove unused variable(s).
8140         (build_c_cast): Likewise.
8141         * calls.c (rtx_for_function_call): Likewise.
8142         * cfglayout.c (duplicate_insn_chain): Likewise.
8143         * cfgloop.c (flow_loop_nodes_find): Likewise.
8144         * cfgrtl.c (split_edge): Likewise.
8145         * df.c (df_ref_create): Likewise.
8146         * except.c (expand_end_catch): Likewise.
8147         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
8148         * function.c (emit_return_into_block): Likewise.
8149         (reposition_prologue_and_epilogue_notes): Likewise.
8150         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
8151         * combine.c (subst_prev_insn, need_refresh): Remove.
8152         * dwarf2out.c (primary_filename): Remove.
8153         * final.c (new_block): Remove.
8154         * gcse.c (orig_bb_count): Remove.
8155
8156 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8157
8158         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
8159         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
8160         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
8161         directly instead of using a function pointer.
8162
8163 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
8164
8165         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
8166         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
8167         (ix86_output_addr_diff_elt) Likewise.
8168         (x86_output_mi_thunk) Likewise.
8169         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
8170
8171 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8172
8173         * frv.c (frv_encode_section_info): Fix error in last change.
8174
8175 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
8176
8177         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
8178         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
8179         (TARGET_BINDS_LOCAL_P): Define.
8180         (rs6000_override_options): Save original flag_pic value.
8181         (rs6000_elf_select_section): Call default_elf_select_section_1.
8182         (rs6000_elf_unique_section): Call default_unique_section_1.
8183         (rs6000_elf_in_small_data_p): New function.
8184         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
8185         (rs6000_xcoff_select_section): Update based on defaults.
8186         (rs6000_xcoff_unique_section): Set to basic name if not common.
8187         (rs6000_binds_local_p): New function.
8188         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
8189         targetm.have_srodata_section if SDATA_EABI.
8190         (TARGET_IN_SMALL_DATA_P): Define.
8191
8192 2002-09-04  Dale Johannesen  <dalej@apple.com>
8193
8194         * varasm.c (struct rtx_const, decode_rtx_const):
8195         Make veclo and vechi fields not share storage.
8196
8197 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
8198
8199         * loop.c (scan_loop): Don't mark separate insns out of a libcall
8200         for moving.
8201         (move_movables): Abort if we see the first insn of a libcall.
8202
8203 2002-09-04  Richard Henderson  <rth@redhat.com>
8204
8205         * builtin-types.def (BT_FN_FLOAT): New.
8206         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
8207         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
8208         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
8209         * builtins.c (fold_builtin_inf): New.
8210         (fold_builtin): Call it.
8211         * real.c (ereal_inf): New.
8212         * real.h: Declare it.
8213         * doc/extend.texi: Document new builtins.
8214
8215 2002-09-04  Richard Henderson  <rth@redhat.com>
8216
8217         * cse.c (cse_insn): Avoid subreg games if the equivalence
8218         is already in the proper mode.
8219
8220 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
8221
8222         PR c/7102
8223         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
8224
8225 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8226
8227         * pa.md (setccfp0, setccfp1): New patterns.
8228
8229 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8230
8231         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
8232         frv_select_section, frv_select_rtx_section,
8233         frv_encode_section_info, frv_unique_section): Delete.
8234         * frv.c: Update for target hooks.
8235         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
8236         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
8237         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
8238
8239 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8240
8241         * ip2k-protos.h (function_prologue, function_epilogue,
8242         encode_section_info): Update to match target hook specification.
8243         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
8244         (function_prologue, function_epilogue, encode_section_info):
8245         Update to match target hook specification.
8246         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
8247         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
8248         (NOTICE_UPDATE_CC): Cast to void.
8249         * ip2k.md: Add defaults in switch statements.
8250
8251 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8252
8253         * doc/trouble.texi (Interoperation): Update information about C++ ABI
8254         issues.
8255
8256 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
8257
8258         * config/sparc/t-netbsd64: Disable multilib for now.
8259
8260 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
8261
8262         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
8263         * target.h (gcc_target): Add have_srodata_section member.
8264         * varasm.c (section_category): Add SECCAT_SRODATA.
8265         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
8266         READONLY_SDATA_SECTION defined.
8267         (decl_readonly_section_1): True for SECCAT_SRODATA also.
8268         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
8269         (default_unique_section_1): Likewise.
8270
8271 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8272
8273         * expr.c (emit_group_load): Revise to allow splitting TCmode source
8274         into DImode pieces.
8275
8276         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
8277         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
8278         for floating-point register class.
8279         * pa.c (function_arg): Fix handling of modes wider than one word for
8280         TARGET_64BIT.
8281
8282 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
8283
8284         * combine.c (make_compound_operation): Don't generate zero / sign
8285         extensions in floating point modes.
8286
8287 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8288
8289         * doc/c-tree.texi: Fix overfull hboxes.
8290         * doc/cppopts.texi: Ditto.
8291         * doc/extend.texi: Ditto.
8292         * doc/gty.texi: Ditto.
8293         * doc/invoke.texi: Ditto.
8294         * doc/makefile.texi: Ditto.
8295         * doc/rtl.texi: Ditto.
8296         * doc/standards.texi: Ditto.
8297         * doc/tm.texi: Ditto.
8298
8299 2002-09-04  Richard Henderson  <rth@redhat.com>
8300
8301         * c-common.c (builtin_define_with_hex_fp_value): New.
8302         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
8303
8304 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8305
8306         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
8307         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
8308         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
8309         Warn that these options can break ABI compatibility.
8310
8311 2002-09-04  Richard Henderson  <rth@redhat.com>
8312
8313         * real.c (ereal_to_decimal): Add digits parameter.
8314         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
8315         * c-pretty-print.c (pp_c_real_literal): Update call.
8316         * print-rtl.c (print_rtx): Likewise.
8317         * print-tree.c (print_node_brief, print_node): Likewise.
8318         * sched-vis.c (print_value): Likewise.
8319         * config/arc/arc.c (arc_print_operand): Likewise.
8320         * config/c4x/c4x.c (c4x_print_operand): Likewise.
8321         * config/i370/i370.h (PRINT_OPERAND): Likewise.
8322         * config/i386/i386.c (print_operand): Likewise.
8323         * config/i960/i960.c (i960_print_operand): Likewise.
8324         * config/ip2k/ip2k.c (asm_output_float): Likewise.
8325         * config/m32r/m32r.c (m32r_print_operand): Likewise.
8326         * config/m68hc11/m68hc11.c (print_operand): Likewise.
8327         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
8328         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
8329         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
8330         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
8331         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
8332         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
8333         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
8334         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
8335         * config/mips/mips.c (print_operand): Likewise.
8336         * config/ns32k/ns32k.c (print_operand): Likewise.
8337         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
8338         * config/vax/vax.h (PRINT_OPERAND): Likewise.
8339         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
8340
8341 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
8342
8343         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
8344         xtensa_multibss_section_type_flags.
8345         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
8346
8347 2002-09-04  Richard Henderson  <rth@redhat.com>
8348
8349         * doc/install-old.texi: Don't mention enquire.
8350         * doc/sourcebuild.texi: Update float.h description.
8351
8352 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
8353
8354         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
8355
8356 2002-09-03  Roger Sayle  <roger@eyesopen.com>
8357
8358         * builtins.c (build_function_call_expr): Remove prototype, export
8359         as non-static and add a comment above function definition.
8360         (builtin_mathfn_code): New function to check for math builtins.
8361         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
8362         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
8363         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
8364         log(sqrt(x)) as log(x)/2.0.
8365
8366         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
8367         in new "builtins.c" section.  Place the build_range_type prototype
8368         with the other prototypes from "tree.c".
8369
8370         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
8371         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
8372         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
8373         x/exp(y) as x*exp(-y).
8374
8375 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
8376
8377         * varasm.c (default_section_type_flags): Append _1 to name with
8378         shlib parameter.  Use original name to call new function with
8379         implicit flag_pic.
8380         (decl_readonly_section): Likewise.
8381         (default_elf_select_section): Likewise.
8382         (default_unique_section): Likewise.
8383         (default_bind_local_p): Likewise.
8384         (categorize_decl_for_section): Add shlib parameter to use in place
8385         of implicit flag_pic.
8386         * output.h: Declare new functions with _1 and shlib argument.
8387
8388 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
8389
8390         * doc/install.texi: Fix typos, formatting problems, and obvious
8391         overfull/underfull boxes.
8392
8393         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
8394         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
8395         include its file, compat.texi.
8396         * doc/compat.texi: New file with new chapter, Binary Compatibility.
8397
8398 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
8399
8400         Debian BTS Bug #157416
8401         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
8402         * cpplib.c (destringize_and_run): Kludge around getting
8403         tokens from in-progress macros.
8404         (_cpp_do__Pragma): Simplify.
8405
8406 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
8407
8408         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
8409         (CPP_CPU_SPEC): Remove.
8410         (TARGET_CPU_CPP_BUILTINS): New.
8411         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
8412         (CPP_SPEC): Remove.
8413         (TARGET_OS_CPP_BUILTINS): New.
8414         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
8415         (TARGET_OS_CPP_BUILTINS): New.
8416         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
8417         TARGET_OS_CPP_BUILTINS.
8418         (CPP_PREDEFINES): Remove.
8419         (CPLUSPLUS_CPP_SPEC): Remove.
8420         (TARGET_OS_CPP_BUILTINS): New.
8421
8422 2002-09-03  Richard Henderson  <rth@redhat.com>
8423
8424         * Makefile.in (USER_H): Add ginclude/float.h.
8425         (FLOAT_H): Remove.
8426         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
8427         (mostlyclean): Don't remove float.h intermediate files.
8428         (distclean): Don't remove float.h.
8429         * config.gcc: Remove all float_format references.
8430         * configure.in (float_format, float_h_file): Remove.
8431
8432         * c-common.c: Include tree-inline.h.
8433         (builtin_define_with_int_value): New.
8434         (builtin_define_type_precision): Use it.
8435         (builtin_define_float_constants): New.
8436         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
8437         __FLT_EVAL_METHOD__.
8438         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
8439         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
8440         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
8441         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
8442         (TARGET_FLT_EVAL_METHOD): New.
8443
8444         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
8445         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
8446         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
8447         * ginclude/float.h: New.
8448
8449 2002-09-03  Stan Shebs  <shebs@apple.com>
8450
8451         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
8452         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
8453         (PREFERRED_DEBUGGING_TYPE): Ditto.
8454         (ASM_OUTPUT_IDENT): Remove empty definition.
8455
8456 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
8457
8458         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
8459         cxx_target.
8460         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
8461         handling routine for builtin pragma.
8462         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
8463         Registered pragma handling routine.
8464         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
8465         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
8466         If builtin pragma seen for math routine and C89 conformance is
8467         requested use different math function in order to set errno.
8468         * t-ia64 (ia64-c.o): Add new rule for new file.
8469
8470 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
8471
8472         * config/s390/s390.md ("movti"): Add Q->Q alternative.
8473         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
8474         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
8475
8476         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
8477         "*movsf_ss"): Remove.
8478
8479 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8480
8481         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
8482         Delete macros.
8483
8484 2002-09-03   Arati Dikey  <aratid@kpit.com>
8485
8486         * h8300.c (asm_file_start): Corrected optimization comment.
8487
8488 2002-09-03  Stan Shebs  <shebs@apple.com>
8489
8490         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
8491         * c-tree.h (recognize_objc_keyword): Remove decl.
8492         * c-typeck.c (comp_target_types): Update a comment.
8493
8494 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
8495
8496         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
8497         and register validity checks.
8498         (general_s_operand): Adapt to s390_decompose_address interface change.
8499         (q_constraint): Likewise.
8500         (s390_expand_plus_operand): Likewise.
8501         (legitimiate_address_p): Likewise.
8502         (legitimate_la_operand_p): Likewise.
8503         (legitimize_la_operand): Likewise.
8504         (print_operand_address): Likewise.
8505         (print_operand): Likewise.
8506
8507 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8508
8509         PR objc/5956:
8510         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
8511         was causing the new selector never to match the existing ones
8512         (Patch by Alexander Malmberg <alexander@malmberg.org>).
8513
8514 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
8515
8516         * config/i386/i386.md ("femms"): Add "memory" attr "none".
8517
8518 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
8519
8520         * expr.c (expand_expr): Remove extraneous comment and code.
8521
8522 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
8523
8524         * stor-layout (finish_builtin_struct): Renamed and moved from c++
8525         frontend. Take chain of fields. Allow NULL alignment type.
8526         * tree.h (finish_builtin_struct): Declare.
8527
8528 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8529
8530         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
8531         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
8532         config/arc/arc.c config/arc/arc.h config/arm/aout.h
8533         config/arm/arm.c config/arm/arm.h config/arm/arm.md
8534         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
8535         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
8536         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
8537         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
8538         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
8539         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
8540         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
8541         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
8542         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
8543         config/pa/pa.h config/pa/pa.md config/romp/romp.h
8544         config/rs6000/linux64.h config/rs6000/lynx.h
8545         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
8546         config/s390/s390.c config/s390/s390.md config/sh/sh.c
8547         config/sparc/sparc.c config/sparc/sysv4.h
8548         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
8549         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
8550         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
8551
8552         * doc/tm.texi: Update docs.
8553         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
8554         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
8555
8556 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8557
8558         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
8559         * arc.c (arc_internal_label): New function.
8560         (TARGET_ASM_INTERNAL_LABEL): Set.
8561         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8562         * arm.c (arm_internal_label): New function.
8563         (TARGET_ASM_INTERNAL_LABEL): Set.
8564         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8565         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8566         * i370.c (i370_internal_label): New function.
8567         (TARGET_ASM_INTERNAL_LABEL): Set.
8568         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8569         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8570         * m68k.c (m68k_hp320_internal_label): New function.
8571         (TARGET_ASM_INTERNAL_LABEL): Set.
8572         * m88k.c (m88k_internal_label): New function.
8573         (TARGET_ASM_INTERNAL_LABEL): Set.
8574         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8575         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
8576         * genoutput.c (output_prologue): Include target.h in output file.
8577         * output.h (default_internal_label): Declare.
8578         * sdbout.c: Include target.h.
8579         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
8580         TARGET_ASM_OUT.
8581         * target.h (internal_label): Add to struct gcc_target.
8582         * varasm.c (default_internal_label): New function.
8583
8584 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8585
8586         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8587         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8588         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8589         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8590         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8591         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8592         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8593         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8594         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8595         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8596         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8597         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8598         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8599         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8600         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8601         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8602         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8603         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8604         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8605         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8606         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8607         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8608         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8609         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8610         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8611         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
8612         * mmix.c (mmix_asm_output_internal_label): Likewise.
8613         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8614         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8615         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8616         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8617         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8618         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8619         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8620         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8621         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8622         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8623         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8624         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8625         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8626         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8627         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8628         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8629         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8630         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8631         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8632
8633         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
8634
8635 2002-08-31  Richard Henderson  <rth@redhat.com>
8636
8637         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
8638
8639 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8640
8641         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
8642
8643 2002-08-30  Richard Henderson  <rth@redhat.com>
8644
8645         PR opt/7515
8646         * c-objc-common.c: Include target.h.
8647         (c_cannot_inline_tree_fn): Don't auto-inline functions that
8648         don't bind locally.  Factor setting DECL_UNINLINABLE.
8649         * Makefile.in (c-objc-common.o): Update.
8650
8651 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
8652
8653         * doc/install.texi (Configuration, Building): Fix a typo and
8654         some formatting directives.
8655
8656 2002-08-30  Paul Koning <pkoning@equallogic.com>
8657
8658         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
8659         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
8660         implemented" note.
8661         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
8662         for alphabetic order.
8663         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
8664         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
8665         (VAX_HALFWORD_ORDER): Document.
8666         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
8667         IEEE float format.
8668         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
8669         (ASM_OUTPUT_LABEL_REF): Fix font.
8670         (CASE_VECTOR_SHORTEN_MODE): Ditto.
8671
8672 2002-08-30  Denis Chertykov  <denisc@overta.ru>
8673
8674         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
8675         stuff.
8676         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
8677         CONST_DOUBLE constants.
8678
8679 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
8680
8681         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
8682         related defines to...
8683         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
8684         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
8685         as a no-op.
8686
8687 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
8688
8689         * config/arm/arm.c (arm_asm_output_labelref): New function.
8690         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
8691         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
8692
8693 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
8694
8695         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
8696         memory exhausted" workarounds.
8697
8698 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8699
8700         * diagnostic.c (fancy_abort): Don't repeat "internal error".
8701         * toplev.c (crash_signal): Likewise.
8702
8703 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8704
8705         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
8706         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
8707         Extended, updated documentation.
8708         (-Wundeclared-selector): Documented.
8709
8710 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
8711
8712         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
8713         the value 1.  Do not undef before defining.
8714         * config/darwin.h: Likewise.
8715         * config/dbx.h: Likewise.
8716         * config/dbxcoff.h: Likewise.
8717         * config/dbxelf.h: Likewise.
8718         * config/elfos.h: Likewise.
8719         * config/interix.h: Likewise.
8720         * config/lynx-ng.h: Likewise.
8721         * config/lynx.h: Likewise.
8722         * config/netware.h: Likewise.
8723         * config/psos.h: Likewise.
8724         * config/svr3.h: Likewise.
8725         * config/alpha/alpha.h: Likewise.
8726         * config/alpha/elf.h: Likewise.
8727         * config/alpha/vms.h: Likewise.
8728         * config/arc/arc.h: Likewise.
8729         * config/arm/aout.h: Likewise.
8730         * config/arm/coff.h: Likewise.
8731         * config/c4x/c4x.h: Likewise.
8732         * config/h8300/h8300.h: Likewise.
8733         * config/i386/cygwin.h: Likewise.
8734         * config/i386/djgpp.h: Likewise.
8735         * config/i386/gas.h: Likewise.
8736         * config/i386/gstabs.h: Likewise.
8737         * config/i386/i386-coff.h: Likewise.
8738         * config/i386/i386-interix.h: Likewise.
8739         * config/i386/sco5.h: Likewise.
8740         * config/i386/svr3dbx.h: Likewise.
8741         * config/i386/sysv3.h: Likewise.
8742         * config/i386/win32.h: Likewise.
8743         * config/i386/x86-64.h: Likewise.
8744         * config/i960/i960.h: Likewise.
8745         * config/ia64/ia64.h: Likewise.
8746         * config/ip2k/ip2k.h: Likewise.
8747         * config/m32r/m32r.h: Likewise.
8748         * config/m68k/3b1.h: Likewise.
8749         * config/m68k/3b1g.h: Likewise.
8750         * config/m68k/ccur-GAS.h: Likewise.
8751         * config/m68k/coff.h: Likewise.
8752         * config/m68k/hp2bsd.h: Likewise.
8753         * config/m68k/hp310g.h: Likewise.
8754         * config/m68k/hp320g.h: Likewise.
8755         * config/m68k/hp3bsd.h: Likewise.
8756         * config/m68k/hp3bsd44.h: Likewise.
8757         * config/m68k/linux-aout.h: Likewise.
8758         * config/m68k/m68k-aout.h: Likewise.
8759         * config/m68k/mot3300.h: Likewise.
8760         * config/m68k/netbsd.h: Likewise.
8761         * config/m68k/openbsd.h: Likewise.
8762         * config/m68k/pbb.h: Likewise.
8763         * config/m68k/plexus.h: Likewise.
8764         * config/m68k/sun2.h: Likewise.
8765         * config/m68k/sun3.h: Likewise.
8766         * config/m68k/tower-as.h: Likewise.
8767         * config/m68k/vxm68k.h: Likewise.
8768         * config/m88k/aout-dbx.h: Likewise.
8769         * config/m88k/m88k-aout.h: Likewise.
8770         * config/mcore/mcore-elf.h: Likewise.
8771         * config/mcore/mcore-pe.h: Likewise.
8772         * config/mips/elf.h: Likewise.
8773         * config/mips/elf64.h: Likewise.
8774         * config/mips/iris5gas.h: Likewise.
8775         * config/mips/iris6.h: Likewise.
8776         * config/mips/mips.h: Likewise.
8777         * config/mips/sni-gas.h: Likewise.
8778         * config/mmix/mmix.h: Likewise.
8779         * config/ns32k/netbsd.h: Likewise.
8780         * config/pa/pa64-hpux.h: Likewise.
8781         * config/romp/romp.h: Likewise.
8782         * config/rs6000/sysv4.h: Likewise.
8783         * config/rs6000/xcoff.h: Likewise.
8784         * config/sh/coff.h: Likewise.
8785         * config/sh/elf.h: Likewise.
8786         * config/sparc/linux64.h: Likewise.
8787         * config/sparc/liteelf.h: Likewise.
8788         * config/sparc/netbsd.h: Likewise.
8789         * config/sparc/openbsd.h: Likewise.
8790         * config/sparc/pbd.h: Likewise.
8791         * config/sparc/sp64-elf.h: Likewise.
8792         * config/sparc/sp86x-elf.h: Likewise.
8793         * config/sparc/sparc.h: Likewise.
8794         * config/vax/vax.h: Likewise.
8795         * config/vax/vaxv.h: Likewise.
8796
8797 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
8798
8799         * h8300.c (shift_alg_hi): Various tweaks to improve performance
8800         of HImode shifts.
8801         (get_shift_alg): Corresponding changes.
8802
8803 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8804
8805         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
8806
8807 2002-08-29  Richard Henderson  <rth@redhat.com>
8808
8809         * expr.h (enum block_op_methods): New.
8810         (emit_block_move): Update prototype.
8811         * expr.c (block_move_libcall_safe_for_call_parm): New.
8812         (emit_block_move_via_loop): New.
8813         (emit_block_move): Use them.  New argument METHOD.
8814         (emit_push_insn): Always respect the given alignment.
8815         (expand_assignment): Update call to emit_block_move.
8816         (store_expr, store_field, expand_expr): Likewise.
8817         * builtins.c (expand_builtin_apply): Likewise.
8818         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
8819         * function.c (expand_function_end): Likewise.
8820         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
8821         * config/sparc/sparc.c (sparc_va_arg): Likewise.
8822         * calls.c (expand_call, emit_library_call_value_1): Likewise.
8823         (save_fixed_argument_area): Use emit_block_move with
8824         BLOCK_OP_CALL_PARM instead of move_by_pieces.
8825         (restore_fixed_argument_area): Likewise.
8826         (store_one_arg): Fix alignment parameter to emit_push_insn.
8827
8828 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8829
8830         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
8831
8832 2002-08-29  Catherine Moore  <clm@redhat.com>
8833
8834         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
8835         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
8836         (PREDICATE_CODES): Include new predicates.
8837         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
8838         (TARGET_SWITCHES):  Add strict-align.
8839         (TARGET_STRICT_ALIGN): New.
8840         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
8841         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
8842         Define.
8843         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
8844         v850_muldi3.
8845         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
8846         L_callt_save_r2_r31, L_return_r2_r31,
8847         L_save_all_interrupt): Change addi to add.
8848         (L_save_interrupt, L_return_interrupt): Rework.
8849         (__return_r31):  Correct .size directive.
8850         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
8851         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
8852         New routines.
8853         * config/v850/v850.c (expand_prologue): Call
8854         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
8855         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
8856         (reg_or_int9_operand): New predicate.
8857         (reg_or_const_operand): New routine.
8858         * config/v850/v850.md (return_interrupt): Changed from
8859         restore_interrupt.
8860         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
8861         (callt_save_interrupt): Change save sequence.
8862         (callt_return_interrupt): New.
8863         (save_interrupt): Don't use runtime function for LONG_CALLS
8864         and TARGET_PROLOG_FUNCTION.
8865         (save_all_interrupt): Likewise.
8866         (mulsi3): Use new predicate.
8867         (moviscc): Disallow some combination of constants.
8868         Fix define_split for sasf insns, so that it will not generate bad
8869         code if operand0 and operand5 are the same.
8870         * config/v850/v850-protos.h: Prototype new predicates.
8871
8872 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
8873
8874         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
8875         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
8876
8877 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8878
8879         * c-common.c (builtin_define_type_precision): New function.
8880         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
8881         wchar_t is unsigned in C++.
8882         * doc/cpp.texi (Common Predefined Macros): Document
8883         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
8884         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
8885         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
8886
8887 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
8888
8889         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
8890         section.  Mention that it is enabled by -Wall.
8891         (-Wall): Mention that there can be language-specific warnings as well.
8892         (-Wctor-dtor-privacy): Mention that it is enabled by default.
8893         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
8894
8895 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
8896
8897         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
8898         if it is ever live.
8899
8900         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
8901         attribute for SHCOMPACT.
8902
8903         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
8904         appropriately.
8905         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
8906         by the ABI.
8907
8908         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
8909
8910 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
8911
8912         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
8913         "MASK_GAS|MASK_ABICALLS".
8914         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
8915         (TARGET_DEFAULT): Remove.
8916         (MACHINE_TYPE): Undefine before defining.
8917         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
8918
8919 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
8920
8921         * c-common.c (warn_abi): New variable.
8922         * c-common.h (warn_abi): Likewise.
8923         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
8924         (c_common_decode_option): Handle it.
8925         * doc/invoke.texi: Document -Wabi.
8926
8927 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8928
8929         * c-common.c (warn_undeclared_selector): New variable.
8930         * c-common.h (warn_undeclared_selector): Idem.
8931         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
8932         to on when -Wundeclared-selector is found.
8933         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
8934         * objc/objc-act.c (build_selector_expr): If
8935         warn_undeclared_selector is set, check that the selector has
8936         already been defined, and emit a warning if not.
8937
8938 2002-08-27  Nick Clifton  <nickc@redhat.com>
8939             Catherine Moore  <clm@redhat.com>
8940             Jim Wilson  <wilson@cygnus.com>
8941
8942         * config.gcc: Add v850e-*-* target.
8943         Add --with-cpu= support for v850.
8944         * config/v850/lib1funcs.asm: Add v850e callt functions.
8945         * config/v850/v850.h: Add support for v850e target.
8946         * config/v850/v850.c: Add functions to support v850e target.
8947         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
8948         * config/v850/v850.md: Add patterns for v850e instructions.
8949         * doc/invoke.texi: Document new v850e command line switches.
8950
8951 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
8952                           Aldy Hernandez <aldyh at redhat dot com>
8953
8954         * doc/tm.texi: Applied numerous fixes to the automaton based
8955         scheduler descrition.
8956
8957 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
8958
8959         * i386.c (classify_argument): Handle variable sized objects.
8960
8961 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
8962
8963         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
8964
8965 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
8966
8967         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
8968
8969 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
8970
8971         * i386.c (classify_argument): Properly compute word size of the analyzed object.
8972
8973 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
8974
8975         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
8976         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
8977         accordingly.
8978         (attribute insn_class): Provide default definitions based on type.
8979         Remove all insn-specific settings.
8980         (various function units): Remove old SH4 scheduling.
8981         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
8982         New attributes.  Set them where appropriate.
8983         (cpu unit FS): Don't define / use.
8984         (F3, load_store): New cpu units.
8985         (F01): New reservation.
8986         (all insn_reservations): Make dependent on sh4 pipeline model.
8987         Fix latencies.
8988         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
8989         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
8990         (mt insn_reservation): Use type mt_group.
8991         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
8992         sh4_fload and sh4_store.
8993         (insn_reservation branch_zero and branch): Replace with sh4_branch.
8994         (insn_reservation branch_far): Replace with sh4_return.
8995         (insn_reservation return_from_exp): Rename to:
8996         (sh4_return_from_exp).  Change to be just d_lock*5.
8997         (insn_reservation lds_to_pr): Rename to:
8998         (sh4_lds_to_pr).  Change to be just d_lock*2.
8999         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
9000         d_lock*2.
9001         (insn_reservation prload_mem): Rename to:
9002         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
9003         (insn_reservation fpscr_store): Rename to:
9004         (fpscr_load).  Change to d_lock,nothing,F1*3.
9005         (insn_reservation fpscr_store_mem): Rename to:
9006         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
9007         (insn_reservation multi): Change to
9008         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
9009         (insn_reservation fp_arith): Change to issue,F01,F2.
9010         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
9011         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
9012         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
9013         (insn_reservation fp_double_cmp): Change to
9014         d_lock,(d_lock+F01),F1+F2,F2.
9015         (insn_reservation dp_div): Change to
9016         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
9017         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
9018         (sh_adjust_cost, SHcompact): Differentiate between different
9019         kinds of dependencies.  Drop factor of ten for superscalar.
9020         Use new instruction types.  Add new exception rules.
9021
9022         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
9023
9024         * sh.md (mperm_w): Add DONE.
9025
9026 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
9027
9028         * longlong.h: Import current PowerPC defintion from GMP-4.1.
9029
9030         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
9031
9032         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
9033
9034 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
9035
9036         * sh.h (MAX_FIXED_MODE_SIZE): Define.
9037
9038 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
9039
9040         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
9041         delimiter.
9042
9043 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9044
9045         * c-common.c (cpp_define_data_format): New function.
9046         (cb_register_builtins): Call it.
9047
9048         * doc/cpp.texi (Common Predefined Macros): Document
9049         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
9050         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
9051         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
9052         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
9053         __TARGET_USES_VAX_H_FLOAT__.
9054
9055 2002-08-26  Ziemowit Laski <zlaski@apple.com>
9056
9057         * objc/objc-act.c (get_super_receiver): If inside a class method
9058         of a category, cast the receiver to 'id' before accessing the 'isa'
9059         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
9060
9061 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
9062
9063         * config/s390/s390-protos.h (s390_function_prologue,
9064         s390_function_epilogue): Remove.
9065         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
9066         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
9067
9068         config/s390/s390.c (s390_machine_dependent_recorg): New function.
9069         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
9070         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
9071         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
9072         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
9073
9074         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
9075         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
9076         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
9077         function is not a leaf function.  Use save_gprs and restore_gprs.
9078         (s390_emit_epilogue): Likewise.
9079         (save_gprs, restore_gprs): New functions.
9080         (struct s390_frame): Remove return_reg_saved_p member.
9081         (save_fprs_p): Remove.
9082         (s390_optimize_prolog): New function.
9083         (s390_legitimate_reload_constant): Remove now unnecessary check.
9084
9085         (s390_function_count): Remove.
9086         (s390_output_symbolic_const): Replace s390_function_count by
9087         current_function_funcdef_no.
9088         (s390_output_constant_pool): Likewise.
9089
9090         (legitimize_pic_address): Use regs_ever_live to track PIC register
9091         instead of current_function_uses_pic_offset_table.
9092         (s390_emit_prologue): Likewise.
9093         config/s390/s390.md ("call", "call_value"): Likewise.
9094
9095 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
9096
9097         * c-opts.c (find_opt): Don't complain about wrong languages
9098         here.  Return exact matches even for wrong language.
9099         (c_common_decode_option): Complain about wrong languages
9100         here.
9101
9102 2002-08-24  Stuart Hastings  <stuart@apple.com>
9103
9104         * function.h (struct function): Add flag
9105         all_throwers_are_sibcalls.
9106         * except.c (set_nothrow_function_flags): Replaces
9107         nothrow_function_p. Set new flag.
9108         * except.h (set_nothrow_function_flags): Replaces
9109         nothrow_function_p.
9110         * dwarf2out.c (struct dw_fde_struct): Add flag
9111         all_throwers_are_sibcalls.
9112         (output_call_frame_info): Test it.
9113         (dwarf2out_begin_prologue) Propagate it from cfun to
9114         dw_fde_struct.
9115         * toplev.c (rest_of_compilation): Update calls to
9116         nothrow_function_p.
9117
9118 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
9119
9120         * ggc-page.c (compute_inverse): Short circuit calculation for
9121         object sizes larger than half a page.
9122
9123 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
9124
9125         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
9126         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
9127         default.
9128         (rs6000_elf_unique_section): Likewise.
9129
9130 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9131
9132         * ns32k.c (ns32k_globalize_label): Delete.
9133         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
9134
9135 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
9136
9137         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
9138         for loading delta with num_insns_constant_wide.  Calculate
9139         delta_low, delta_high without using a conditional.
9140
9141 2002-08-22  Jason Merrill  <jason@redhat.com>
9142
9143         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
9144         * c-common.def: Adjust.
9145         * c-dump.c (c_dump_tree): Adjust.
9146         * c-semantics.c (genrtl_return_stmt): Adjust.
9147         * c-pretty-print.c (pp_c_statement): Adjust.
9148         * tree-inline.c (copy_body_r): Adjust.
9149
9150 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
9151
9152         * ggc-page.c: Avoid division in ggc_set_mark.
9153         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
9154         compute_inverse): New.
9155         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
9156         (init_ggc): Initialize inverse_table.
9157
9158 2002-08-22  Tom Tromey  <tromey@redhat.com>
9159
9160         * doc/install.texi (Configuration): Document --datadir.
9161
9162 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
9163
9164         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
9165
9166 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
9167
9168         * gengtype-lex.l (ID): Allow underscore as first character.
9169
9170 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
9171
9172         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
9173         function.
9174         (rs6000_xcoff_asm_named_section): Rename.
9175         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
9176
9177 2002-08-21  Tom Tromey  <tromey@redhat.com>
9178
9179         For PR java/6005 and PR java/7611:
9180         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
9181         (fold): Likewise.
9182         * langhooks.c (lhd_can_use_bit_fields_p): New function.
9183         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
9184         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
9185         (LANG_HOOKS_INITIALIZER): Use it.
9186         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
9187         field.
9188
9189 2002-08-21  Stan Shebs  <shebs@apple.com>
9190
9191         * tree.c (finish_vector_type): Fix a typo in a comment.
9192         * Makefile.in: Fix "the the" stutters in comments.
9193         * genautomata.c: Ditto.
9194         * ifcvt.c: Ditto.
9195         * regrename.c: Ditto.
9196         * config/alpha/alpha.c: Ditto.
9197         * config/alpha/vms-crt0-64.c: Ditto.
9198         * config/alpha/vms-crt0.c: Ditto.
9199         * config/alpha/vms-psxcrt0-64.c: Ditto.
9200         * config/alpha/vms-psxcrt0.c: Ditto.
9201         * config/d30v/d30v.h: Ditto.
9202         * config/fr30/fr30.h: Ditto.
9203         * config/rs6000/rs6000.c: Ditto.
9204         * config/stormy16/stormy16.h: Ditto.
9205         * doc/md.texi: Ditto.
9206
9207 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9208
9209         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
9210
9211 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
9212
9213         * c-decl.c (grokdeclarator): Make invalid combinations with long,
9214         short, signed or unsigned into hard errors.  Fixes PR c/4319.
9215         Also make duplicate modifiers such as "short short" into hard
9216         errors.
9217
9218 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
9219             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9220
9221         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
9222         to the actual end.  Add '@end table' and '@table @code'.
9223
9224 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
9225
9226         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
9227
9228         * unroll.c (biv_total_increment): Don't try to compute the total
9229         increment for FP BIVs.
9230
9231 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9232
9233         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
9234         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
9235         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9236         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
9237         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
9238         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
9239         (GLOBAL_ASM_OP): Define.
9240         * arm.c (aof_globalize_label): New function.
9241         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
9242         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9243         * c4x.c (c4x_globalize_label): New function.
9244         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
9245         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
9246         (GLOBAL_ASM_OP): Define.
9247         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
9248         * darwin-protos.h (darwin_globalize_label): Declare.
9249         * darwin.c (darwin_globalize_label): New function.
9250         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
9251         (ASM_GLOBALIZE_LABEL): Delete.
9252         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
9253         * dsp16xx.c (asm_output_common): Use target hook.
9254         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
9255         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
9256         (GLOBAL_ASM_OP): Define.
9257         * i370.c (i370_globalize_label): New function.
9258         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
9259         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
9260         * i386.c (ix86_asm_file_end): Use target hook.
9261         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
9262         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
9263         * ia64.c (ia64_asm_output_external): Likewise.
9264         * ia64/sysv4.h: Update comment.
9265         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9266         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
9267         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
9268         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
9269         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
9270         * mmix-protos.h (mmix_asm_globalize_label): Delete.
9271         * mmix.c (mmix_asm_globalize_label): Likewise.
9272         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
9273         (GLOBAL_ASM_OP): Define.
9274         * ns32k.c (ns32k_globalize_label): New function.
9275         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
9276         (ASM_GLOBALIZE_LABEL): Delete.
9277         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
9278         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
9279         * pa.c (pa_globalize_label): New function.
9280         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
9281         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
9282         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
9283         (GLOBAL_ASM_OP): Define.
9284         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
9285         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9286         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
9287         (GLOBAL_ASM_OP): Define.
9288         * v850.c (v850_output_aligned_bss): Use target hook.
9289         * vax.c (vms_globalize_label): New function.
9290         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
9291         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
9292         (GLOBAL_ASM_OP): Define.
9293         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
9294         * doc/tm.texi: Update docs.
9295         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
9296         target hook.
9297         * final.c (output_alternate_entry_point): Likewise.
9298         * hooks.c (hook_FILEptr_constcharptr_void): New function.
9299         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
9300         * output.h (assemble_global): Delete.
9301         (default_globalize_label): Declare.
9302         * system.h (ASM_GLOBALIZE_LABEL): Poison.
9303         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
9304         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
9305         * target.h (gcc_target): Add globalize_label member.
9306         * varasm.c (asm_output_bss, asm_output_aligned_bss,
9307         globalize_decl): Use target hook.
9308         (assemble_global): Delete.
9309         (default_globalize_label): New function.
9310
9311 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9312
9313         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
9314
9315 2002-08-20  Devang Patel  <dpatel@apple.com>
9316         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
9317
9318 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9319
9320         * arc.c (output_shift): Use stdio instead of asm_fprintf.
9321         * arm.c (thumb_output_function_prologue): Likewise.
9322         * avr.c (print_operand): Likewise.
9323         * c4x.c (c4x_print_operand): Likewise.
9324         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
9325         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
9326         * cris.c (cris_target_asm_function_prologue,
9327         cris_asm_output_mi_thunk): Likewise.
9328         * h8300.c (print_operand): Likewise.
9329         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9330         * ip2k.c (print_operand): Likewise.  Fix format specifier.
9331         * m68hc11.c (asm_print_register, print_operand,
9332         print_operand_address): Use stdio instead of asm_fprintf.
9333         (print_operand_address): Fix format specifier.
9334         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
9335         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
9336         asm_fprintf.
9337         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9338         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9339         * m68k.c (m68k_output_function_prologue,
9340         m68k_output_function_epilogue, print_operand): Likewise.
9341         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
9342         Likewise.  Fix format specifier.
9343         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9344         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9345         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9346
9347 2002-08-15  Eric Christopher  <echristo@redhat.com>
9348             Jeff Knaggs  <jknaggs@redhat.com>
9349
9350         * config.gcc (mipsisa64sr71k-elf): New target.
9351         * config/mips/sr71k.md: New file.
9352         * config/mips/mips.md: Use it.
9353         (rot*): Add sr71k specifics.
9354         * config/mips/t-sr71k: New file.
9355         * config/mips/mips.h (sr71k): New cpu.
9356         (TARGET_SR71K): Use it.
9357         (TUNE_SR71K): Ditto.
9358         (GENERATE_BRANCHLIKELY): Ditto.
9359         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
9360         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
9361         * config/mips/mips.c (sr71k): New cpu.
9362         (mips_use_dfa_pipeline_interface): Use.
9363
9364 2002-08-15  Eric Christopher  <echristo@redhat.com>
9365             Richard Sandiford <rsandifo@redhat.com>
9366             Aldy Hernandez  <aldyh@redhat.com>
9367             Graham Stott    <grahams@redhat.com>
9368             Michael Meissner  <meissner@redhat.com>
9369             Gavin Romig-Koch  <gavin@redhat.com>
9370             Ken Raeburn  <raeburn@cygnus.com>
9371             Alexandre Oliva <aoliva@redhat.com>
9372
9373         * config.gcc (mips64vr-elf): New target.
9374         * config/mips/5400.md: New file.
9375         * config/mips/5500.md: Ditto.
9376         * config/mips/mips.md: Use them.
9377         (frsqrt): New.
9378         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
9379         cpus.
9380         (mips_issue_rate): Use them.
9381         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
9382         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
9383         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
9384         cpus.
9385         (TARGET_MIPSx): Use them.
9386         (TUNE_MIPSx): Ditto.
9387         (GETNATE_MULT3_SI): Ditto.
9388         (ISA_HAS_BRANCHLIKELY): Ditto.
9389         (ISA_HAS_CONDMOVE): Ditto.
9390         (ISA_HAS_NMADD_NMSUB): Ditto.
9391         (ISA_HAS_MULHI): New. Ditto.
9392         (ISA_HAS_MULS): Ditto.
9393         (ISA_HAS_MSAC): Ditto.
9394         (ISA_HAS_MACC): Ditto.
9395         (ISA_HAS_ROTR_SI): Ditto.
9396         (ISA_HAS_ROTR_DI): Ditto.
9397         (RTX_COSTS): Use.
9398
9399 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9400
9401         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
9402         at head.
9403         (remove_dup_nonsys_dirs): New function.
9404         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
9405         (merge_include_chains): Remove non-system include directories from
9406         quote and bracket include chains when they duplicate equivalent system
9407         directories.
9408         * doc/cpp.texi (-I): Update.
9409         * doc/cppopts.texi (-I): Update.
9410         * doc/install.texi (--with-local-prefix): Further document usage of
9411         this option.
9412         * doc/invoke.texi (-I): Update.
9413
9414 2002-08-20  Richard Henderson  <rth@redhat.com>
9415
9416         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
9417         (emit_block_move): Split out subroutines.
9418         (emit_block_move_via_movstr): New.
9419         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
9420         (emit_block_move_libcall_fn): New.  Construct function prototype for
9421         bcopy as well.
9422         (clear_storage): Split out subroutines.
9423         (clear_storage_via_clrstr): New.
9424         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
9425         (clear_storage_libcall_fn): New.  Construct function prototype for
9426         bzero as well.
9427         (emit_push_insn): Use emit_block_move.
9428         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
9429         (store_constructor): Likewise.
9430
9431 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
9432
9433         * objc/objc-act.c (building_objc_message_expr): Rename to
9434         current_objc_message_selector.
9435
9436 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
9437
9438         * objc/objc-act.c (build_ivar_chain): Remove.
9439         (objc_copy_list): Likewise.
9440         (get_class_ivars): Inline call to removed build_ivar_chain
9441         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
9442         slot; use that slot (rather than CLASS_IVARS) when accessing
9443         ivars for base classes.  Call copy_list and chainon instead of
9444         objc_copy_list.
9445         (build_private_template): Call get_class_ivars instead of
9446         build_ivar_chain.
9447         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
9448         (continue_class): Call get_class_ivars instead of
9449         build_ivar_chain.
9450         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
9451         of DECL_BIT_FIELD (which may have been cleared).
9452         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
9453
9454 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9455
9456         * genautomata.c (output_translate_vect, output_state_ainsn_table,
9457         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
9458         in output file.
9459         (output_internal_min_issue_delay_func): Initialize variable in
9460         output file.
9461
9462 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
9463
9464         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
9465         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
9466
9467 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
9468             Steve Ellcey  <sje@cup.hp.com>
9469
9470         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
9471         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
9472         * explow.c (trunc_int_for_mode): Abort when the mode is not
9473         a scaler integer mode.
9474         * combine.c (expand_compound_operation): Don't expand Vector
9475         or Complex modes into shifts.
9476         (expand_field_assignment): Don't do bitwise arithmatic and
9477         shifts on Vector or Complex modes.
9478         (simplify_comparison): Don't call trunc_int_for_mode
9479         for VOIDmode.
9480         * recog.c (general_operand): Likewise.
9481         (immediate_operand): Likewise.
9482         (nonmemory_operand): Likewise.
9483
9484 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
9485
9486         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
9487         multi-instruction SImode constant.  Add REG_EQUAL note.
9488         * config/rs6000/rs6000.md (movsi splitter): Use
9489         rs6000_emit_set_const.
9490
9491 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9492
9493         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
9494         the macro test controlling its use.
9495
9496 2002-08-18  H.J. Lu  (hjl@gnu.org)
9497
9498         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
9499         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
9500         gnu_ld=yes.
9501         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
9502         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
9503         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
9504         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
9505         here.
9506         (cris-*-linux*): Remove setting thread_file here.
9507
9508 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
9509
9510         PR preprocessor/7602
9511         * cppinit.c (path_include): Treat the system environment
9512         variables as being cxx_aware.
9513
9514 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
9515
9516         * c-decl.c (flexible_array_type_p): New function.
9517         (grokdeclarator, finish_struct): Use it.
9518         * doc/extend.texi: Document constraints on use of structures with
9519         flexible array members.
9520
9521 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
9522
9523         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
9524         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
9525         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
9526
9527 2002-08-16  Stan Shebs  <shebs@apple.com>
9528
9529         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
9530         for ObjC with -fnext-runtime.
9531         * doc/cpp.texi: Document it.
9532
9533 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
9534
9535         * doc/install.texi (Final installation): Replace links to individual
9536         build status pages with a link to a common page that lists them all.
9537
9538 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
9539
9540         * doc/invoke.texi: Fix typo.
9541
9542 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
9543
9544         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
9545
9546 2002-08-16  Andrew Haley  <aph@redhat.com>
9547
9548         * tree-inline.c: Add includes for Java inliner.
9549         (remap_decl): Don't handle anonymous types for Java.
9550         (remap_block): Add handling for Java trees.
9551         (copy_scope_stmt): Conditionalize for non-Java use only.
9552         (copy_body_r): Handle Java trees.  Add handling for
9553         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
9554         (initialize_inlined_parameters):  Handle Java trees.
9555         (declare_return_variable): Likewise.
9556         (expand_call_inline): Handle Java trees.
9557         (walk_tree): Likewise.
9558         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
9559         (add_stmt_to_compound): New function.
9560
9561 2002-08-15  Richard Henderson  <rth@redhat.com>
9562
9563         * Makefile.in (LOOSE_WARN): Remove -fno-common.
9564         (NOCOMMON_FLAG): New substitution point.
9565         (GCC_WARN_CFLAGS): Include it.
9566         * configure.in (ac_checking): Set nocommon_flag.
9567         (nocommon_flag): New substitution point.
9568
9569 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
9570
9571         * c-tree.h (skip_evaluation): Move declaration...
9572         * c-common.h: ... here.
9573         * c-typeck.c (build_external_ref): Don't assemble_external nor
9574         mark a tree as used if skip_evaluation is set.
9575         * c-parse.in (typeof): New non-terminal to set skip_evaluation
9576         around TYPEOF.
9577         (typespec_nonreserved_nonattr): Use it.
9578
9579 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
9580
9581         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
9582         (xcoff_debug_hooks): Update end_prologue.
9583         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
9584         * debug.h (end_prologue): Add file arg.
9585         (end_epilogue): Add line and file args.
9586         (dwarf2out_end_epilogue): Add line and file args.
9587         (vmsdbgout_after_prologue): Remove.
9588         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
9589         (dwarf2_debug_hooks): Update end_prologue.
9590         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
9591         (dwarfout_end_prologue): Add file arg.
9592         * final.c (vmsdbgout_after_prologue): Remove
9593         (final_end_function): Update end_epilogue call.
9594         (final_scan_insn): Update end_prologue call.
9595         * sdbout.c (sdbout_end_epilogue): Add line and file args.
9596         (sdbout_end_prologue): Add file arg.
9597         (sdb_debug_hooks): Update end_prologue.
9598         (sdb_begin_prologue): Update sdbout_end_prologue call.
9599         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
9600         vmsdbgout_end_function.
9601         (vmsdbgout_end_prologue): New function renamed from
9602         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
9603         (vmsdbgout_end_function): New function.
9604         (vmsdbgout_end_epilogue): Add line and file args. Call
9605         vmsdbgout_source_line.
9606         (write_pclines): Write only valid line numbers.
9607         (write_srccorr): Don't write source correlation records if 0 lines.
9608         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
9609
9610 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
9611
9612         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
9613         (_Unwind_Internal_Ptr): 32 bit version for use in
9614         read_encoded_value_with_base.
9615         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
9616         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
9617         right size.
9618
9619 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9620
9621         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
9622         signed/unsigned warnings.
9623
9624         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
9625         record_reg_classes): Likewise.
9626
9627         * reload.c (reload_inner_reg_of_subreg, push_reload,
9628         find_reloads_address_1): Likewise.
9629
9630 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
9631
9632         * rs6000.c (output_mi_thunk): Return to function section on
9633         TARGET_ELF.
9634
9635         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
9636
9637 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
9638
9639         * config/s390/s390.c (legitimize_address): Optimize loading
9640         of large displacements.
9641
9642 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
9643
9644         * config/alpha/alpha-protos.h: Update.
9645
9646         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
9647         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
9648         (alpha_linkage_symbol_p): New static function.
9649         (print_operand_address): Print linkage operand.
9650
9651         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
9652         variables.
9653         (reloc_kind): New enum.
9654         (struct alpha_funcs): New struct.
9655         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
9656
9657         (alpha_need_linkage): Rewrite.
9658         (alpha_use_linkage): New global function.
9659         (alpha_write_linkage): Rewrite and make static.
9660         (alpha_write_one_linkage): Rewrite
9661
9662         (alpha_start_function): Remove procedure descriptor output.
9663         (alpha_end_function): Write linkages at end of each function.
9664
9665         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
9666         (call_vms_1, call_value_vms_1): Rewrite.
9667
9668         * config/alpha/vms.h (ASM_FILE_END): Remove.
9669
9670 2002-08-14  Richard Henderson  <rth@redhat.com>
9671
9672         * ggc-page.c (RTL_SIZE): New.
9673         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
9674         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
9675
9676 2002-08-14  Richard Henderson  <rth@redhat.com>
9677
9678         * calls.c: Include target.h.
9679         * Makefile.in (calls.o): Update.
9680
9681         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
9682         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
9683
9684 2002-08-14  Richard Henderson  <rth@redhat.com>
9685
9686         * Makefile.in (LOOSE_WARN): Add -fno-common.
9687         * c-common.h (constant_string_class_name): Add missing extern.
9688
9689 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
9690
9691         PR preprocessor/7358
9692         * c-opts.c (check_deps_environment_vars): Ignore main file
9693         for SUNPRO_DEPENDENCIES.
9694         * cppfiles.c (stack_include_file): Ignore main file if
9695         appropriate.
9696         * cpplib.h (struct cpp_options): New member in deps.
9697         * doc/cppenv.texi: Update.
9698
9699 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9700
9701         PR preprocessor/7526
9702         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
9703
9704 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
9705
9706         * doc/invoke.texi (-a): Remove documentation.
9707         (-fprofile-arcs): Remove reference to -a, -ax options.
9708         * doc/gcov.texi (Gcov Data Files): Data might be merged.
9709
9710 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9711
9712         Fix PR/7566
9713         * c-semantics.c (genrtl_case_label): Don't (mis)use
9714         warning_with_decl.
9715
9716 2002-08-14  Dale Johannesen  <dalej@apple.com>
9717
9718         * explow.c (emit_stack_restore):  Emit memory clobbers
9719         preceding the stack pop, to prevent the scheduler from
9720         moving refs to variable arrays below this pop.
9721         * reload1.c (reload):  Preserve these clobbers for sched2.
9722         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
9723
9724 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9725
9726         * c-opts.c (c_common_post_options): Correct test.
9727
9728 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9729
9730         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
9731         order in call to fprintf.
9732
9733 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9734
9735         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
9736
9737 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
9738
9739         * reload.c (find_reloads): Handle constraint letters marked by
9740         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
9741         (alternative_allows_memconst): Likewise.
9742         * reload1.c (maybe_fix_stack_asms): Likewise.
9743         * recog.c (asm_operand_ok, preprocess_constraints,
9744         constrain_operands): Likewise.
9745         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
9746         * local-alloc.c (block_alloc, requires_inout): Likewise.
9747         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
9748
9749         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
9750         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
9751         * doc/tm.texi: Document these two new target macros.
9752
9753         * config/s390/s390.c (s390_expand_plus_operand): Accept already
9754         valid operands.
9755         (q_constraint): New function.
9756         config/s390/s390-protos.h (q_constraint): Declare it.
9757         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
9758         (EXTRA_MEMORY_CONSTRAINT): New macro.
9759
9760         * config/s390/s390.md: Throughout the machine description,
9761         replace all instances of the constraint combinations 'Qo'
9762         or 'oQ' with simply 'Q'.
9763
9764 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9765
9766         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
9767         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
9768         (LIBGCC2_CFLAGS): Compile with -mrelax.
9769
9770 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9771
9772         * doc/invoke.texi: Document -minmax for 68HC12.
9773
9774         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
9775         ("uminqi3"): Likewise.
9776         ("uminhi3", "umaxhi3"): Likewise.
9777
9778         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
9779         (TARGET_MIN_MAX): Define.
9780         (TARGET_SWITCHES): New option -minmax/-mnominmax.
9781
9782 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9783
9784         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
9785         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
9786
9787         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
9788         (ret, declare, farsym): New gas macros.
9789         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
9790         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
9791         and declare the symbol far when compiled with -mlong-calls.
9792         (__far_trampoline): New for 68HC12 trampoline code to invoke a
9793         far handler using jsr/bsr.
9794
9795         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
9796         (jsr): New macro to transform a 'jsr' into a 'call'.
9797
9798 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9799
9800         * doc/invoke.texi: Document -mlong-calls for 68HC12.
9801
9802         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
9803         -mlong-calls is specified.
9804         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
9805         assembler directives.
9806         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
9807         (TARGET_SWITCHES): Add -mlong-calls options.
9808         (current_function_far): Declare.
9809
9810         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
9811         into account the page register saved on the stack.
9812         (m68hc11_override_options): Take into account -mlong-calls option.
9813         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
9814
9815         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
9816         if the function is going to be in 68HC12 banked memory (-mlong-calls).
9817         ("*return_16bit"): Likewise.
9818         ("*return_void"): Likewise.
9819         ("call", "call_value"): Use call for a far function call.
9820
9821 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9822
9823         * toplev.c (parse_options_and_default_flags): Don't call
9824         post_options here.
9825         (general_init): Initialize GC, pools and tree hash here,
9826         instead of lang_independent_init.
9827         (lang_independent_init): Rename backend_init.
9828         (do_compile): Call post_options hook; exit early if there
9829         have been errors after switch processing.
9830         (toplev_main): Update.
9831
9832 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9833
9834         * c-pretty-print.h: Guard against multiple inclusion.
9835         Robustify macros.
9836         (pp_c_attributes): Declare.
9837         * c-pretty-print.c (pp_c_attributes): New function.
9838
9839 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9840
9841         * m68k.c (m68k_output_function_prologue,
9842         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
9843         and NEWS/MOTOROLA.
9844         * genattrtab.c: Remove dpx2 comment.
9845         * libgcc2.c (__enable_execute_stack): Delete versions for
9846         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
9847         sony_news/SYSTYPE_BSD.
9848         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
9849         __gmicro__, __i860__, __NeXT__ and __pyr__.
9850         * rtl.h: Remove convex comment.
9851         * varasm.c: Likewise.
9852
9853 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9854
9855         * c-opts.c (lang_flags): Const-ify.
9856         * ra-build.c (undef_table): Likewise.
9857         * ra.c (eliminables): Likewise.
9858
9859 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9860
9861         * tree.h: Guard against multiple inclusion.
9862
9863 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
9864
9865         * reload1.c (reload_cse_simplify): Before checking
9866         REG_FUNCTION_VALUE_P, check REG_P.
9867
9868 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
9869
9870         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
9871
9872 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
9873
9874         * c-opts.c (c_common_init_options): Extra braces needed.
9875
9876 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
9877
9878         * sh.c (sh_init_builtins): Add PARAMS to declaration.
9879         (sh_media_init_builtins, sh_expand_builtin): Likewise.
9880         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
9881         (sh_expand_binop_v2sf): Likewise.
9882         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
9883         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
9884         (sh_initialize_trampoline): Likewise.
9885
9886 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
9887
9888         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
9889         new condition code modes.
9890         s390.c (s390_match_ccmode_set): Handle those new CC modes.
9891         (s390_select_ccmode): Likewise.
9892         (s390_branch_condition_mask): Likewise.
9893
9894         * s390-protos.h (s390_tm_ccmode): Declare.
9895         s390.c (s390_tm_ccmode): New function.
9896         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
9897
9898         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
9899         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
9900         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
9901
9902         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
9903         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
9904         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
9905         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
9906         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
9907
9908         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
9909         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
9910         "*cmpqi_ccs_0"): Remove, replace by ...
9911         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
9912         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
9913         "*tstqi", "*tstqi_cconly"): ... these new patterns.
9914
9915         ("*cmpsidi_ccs"): Remove, replace by ...
9916         ("*cmpsi_ccs_sign"): ... this new pattern.
9917         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
9918
9919         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
9920         ("*cli"): ... this new pattern.
9921
9922         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
9923         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
9924         New patterns.
9925         ("adddi3_64"): Rename to "*adddi3_64".
9926         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
9927         ("adddi3"): Adapt expander.
9928
9929         ("*addsi3_cc"): Allow "general_operand" for operand 2.
9930         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
9931         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
9932
9933         ("addhi3", "addqi3"): Remove, replace by ...
9934         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
9935
9936         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
9937         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
9938         ("subdi3"): Replace by insn and splitter "*subdi3_31".
9939         ("subdi3"): New expander.
9940
9941         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
9942
9943         ("subhi3", "subqi3"): Remove, replace by ...
9944         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
9945
9946         ("*muldi3_sign"): New pattern.
9947         ("muldi3"): Do not clobber CC.
9948         ("mulsi3"): Likewise.
9949         ("mulsi_6432"): Likewise.
9950
9951 2002-08-13  Denis Chertykov  <denisc@overta.ru>
9952
9953         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
9954         which can change CC0.
9955
9956 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
9957
9958         * gcse.c (adjust_libcall_notes): New function.
9959         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
9960
9961 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
9962
9963         * libgcc2.c (L_bb): Remove unneeded #includes.
9964         (__global_counters, __gthreads_active): Remove unused globals.
9965         (__bb_exit_func): Merge counts into files rather than appending.
9966         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
9967         (ALL_CFLAGS): ... to here.
9968
9969 2002-08-13  Denis Chertykov  <denisc@overta.ru>
9970
9971         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
9972         (function_epilogue): Don't calculate function size.
9973         (ip2k_set_compare): Don't use lookup_const_double.
9974         (asm_file_start): Initialization of commands_in_file removed.
9975         (asm_file_end): Output of commands_in_file removed.
9976
9977         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
9978         __INT_MAX__.
9979
9980 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
9981
9982         * c-opts.c (c_common_init_options): Check option array is
9983         sorted if checking enabled.
9984
9985 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
9986
9987         * c-pretty-print.c: #include "c-tree.h".
9988         (pp_c_simple_type_specifier): Tweak.
9989         (pp_c_storage_class_specifier): New.
9990         (pp_c_function_specifier): Likewise.
9991         (pp_c_declaration_specifiers): Likewise.
9992         (pp_c_init_declarator): Likewise.
9993         (pp_c_declaration): Likewise.
9994         (pp_c_direct_declarator): Stub.
9995         (pp_c_declarator): Likewise.
9996         (pp_c_parameter_declaration): Likewise.
9997
9998 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
9999
10000         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
10001         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
10002         struct deferred_opt): New.
10003         (COMMAND_LINE_OPTIONS): Add -M*.
10004         (missing_arg): Update.
10005         (c_common_decode_option): Handle -M*.
10006         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
10007         don't call cpp_post_options.
10008         (c_common_finish, check_deps_environment_vars): Update.
10009         * cppfiles.c (stack_include_file, handle_missing_header): Update.
10010         * cpphash.h (CPP_PRINT_DEPS): Remove.
10011         * cppinit.c: Don't include version.h.
10012         (cpp_create_reader): Don't call deps_init.  Initialize
10013         warn_long_long.
10014         (cpp_read_main_file): Init deps if necessary.
10015         (cpp_destroy): Conditionally free deps.
10016         (cpp_finish): Update.
10017         (no_tgt): Remove.
10018         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
10019         (cpp_post_options): Rename post_options.
10020         * cpplib.h (struct cpp_options): Remove some dependency options;
10021         move others to a new structure.
10022         (cpp_post_options): Remove.
10023         (cpp_finish): Comment.
10024         * fix-header.c (read_scan_file): Don't call cpp_post_options.
10025
10026 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
10027
10028         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
10029         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
10030         MMIX_rR_REGNUM as clobbered.
10031         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
10032
10033 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
10034
10035         * diagnostic.h (output_formatted_scalar): Rename from
10036         output_formatted_integer.
10037         * diagnostic.def: Add DK_DEBUG.
10038         * diagnostic.c (output_decimal): Adjust.
10039         (output_long_decimal): Likewise.
10040         (output_unsigned_decimal): Likewise.
10041         (output_octal): Likewise.
10042         (output_long_octal): Likewise.
10043         (output_hexadecimal): Likewise.
10044         (output_long_hexadecimal): Likewise.
10045         * c-pretty-print.c (pp_c_type_specifier): New function.
10046         (pp_c_specifier_qualifier_list): Likewise.
10047         (pp_c_abstract_declarator): Likewise.
10048         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
10049
10050 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
10051
10052         * doc/trouble.texi (Disappointments): Add static constructor and
10053         destructor dependency information for AIX.
10054
10055 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
10056
10057         * cpphash.h (struct printer): New from cppmain.c.
10058         (cpp_reader): New member.
10059         * cppmain.c (struct printer): Move to cpphash.h.
10060         (options, print): Remove.
10061         (account_for_newlines, print_line, maybe_print_line,
10062         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
10063         scan_translation_unit_trad, cb_line_change, cb_ident,
10064         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
10065         cb_def_pragma): Make reentrant.
10066
10067 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10068
10069         * real.c (ieee_64): Always define.
10070         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
10071         (dec_h): Not used yet, hide it.
10072         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
10073         macro controlling use.
10074         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
10075
10076 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
10077
10078         * i386.md (tablejump): Sign extend the operand.
10079         * i386.c (classify_argument): Fix missed case from previous patch.
10080
10081 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
10082
10083         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
10084         to c-copts.c.
10085         (warn_multichar): Die.
10086         (cb_register_builtins): Export.
10087         * c-common.h (warn_multichar, preprocess_file): Remove.
10088         (cb_register_builtins): New.
10089         * c-lang.c (c_init): Remove.
10090         (LANG_HOOKS_INIT): Use c_objc_common_init.
10091         * c-lex.c (init_c_lex): Don't canonicalize filename.
10092         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
10093         (preprocess_file): Make static.  Update for cpplib.
10094         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
10095         (c_common_post_options): Set some cpp options here.
10096         (c_common_init): Move from c-common.c.
10097         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
10098         * cpplib.h (struct cpp_options): Remove in_fname.
10099         (cpp_preprocess_file): Update.
10100         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
10101
10102 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10103
10104         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
10105
10106 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10107
10108         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
10109         backslash in comment preceeding macro definition.
10110         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
10111         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
10112         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
10113
10114 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
10115
10116         * expr.c (store_expr): In condition for checking if value is
10117         generated in TARGET, move call to expr_size last.
10118
10119 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
10120
10121         * c-common.c (c_common_init): Call preprocess_file instead.
10122         (c_common_finish): Move to c-opts.c.
10123         * c-common.h (preprocess_file): new.
10124         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
10125         check_deps_environment_vars, c_common_finish): New.
10126         (c_common_decode_option): Update for out_fname and dependencies.
10127         * cppinit.c (init_dependency_output, output_deps): Remove.
10128         (cpp_destroy): Update prototype.
10129         (cpp_add_dependency_target): New.
10130         (cpp_read_main_file): Don't overlay a buffer.
10131         (cpp_finish): Take a deps output stream and write deps to it.
10132         Return the error count.
10133         (cpp_post_options): Don't canonicalize out_fname, or do anything
10134         with dependencies.
10135         * cpplib.h (struct cpp_options): Remove out_fname and
10136         preprocess_only.
10137         (cpp_add_dependency_target): New.
10138         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
10139         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
10140         set preprocess_only.  Don't handle the output stream directly.
10141
10142 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10143
10144         * dsp16xx.c (print_operand): Fix format specifier.
10145         * dsp16xx.md: Avoid automatic aggregate initialization.
10146         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
10147         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
10148         integer constant modifier.
10149         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
10150         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
10151         guards.
10152         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
10153         * v850.c (v850_select_section): Mark parameter with
10154         ATTRIBUTE_UNUSED.
10155         * global.c (global_alloc): Const-ify.
10156         * ra-colorize.c (hardregset_to_string): Fix format specifier.
10157
10158 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10159
10160         * darwin-c.c (darwin_pragma_options): Const-ify.
10161         * darwin.c (machopic_non_lazy_ptr_name,
10162         machopic_validate_stub_or_non_lazy_ptr): Likewise.
10163         (machopic_indirect_data_reference): Wrap variables in macros
10164         controlling their use.
10165         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
10166         (machopic_select_section): Use parentheses around && within ||.
10167         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
10168
10169 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10170
10171         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
10172         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
10173         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
10174         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
10175         mdr_try_remove_redundant_insns, track_w_reload,
10176         mdr_try_wreg_elim): Make function static to match prototype.
10177         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
10178         parameter with ATTRIBUTE_UNUSED.
10179
10180 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10181
10182         * arc.c (arc_init): Don't use ISO C style function definitions.
10183         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
10184         arm_get_strip_length, arm_strip_name_encoding): Likewise.
10185         * avr.h (progmem_section): Likewise.
10186         * h8300.c h8300_asm_insn_count): Likewise.
10187         * m32r.c (init_idents): Likewise.
10188         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
10189         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
10190         * xtensa.c (xtensa_build_va_list): Likewise.
10191
10192 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
10193
10194         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
10195         * c-opts.c (parse_option): Rename find_opt.
10196         (set_std_c99): New function.
10197         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
10198         (missing_arg): Remove OPT_std_bad.  Handle -o.
10199         (c_common_decode_option): Handle input and output file names,
10200         -o and -remap.  Clean up -std= handling.
10201         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
10202         (cpp_handle_option): Similarly.  Don't handle filenames.
10203
10204 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
10205
10206         * i386.c (classify_argument): Fix computing of field's offsets.
10207
10208 2002-08-11  Andreas Jaeger  <aj@suse.de>
10209
10210         PR target/7531:
10211         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
10212
10213 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
10214
10215         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
10216         reference to clk_objective_c with flag_objc.
10217         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
10218         Likewise.
10219         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
10220
10221 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
10222
10223         * c-opts.c (set_std_cxx98, set_std_c89): New.
10224         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
10225         (c_common_decode_option): Handle new switches from cppinit.c.
10226         Add -std=gnu++98.
10227         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
10228         (no_arg, no_num): Remove.
10229         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
10230         switches apart from -lang-objc and lang-asm.
10231         (cpp_handle_option): Similarly.
10232         * cpplib.h (cpp_set_lang): New.
10233         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
10234         -std=gnu++98.
10235         * objc/lang-specs.h: Remove -ansi.
10236
10237 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
10238                                Graham Stott
10239
10240         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
10241         errors.
10242
10243 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10244
10245         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
10246         emit_jump_insn): Fix uninitialized variable.
10247         * gcov.c (init_line_info): Likewise.
10248         * genautomata.c (transform_3): Add braces around ambiguous
10249         else.
10250         * ifcvt.c (cond_exec_process_insns): Mark parameter with
10251         ATTRIBUTE_UNUSED.
10252         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
10253         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
10254         variable.
10255
10256         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
10257         warnings in output files.
10258
10259 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
10260
10261         * c-common.c (flag_objc): New.
10262         * c-common.h (c_language_kind): Get rid of clk_objective_c
10263         enum value.
10264         (flag_objc): New extern declaration.
10265         * c-decl.c (implicitly_declare): Call objc_check_decl
10266         instead of maybe_objc_check_decl.
10267         (finish_decl): Likewise.
10268         (grokfield): Likewise.
10269         (finish_struct): Likewise.
10270         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
10271         (maybe_objc_comptypes): Rename to objc_comptypes.
10272         (maybe_building_objc_message_expr): Rename to
10273         objc_message_selector.
10274         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
10275         replace with flag_objc as needed.
10276         * c-opts.c (c_common_init_options): Likewise.
10277         (c_common_decode_option): Likewise.
10278         * c-parse.in (init_reswords): Likewise.
10279         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
10280         (maybe_objc_comptypes): Rename to objc_comptypes.
10281         (maybe_building_objc_message_expr): Rename to
10282         objc_message_selector.
10283         * c-typeck.c (comptypes): Call objc_comptypes instead of
10284         maybe_objc_comptypes, and/or objc_message_selector instead of
10285         maybe_building_objc_message_expr.
10286         (comp_target_types): Likewise.
10287         (convert_for_assignment): Likewise.
10288         (warn_for_assignment): Likewise.
10289         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
10290         independently of those for other languages.
10291         * objc/objc-act.c (maybe_objc_comptypes): Delete.
10292         (maybe_objc_check_decl): Delete.
10293         (maybe_building_objc_message_expr): Rename to
10294         objc_message_selector.
10295         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
10296         clk_objective_c; set flag_objc flag.
10297
10298 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10299
10300         * ifcvt.c (find_if_case_2): Test correct basic block for size.
10301
10302 2002-08-09  Dale Johannesen  <dalej@apple.com>
10303
10304         * config/rs6000/rs6000.md: Add sibcall patterns.
10305         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
10306         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
10307         Rewritten to handle sibcalls.
10308         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
10309         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
10310
10311 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10312
10313         * profile.c (da_file_name): New static var.
10314         (init_branch_prob): Initialize it.
10315         (end_branch_prob): Remove da file.
10316
10317         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
10318         * configure.in (coverage_flags): Default to nothing.
10319         * configure: Rebuilt.
10320
10321 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
10322
10323         * Makefile.in (c-opts.o): Update
10324         * c-opts.c: Include intl.h.
10325         (print_help): Move from cppinit.c.  Remove unused options.
10326         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
10327         (missing_arg): Complain for switches without an argument.
10328         (c_common_decode_option): Reject missing joined arguments.
10329         Handle new switches from cppinit.c.
10330         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
10331         (cpp_handle_option): Similarly.
10332         (print_help): Moved to c-opts.c.
10333         * cpplib.h (struct cpp_options): Remove help_only.
10334         * gcc.c (cpp_unique_options): Remove -$.
10335         * doc/cppopts.texi: Undocument -h.
10336
10337 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10338
10339         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
10340         legitimate constant.
10341         (legitimate_pic_operand_p): Neither pic operand.
10342         (legitimate_address_p): But legitimate address.
10343         (get_thread_pointer): Generate MEM/u instead of CONST around
10344         UNSPEC_TP.
10345         (print_operand): Remove printing of UNSPEC_TP.
10346         (print_operand_address): And print it here.
10347
10348 2002-08-08  Devang Patel  <dpatel@apple.com>
10349
10350         * objc/objc-act.c (build_selector_translation_table): Issue warning,
10351         when  -Wselector is used,if method for which selector is being
10352         created does not exist.
10353
10354 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
10355
10356         * config/sh/sh.c (prepare_move_operands): Only call
10357         target_reg_operand if TARGET_SHMEDIA.
10358
10359 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10360
10361         * config/rs6000/rs6000.h, config/rs6000/aix.h,
10362         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
10363         two patches.
10364         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
10365
10366 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
10367             Richard Henderson  <rth@redhat.com>
10368
10369         * emit-rtl.c (gen_rtx_REG): After reload, only return
10370         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
10371
10372 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10373
10374         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
10375         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
10376         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
10377         macro.
10378
10379 2002-08-08  Adam Nemet  <anemet@lnxw.com>
10380
10381         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
10382         register.
10383         (thumb_expand_prologue): Likewise.
10384         (thumb_output_function_prologue): Likewise.
10385         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
10386         the additional push of the PIC register.
10387
10388 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10389
10390         * configure.in (enable_coverage): New enable switch.
10391         * configure: Rebuilt.
10392         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
10393         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
10394         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
10395         (mostlyclean): Remove coverage files.
10396         * doc/install.texi: Document enable_coverage.
10397
10398         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
10399         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
10400         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
10401         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
10402         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
10403         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
10404         files.
10405
10406 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
10407
10408         * c-opts.c (cpp_opts): New.
10409         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
10410         (c_common_decode_options): Handle cpplib switches.
10411         (c_common_init_options): Set cpp_opts.
10412         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
10413         (cpp_handle_option): Similarly.
10414
10415 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
10416
10417         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
10418         (TARGET_ALTIVEC_ABI): Same.
10419         (TARGET_ALTIVEC_VRSAVE): Same.
10420
10421         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
10422         icode not CODE_FOR_nothing.  Change switch to if.
10423
10424 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
10425
10426         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
10427
10428 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10429
10430         * stor-layout.c (place_union_field): For bitfields if
10431         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
10432         TYPE_USER_ALIGN.
10433
10434 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10435
10436         * pa.c (struct deferred_plabel): Constify name field.
10437
10438 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
10439
10440         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
10441
10442 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10443
10444         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
10445         local_prefix are the same.
10446         * configure: Rebuilt.
10447
10448 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
10449             Richard Henderson  <rth@redhat.com>
10450
10451         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
10452         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
10453         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
10454         (place_field): Likewise.
10455         * config/i386/i386.c (x86_field_alignment): Don't check
10456         DECL_USER_ALIGN here.
10457         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
10458         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
10459         prototype.
10460         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
10461         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
10462         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
10463         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
10464         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
10465         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
10466
10467 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
10468
10469         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
10470         * c-common.c: Don't include tree-inline.h.
10471         (c_common_init_options, c_common_post_options): Move to c-opts.c.
10472         * c-common.h (c_common_decode_option): New.
10473         * c-decl.c (c_decode_option): Remove.
10474         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
10475         * c-opts.c: New file.
10476         * c-tree.h (c_decode_option): Remove.
10477         * doc/passes.texi: Update.
10478         * objc/objc-act.c (objc_decode_option): Remove.
10479         * objc/objc-act.h (objc_decode_option): Remove.
10480         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
10481         c_common_decode_option.
10482
10483 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
10484
10485         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
10486         dependency on TARGET_DOUBLE_FLOAT.
10487
10488 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
10489
10490         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
10491         overwrite callee-save registers.  Fix comment.
10492
10493 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
10494
10495         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
10496         in target_flags based on ISA, if it was not set on the command
10497         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
10498         support Branch Likely instructions.
10499         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
10500         (TARGET_BRANCHLIKELY): Likewise.
10501         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
10502         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
10503         ISA_HAS_BRANCHLIKELY.
10504         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
10505         * doc/invoke.texi: Document new MIPS -mbranch-likely and
10506         -mno-branch-likely options.
10507
10508 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10509
10510         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
10511
10512         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
10513         $(GCONFIG_H).
10514
10515 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
10516
10517         * c-decl.c (duplicate_decls): Error out for incompatible TLS
10518         declarations.
10519
10520         * testsuite/gcc.dg/tls/diag-3.c: New.
10521
10522 2002-08-06  Dale Johannesen  <dalej@apple.com>
10523
10524         * c-common.c (fname_decl): Use line number 0 for
10525         __func__, to avoid confusing debuggers.
10526
10527 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
10528
10529         * gcov.c: Tidy.
10530         (struct line_info, struct coverage): New structures.
10531         (gcov_file_name, gcov_file): Remove globals.
10532         (output_data): Take source file parameter. Fix memory leak. Break
10533         up into ...
10534         (init_line_info, output_line_info, make_gcov_file_name,
10535         accumulate_branch_counts): ... here.
10536         (calculate_branch_probs, function_summary): Adjust.
10537         (main): Adjust.
10538         (function_*): Remove global variables.
10539
10540 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10541
10542         * dwarf2out.c: Remove unused macros.
10543
10544 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10545
10546         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
10547
10548 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10549
10550         * cppinit.c (struct lang_flags): Rename trigraphs std.
10551         (set_lang): Update.
10552         * cpplib.h (struct cpp_options): New member std.
10553         * cppmacro.c (_cpp_builtin_macro_text): Use std.
10554         (collect_args): Flag whether to swallow a possible future
10555         comma pasted with varargs.
10556         (replace_args): Use this flag.
10557         * doc/cpp.texi: Update varargs extension documentation.
10558
10559 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10560
10561         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
10562
10563 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10564
10565         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
10566         and MODE_CLASS_INT modes.
10567
10568 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10569
10570         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
10571         --{enable,disable}-threads is given to configure.
10572         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
10573         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
10574         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
10575         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
10576         Remove thread_file setting here.
10577
10578 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
10579
10580         * doc/install.texi (Binaries): Update Bull Freeware URL.
10581
10582 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10583
10584         * doc/gcc.texi (Top): Rename Index to Keyword Index.
10585
10586 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
10587
10588         * gcov.c (output_data): Round to % to nearest, tweak formatting.
10589
10590 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
10591
10592         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
10593         of the operands into MINUS_EXPR if code is PLUS_EXPR.
10594
10595 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
10596
10597         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
10598         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
10599         drectve_section): Define.
10600         * config/i386/t-interix: Replace interix.o rule with winnt.o.
10601         * config/i386/interix.c: Remove.
10602
10603 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
10604
10605         * attribs.c: Don't include obstack.h.
10606         * builtins.c: Likewise.
10607         * cfganal.c: Likewise.
10608         * cfgbuild.c: Likewise.
10609         * cfgcleanup.c: Likewise.
10610         * emit-rtl.c: Likewise.
10611         * loop.c: Likewise.
10612         * stmt.c: Likewise.
10613
10614         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
10615
10616 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
10617
10618         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
10619
10620 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
10621
10622         * doc/invoke.texi: Remove duplicated paragraph describing
10623         TARGET_SWITCHES.
10624
10625 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
10626
10627         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
10628         * collect2.h (permanent_obstack): Delete declaration.
10629         * collect2.c (permanent_obstack): Delete definition.
10630         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
10631         * expr.c: Don't include obstack.h.
10632         (permanent_obstack): Delete declaration.
10633         * function.c: Don't include obstack.h.
10634         (permanent_obstack): Delete declaration.
10635         * integrate.c: Don't include obstack.h.
10636         (function_maybepermanent_obstack): Delete declaration.
10637         * print-tree.c (debug_tree): Use x*alloc not permalloc.
10638         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
10639         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
10640         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
10641         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
10642         of permalloc, expralloc, perm_calloc.
10643         * tree.c (permanent_obstack): Delete definition.
10644         (init_ttree): Rename from init_obstacks.
10645         (permalloc): Delete.
10646         (perm_calloc): Delete.
10647         (dump_tree_statistics): Don't print information about
10648         permanent_obstack.
10649         * varasm.c (assemble_start_function): Use xstrdup instead of
10650         permalloc/strcpy.
10651         (assemble_variable): Likewise.
10652         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
10653         permalloc.
10654         (unicosmk_add_extern): Likewise.
10655         * config/c4x/c4x.c (c4x_external_ref): Likewise.
10656         (c4x_global_label): Likewise.
10657         * config/frv/frv.c (frv_encode_section_info): Likewise.
10658         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
10659         (i386_pe_record_exported_symbol): Likewise.
10660         * config/mips/mips.c (mips_output_external): Likewise.
10661         (mips_output_external_libcall): Likewise.
10662         * config/pa/pa.c: (permanent_obstack): Delete declaration.
10663         (output_call): Use ggc_strdup instead of allocating on
10664         permanent_obstack.
10665         * config/romp/romp.c: Include ggc.h.
10666         (get_symref): Don't declare permanent_obstack, use ggc_strdup
10667         intead of permanent_obstack.
10668         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
10669         instead of permalloc.
10670         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
10671         instead of permalloc
10672         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
10673         instead of permalloc.
10674         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
10675         permalloc.
10676
10677 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
10678
10679         Contribute a port developed primarily by Michael Meissner,
10680         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
10681         * config.gcc: Add frv-elf target.
10682         * config/frv/cmovd.c: New file.
10683         * config/frv/cmovh.c: New file.
10684         * config/frv/cmovw.c: New file.
10685         * config/frv/frv-abi.h: New file.
10686         * config/frv/frv-asm.h: New file.
10687         * config/frv/frv-modes.def: New file.
10688         * config/frv/frv-protos.h: New file.
10689         * config/frv/frv.c: New file.
10690         * config/frv/frv.h: New file.
10691         * config/frv/frv.md: New file.
10692         * config/frv/frvbegin.c: New file.
10693         * config/frv/frvend.c: New file.
10694         * config/frv/lib1funcs.asm: New file.
10695         * config/frv/media.h: New file.
10696         * config/frv/modi.c: New file.
10697         * config/frv/t-frv: New file.
10698         * config/frv/uitod.c: New file.
10699         * config/frv/uitof.c: New file.
10700         * config/frv/ulltod.c: New file.
10701         * config/frv/ulltof.c: New file.
10702         * config/frv/umodi.c: New file.
10703         * config/frv/xm-frv.h: New file.
10704
10705         * config/frv/media.h: Removed again.
10706
10707 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10708
10709         * gcov.c (bb_file_time): New static variable.
10710         (object_directory): May also be object file.
10711         (preserve_paths): New static variable.
10712         (print_usage): Adjust.
10713         (options): Adjust.
10714         (process_args): Adjust.
10715         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
10716         file. Find modification date on bb file.
10717         (read_profile): Don't rewind a NULL file.
10718         (format_hwint): New static function.
10719         (function_summary): Use format_hwint.
10720         (output_data): SOURCE_FILE_NAME is never relative to
10721         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
10722         mangling. Adjust output format to make it more machine readable.
10723         * doc/gcov.texi: Document & clarify semantics.
10724
10725 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
10726
10727         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
10728
10729 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10730
10731         * gcc.c (cc1_options): Pass output file as auxbase when
10732         appropriate.
10733         * profile.c (init_branch_prob): FILENAME has already had ending
10734         stripped.
10735         * final.c (end_final): Likewise.
10736         * toplev.c (aux_base_name): New global.
10737         (compile_file): Pass aux_base_name to init init_branch_prob and
10738         end_final.
10739         (independent_decode_option, case 'a'): New auxinfo options.
10740         (case 'd'): Protect against mising basename.
10741         (do_compile): Initialize aux_base_name.
10742         * toplev.h (aux_base_name): New global.
10743         * doc/invoke.texi: Adjust documentation.
10744
10745 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10746
10747         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
10748         of TARGET_ALIGN_DOUBLE.
10749
10750 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
10751
10752         * diagnostic.c (inform): New function.
10753         * diagnostic.h (inform): Declare.
10754
10755 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
10756
10757         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
10758         (movhi_internal): Same.
10759         (movqi_internal): Same.
10760         (movdi_internal64): Same.
10761
10762         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
10763
10764         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
10765         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
10766         (COMMON_ASM_OP): Define.
10767         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
10768         Use ALIGN parameter.
10769         (LOCAL_COMMON_ASM_OP): Define.
10770         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
10771
10772 2002-08-03  Roger Sayle  <roger@eyesopen.com>
10773
10774         * builtins.def: Define new builtin functions exp, expf, expl,
10775         log, logf and logl (and their __builtin_* variants).
10776         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
10777         Define exp_optab and log_optab.
10778         * optabs.c (init_optans): Initialize exp_optab and log_optab.
10779         * genopinit.c (optabs): Implement exp_optab and log_optab
10780         using exp?f2 and log?f2 patterns.
10781         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
10782         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
10783         (expand_builtin): Ignore the new builtins (and all cos and
10784         sin variants) when not optimizing.  Expand new builtins via
10785         expand_builtin_mathfn when flag_unsafe_math_optimizations.
10786
10787         * doc/extend.texi: Document new exp and log builtins.
10788         * doc/md.texi: Document new exp?f2 and log?f2 patterns
10789         (and previously undocumented cos?f2 and sin?f2 patterns).
10790
10791 2002-08-03  Jason Merrill  <jason@redhat.com>
10792
10793         * explow.c (int_expr_size): New fn.
10794         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
10795         * expr.h: Declare it.
10796
10797 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
10798
10799         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
10800         gengtype-* dependencies.
10801
10802 2002-08-02  Eric Christopher  <echristo@redhat.com>
10803
10804         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
10805         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
10806         #ifndef to #undef.
10807         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
10808
10809 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
10810
10811         PR optimize/7067
10812         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
10813         small if optimizing for size.
10814
10815 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
10816
10817         * configure.in (FORBUILD): Use $build_alias.
10818         * configure: Regenerated.
10819
10820 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
10821
10822         * config.gcc: Don't include mips/abi64.h in $tm_file.
10823         * hard-reg-set.h (call_really_used_regs): Declare.
10824         * config/mips/abi64.h: Remove file.
10825         * config/mips/linux.h,
10826         * config/mips/iris6.h: Don't include it.
10827         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
10828         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
10829         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
10830         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
10831         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
10832         Bring across definitions from abi64.h.
10833         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
10834         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
10835         (struct mips_args): Use it.
10836         * config/mips/mips.c (mips_conditional_register_usage): Define.
10837
10838 2002-08-02  Jason Merrill  <jason@redhat.com>
10839
10840         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
10841         * langhooks.c (lhd_expr_size): Define default.
10842         * langhooks.h (struct lang_hooks): Add expr_size.
10843         * explow.c (expr_size): Call it.
10844         * expr.c (store_expr): Don't copy an expression of size zero.
10845         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
10846         to store.
10847         * Makefile.in (builtins.o): Depend on langhooks.h.
10848
10849 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10850
10851         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
10852         * ra-debug.c: Include "tm_p.h".
10853         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
10854
10855 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
10856
10857         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
10858         when not honoring signalling NaNs.
10859         (simplify_ternary_operation): a == b has a definite value
10860         when not honoring NaNs.
10861
10862 2002-08-02  Jason Merrill  <jason@redhat.com>
10863
10864         * gdbinit.in (pct): New macro.
10865
10866 2002-08-01  Stan Shebs  <shebs@apple.com>
10867             Andreas Tobler  <toa@pop.agri.ch>
10868
10869         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
10870         plays nice with Darwin headers.
10871         (_BSD_RUNE_T_DEFINED_): Likewise.
10872
10873 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
10874
10875         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
10876         * cppinit.c (cpp_post_options): Likewise.
10877
10878         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
10879         warning about 'LL' suffix (but not 'ULL' etc) when
10880         -Wno-long-long is in effect.
10881
10882         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
10883         Check for failing time()/localtime(), issue a warning, and
10884         make __TIME__ and __DATE__ expand to fallback strings.
10885
10886         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
10887         and __TIME__ when the date and time cannot be determined.
10888
10889 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
10890
10891         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
10892
10893 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
10894
10895         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
10896
10897 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
10898
10899         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
10900         (mipsisa64sb1el-*-elf*): Likewise.
10901         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
10902         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
10903         (TARGET_SB1, TUNE_SB1): New macros.
10904         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
10905         -mtune flags.
10906
10907 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
10908
10909         * varasm.c (asm_emit_uninitialized): Return false if global BSS
10910         and ASM_EMIT_BSS not supported by target.
10911         (assemble_variable): Do not duplicate uninitialized logic.
10912         Fall through if asm_emit_uninitialized failed.
10913
10914 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
10915
10916         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
10917
10918 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
10919
10920         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
10921         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
10922
10923         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
10924         HOST_BITS_PER_WIDE_INT == 64.
10925
10926 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10927
10928         * df.c (df_insn_table_realloc): Change parameter to unsigned.
10929         * optabs.c (expand_binop): Make variable unsigned.
10930         * simplify-rtx.c (simplify_subreg): Likewise.
10931         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
10932
10933 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10934
10935         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
10936
10937 2002-08-01  Richard Henderson  <rth@redhat.com>
10938
10939         * toplev.c (parse_options_and_default_flags): Don't set
10940         flag_reorder_blocks for -Os.
10941
10942         * config/avr/avr.c (avr_optimization_options): Remove.
10943         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
10944         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
10945         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
10946
10947 2002-08-01  H.J. Lu <hjl@gnu.org>
10948             Richard Henderson  <rth@redhat.com>
10949
10950         * output.h (DECL_READONLY_SECTION): Remove.
10951         (decl_readonly_section): Declare.
10952         * varasm.c (decl_readonly_section): New.
10953         (default_section_type_flags, default_select_section): Use it.
10954         * config/arm/pe.c (arm_pe_unique_section): Likewise.
10955         * config/i386/interix.c (i386_pe_unique_section): Likewise.
10956         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
10957         * config/mcore/mcore.c (mcore_unique_section): Likewise.
10958         * config/mips/mips.c (mips_unique_section): Likewise.
10959
10960 2002-08-01  Richard Henderson  <rth@redhat.com>
10961
10962         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
10963         refers to a subroutine parameter.
10964
10965 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
10966
10967         * varasm.c (assemble_visibility): Strip name encoding.
10968
10969 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
10970
10971         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
10972         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
10973         when there is no frame pointer.
10974         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
10975         registers properly.
10976         * config/ns32k/__unorddf2.c: New file.
10977         * config/ns32k/__unordsf2.c: New file.
10978         * config/ns32k/t-ns32k: New file.
10979         * config.gcc (ns32k-*-netbsd*): Use it.
10980
10981 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
10982
10983         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
10984
10985 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
10986
10987         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
10988
10989 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
10990
10991         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
10992
10993 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
10994
10995         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
10996
10997 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10998
10999         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
11000         n_sets): Removed.
11001         (expr_hash_table, set_hash_table): Type changed to ...
11002         (struct hash_table): New type.
11003         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
11004         insert_expr_in_table, insert_set_in_table, compute_hash_table,
11005         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
11006         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
11007         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
11008         (alloc_hash_table): New.
11009         (free_set_hash_table, free_expr_hash_table): Merged to ...
11010         (free_hash_table): New.
11011         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
11012         (compute_hash_table_work): New.
11013         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
11014         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
11015         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
11016         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
11017         hoist_code, one_code_hoisting_pass,
11018         trim_ld_motion_mems): Altered due to changed type of hash tables.
11019
11020 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
11021
11022         * final.c (output_alternate_entry_point):
11023         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
11024
11025 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11026
11027         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
11028         avoid ISO C style function definition.
11029
11030         * expr.c (expand_assignment): Delete unused variable.
11031
11032 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
11033
11034         * c-common.c (cb_register_builtins): Set
11035         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
11036         is given, and to 0 otherwise.
11037         * combine.c (simplify_if_then_else): HONOR_NANS
11038         implies FLOAT_MODE_P.
11039
11040 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11041
11042         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
11043         (cpp_handle_option): Don't handle it.
11044         (print_help): Update.
11045         * doc/cppopts.texi: Update.
11046
11047 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11048
11049         * c-common.c (cb_register_builtins): If C++, define
11050         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
11051         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
11052 cp:
11053         * lang-specs.h: Simplify in accordance with new code in
11054         c-common.c.
11055
11056 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11057
11058         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
11059         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
11060         * c-decl.c: Move all warning and flag variables to c-common.c.
11061         * c-format.c: Move all warning variables to c-common.c.
11062         * c-tree.h: Move all warning and flag declarations to c-common.h.
11063         * objc/objc-act.c: Move all warning variables to c-common.c.
11064         (flag_warn_protocol): Rename warn_protocol.
11065
11066 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11067
11068         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
11069
11070 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
11071
11072         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
11073         .section prefix.
11074
11075 2002-07-31  Stan Shebs  <shebs@apple.com>
11076
11077         * config.gcc (i[34567]86-*-darwin*): New configuration.
11078         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
11079         defining.
11080         (TARGET_ENCODE_SECTION_INFO): Ditto.
11081         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
11082         * config/darwin.c (machopic_indirect_data_reference): Remove
11083         setting of RTX_UNCHANGING_P.
11084         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
11085         not to be applied to sums.
11086         * config/i386/t-darwin: New file.
11087         * config/i386/darwin.h: New file.
11088         * config/i386/i386.h (TARGET_MACHO): Add default definition.
11089         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
11090         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
11091         label and not the GOT add.
11092         (constant_address_p): For Mach-O, seeing a CONST is enough.
11093         (legitimate_pic_address_disp_p): Add a Mach-O case.
11094         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
11095         (legitimize_pic_address): Use generic Mach-O code to legitimize.
11096         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
11097         if outputting a difference.
11098         (ix86_output_addr_diff_elt): Add Mach-O case.
11099         (ix86_expand_move): Similarly.
11100         (ix86_expand_call): Similarly.
11101         (current_machopic_label_num): New global.
11102         (machopic_output_stub): New function.
11103         (ix86_value_regno): New function.
11104         (ix86_function_value): Use it instead of VALUE_REGNO.
11105         (ix86_libcall_value): Ditto.
11106         * config/i386/unix.h (VALUE_REGNO): Remove.
11107
11108 2002-07-31  Graham Stott  <grahas@btinternet.com>
11109
11110         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
11111         hash for LABEL_REF's.
11112
11113 2002-07-31  Graham Stott  <grahams@btinternet.com>
11114
11115         * config/rs6000/rs6000.c (spe_init_builtins,
11116         altivec_init_builtins, rs6000_common_init_builtins):
11117         Replace ANSI with K&R function def.
11118
11119 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
11120
11121         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
11122         for CCFPmode.
11123
11124 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
11125
11126         * config/mips/crtn.asm: Don't use __mips16 to determine the
11127         return-address offset.  Define RA to a suitable temporary
11128         register for the return address.
11129
11130 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
11131
11132         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
11133         constraints to 'd'.
11134
11135 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
11136
11137         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
11138         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
11139         patch on 2002-07-29.)
11140         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11141
11142 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11143
11144         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
11145         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
11146         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
11147         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
11148         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
11149         (ASM_GLOBALIZE_LABEL): Delete.
11150         (GLOBAL_ASM_OP): Define.
11151
11152         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
11153
11154         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
11155         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
11156
11157 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
11158
11159         * doc/extend.texi (Hints implementation): Document that GCC
11160         mostly ignores `register'.
11161
11162 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
11163
11164         * flags.h: Declare flag_finite_math_only.
11165         Use it in definition of HONOR_NANS and
11166         HONOR_INFINITIES.
11167         * c-common.c (cb_register_builtins): Emit
11168         __FINITE_MATH_ONLY__ when flag_finite_math_only
11169         is set.
11170         * combine.c (simplify_if_then_else): If
11171         flag_finite_math_only is set, a == b has a
11172         definite value.
11173         * toplev.c: Initialize flag_finite_math_only.
11174         (set_flags_fast_math): Set it on -ffast-math.
11175         (flag_fast_math_set_p): Test it.
11176         * doc/invoke.texi: Document -ffinite-math-only.
11177
11178 2002-07-30  Richard Henderson  <rth@redhat.com>
11179
11180         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
11181         (noce_process_if_block): Likewise.
11182
11183 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
11184
11185         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
11186         Bail out early if false_expr is NULL and we'd crash due to this.
11187         * genemit.c (gen_expand): Recognize return insns even if the return
11188         appears in a parallel.
11189         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
11190         * config/fp-bit.c: Likewise.
11191         * doc/tm.texi: Document it.
11192
11193 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
11194             Zack Weinberg  <zack@codesourcery.com>
11195
11196         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
11197         CODE_FOR_nothing.  Change switch to if.
11198         (rs6000_expand_binop_builtin): Same.
11199         (rs6000_expand_builtin): Expand builtin if target support enabled.
11200         (rs6000_init_builtins): Init builtin if target support enabled.
11201         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
11202
11203 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11204
11205         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
11206
11207 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
11208
11209         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
11210
11211 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
11212
11213         * sh.md (cond_delay_slot): New attribute.
11214         (cbranch delay): Use it for anulled-true case.
11215         (stuff_delay_slot): New pattern.
11216         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
11217         delay slot insn.
11218         (gen_far_branch): Emit stuff_delay_slot pattern.
11219
11220 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
11221
11222         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
11223
11224 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
11225
11226         * fold-const.c: Fix comment typos.
11227         * gcse.c: Likewise.
11228         * reload1.c: Likewise.
11229
11230 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11231
11232         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
11233         for TARGET_SPE.
11234
11235 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11236
11237         * c-pretty-print.h (pp_c_statement): Declare.
11238         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
11239         (pp_c_statement): Define.
11240
11241 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11242
11243         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
11244         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
11245         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
11246         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
11247         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
11248         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
11249
11250         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
11251         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
11252
11253 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11254
11255         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
11256         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
11257         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
11258         (pp_c_expression): Update.
11259
11260 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11261
11262         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
11263         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
11264         * alpha/vms-ld.c (main): Likewise.
11265         * dsp16xx.c (double_reg_to_memory): Likewise.
11266         * mcore.c (mcore_expand_prolog): Likewise.
11267         * cppfiles.c (read_name_map): Likewise.
11268         * gensupport.c (process_rtx, identify_predicable_attribute,
11269         alter_test_for_insn): Likewise.
11270         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
11271
11272 2002-07-29  Roger Sayle  <roger@eyesopen.com>
11273
11274         * builtins.c (expand_builtin):  Change the default behavior to
11275         only issue an error if the builtin function doesn't have a
11276         fallback library call.  Remove several cases handled by the
11277         new default.
11278
11279 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
11280
11281         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
11282         floating point format of the target is IEEE.
11283         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
11284         format of the target is DEC.
11285
11286 2002-07-29  Richard Henderson  <rth@redhat.com>
11287
11288         * unroll.c (verify_addresses): Remove.
11289         (find_splittable_givs): Never split DEST_ADDR givs.
11290
11291 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
11292
11293         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
11294         is exhaustive.
11295         (Files): Improve documentation on generated source files.
11296
11297         * doc/extend.texi (Translation implementation): Document what
11298         diagnostics look like.
11299         (Identifiers implementation): Document that there's normally no
11300         limit on identifier names.
11301         (Integers implementation): Document two's complement.
11302         (Hints implementation): Document that GCC honors 'inline', mostly.
11303         (Preprocessing directives implementation): Document that GCC
11304         requires the current time.
11305
11306 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11307
11308         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
11309         (pp_initializer): New macro.
11310         (pp_c_initializer): Declare.
11311         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
11312         (pp_c_initializer): Define.
11313         (pp_c_initializer_list): New function.
11314         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
11315         VECTOR_CST, CONSTRUCTOR.
11316         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
11317         IMAGPART_EXPR.
11318         (pp_c_cast_expression): Handle FLOAT_EXPR.
11319         (pp_c_assignment_expression): Handle INIT_EXPR.
11320         (pp_c_expression): Update.
11321
11322 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
11323
11324         * objc/objc-act.c (objc_init): Return immediately if filename
11325         is NULL.
11326
11327 2002-07-29  Eric Christopher  <echristo@redhat.com>
11328
11329         * config/mips/elf.h: Remove ecoff.h and gofast includes.
11330         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
11331         (SDB_DEBUGGING_INFO): Undefine.
11332         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
11333         (PUT_SDB_SIZE): Remove.
11334         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
11335         (STARTFILE_SPEC): Add isa3264 define.
11336         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
11337         * config/mips/ecoff.h: Remove. and here...
11338         * config/mips/iris3.h: and here...
11339         * config/mips/sni-svr4.h: and here...
11340         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
11341         Add assembler -mmdebug options for non-dwarf debugging.
11342         * config/mips/r3900.h: Remove debug info defines.
11343         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
11344         * config/mips/isa3264.h: Ditto.
11345         * config/mips/t-isa3264: Fix up for file removal and gofast configure
11346         change.
11347         * config/mips/t-elf: Ditto.
11348         * config/mips/t-ecoff: Ditto.
11349         * config/mips/t-r3900: Ditto.
11350         * config/mips/t-iris5-6: Ditto.
11351         * config/mips/t-isa3264: Ditto.
11352         * config/mips/t-linux: Remove.
11353         * config/mips/t-netbsd: Remove.
11354         * config/mips/t-mips: New file.
11355         * config/mips/t-gofast: Ditto.
11356         * config/mips/netbsd.h: Remove unnecessary undefines.
11357         * config/mips/linux.h: Remove #include of mips.h.
11358         * config.gcc: Add mips.h include for elf targets. Remove tm_file
11359         for ecoff. Add gofast configure option for mips.
11360
11361 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
11362
11363         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
11364         linker scripts use STARTUP directives consistently.
11365         * configure: Regenerate.
11366         * config.in: Regenerate.
11367         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
11368         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
11369         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11370         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
11371         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
11372         will be the same.
11373
11374 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11375
11376         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
11377
11378 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11379
11380         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
11381
11382 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
11383
11384         * config/rs6000/rs6000.md: Move altivec patterns from here...
11385
11386         * config/rs6000/altivec.md: ...to here.
11387
11388 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11389
11390         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
11391
11392 2002-07-29  Richard Henderson  <rth@redhat.com>
11393
11394         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
11395         set_mem_attributes and add BITPOS argument.  Subtract it from
11396         OFFSET when same is adjusted.
11397         (set_mem_attributes): New wrapper function.
11398         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
11399         remove offset adjustment hack.
11400         * expr.h (set_mem_attributes_minus_bitpos): Declare.
11401
11402 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
11403
11404         * Makefile.in (C_OBJS): Include c-pretty-print.o
11405         (c-pretty-print.o): Add depency rule.
11406         * pretty-print.h: Add more macros.
11407         * c-pretty-print.c: New file.
11408         * c-pretty-print.h: Likewise.
11409
11410 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11411
11412         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
11413         constants to __ev64_s32__.
11414         (__internal_ev_mwhgsmian): Same.
11415         (__internal_ev_mwhgsmfan): Same.
11416         (__internal_ev_mwhgssfan): Same.
11417         (__internal_ev_mwhgumiaa): Same.
11418         (__internal_ev_mwhgsmiaa): Same.
11419         (__internal_ev_mwhgsmfaa): Same.
11420         (__internal_ev_mwhgssfaa): Same.
11421
11422 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
11423
11424         * varasm.c (assemble_variable): Narrow test for uninitialized
11425         without BSS target support.
11426
11427 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
11428
11429         * profile.c: Add file comment describing the overall algorithm and
11430         structures.
11431         (struct edge_info): Add comments.
11432         (struct bb_info): Add comments.
11433         * basic-block.h (EDGE_*): Add comments.
11434         * doc/gcov.texi (Gcov Data Files): Document bit flags.
11435
11436 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
11437
11438         * config/xtensa/elf.h, config/xtensa/linux.h
11439         (TARGET_OS_CPP_BUILTINS): Define.
11440         (CPP_PREDEFINES): Remove.
11441         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
11442         (CPP_SPEC): Remove.
11443
11444 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
11445
11446         * gensupport.c: Include hashtab.h.
11447         (insn_elision, condition_table, hash_c_test, cmp_c_test,
11448         maybe_eval_c_test): New routines and data structures to
11449         support insn elision.
11450         (init_md_reader): Read and initialize the condition_table.
11451         (read_md_rtx): Discard insn patterns whose C test is provably
11452         always false.
11453         * gensupport.h: Declare new functions and data structures.
11454
11455         * genconditions.c, dummy-conditions.c: New files.
11456         * Makefile.in: Build genconditions; run it to construct
11457         insn-conditions.c; build that and link it into most gen*
11458         programs.
11459         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
11460         (GEN): Delete, unused.
11461         (STAGESTUFF): Update.
11462
11463         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
11464         CODE_FOR_nothing for all elided patterns.
11465         (main): Tweaked to support this.
11466         * genflags.c (gen_proto): Emit a static inline generator
11467         function here for all elided patterns, which simply returns
11468         NULL_RTX.
11469         (gen_insn): Do not define HAVE_xxx for elided patterns.
11470         (main): Tweaked to support this.  No need to forward-declare
11471         struct rtx_def.
11472         * genrecog.c: Do not bother emitting the C test if it's known
11473         to be true at compile time.
11474
11475 2002-07-29  Mike Stump  <mrs@apple.com>
11476
11477         * config.gcc (target_gtfiles): Initialize, as otherwise cross
11478         compilers hosted on powerpc-apple-darwin6.0 won't even build.
11479
11480 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
11481
11482         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
11483         remove clobber of LR.
11484         (sibcall_insn, sibcall_value_insn): Update accordingly.
11485         (sibcall_epilogue): Remove debugging comment from assembler stream.
11486
11487 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
11488
11489         * pretty-print.h: Define more macros.
11490         * diagnostic.h (output_formatted_integer): Moved from...
11491         * diagnostic.c: ... here.
11492
11493 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11494
11495         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
11496
11497 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
11498
11499         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
11500         arguments.  Always use ".-symbol" as expression argument.
11501         * doc/tm.texi: Update to match.  Document requirement for
11502         ".size symbol, .-symbol" to be acceptable to assembler.
11503
11504         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
11505         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
11506         config/i386/freebsd-aout.h, config/i386/sco5.h,
11507         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
11508         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
11509
11510 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11511
11512         * Makefile.in (gengtype-lex.c): Fix error in last change.
11513
11514         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
11515         backslash.
11516
11517         * Makefile.in (vmsdbgout.o): Depend on function.h.
11518
11519         * vmsdbgout.c: Include function.h.
11520
11521 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
11522
11523         * prefix.c (update_path): Don't strip single `.' path components
11524         unless stripping a later `..' component.  Exit loop as soon as
11525         a valid path is found.
11526
11527 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11528
11529         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
11530         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
11531         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
11532         floating point unordered comparisons (e.g. __builtin_isgreater)
11533         as const, and leave the remaining GCC_BUILTINs unchanged.
11534
11535         * c-decl.c (builtin_function): No need to explicitly mark
11536         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
11537
11538 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11539
11540         * Makefile.in: rtlanal.o now depends upon real.h.
11541
11542         * flags.h [flag_signaling_nans]: New flag.
11543         [HONOR_SNANS]: New macro.
11544
11545         * toplev.c [flag_signaling_nans]: Initialize to false.
11546         (f_options): Add processing for "-fsignaling-nans".
11547         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
11548         (process_options): flag_signaling_nans implies flag_trapping_math.
11549
11550         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
11551         when -fsignaling-nans.  First step to implementing WG14's N965.
11552
11553         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
11554         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
11555         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
11556
11557         * simplify-rtx.c (simplify_relational_operation): Conditionalize
11558         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
11559
11560         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
11561         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
11562         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
11563         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
11564         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
11565
11566         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
11567
11568 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11569
11570         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
11571         * gengtype-lex.l (YY_USE_PROTOS): Undef.
11572         (YY_DECL): Define.
11573
11574 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11575
11576         * doc/invoke.texi: Document that both -fno-builtin-foo and
11577         -fno-builtin are supported by the g++ front-end.
11578
11579 2002-07-27  Stan Shebs  <shebs@apple.com>
11580
11581         * configure.in: Rename config_gtfiles to target_gtfiles.
11582         * configure: Regenerate.
11583         * doc/gty.texi: Update reference.
11584         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
11585         instead of appending to it.
11586
11587 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
11588
11589         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
11590         vectors are split into two registers.
11591         (function_arg): Same.
11592
11593 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
11594
11595         * pa.md (extv): Check predicates before emitting extv_32.
11596
11597 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
11598
11599         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
11600         (rs6000_traceback): New var.
11601         (rs6000_override_options): Set rs6000_traceback.
11602         (rs6000_output_function_epilogue): Implement traceback options.
11603         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
11604         (rs6000_traceback_name): Declare.
11605
11606         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
11607         label reference when NO_PROFILE_COUNTERS.
11608
11609 2002-07-26  Jason Merrill  <jason@redhat.com>
11610
11611         * function.c (assign_parms): Handle frontend-directed pass by
11612         invisible reference.
11613
11614 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11615
11616         * doc/cppopts.texi: Update.
11617
11618 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11619
11620         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
11621         warnings on assertions.
11622
11623 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11624
11625         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
11626         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
11627         RID_COMPL): Remove.
11628         * c-parse.in (rid_to_yy): Similarly.
11629
11630 2002-07-26  Jason Merrill  <jason@redhat.com>
11631
11632         * c-dump.c: Resurrect.
11633         * tree-dump.c: Move C-specific stuff to c-dump.c.
11634         * c-common.h: Declare c_dump_tree.
11635         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
11636         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
11637         (c-dump.o): New rule.
11638
11639 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
11640
11641         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
11642         PowerPC64.  Replace "T" and "S" constraints with "n" when the
11643         predicate will do.  Formatting fixes.
11644         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
11645         as for extzvsi_internal1.
11646
11647 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11648
11649         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
11650         DERIV_END_LABEL_FMT): Remove.
11651         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
11652
11653 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11654
11655         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
11656         Remove.
11657
11658 2002-07-25  Stan Shebs  <shebs@apple.com>
11659
11660         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
11661         local var dwarfp.
11662         (output_compiler_stub): Remove unused locals.
11663         (output_call): Always initialize line number.
11664
11665 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
11666
11667         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
11668         * sh.md (truncdiqi2, movqi_media): Likewise.
11669
11670 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11671
11672         * gcse.c (obstack_chunk_alloc): Remove.
11673         (gcse_alloc): Fix to count allocated bytes.
11674         * collect2.c (SYMBOL__MAIN): Remove.
11675
11676 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11677
11678         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
11679         HAVE_TARGET_EXECUTABLE_SUFFIX.
11680
11681 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
11682
11683         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
11684         SIZE, EXPR and OFFSET.
11685
11686 2002-07-25  Richard Henderson  <rth@redhat.com>
11687
11688         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
11689         in ARRAY_REF of DECL_P case.
11690
11691 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
11692
11693         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
11694         description.  Document -mips32, -mips64, and the associated -march
11695         values.  Describe the "mipsN" arguments to -march.  Say that the
11696         -mipsN options are equivalent to -march.  Reword the description
11697         of default type sizes.
11698         * toplev.h (target_flags_explicit): Declare.
11699         * toplev.c (target_flags_explicit): New var.
11700         (set_target_switch): Update target_flags_explicit.
11701         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
11702         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
11703         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
11704         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
11705         * config/mips/mips.h (mips_cpu_info): New struct.
11706         (mips_cpu_string, mips_explicit_type_size_string): Remove.
11707         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
11708         (MIPS_CPP_SET_PROCESSOR): New macro.
11709         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
11710         Define _MIPS_ARCH and _MIPS_TUNE.
11711         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
11712         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
11713         MIPS_ISA_DEFAULT were already defined.
11714         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
11715         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
11716         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
11717         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
11718         (ABI_GAS_ASM_SPEC): Remove.
11719         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
11720         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
11721         Invoke %(asm_abi_default_spec) if no ABI was specified.
11722         (CC1_SPEC): Remove ISA -> register-size rules.
11723         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
11724         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
11725         (mips_cpu_string, mips_explicit_type_size_string): Remove.
11726         (mips_cpu_info_table): New array.
11727         (mips_set_architecture, mips_set_tune): New fns.
11728         (override_options): Rework to make -mipsN equivalent to -march.
11729         Detect more erroneous cases, including those removed from CC1_SPEC.
11730         Don't change the ABI based on architecture, or vice versa.
11731         Unify logic with GAS.
11732         (mips_asm_file_start): Get architecture name from mips_arch_info.
11733         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
11734         (mips_parse_cpu): Take the name of the option as argument.  Handle
11735         'from-abi'.  Raise an error if the option is wrong.
11736         (mips_cpu_info_from_isa): New fn.
11737
11738 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
11739
11740         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
11741         (tablejump_mips162): Likewise.
11742
11743 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
11744
11745         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
11746         int_mode_for_mode.
11747
11748 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
11749
11750         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
11751         complaining.
11752         * c-common.h (c_sizeof): Adjust definition.
11753         (c_alignof): Likewise.
11754         * c-tree.h (c_sizeof_nowarn): Now macro.
11755         * c-typeck.c (c_sizeof_nowarn): Remove definition.
11756
11757 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11758
11759         * c-decl.c (c_decode_option): No need to handle switches
11760         cpplib handles.
11761
11762 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
11763
11764         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
11765         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
11766         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
11767         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
11768
11769         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
11770         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
11771         config/cris/aout.h, config/i386/freebsd-aout.h,
11772         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
11773         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
11774         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
11775         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
11776         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
11777         config/xtensa/elf.h, config/xtensa/linux.h:
11778         Use the new macros.
11779         Where possible, remove redundant definitions of SIZE_ASM_OP,
11780         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
11781
11782 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
11783
11784         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
11785         TARGET_ISEL, and TARGET_FPRS.
11786
11787         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
11788         -mabi=spe, -mabi=no-spe, and -misel=.
11789
11790         * config/rs6000/rs6000-protos.h: Add output_isel.
11791         Move vrsave_operation prototype here.
11792
11793         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
11794         (smaxsi3): Same.
11795         (uminsi3): Same.
11796         (umaxsi3): Same.
11797         (abssi2_nopower): Disallow when TARGET_ISEL.
11798         (*ne0): Same.
11799         (negsf2): Change to expand and rename old pattern to *negsf2.
11800         (abssf2): Change to expand and rename old pattern to *abssf2.
11801
11802         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
11803         fixunssfsi2.
11804
11805         Change patterns that check for TARGET_HARD_FLOAT or
11806         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
11807
11808         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
11809         rs6000_isel, rs6000_fprs, rs6000_isel_string.
11810         (rs6000_override_options): Add 8540 case to
11811         processor_target_table.
11812         Set rs6000_isel for the 8540.
11813         Call rs6000_parse_isel_option.
11814         (enable_mask_for_builtins): New.
11815         (rs6000_parse_isel_option): New.
11816         (rs6000_parse_abi_options): Add spe and no-spe.
11817         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
11818         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
11819         for TARGET_HARD_FLOAT.
11820         Add case for SPE_VECTOR_MODE.
11821         (rs6000_legitimize_reload_address): Handle SPE vector modes.
11822         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
11823         vector modes.
11824         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
11825         (rs6000_emit_move): Check for TARGET_FPRS.
11826         Add cases for SPE vector modes.
11827         (function_arg_boundary): Return 64 for SPE vector modes.
11828         (function_arg_advance): Check for TARGET_FPRS and
11829         Handle SPE vectors.
11830         (function_arg): Same.
11831         (setup_incoming_varargs): Check for TARGET_FPRS.
11832         (rs6000_va_arg): Same.
11833         (struct builtin_description): Un-constify mask field.  Move up in
11834         file.
11835         (bdesc_2arg): Un-constify and add SPE builtins.
11836         (bdesc_1arg): Same.
11837         (bdesc_spe_predicates): New.
11838         (bdesc_spe_evsel): New.
11839         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
11840         (rs6000_expand_binop_builtin): Same.
11841         (bdesc_2arg_spe): New.
11842         (spe_expand_builtin): New.
11843         (spe_expand_predicate_builtin): New.
11844         (spe_expand_evsel_builtin): New.
11845         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
11846         (rs6000_init_builtins): Initialize SPE builtins.  Call
11847         rs6000_common_init_builtins.
11848         (altivec_init_builtins): Move all non-altivec builtin code to...
11849         (rs6000_common_init_builtins): ...here.  New function.
11850         (branch_positive_comparison_operator): Allow NE code for SPE.
11851         (ccr_bit): Return correct ccr bit for SPE fp.
11852         (print_operand): Emit crnor in 'D' case for SPE.
11853         New case 't'.
11854         Add SPE code for 'y' case.
11855         (rs6000_generate_compare): Generate rtl for SPE fp.
11856         (output_cbranch): Handle SPE hard floats.
11857         (rs6000_emit_cmove): Handle isel.
11858         (rs6000_emit_int_cmove): New.
11859         (output_isel): New.
11860         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
11861         64-bits for SPE.
11862         (debug_stack_info): Add SPE info.
11863         (gen_frame_mem_offset): New.
11864         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
11865         Change mode of frame pointer, when saving it, to Pmode.
11866         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
11867         Misc cleanups and use gen_frame_mem_offset when appropriate.
11868
11869         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
11870         (TARGET_SPE_ABI): New.
11871         (TARGET_SPE): New.
11872         (TARGET_ISEL): New.
11873         (TARGET_FPRS): New.
11874         (FIXED_SCRATCH): New.
11875         (RTX_COSTS): Add PROCESSOR_PPC8540.
11876         (ASM_CPU_SPEC): Add case for 8540.
11877         (TARGET_OPTIONS): Add isel= case.
11878         (rs6000_spe_abi): New.
11879         (rs6000_isel): New.
11880         (rs6000_fprs): New.
11881         (rs6000_isel_string): New.
11882         (UNITS_PER_SPE_WORD): New.
11883         (LOCAL_ALIGNMENT): Adjust for SPE.
11884         (HARD_REGNO_MODE_OK): Same.
11885         (DATA_ALIGNMENT): Same.
11886         (MEMBER_TYPE_FORCES_BLK): New.
11887         (FIRST_PSEUDO_REGISTER): Set to 113.
11888         (FIXED_REGISTERS): Add SPE registers.
11889         (reg_class): Same.
11890         (REG_CLASS_NAMES): Same.
11891         (REG_CLASS_CONTENTS): Same.
11892         (REGNO_REG_CLASS): Same.
11893         (REGISTER_NAMES): Same.
11894         (DEBUG_REGISTER_NAMES): Same.
11895         (ADDITIONAL_REGISTER_NAMES): Same.
11896         (CALL_USED_REGISTERS): Same.
11897         (CALL_REALLY_USED_REGISTERS): Same.
11898         (SPE_ACC_REGNO): New.
11899         (SPEFSCR_REGNO): New.
11900         (SPE_SIMD_REGNO_P): New.
11901         (HARD_REGNO_NREGS): Adjust for SPE.
11902         (VECTOR_MODE_SUPPORTED_P): Same.
11903         (REGNO_REG_CLASS): Same.
11904         (FUNCTION_VALUE): Same.
11905         (LIBCALL_VALUE): Same.
11906         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
11907         (SPE_VECTOR_MODE): New.
11908         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
11909         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
11910         (rs6000_stack): Add spe_gp_size, spe_padding_size,
11911         spe_gp_save_offset.
11912         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
11913         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
11914         (SPE_CONST_OFFSET_OK): New.
11915         (rs6000_builtins): Add SPE builtins.
11916
11917         * testsuite/gcc.dg/ppc-spe.c: New.
11918
11919         * config/rs6000/eabispe.h: New.
11920
11921         * config/rs6000/spe.h: New.
11922
11923         * config/rs600/spe.md: New.
11924
11925         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
11926         __SIMD__ for TARGET_SPE.
11927
11928         * config.gcc: Add powerpc-*-eabispe* case.
11929         Add spe.h to user headers for powerpc.
11930
11931 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
11932
11933         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
11934         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11935         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
11936
11937 2002-07-24  Richard Henderson  <rth@redhat.com>
11938
11939         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
11940         form when not optimizing.
11941
11942 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
11943
11944         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
11945         thread_pointer_rtx as unchanging.
11946
11947 2002-07-24  Michael Matz  <matz@suse.de>
11948
11949         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
11950         (free_reg): Use it.
11951
11952 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
11953
11954         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
11955         pattern.
11956         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
11957         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
11958
11959 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
11960
11961         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
11962         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11963         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
11964
11965 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
11966
11967         * toplev.c (rest_of_compilation): Dump loops before clobbering
11968         the structure.
11969
11970 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
11971
11972         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
11973
11974 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
11975
11976         PR optimization/7291
11977         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
11978         problem on x86_64.
11979
11980 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
11981
11982         * pretty-print.h: Add macros from cp/error.c
11983
11984 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
11985
11986         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
11987         (mask64_2_operand): Declare.
11988         (build_mask64_2_operands): Declare.
11989         (and64_2_operand): Declare.
11990         (extract_MB): Declare.
11991         (extract_ME): Declare.
11992         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
11993         CONST_DOUBLE code.
11994         (mask_operand_wrap): New insn predicate.
11995         (mask64_2_operand): Likewise.
11996         (and64_2_operand): Likewise.
11997         (build_mask64_2_operands): New function.
11998         (extract_MB): New function.
11999         (extract_ME): New function.
12000         (print_operand <case m,M>): Use extract_MB and extract_ME.
12001         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
12002         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
12003         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
12004         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
12005         * config/rs6000/rs6000.md (andsi3_internal3): New
12006         (andsi3_internal3+1): Enable split for powerpc64.
12007         (andsi3_internal3+2): New split.
12008         (andsi3_internal4): Renamed old andsi3_internal3.
12009         (andsi3_internal5): New.
12010         (andsi3_internal5+1): Enable split for powerpc64.
12011         (andsi3_internal5+2): New split.
12012         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
12013         (anddi3): Handle 't' constraint.
12014         (anddi3+1): New split.
12015         (anddi3_internal2): Handle 't' constraint.
12016         (anddi3_internal2+1): New split.
12017         (anddi3_internal3): Handle 't' constraint.
12018         (anddi3_internal3+1): New split.
12019
12020 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
12021
12022         * config/rs6000/rs6000.md: Remove scratch reg on insns using
12023         addze and similar (plus (comparison r1 r2) r3) insns.  Add
12024         missing scratch reg in one case.  Formatting fixes.
12025
12026 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
12027
12028         * cppexp.c (parse_defined): Mark macro used.
12029         * cpphash.h (struct cpp_macro): New member "used".
12030         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
12031         (struct cpp_reader): New member.
12032         * cppinit.c (cpp_finish_options): Set first_unused_line.
12033         (cpp_finish): Warn of unused macros if requested.
12034         (OPT_TABLE): New switches.
12035         (cpp_handle_option): Handle them.
12036         * cpplib.c (do_undef): Warn if macro unused.
12037         (do_ifdef, do_ifndef): Mark macro used.
12038         * cpplib.h (struct cpp_options): New member.
12039         * cppmacro.c (_cpp_warn_if_unused_macro): New.
12040         (enter_macro_context): Mark macro used.
12041         (_cpp_create_definition): Mark macro unused; warn if unused
12042         when redefined.
12043         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
12044         Mark macros used.
12045         * doc/cppopts.texi: Update.
12046
12047 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12048
12049         * dwarf2out.c (SECTION_ASM_OP,
12050         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
12051         * system.h (SECTION_ASM_OP): Poison.
12052         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
12053         * config/alpha/alpha-interix.h, config/mips/linux.h
12054         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
12055         * config/mmix/mmix-protos.h, config/mmix/mmix.c
12056         (mmix_asm_output_define_label_difference_symbol): Remove.
12057         * config/mmix/mmix.h
12058         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
12059         * doc/tm.texi: Remove documentation.
12060
12061 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
12062
12063         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
12064         (constrain_operands): Likewise.
12065         * regclass.c (record_reg_classes): Likewise.
12066         * reload.c (find_reloads): Likewise.
12067         * doc/md.texi: Likewise.
12068
12069         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
12070         * simplify-rtx.c (simplify_subreg): When converting to a non-int
12071         mode, try to convert to an integer mode of matching size first.
12072
12073         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
12074         from individual subregs, check that each subreg has been generated
12075         sucessfully.
12076
12077 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12078
12079         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
12080         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
12081         FOR_EACH_BB_IN_SBITMAP): Remove.
12082         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
12083         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
12084         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
12085         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
12086         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
12087         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
12088
12089 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
12090
12091         * pretty-print.h: New file.
12092
12093 2002-07-23      Paul Koning     <pkoning@equallogic.com>
12094
12095         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
12096         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
12097         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
12098         (TARGET_G_FLOAT): Default to 0 if not defined.
12099         (ieeetoe): New, common routine to convert target format floats
12100         to internal form.
12101         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
12102         vs. others.
12103         (e113toe): Change to use ieeetoe.
12104
12105 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12106
12107         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
12108         IBM.
12109         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
12110         (e64toe): Remove special cases for DEC and IBM. Remove support for
12111         ARM_EXTENDED_IEEE_FORMAT.
12112         (e24toe): Remove special cases for DEC.
12113         (significand_size): Simplify. Indent.
12114         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
12115         (etoieee, toieee): New.
12116         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
12117         etoieee and toieee for IEEE arithmetic.
12118
12119 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
12120
12121         * doc/extend.texi: Say ISO C90, not ISO C89.
12122         * doc/invoke.texi: Likewise.
12123         * doc/standards.texi: Likewise.
12124
12125 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
12126
12127         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
12128         Fix permutation of conversion and plus/mult.
12129         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
12130         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
12131         (expand_builtin_strncpy) Ditto.
12132         (expand_builtin_memset) Ditto.
12133
12134 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
12135
12136         Fix PR/7363:
12137         * c-common.c (c_sizeof_or_alignof_type): New function.
12138         (c_alignof): Remove definition.
12139         * c-common.h (c_sizeof, c_alignof): Define as macros.
12140         (c_sizeof_or_alignof_type): Declare.
12141         (my_friendly_assert): Moved from cp/cp-tree.h
12142         * c-typeck.c (c_sizeof): Remove definition.
12143
12144 2002-07-23  Jan Hubicka  <jh@suse.cz>
12145
12146         * gcse.c (try_replace_reg): Use num_changes_pending.
12147         * recog.c (num_changes_pending): New function.
12148         (validate_replace_src): Use validate_repalce_src_group.
12149         (validate_replace_src_group): New.
12150         * recog.h (validate_repalce_src_group): New.
12151         (num_changes_pending): Likewise.
12152
12153 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
12154
12155         * calls.c (emit_library_call_value_1): If
12156         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
12157         libcall, const call nor pure call.
12158
12159 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12160
12161         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
12162
12163 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12164
12165         * vmsdbgout.c (SECTION_ASM_OP): Remove.
12166
12167 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12168
12169         * config/i386/i386.c (AT_BP): Remove.
12170
12171 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12172
12173         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
12174         Default definition.
12175         * gcse.c: Don't define obstack_chunk_free.
12176         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
12177         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
12178         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
12179         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
12180         Don't define obstack macros.
12181
12182 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
12183
12184         PR target/6744
12185         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
12186         ASM_OPERANDS instructions.
12187
12188 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
12189
12190         PR target/7361
12191         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
12192         constant addresses only on 68HC12.
12193
12194 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
12195
12196         * cppfiles.c (stack_include_file): Correct test of whether
12197         a dependency should be output.
12198
12199 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
12200
12201         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
12202
12203 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
12204
12205         * arm.md (movqi): If optimizing and we can create pseudos, use
12206         a ZERO_EXTEND to load from memory, then copy the result into the
12207         target.
12208         (movhi): Likewise, but only for ARMv4.
12209
12210 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
12211
12212         * ssa-ccp.c (PHI_PARMS): Remove.
12213
12214 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
12215
12216         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
12217         on big-endian targets.
12218
12219 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12220
12221         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
12222         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
12223         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
12224         New formatting macros.
12225
12226         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
12227
12228 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12229
12230         * rtlanal.c (subreg_regno_offset): Return correct offset for
12231         big endian paradoxical subregs.
12232
12233         * optabs.c (expand_vector_unop): Don't expand using sub_optab
12234         if we got the wrong mode.
12235
12236         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
12237         * genrecog.c (write_switch, write_cond): Use it.
12238         * genemit.c (gen_exp): Likewise.
12239
12240 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
12241
12242         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
12243
12244 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
12245
12246         * c-decl.c (build_compound_literal): Defer compound literal decls
12247         until until file end to emit them only if they are actually used.
12248
12249 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12250
12251         * ra-build.c (check_conflict_numbers): Hide unused function.
12252         (livethrough_conflicts_bb): Avoid automatic aggregate
12253         initialization.
12254         (parts_to_webs_1): Avoid `U' integer constant modifier.
12255         (conflicts_between_webs): Wrap a variable in the macro controlling
12256         its usage.
12257         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
12258         (dump_igraph, dump_graph_cost): Avoid string concatenation
12259         (dump_static_insn_cost): Avoid automatic aggregate
12260         initialization.
12261         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
12262         initialization.
12263         (dump_cost): Avoid string concatenation
12264
12265 2002-07-21  Richard Henderson  <rth@redhat.com>
12266
12267         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
12268         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
12269
12270 2002-07-21  Richard Henderson  <rth@redhat.com>
12271
12272         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
12273         that are not unrolled completely.
12274
12275 2002-07-21  Richard Henderson  <rth@redhat.com>
12276
12277         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
12278         * loop.c (strength_reduce): Update.
12279         * toplev.c (rest_of_compilation): Do unrolling in the first
12280         loop pass, not the second.
12281
12282 2002-07-21  Richard Henderson  <rth@redhat.com>
12283
12284         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
12285         when flag_argument_noalias == 2.
12286         * alias.c (nonoverlapping_memrefs_p): Handle that.
12287         * print-rtl.c (print_mem_expr): Likewise.
12288
12289 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
12290
12291         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
12292         instead of __negdi2 directly.
12293
12294 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12295
12296         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
12297         * function.c (SYMBOL__MAIN): Remove definition.
12298         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
12299         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
12300         * profile.c (GCOV_INDEX_TO_BB): Remove.
12301         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
12302         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
12303
12304 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12305
12306         * c-lex.c (GET_ENVIRONMENT): Remove.
12307         * collect2.c (GET_ENV_PATH_LIST): Remove.
12308         (prefix_from_env): Use GET_ENVIRONMENT.
12309         * cppinit.c (GET_ENV_PATH_LIST): Remove.
12310         (init_standard_includes): Use GET_ENVIRONMENT.
12311         * defaults.h (GET_ENVIRONMENT): Define here if not already.
12312         * gcc.c (GET_ENV_PATH_LIST): Remove.
12313         (make_relative_prefix, process_command): Update.
12314         * protoize.c (GET_ENV_PATH_LIST): Remove.
12315         (do_processing): Update.
12316
12317 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
12318
12319         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
12320         (grokdeclarator): Likewise.
12321         * c-format.c (C_STD_NAME): Likewise.
12322         * c-lex.c (interpret_integer): Likewise.
12323         * c-typeck.c (build_array_ref): Likewise.
12324         * cpplex.c (_cpp_lex_direct): Likewise.
12325         * toplev.c (documented_lang_options): Likewise.
12326
12327 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12328
12329         * c-format.c (T99_I, T99_UI): Remove.
12330
12331 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12332
12333         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
12334
12335 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
12336
12337         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
12338         do_local_cprop.
12339
12340 2002-07-21  Andreas Jaeger  <aj@suse.de>
12341
12342         * reload1.c (fixup_abnormal_edges): Remove unused variable.
12343
12344 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
12345
12346         Improvements for the ifcvt pass from Michael Meissner, with patches
12347         by Richard Sandiford <rsandifo@redhat.com>
12348         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
12349         * ifcvt.c (cond_exec_changed_p): New static variable.
12350         (last_active_insn): New function, renamed from last_active_insn_p
12351         and changed to return the last active insn in a basic block. All
12352         callers updated.
12353         (block_fallthru): New function.
12354         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
12355         IFCVT_MODIFY_INSN.  All callers updated.
12356         Return false if START or END are NULL.
12357         Handle case where we're processing an insn that is already
12358         conditional.
12359
12360         (noce_process_if_block): CE_INFO argument rather than
12361         multiple args containing the involved basic blocks.  All callers
12362         changed.
12363         (process_if_block, merge_if_block, find_if_block,
12364         cond_exec_process_if_block): Likewise.
12365
12366         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
12367         changed.
12368         Use new function last_active_insn to simplify some code.
12369         New code to handle multiple tests.
12370         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
12371         cond_exec_changed_p to TRUE.
12372
12373         (process_if_block): New code to handle multiple tests.
12374         (merge_if_block): Likewise.
12375         (find_if_header): New arg PASS.  Changed to return the currently
12376         processed basic block or NULL instead of true/false. All callers
12377         changed.
12378         Call IFCVT_INIT_EXTRA_FIELDS.
12379         (block_jumps_and_fallthru_p): New function.
12380         (find_if_block): Discover opportunities to convert multiple tests.
12381         Add additional debugging output.
12382         Update the ce_info structure before returning.
12383
12384         (if_convert): Run multiple passes of if-conversion.
12385         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
12386         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
12387         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
12388         these macros.
12389
12390 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
12391
12392         * gcse.c: Include cselib.h
12393         (constptop_register): Break out from ...
12394         (cprop_insn): ... here; kill basic_block argument.
12395         (do_local_cprop, local_cprop_pass): New functions.
12396         (one_cprop_pass): Call local_cprop_pass.
12397
12398 2002-07-20  Roger Sayle  <roger@eyesopen.com>
12399
12400         * simplify-rtx.c (simplify_relational_operation): Optimize
12401         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
12402
12403 2002-07-20  Michae Matz  <matz@suse.de>
12404
12405         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
12406
12407 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
12408
12409         * cppexp.c (struct op): Add token pointer.
12410         (check_promotion, CHECK_PROMOTION): New.
12411         (optab): Update.
12412         (_cpp_parse_expr): Update, use token pointer of struct op.
12413         (reduce): Warn about change of sign owing to promotion.
12414         * cppinit.c (cpp_handle_option): New warning if -Wall.
12415         * cpplib.h (struct cpp_options): New member.
12416
12417 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
12418
12419         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
12420         fpu list.  Separate Power4 compare and delayed_compare.  Correct
12421         Power4 fpcompare.
12422         (fix_truncdfsi2_internal): Restore FPR preference.
12423         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
12424         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
12425
12426 2002-07-19  Momchil Velikov <velco@fadata.bg>
12427
12428         * reload1.c (reload_as_needed): Duplicate oldpat.
12429
12430 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
12431
12432         PR optimization/7130
12433         * loop.h (struct loop_info): Add "preconditioned".
12434         * unroll.c (unroll_loop): Set it.
12435         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
12436
12437 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
12438
12439         * rtl.def (CODE_LABEL): Remove slot 8.
12440         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
12441         (LABEL_ALTERNATE_NAME): Delete.
12442         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
12443         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
12444
12445         * final.c (output_alternate_entry_point): New.
12446         (final_scan_insn): Use it instead of
12447         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
12448         of a case label being an alternate entry point.
12449
12450         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
12451         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
12452         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
12453         (field deleted).
12454         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
12455
12456         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
12457         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
12458         * doc/tm.texi: Delete documentation of
12459         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
12460
12461 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12462
12463         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
12464         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
12465         (LINK_SPEC): Define.
12466         (STARTFILE_SPEC): Define.
12467         (ENDFILE_SPEC): Define.
12468
12469         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
12470         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
12471
12472         * config/mips/iris6-o32-gas.h: New file.
12473         * config.gcc (mips-sgi-irix6*o32): Use it.
12474
12475         * config/mips/t-iris5-gas: New file.
12476         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
12477
12478 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
12479
12480         * cppexp.c (ALWAYS_EVAL): Remove.
12481         (optab, reduce): Always evaluate.
12482         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
12483         only if not skipping evaluation.
12484
12485 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12486
12487         * config/avr/avr.c (debug_hard_reg_set): Remove.
12488
12489 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
12490
12491         * gcc.c (cpp_options): Include "%1" (cc1_spec).
12492
12493 2002-07-19  Richard Henderson  <rth@redhat.com>
12494
12495         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
12496
12497 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
12498
12499         * prefix.c (update_path): Don't zap single `.' path components
12500         unless followed by another `.' and fix typo last patch.
12501
12502 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
12503
12504         * cppexp.c (cpp_num_mul): Remove unused parameter.
12505         (UNARY, BINARY, OTHER, binary_handler): Remove.
12506         (ALWAYS_EVAL): New.
12507         (optab): Update.
12508         (reduce): Refactor to a large switch, don't use a function
12509         pointer.
12510
12511 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
12512
12513         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
12514
12515 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
12516
12517         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
12518         (sh_expand_binop_v2sf): Likewise.
12519         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
12520         (int_gpr_dest, trunc_hi_operand): New functions.
12521         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
12522         trunc_hi_operand.
12523         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
12524         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
12525         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
12526         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
12527         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
12528         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
12529         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
12530         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
12531         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
12532         (movsf_ie+1): Likewise.
12533         (loaddi_trunc): Use int_gpr_dest predicate.
12534         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
12535         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
12536         (casesi_worker_0+[12], casesi_worker): Likewise.
12537         (shcompact_preserve_incoming_args): Likewise.
12538         (mov_nop): Use any_register_operand predicate.
12539         (mperm_w0): Use trunc_hi_operand predicate.
12540
12541 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12542
12543         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
12544         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
12545         numbering.
12546
12547 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12548
12549         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
12550
12551 2002-07-18  Richard Henderson  <rth@redhat.com>
12552
12553         PR optimization/7147
12554         * ifcvt.c (noce_get_condition): Make certain that the condition
12555         is valid at JUMP.
12556
12557 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
12558
12559         * sh.c (barrier_align, push): Shut up compiler warnings.
12560         (initial_elimination_offset,sh_media_init_builtins): Likewise.
12561         (reg_no_subreg_operand): Delete.
12562
12563 2002-07-17  Bo Thorsen  <bo@suse.de>
12564
12565         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
12566         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
12567         (STARTFILE_SPEC): Remove hardcoded library paths.
12568         (ENDFILE_SPEC): Likewise.
12569
12570 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
12571
12572         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
12573
12574         * gcse.c (try_replace_reg): Do not return false positives.
12575
12576 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
12577
12578         * prefix.c: (update_path): Strip ".." components when prior dir
12579         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
12580
12581         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
12582         (ASM_OUTPUT_REG_POP): Likewise.
12583
12584 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
12585
12586         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
12587         adjustments to first_reg for profiling case.
12588         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
12589         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
12590         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
12591         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
12592         (ASM_OUTPUT_REG_POP): Define.
12593         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
12594         (ASM_OUTPUT_REG_POP): Undef.
12595
12596 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
12597
12598         * cpplib.c (do_sccs): Handle #sccs on all systems.
12599         * system.h (SCCS_DIRECTIVE): Poison.
12600         * config/darwin.h, config/freebsd.h, config/netbsd.h,
12601         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
12602         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
12603         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
12604         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
12605         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
12606         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
12607         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
12608         Remove all references to SCCS_DIRECTIVE.
12609         * doc/cpp.texi, doc/tm.texi: Update.
12610
12611 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
12612
12613         * regrename.c (maybe_mode_change): New function.
12614         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
12615
12616 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
12617
12618         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
12619         suppress addition when either ct or cf are zero.
12620
12621 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
12622             Glen Nakamura <glen@imodulo.com>
12623
12624         PR optimization/6713
12625         * loop.c (loop_givs_rescan): Explicitly delete the insn that
12626         sets a non-replaceable giv after issuing the new one.
12627
12628 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
12629
12630         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
12631         eval_token): Clarify and correct use of "bool" variables.
12632         * cpplib.h (struct cpp_options): Similarly.
12633         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
12634         * cpptrad.c (recursive_macro): Similarly.
12635
12636 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
12637
12638         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
12639         SHmedia code.
12640
12641         * sh.md (cmpgtudi_media): Remove spurious @.
12642
12643         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
12644         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
12645
12646         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
12647         * sh-protos.h (sh_initialize_trampoline): Declare.
12648         * sh.c (sh_initialize_trampoline): New function.
12649         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
12650         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
12651         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
12652         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
12653         * sh.md (initialize_trampoline, double_shori): New patterns.
12654         (initialize_trampoline_compact): Likewise.
12655         (shmedia32_initialize_trampoline_big): Remove.
12656         (shmedia32_initialize_trampoline_little): Likewise.
12657
12658         * sh-protos.h (binary_float_operator): Remove declaration.
12659         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
12660         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
12661         (unary_float_operator, sh_expand_unop_v2sf): New functions.
12662         (sh_expand_binop_v2sf): Likewise.
12663         (zero_vec_operand): Delete.
12664         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
12665         all non-shared ones.
12666         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
12667         Enable nsb and byterev.
12668         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
12669         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
12670         in general regs.
12671         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
12672         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
12673         immediate operands.
12674         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
12675         Add DF_HI_REGS.
12676         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
12677         lowpart fp regs - only for big endian for now.
12678         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
12679         when FPU is in use.
12680         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
12681         (LOAD_EXTEND_OP): NIL for SImode.
12682         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
12683         general and fp registers is 4.
12684         PREDICATE_CODES: Amend binary_float_operator entry.
12685         Remove zero_vec_operand.  Add unary_float_operator.
12686         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
12687         subreg SET_DEST.
12688         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
12689         (truncdiqi2): Do sign extension.
12690         (movsi_media, movdi_media): Allow to use r63 to an fp register.
12691         (movdf_media, movsf_media): Likewise.
12692         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
12693         Collapse to one define_insn_and_split.  Allow immediate sources.
12694         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
12695         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
12696         (movv4sf): Allow immediate sources.
12697         (movsf_media_nofpu+1): Don't split moves to FP registers.
12698         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
12699         (movv8qi_i+3): Check against CONST0_RTX.
12700         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
12701         for input and output operands.  Fix argument 3 to gen_mextr_rl.
12702         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
12703         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
12704         (mshf0_w, fipr, ftrv): Likewise.
12705         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
12706
12707 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
12708
12709         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
12710         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
12711         * arm.c: Similarly.
12712
12713 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
12714
12715         * config/mips/mips-protos.h (mips_sign_extend): Declare.
12716         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
12717         (TARGET_SWITCHES): Remove debugh.
12718         (ISA_HAS_TRUNC_W): New macro.
12719         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
12720         (PREDICATE_CODES): Remove se_nonimmediate_operand.
12721         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
12722         any SImode move_operand.
12723         (se_nonimmediate_operand): Remove.
12724         (mips_sign_extend): New.
12725         (mips_move_2words): Use it for sign-extended source operands.
12726         (override_options): Allow integers to be put into single FPRs.
12727         (mips_secondary_reload_class): Handle integers in float registers.
12728         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
12729         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
12730         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
12731         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
12732         (fix_truncdfdi2): Provide only a single alternative, in which the
12733         integer is in a float register.  Depend on TARGET_FLOAT64 rather
12734         than TARGET_64BIT.
12735         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
12736         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
12737         (movdi_internal2): Don't allow the source operand to be sign-extended.
12738         Add alternatives for float registers.
12739         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
12740         allows sign-extension.
12741         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
12742         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
12743         float registers.  Remove TARGET_DEBUG_H_MODE test.
12744         (movhi_internal1): Rename to movhi_internal.  Don't check
12745         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
12746         (movqi_internal1): Rename to movqi_internal and remove
12747         TARGET_DEBUG_H_MODE dependency.
12748         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
12749
12750 2002-07-16  Jim Wilson  <wilson@redhat.com>
12751
12752         * toplev.c (lang_dependent_init): Create function context for
12753         init_expr_once.
12754
12755 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
12756
12757         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
12758         --gc-sections if -r.
12759         * config/cris/cris.h: Ditto.
12760
12761 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
12762
12763         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
12764         the comparison directly gives a mask suppress addition when cf is
12765         zero by complementing the mask.
12766
12767 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
12768
12769         * Makefile.in: Delete references to enquire.
12770         * enquire.c: Move to contrib.
12771
12772 2002-07-16  Stan Shebs  <shebs@apple.com>
12773
12774         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
12775         config/rs6000/darwin.h.
12776         (ASM_OUTPUT_SKIP): Ditto.
12777         (TEXT_SECTION_ASM_OP): Ditto.
12778         (DATA_SECTION_ASM_OP): Ditto.
12779         (ASM_APP_ON): Define.
12780         (ASM_APP_OFF): Define.
12781         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
12782         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
12783
12784         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
12785         (machopic_function_base_name): Declare result to be const.
12786         (machopic_non_lazy_ptr_name): Ditto.
12787         (machopic_stub_name): Ditto.
12788         * config/darwin-protos.h: Ditto for the prototypes.
12789
12790 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
12791
12792         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
12793
12794 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
12795
12796         * i386.md (prefetch): Fix for 64bit mode.
12797         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
12798
12799 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12800
12801         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
12802         * i386.c (x86_machine_dependent_reorg): New function.
12803         * i386-protos.h (x86_machine_dependent_reorg): Declare.
12804
12805 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
12806
12807         * builtins.c (std_expand_builtin_va_start): Remove unused
12808         first argument.
12809         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
12810         std_expand_builtin_va_start with just two arguments.
12811         * expr.h: Update prototypes.
12812
12813         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
12814         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
12815         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
12816         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
12817         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
12818         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
12819         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
12820         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
12821         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
12822         argument from all implementations of EXPAND_BUILTIN_VA_START
12823         and all uses of std_expand_builtin_va_start.
12824
12825 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
12826
12827         * regrename.c (copy_value): Don't record high part copies.
12828
12829 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
12830
12831         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
12832         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
12833         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
12834
12835 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
12836
12837         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
12838
12839         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
12840         into addsi3 using register class "x" and "y".
12841
12842         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
12843         "earlyclobber" constraint modifier for some alternative.
12844
12845         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
12846         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
12847         unordered.
12848         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
12849
12850         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
12851         (TARGET_SWITCHES): Add -mieee-compare option.
12852         (OVERRIDE_OPTIONS): 32332 is a subset of
12853         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
12854         (TARGET_SWITCHES): Fix description of bitfield option.
12855         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
12856         -mieee-compare option. Remove 32332 flag.
12857
12858 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
12859
12860         * explow.c (convert_memory_address): Remove special handling
12861         when POINTERS_EXTEND_UNSIGNED < 0.
12862         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
12863         (movedi_symbolic): Fix typo.
12864         (load_fptr): Remove mode restriction so it works for SI and DI.
12865         (load_fptr_internal1): Ditto.
12866         (load_gprel): Ditto.
12867         (load_symptr_internal1): Ditto.
12868         (call_pic): Ditto.
12869         * config/ia64.c (call_operand): Modify mode check.
12870         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
12871         (ia64_expand_move): Ditto.
12872         (ia64_assemble_integer): Handle SImode function pointers.
12873         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
12874         (ia64_expand_op_and_fetch): Ditto.
12875         (ia64_expand_compare_and_swap): Ditto.
12876         (ia64_expand_lock_test_and_set): Ditto.
12877         (ia64_expand_lock_release): Ditto.
12878
12879 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
12880
12881         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
12882
12883 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
12884             Richard Earnshaw  <rearnsha@arm.com>
12885
12886         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
12887         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
12888
12889 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
12890
12891         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
12892         understands to be a memory clobber.
12893         * arm.c (arm_expand_prologue): Use it.
12894
12895 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
12896
12897         * ra-rewrite.c: #include reload.h, insn-config.h
12898         * ra-build.c: #include reload.h
12899         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
12900         depend on reload.h, insn-config.h.
12901
12902 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
12903
12904         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
12905         the same size as a word.
12906
12907         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
12908         BYTES_BIG_ENDIAN into account.
12909
12910 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
12911
12912         * i386.md (prefetch): Fix for 64bit mode.
12913         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
12914
12915         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
12916
12917 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12918
12919         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
12920
12921 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
12922
12923         * ginclude/varargs.h: Replace with stub which issues #error.
12924         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
12925         __builtin_va_start.
12926
12927         * builtins.def (BUILT_IN_VARARGS_START): Delete.
12928         (BUILT_IN_VA_START): New.
12929         * builtins.c (expand_builtin_va_start): Eliminate first
12930         argument and code to implement pre-ISO varargs.
12931         (std_expand_builtin_va_start): Ignore first argument; it is
12932         always 1.
12933         (expand_builtin): Handle BUILT_IN_VA_START and
12934         BUILT_IN_STDARG_START identically.  Delete
12935         BUILT_IN_VARARGS_START case.
12936
12937         * function.c (assign_parms): Delete hide_last_arg and all
12938         its uses.
12939         (mark_varargs): Delete function.
12940         * function.h (struct function): Delete 'varargs' bit.
12941         (current_function_varargs): Delete macro.
12942         * tree.h: Don't declare mark_varargs.
12943
12944         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
12945         (c_expand_body): Don't call mark_varargs.
12946         * c-objc-common.c: Handle BUILT_IN_VA_START and
12947         BUILT_IN_STDARG_START identically.  Delete
12948         BUILT_IN_VARARGS_START case.
12949         * c-tree.h: Don't declare c_mark_varargs.
12950         * c-parse.in: Remove grammar rules for '&...' (which has been
12951         commented out since before 2.7.2) and for '...' in K+R
12952         argument declarations.
12953
12954         * builtins.c, function.c, integrate.c, sibcall.c,
12955         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
12956         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
12957         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
12958         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
12959         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
12960         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
12961         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
12962         config/stormy16/stormy16.c: Delete all references to
12963         current_function_varargs, and code predicated on that flag.
12964
12965         * config/alpha/alpha.c (alpha_va_start),
12966         config/arc/arc.c (arc_va_start),
12967         config/i386/i386.c (ix86_va_start),
12968         config/mips/mips.c (mips_va_start),
12969         config/mn10300/mn10300.c (mn10300_va_start),
12970         config/rs6000/rs6000.c (rs6000_va_start),
12971         config/s390/s390.c (s390_va_start),
12972         config/sh/sh.c (sh_va_start),
12973         Ignore first argument; it is always 1.
12974
12975         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
12976         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
12977         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
12978         Delete m68hc11_va_start.
12979         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
12980         No need to define EXPAND_BUILTIN_VA_START.
12981
12982         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
12983         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
12984
12985 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
12986
12987         PR optimization/7153
12988         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
12989         dies in more than one insn.
12990
12991 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
12992
12993         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
12994
12995 2002-07-15  Michael Matz  <matz@suse.de>,
12996             Daniel Berlin  <dberlin@dberlin.org>,
12997             Denis Chertykov  <denisc@overta.ru>
12998
12999         Add a new register allocator.
13000
13001         * ra.c: New file.
13002         * ra.h: New file.
13003         * ra-build.c: New file.
13004         * ra-colorize.c: New file.
13005         * ra-debug.c: New file.
13006         * ra-rewrite.c: New file.
13007
13008         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
13009         (ra-rewrite.o): New .o files for libbackend.a.
13010         (GTFILES): Add basic-block.h.
13011
13012         * toplev.c (flag_new_regalloc): New.
13013         (f_options): New option "new-ra".
13014         (rest_of_compilation): Call initialize_uninitialized_subregs()
13015         only for the old allocator.  If flag_new_regalloc is set, call
13016         new allocator, instead of local_alloc(), global_alloc() and
13017         friends.
13018
13019         * doc/invoke.texi: Document -fnew-ra.
13020         * basic-block.h (FOR_ALL_BB): New.
13021         * config/rs6000/rs6000.c (print_operand): Write small constants
13022         as @l+80.
13023
13024         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
13025         (df_reg_table_realloc): Make size at least as large as max_reg_num().
13026         (df_insn_table_realloc): Size argument now is absolute, not relative.
13027         Changed all callers.
13028
13029         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
13030         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
13031
13032         2002-06-20  Michael Matz  <matz@suse.de>
13033
13034         * df.h (struct ref.id): Make unsigned.
13035         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
13036
13037         2002-06-13  Michael Matz  <matz@suse.de>
13038
13039         * df.h (DF_REF_MODE_CHANGE): New flag.
13040         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
13041         involving subregs with invalid mode changes, when
13042         CLASS_CANNOT_CHANGE_MODE is defined.
13043
13044         2002-05-07  Michael Matz  <matz@suse.de>
13045
13046         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
13047
13048         2002-05-03  Michael Matz  <matz@suse.de>
13049
13050         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
13051
13052         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
13053
13054         * regclass.c (regclass): Work with all regs which have sets or
13055         refs.
13056         (reg_scan_mark_refs): Count regs inside (clobber ...).
13057
13058         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
13059
13060         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
13061         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
13062         add new refs.
13063         (df_bb_refs_update): Don't clear insns_modified here, ...
13064         (df_analyse): ... but here.
13065
13066         * sbitmap.c (dump_sbitmap_file): New.
13067         (debug_sbitmap): Use it.
13068
13069         * sbitmap.h (dump_sbitmap_file): Add prototype.
13070
13071         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
13072
13073         * df.c (df_insn_modify): Grow the UID table if necessary, rather
13074         than assume all emits go through df_insns_modify.
13075
13076         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
13077
13078         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
13079         increase REG_N_REFS (like flow does), so that regclass doesn't
13080         think a reg is useless, and thus, not calculate a class, when it
13081         really should have.
13082
13083         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
13084
13085         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
13086         dataflow analysis.
13087
13088 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
13089
13090         PR middle-end/7245
13091         * config/i386/i386.c (const_int_1_31_operand): New.
13092         * config/i386/i386.h (PREDICATE_CODES): Add it.
13093         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
13094         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
13095         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
13096
13097 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
13098
13099         PR target/7282
13100         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
13101         (floatunssidf2): Likewise.
13102         (floatsidf_ppc64): New insn_and_split.
13103         (floatunssidf_ppc64): Likewise.
13104
13105 2002-07-14  Andreas Jaeger  <aj@suse.de>
13106
13107         * config.gcc (sh64): Remove unused
13108         target_requires_64bit_host_wide_int.
13109
13110 2002-07-12  Roger Sayle  <roger@eyesopen.com>
13111
13112         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
13113         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
13114         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
13115         whether clear_by_pieces should be used to clear storage.
13116         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
13117
13118         * doc/tm.texi: Document these two new target macros.
13119
13120 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
13121
13122         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
13123         the scratch register.
13124         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
13125         of it, forbid reload to use it.
13126
13127 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13128
13129         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
13130         usage on 64-bit hosts, return value was truncated to 32 bits.
13131
13132 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
13133
13134         * simplify-rtx.c (simplify_subreg): Handle floating point
13135         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
13136         the element mode is requested, compute a subreg with an
13137         integer mode of the same size as the element mode first.
13138
13139 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
13140
13141         * combine.c (try_combine): When converting a paradoxical subreg
13142         to an extension, take LOAD_EXTEND_OP into account.
13143
13144 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13145
13146         * config.gcc (mips-sgi-irix6*o32): New configuration.
13147
13148         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
13149         configurations.
13150         * configure: Regenerate.
13151
13152         * config/mips/iris6-o32-as.h: New file.
13153         * config/mips/iris6-o32.h: New file.
13154
13155         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
13156         (NM_FLAGS): Define.
13157         (HAVE_AS_SHF_MERGE): Undefine.
13158
13159         * config/mips/t-iris5-as: New file.
13160         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
13161
13162         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
13163         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
13164         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
13165         dp-bit.c, fp-bit.c): Move ...
13166         * config/mips/t-iris5-6: ... here.
13167         New file, shared by IRIX 5 and IRIX 6.
13168         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
13169         mips-sgi-irix5*): Use it.
13170
13171         * config/mips/iris6.h: Remove duplicate comment.
13172
13173         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
13174         !TARGET_IRIX6]: Define.
13175         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
13176
13177         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
13178
13179 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13180
13181         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
13182         and delete code to force constant to register.
13183         * pa-protos.h (adddi3_operand): Add prototype.
13184         * pa.c (adddi3_operand): New function.
13185
13186 2002-07-11  Roger Sayle  <roger@eyesopen.com>
13187
13188         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
13189         non-ANSI builtin functions.
13190
13191 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
13192
13193         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
13194         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
13195         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
13196         (gen_const_vector_0): Use it.
13197
13198 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13199
13200         * pa.md (adddi3): For 32-bit targets, force constants to a register
13201         if they don't fit in an 11-bit immediate.  Change insn predicate to
13202         arith11_operand.  Remove comment.
13203         * pa.c (cint_ok_for_move): Fix comment.
13204         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
13205         targets.
13206
13207 2002-07-11  Tim Josling  <tej@melbpc.org.au>
13208
13209         Remove front end hard coding from gengtype.c.
13210
13211         * Makefile.in
13212         (STAGESTUFF): add gtyp-gen.h
13213         (GTFILES): Remove front end specific files.
13214         (GTFILES_FILES_LANGS): New, from configure..
13215         (GTFILES_FILES_FILES): Likewise.
13216         (GTFILES_LANG_DIR_NAMES): Likewise.
13217         (GTFILES_SRCDIR): Likewise.
13218         (gtyp-gen.h): Build from configure information.
13219         (s-gtype): Remove command line parameters from gengtype.
13220         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
13221         (mostlyclean): Delete files generated by and for gengtype.
13222
13223         * c-config-lang.in: New file.
13224
13225         * configure.in (all_gtfiles_files_langs): New. Accumulate files
13226         for each language.
13227         (all_gtfiles_files_files): New. Accumulate language for each file
13228         accumulated.
13229         (gtfiles): Pick up value for C.
13230         (srcdir): AC-SUBST this variable.
13231         (all_gtfiles_files_langs): AC-SUBST this variable.
13232         (all_gtfiles_files_files): AC-SUBST this variable.
13233
13234         * configure: Regenerate.
13235
13236         * gengtype-lex.l (parse_file): Make parameter const.
13237
13238         * gengtype.c (toplevel): include gtyp-gen.h.
13239         (BASE_FILE_<language> unnamed enum): Delete.
13240         (lang_names): Delete (replaced by gtyp-gen.h)
13241         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
13242         all references.
13243         (NUM_GT_FILES): New.
13244         (NUM_LANG_FILES): New.
13245         (srcdir_len): New.
13246         (NUM_BASE_FILES): Change calculation.
13247         (open_base_files): Change prototype to avoid warning.
13248         (startswith): Delete.
13249         (get_file_basename): Iterate through generated language list not
13250         hard coded list.
13251         (get_base_file_bitmap): Use generated list of files and languages.
13252         (close_output_files): Add prototype to rmove warning.
13253         (main): Iterate through list of generated files from gtyp-gen.h
13254         rather than command line paramaters.  Ignore duplicated file
13255         names.
13256
13257         * gengtype.h (parse_file): Amend prototype for const parameter.
13258
13259         * doc/sourcebuild.texi: Document gtfiles variable.
13260
13261         * doc/gty.texi: Document changes to gtfiles variable for front
13262         ends.
13263
13264         * objc/config-lang.in (gtfiles): Add files needed for objc front
13265         end.
13266
13267 2002-07-10  Roger Sayle  <roger@eyesopen.com>
13268
13269         PR c/2454
13270         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
13271         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
13272
13273 2002-07-10  Roger Sayle  <roger@eyesopen.com>
13274             Zack Weinberg <zack@codesourcery.com>
13275
13276         * builtins.def: Make the argument types of abort and exit
13277         independent of the front-end.
13278
13279 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
13280
13281         * config/rs6000/linux64.h (ASM_SPEC): Define.
13282
13283 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
13284
13285         * config/rs6000/rs6000.c (emit_frame_save): New.
13286         (rs6000_frame_related): Replace reg2 before reg.
13287         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
13288         and eh_return registers.
13289
13290 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
13291
13292         Revert all patches for optimization of Complex .op. Real.
13293         * complex_part_zero_p: Remove
13294         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
13295         with x.
13296         * expand_cmplxdiv_wide: Ditto.
13297         * expand_binop: Ditto.
13298
13299 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13300
13301         * config/avr/avr.md: Fix two 0x80000000 constants to make them
13302         negative also on 64-bit hosts.
13303
13304         Default to -fno-reorder-blocks when optimizing for size.
13305         * config/avr/avr-protos.h (avr_optimization_options): Declare.
13306         * config/avr/avr.c (avr_optimization_options): New function.
13307         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
13308
13309         Optimize returning from simple functions.
13310         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
13311         * config/avr/avr.c (avr_simple_epilogue): New function.
13312         * config/avr/avr.md (return): New insn.
13313
13314 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
13315
13316         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
13317         HAS_INIT_SECTION to protection.
13318
13319 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
13320
13321         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
13322         deprecated.
13323
13324 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
13325
13326         * combine.c (gen_lowpart_for_combine): Handle vector modes.
13327         Supply non-VOID mode to simplify_gen_subreg.
13328
13329 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
13330
13331         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
13332
13333 2002-07-10  Jeffrey A Law  <law@redhat.com>
13334
13335         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
13336         as appropriate.
13337
13338         * mn10200.c (expand_epilogue): Fix test to determine which scratch
13339         register to use.
13340
13341 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
13342
13343         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
13344         Get mode from dest.
13345         If simplify_gen_subreg fails, try next equivalent.
13346
13347 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
13348
13349         * diagnostic.h: #include location.h
13350         (location_t): Move definition to..
13351         * location.h: ... here.  New file.
13352         * tree.h: #include location.h
13353         (DECL_SOURCE_LOCATION): New macro.
13354         (DECL_SOURCE_FILE): Use.
13355         (DECL_SOURCE_LINE): Likewise.
13356         (struct tree_decl): REplace filename and linenum with locus.
13357         * Makefile.in (TREE_H): add location.h
13358         (diagnostic.o): Depends on gt-location.h
13359         (gt-location.h): Depends on s-gtype
13360
13361 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
13362
13363         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
13364         TARGET_OS_CPP_BUILTINS.
13365         * config/rs6000/aix31.h: Likewise.
13366         * config/rs6000/aix41.h: Likewise.
13367         * config/rs6000/aix43.h: Likewise.
13368         * config/rs6000/aix51.h: Likewise.
13369         * config/rs6000/beos.h: Likewise.
13370         * config/rs6000/darwin.h: Likewise.
13371         * config/rs6000/eabi.h: Likewise.
13372         * config/rs6000/eabisim.h: Likewise.
13373         * config/rs6000/linux.h: Likewise.
13374         * config/rs6000/linux64.h: Likewise.
13375         * config/rs6000/lynx.h: Likewise.
13376         * config/rs6000/mach.h: Likewise.
13377         * config/rs6000/rtems.h: Likewise.
13378         * config/rs6000/sysv4.h: Likewise.
13379         * config/rs6000/vxppc.h: Likewise.
13380
13381 2002-07-09 Devang Patel <dpatel@apple.com>
13382         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
13383         Do not allow ObjC objects as a parameter type for Objective-C methods.
13384         My previous patch restricted  'struct' also.
13385
13386 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
13387
13388         * cpperror.c (cpp_error): Default to directive_line within
13389         directives here.
13390         * cppexp.c (cpp_interpret_integer): Only use traditional
13391         number semantics in directives.
13392         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
13393         (do_include_common): Similarly.
13394         * cpptrad.c (scan_out_logical_line): Implement accurate
13395         quoting of <> in #include.
13396         * doc/cpp.texi: Update.
13397
13398 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
13399                           J"orn Rennecke <joern.rennecke@superh.com>
13400
13401         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
13402         * sh.md (attribute issues): Replace with:
13403         (attribute pipe_model).  All users changed.
13404         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
13405         All users changed.
13406         (function units sh5issue, sh5fds): New.
13407         (attribute is_mac_media): New.
13408         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
13409         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
13410         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
13411         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
13412         (call_media, call_value_media, sibcall_media): Likewise.
13413         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
13414         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
13415         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
13416         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
13417         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
13418         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
13419         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
13420         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
13421         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
13422         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
13423         (truncdfsf2_media): Likewise.
13424         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
13425         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
13426
13427 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
13428
13429         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
13430         * sh.c (general_extend_operand, inqhi_operand): New functions.
13431         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
13432         alternatives using 'N' modifier.  Add type.
13433         (adddi3z_media): Likewise.  Enable generator function generation.
13434         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
13435         exact predicates / constraints.  Add type.
13436         (subsi3): Allow 0 for SHMEDIA.
13437         (udivsi3_i4_media): Use match_operand for input values
13438         rather than hard registers.
13439         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
13440         unnecessarily through hard registers.  Keep copies of pseudo
13441         registers outside of the libcall sequence.
13442         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
13443         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
13444         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
13445         (extendhidi2, extendqidi2): Likewise.
13446         (andsi3_compact): Name.
13447         (andcdi3): Enable generator function generation.
13448         (zero_extendhisi2, zero_extendqisi2): Rename to
13449         (zero_extendhisi2_compact, zero_extendqisi2_compact).
13450         (extendhisi2, extendqisi2): Rename to
13451         (extendhisi2_compact, extendqisi2_compact).
13452         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
13453         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
13454         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
13455         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
13456         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
13457         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
13458         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
13459         (shmedia32_initialize_trampoline_big): Likewise.
13460         (shmedia32_initialize_trampoline_little): Likewise.
13461         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
13462         (negdi2): Remove spurious T clobber.
13463         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
13464         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
13465         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
13466         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
13467         (ic_invalidate_line_media): Write back data cache before invalidating
13468         instruction cache.  Add type.
13469         (movsf_media): Sign-extend when the destination is a general
13470         purpose register.  Add type.
13471         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
13472         (casesi_worker_0+1): Only increment ref count for proper label.
13473         (casesi_worker_0+2): Likewise.
13474
13475 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
13476
13477         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
13478
13479 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
13480
13481         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
13482         from Pmode to ptr_mode.
13483         (get_exception_pointer): Ditto.
13484         (connect_post_landing_pads): Ditto.
13485         (dw2_build_landing_pads): Ditto.
13486
13487 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
13488         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
13489         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
13490         (handle_pragma_redefine_extname): Change to use new function.
13491
13492 2002-07-08  Roger Sayle  <roger@eyesopen.com>
13493
13494         * combine.c (combine_simplify_rtx): Add an explicit cast
13495         to avoid signed/unsigned comparison warning.
13496         (simplify_if_then_else): Likewise.
13497         (extended_count): Likewise.
13498         (simplify_shift_const): Likewise.
13499         (simplify_comparison): Likewise.
13500
13501 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
13502
13503         * config/mips/mips.md: Add imadd type.  Update scheduler description
13504         to use imadd as well as imul.
13505         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
13506         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
13507         (*mul_sub_si): Likewise for first alternative.  Change second
13508         alternative from imul to multi.
13509
13510 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
13511
13512         * c-common.c (c_common_post_options): Update prototype;
13513         don't init backends if preprocessing only.
13514         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
13515         * langhooks.h (struct lang_hooks): Update post_options to
13516         return a boolean.
13517         * toplev.c (parse_options_and_default_flags, do_compile,
13518         lang_independent_init): Update prototypes.  Allow the
13519         front end to specify that there is no need to initialize
13520         the back end.
13521         (general_init): Move call to hex_init here...
13522         (toplev_main): ...from here.  Pass flag for back end init
13523         suppression.
13524
13525 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
13526
13527         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
13528         (PREDICATE_CODES): Add entries for equality_comparison_operator,
13529         greater_comparison_operator and less_comparison_operator.
13530         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
13531         more operators.
13532         (equality_comparison_operator): New function.
13533         (greater_comparison_operator, less_comparison_operator): Likewise.
13534         * sh.md (beq_media_i): Disable generator function generation.
13535         Use match_operator to handle a whole class of comparisons.  Add
13536         modifier in output template to provide branch prediction.  Add type.
13537         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
13538         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
13539         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
13540         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
13541
13542 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
13543
13544         Emit MMIX function prologue and epilogue as rtl.
13545         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
13546         not unprototyped get_hard_reg_initial_val.
13547         ("call_value", "nonlocal_goto_receiver"): Ditto.
13548         ("return"): Make define_expand.  Move real insn to...
13549         ("*expanded_return"): New pattern.
13550         ("prologue", "epilogue"): New define_expands.
13551         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
13552         (struct machine_function): New member in_prologue.
13553         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
13554         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
13555         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
13556         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
13557         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
13558         (LOCAL_REGNO): Define.  Adjust comment.
13559         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
13560         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
13561         leaf_function_p.
13562         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
13563         the prologue.
13564         (mmix_target_asm_function_prologue): Make static.  Just mark that
13565         the prologue is being emitted.  Move guts to...
13566         (mmix_expand_prologue): New function.  Adjust for emitting
13567         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
13568         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
13569         \n.  Move guts to...
13570         (mmix_expand_epilogue): New function.  Adjust for emitting
13571         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
13572         (mmix_target_asm_function_end_prologue): Mark that the prologue
13573         has ended.
13574         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
13575         (mmix_conditional_register_usage): Improve comments.
13576         (mmix_local_regno): New function.
13577         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
13578         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
13579         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
13580         (mmix_get_hard_reg_initial_val): Ditto.
13581
13582 2002-07-06  Andreas Jaeger  <aj@suse.de>
13583
13584         * toplev.c (set_fast_math_flags): Don't use ISO C style function
13585         definitions.
13586         * gengtype.c (open_base_files): Likewise.
13587         (close_output_files): Likewise.
13588         * tracer.c (find_best_predecessor): Likewise.
13589         (find_best_successor): Likewise.
13590         (ignore_bb_p): Likewise.
13591
13592 2002-07-05  Roger Sayle  <roger@eyesopen.com>
13593
13594         PR c++/7099
13595         * builtin-attrs.def: Define new attribute lists for use in
13596         builtins.def.
13597         * builtins.def [DEF_BUILTIN]: Modify to take an additional
13598         ATTRS argument, an enumerated value defined in builtin-attrs.def
13599         that represents the attribute list for the builtins.  Modify
13600         all builtin functions to pass an appropriate attribute list.
13601         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
13602         their required noreturn attributes.
13603         * tree.h (enum_builtin_function): Ignore the additional parameter
13604         to DEF_BUILTIN.
13605         * builtins.c (built_in_names): Likewise.
13606         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
13607         argument with a tree representing the functions attribute list.
13608         Pass this "attrs" argument to builtin_function.  No longer handle
13609         the noreturn_p processing manually.
13610         (built_in_attributes): Move the definitions from builtin-attrs.def
13611         before c_common_nodes_and_builtins.
13612         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
13613         DEF_BUILTIN, passing it to both builtin_function and the changed
13614         builtin_function_2.
13615
13616         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
13617         __builtin__exit and __builtin__Exit.
13618
13619 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13620
13621         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
13622         QI mode registers in soft registers.
13623         ("zero_extendqihi2"): Do not take into account soft registers
13624         for register allocation (use '*' constraint).
13625
13626 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13627
13628         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
13629         it is dead.
13630         ("*ashrsi3"): Likewise.
13631         ("*lshrsi3"): Likewise.
13632
13633 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
13634
13635         * genautomata.c (output_max_insn_queue_index_def): Take latencies
13636         into account.
13637
13638 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13639
13640         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
13641         address computation and memory moves.
13642
13643 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
13644
13645         PR c++/6706
13646         * dwarfout.c (output_reg_number): Fix warning message.
13647         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
13648         before using it.
13649
13650 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13651
13652         * gcc/gcc.c (asm_debug): Move initialization ...
13653         (init_spec): ... here.
13654
13655 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
13656
13657         * c-parse.in (extdef): Append ';'.
13658         (old_style_parm_decls): Append ';'.
13659
13660 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
13661
13662         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
13663         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
13664         to gcc_cv_as_gstabs_flag.
13665         * configure: Rebuilt.
13666
13667 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
13668
13669         * ggc.h (ggc_add_root): Document as obsolete.
13670
13671 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
13672
13673         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
13674         (mshflo_w): Likewise.
13675
13676 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
13677
13678         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
13679         vector mode subregs of constants to finding integer mode
13680         subregs of constants.
13681         * cse.c (cse_insn): Use simplify_gen_subreg.
13682         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
13683         From a vector mode expression of different size than the
13684         target mode.
13685
13686 2002-07-03  Eric Christopher  <echristo@redhat.com>
13687
13688         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
13689         * config/mips/mips.h: Remove deprecated -m<processor> options
13690         and cc1_cpu_spec associated.
13691         (CONSTANT_ADDRESS_P): Fix last patch.
13692         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
13693         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
13694         sunge_sf): Remove.
13695
13696 2002-07-03  Stan Shebs  <shebs@apple.com>
13697
13698         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
13699         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
13700         (CPP_SPEC): Remove insertion of APPLE_CC definition.
13701
13702 2002-07-03  Roger Sayle  <roger@eyesopen.com>
13703
13704         * combine.c (struct_undo): Change types of recorded substitutions
13705         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
13706         (do_SUBST_INT): Change types of the substitution from unsigned int
13707         to int, to avoid compilation warning from SUBST_INT's only caller.
13708
13709         (make_extraction): Add cast to avoid compilation warning.
13710         (force_to_mode): Remove cast to avoid compilation warning.
13711
13712 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
13713             Jeff Law  <law@redhat.com>
13714
13715         * i386.md (length_immediate attribute): Fix typo.
13716         (length_address attribute): Likewise.
13717         (modrm attribute): Set it to 0 for immediate call instructions.
13718         (jcc_1 pattern): Set modrm attribute to 0.
13719         (jcc_2 pattern ): Likewise.
13720         (jump pattern): Likewise.
13721         (doloop_end_internal pattern): Explicitly set length.
13722         (leave pattern): Fix typo.
13723         (leave_rex64 pattern): Likewise.
13724
13725 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
13726
13727         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
13728         in FPR as preference.
13729         (fctiwz): Same.
13730         (floatdidf2, fix_truncdfdi2): Same.
13731         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
13732         (floatditf2): Same.
13733         (floatsitf2, fix_trunctfsi2): SImode in GPR.
13734         (ctrdi): Remove FPR alternative and splitter.
13735
13736 2002-07-03  Will Cohen  <wcohen@redhat.com>
13737
13738         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
13739
13740 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
13741
13742         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
13743         than UNITS_PER_WORD, unless this is little endian and the first unit
13744         in this word.  Let extract_bit_field decide how to load an element.
13745         Force arguments to matching mode.
13746         (expand_vector_unop): Likewise.
13747
13748         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
13749         consist of word_mode elements.
13750         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
13751         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
13752         (build_unary_op): Allow vector types for BIT_NOT_EPR.
13753         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
13754         CONST_VECTOR.
13755         * optabs.c (expand_vector_binop): Try to perform operation in
13756         smaller vector modes with same inner size.  Add handling of AND, IOR
13757         and XOR.  Reject expansion to inner-mode sized scalars when using
13758         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
13759         (expand_vector_unop): Try to perform operation in smaller vector
13760         modes with same inner size.  Add handling of one's complement.
13761         When there is no vector negate operation, try a vector subtract
13762         operation.  Use simplify_gen_subreg on constants.
13763         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
13764         constants into smaller vectors with same inner mode, and to
13765         integer CONST_DOUBLEs.
13766
13767 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13768
13769         * c-parse.in (parsing_iso_function_signature): New variable.
13770         (extdef_1): New, copied from...
13771         (extdef): ... here.  Reset parsing_iso_function_signature.
13772         (old_style_parm_decls):  Reset parsing_iso_function_signature.
13773         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
13774         Warn about ISO C style function definitions.
13775         (nested_function, notype_nested_function): Reset
13776         parsing_iso_function_signature.
13777         (parmlist_2): Set parsing_iso_function_signature.
13778
13779         * doc/invoke.texi (-Wtraditional): Document new behavior.
13780
13781 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
13782
13783         * config.gcc (mips*el-*-*): Use tm_defines to set
13784         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
13785         * config/mips/little.h: Remove.
13786
13787 2002-07-02 Devang Patel <dpatel@apple.com>
13788
13789         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
13790         object as parameter. Prevent something like 'NSObject' to be
13791         used as the type for a method argument.
13792
13793 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
13794
13795         * cpptrad.c: Update comment.
13796
13797 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
13798
13799         * doc/cpp.texi: Update for traditional preprocessing changes.
13800         * goc/cppopts.texi: Similarly.
13801
13802 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
13803
13804         * c-parse.in (designator): Enable designated initializers if ObjC.
13805         (objcmessageexpr): Remove references to objc_receiver_context.
13806         * objc/objc-act.h (objc_receiver_context): Remove decl.
13807         * objc/objc-act.c (objc_receiver_context): Remove.
13808         (lookup_objc_ivar): Test objc_method_context instead of
13809         objc_receiver_context.
13810
13811 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
13812
13813         * sh.c (print_operand, case 'N'): Allow zero vector.
13814         (arith_reg_or_0_operand): Likewise.
13815         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
13816         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
13817         IOR, XOR, PLUS and SET and take their respective constant
13818         ranges into account.
13819         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
13820         * sh.md (subdi3, subdi3_media): Allow zero operand.
13821         (movv8qi_i+3): Only vector that is not split is the zero vector.
13822         Fix operand 3 to simplify_subreg.
13823         (movv2si_i): Split alternative 1.
13824         (mshfhi_l_di_rev+1): New splitter.
13825
13826 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
13827
13828         PR preprocessor/7029
13829         * cppinit.c (cpp_handle_option):  Suppress warnings with an
13830         implicit "-w" for "-M" and "-MM".
13831         * doc/cppopts.texi: Update.
13832
13833 2002-07-01  Roger Sayle  <roger@eyesopen.com>
13834
13835         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
13836         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
13837         builtin_function.
13838
13839 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
13840
13841         * README.Portability: Fix typos.
13842
13843 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
13844
13845         PR target/7177
13846         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
13847         of indirections for register inside sign-extended mem part.
13848
13849 2002-07-01  Roger Sayle  <roger@eyesopen.com>
13850
13851         * tree.h:  Modify builtin_function interface to take an extra
13852         argument ATTRS, which is a tree representing an attribute list.
13853
13854         * c-decl.c (builtin_function): Accept additional parameter.
13855         * objc/objc-act.c (builtin_function): Likewise.
13856         * f/com.c (builtin_function): Likewise.
13857         * java/decl.c (builtin_function): Likewise.
13858         * ada/utils.c (builtin_function): Likewise.
13859         * cp/decl.c (builtin_function): Likewise.
13860         (builtin_function_1): Likewise.
13861
13862         * c-common.c (c_common_nodes_and_builtins): Pass an additional
13863         NULL_TREE argument to builtin_function.  (builtin_function_2):
13864         Likewise.
13865         * cp/call.c (build_java_interface_fn_ref): Likewise.
13866         * objc/objc-act.c (synth_module_prologue): Likewise.
13867         * java/decl.c (java_init_decl_processing): Likewise.
13868         * f/com.c (ffe_com_init_0): Likewise.
13869
13870         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
13871         NULL_TREE argument to builtin_function.
13872         * config/arm/arm.c (def_builtin): Likewise.
13873         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
13874         * config/i386/i386.c (def_builtin): Likewise.
13875         * config/ia64/ia64.c (def_builtin): Likewise.
13876         * config/rs6000/rs6000.c (def_builtin): Likewise.
13877
13878 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
13879
13880         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
13881         * config/mips/t-isa3264: Likewise.
13882         * config/mmix/t-mmix: Likewise.
13883
13884 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13885
13886         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
13887
13888 2002-07-01  Roger Sayle  <roger@eyesopen.com>
13889
13890         PR opt/4046
13891         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
13892         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
13893         B are truth values.
13894
13895 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
13896
13897         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
13898
13899 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
13900
13901         * README.Portability (Function prototypes): Give an example of
13902         declaring and defining a function with no arguments.
13903
13904         * README.Portability (Function prototypes): Document new
13905         variable-argument function macros.
13906
13907 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
13908
13909         * sh.c (langhooks.h): Include.
13910         (sh_init_builtins, sh_media_init_builtins): New functions.
13911         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
13912         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
13913         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
13914         (builtin_description): New struct tag.
13915         (signature_args, bdesc): New arrays.
13916         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
13917         (print_operand): Add 'N' modifier.
13918         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
13919         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
13920         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
13921         (CONST_COSTS): Add special case for SHmedia AND.
13922         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
13923         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
13924         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
13925         target_operand can also be const or unspec.
13926         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
13927         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
13928         (attribute type): Add new types.
13929         (anddi3): Add splitter.
13930         (movdi_const_16bit+1): Add code to handle vector constants and
13931         bitmasks efficiently.
13932         (shori_media): Have generator function made.
13933         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
13934         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
13935         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
13936         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
13937         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
13938         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
13939         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
13940         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
13941         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
13942         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
13943         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
13944         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
13945         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
13946         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
13947         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
13948         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
13949         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
13950         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
13951         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
13952         (ftrv): Likewise.
13953
13954         (fpu_switch+1, fpu_switch+2): Remove constraint.
13955
13956 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
13957
13958         * tree.c (build_function_type_list): Update function comment.
13959         Rename first argument to return_type.
13960
13961 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
13962
13963         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
13964         tradcif.y and related files.
13965
13966 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
13967
13968         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
13969
13970 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13971
13972         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
13973
13974 See ChangeLog.7 for earlier changes.