OSDN Git Service

* config/alpha/alpha.c (decl_has_samegp): New.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-12-20  Richard Henderson  <rth@redhat.com>
2
3         * config/alpha/alpha.c (decl_has_samegp): New.
4         (samegp_function_operand): Use it.  Rename from
5         current_file_function_operand.
6         (direct_call_operand): Handle -msmall-text via symbol->jump.
7         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
8         (tls_symbolic_operand_type): Likewise.
9         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
10         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
11         (alpha_end_function): Set symbol->jump for functions defined in
12         the text section.
13         * config/alpha/alpha-protos.h: Update.
14         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
15         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
16         (PREDICATE_CODES): Update.
17         * config/alpha/alpha.md (call patterns): Update for 
18         samegp_function_operand rename; use !samegp reloc if
19         TARGET_EXPLICIT_RELOCS.
20         * doc/invoke.text: Document -msmall-text and -mlarge-text.
21
22 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
23
24         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
25         all registers capable of holding a double float.
26         (*rcond): change name of "reverse branch" insns to
27         something more meaningful.
28         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
29         comparisons properly.
30         (*ffs): Change operand 0 from write to read-modify-write.
31         (*ffsssi2): Drop constraints from define_expand.
32
33         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
34         MOVE_RATIO as default for store operations.
35
36         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
37         LONG_REGS class.
38         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
39         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
40         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
41
42         * config/ns32k/STATUS: New File
43         * config/ns32k/NOTES: New file.
44
45 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
46         
47         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
48         option for S/390 and zSeries.
49         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
50         s390_arch_string): New variables.
51         (override_options): Checking for options and setting of 
52         appropriate target_flags, cpu and arch flags.
53         * config/s390/s390.h: (processor_type): New enum.
54         (TARGET_SWITCHES): New switches -mesa/zarch.
55         * config/s390/s390.md: New attribute 'cpu'.
56
57 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
58
59         * c-pretty-print.h: Fix comment typos.
60         * integrate.c: Likewise.
61         * varasm.c: Likewise.
62         * config/c4x/c4x.h: Likewise.
63         * config/c4x/c4x.md: Likewise.
64         * config/fr30/fr30.md: Likewise.
65         * config/frv/frv.c: Likewise.
66         * config/h8300/h8300.c: Likewise.
67         * config/i386/i386.c: Likewise.
68         * config/i386/i386.h: Likewise.
69         * config/ia64/ia64.c: Likewise.
70         * config/ia64/ia64.h: Likewise.
71         * config/ip2k/ip2k.md: Likewise.
72         * config/m68hc11/m68hc11-crt0.S: Likewise.
73         * config/m68hc11/m68hc11.h: Likewise.
74         * config/m68hc11/m68hc11.md: Likewise.
75         * config/m68hc11/m68hc12.h: Likewise.
76         * config/mcore/mcore.md: Likewise.
77         * config/mips/mips.c: Likewise.
78         * config/mips/mips.md: Likewise.
79         * config/mmix/mmix-modes.def: Likewise.
80         * config/pa/pa.c: Likewise.
81         * config/rs6000/rs6000.c: Likewise.
82         * config/rs6000/rs6000.h: Likewise.
83         * config/rs6000/rs6000.md: Likewise.
84
85 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
86
87         * config/h8300/h8300.md (output_a_shift): Clean up the code to
88         output shifts using rotation.
89
90 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
91
92         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
93
94 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
95
96         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
97         pointer.
98         (pushqi_h8300hs): Likewise.
99         (pushhi_h8300): Likewise.
100         (pushhi_h8300hs): Likewise.
101
102 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
103
104         * sched-rgn.c (init_regions): Update comment.
105
106 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
107
108         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
109         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
110         attributes.
111         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
112         (get_vrsave_internal,set_vrsave_internal): Same.
113         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
114         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
115         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
116
117 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
118             Danny Smith  <dannysmith@users.sourceforge.net>
119             Eric Kohl  <ekohl@rz-online.de>
120
121         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
122         attributes incompatible with fastcall attribute.
123         (ix86_handle_regparm_attribute): Likewise.
124
125         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
126         fastcall types.
127
128         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
129         attributes.
130         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
131         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
132         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
133         i386_pe_output_labelref rather than here.
134         (gen_fastcall_suffix): New function. Decorates a label name with the
135         fastcall prefix (@) and the stdcall suffix.
136         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
137         has a fastcall attribute.
138         (i386_pe_output_labelref): New function. Outputs a label reference.
139         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
140         valid attribute.
141         (ix86_return_pops_args): Fastcall functions pop the stack.
142         (init_cumulative_args): Reserve registers ECX and EDX if function has
143         fastcall attribute.
144         (function_arg): Use registers ECX and EDX if function has fastcall
145         attribute.
146         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
147         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
148         (FASTCALL_PREFIX): Define as '@'.
149         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
150         attributes.
151         * doc/extend.texi: Add documentation of fastcall attribute.
152
153 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
154
155         * configure.in: FORBUILD when build!=host changed from 
156         ../$build-alias to ../build-$build_alias to match change made
157         in top directory.
158         * configure: Regenerated.
159
160 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
161
162         PR optimization/8988
163         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
164         the biv when eliminating.
165
166 2002-12-19  Devang Patel  <dpatel@apple.com>
167         * gcc.c (struct default_compiler): Recognizes input file name with
168         .CPP extension as C++ source files
169         * cp/lang-spec.h: Same
170         * doc/invoke.texi:  Add documentation for .CPP support.
171         
172 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
173
174         PR 8553
175         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
176         registers.
177         ("absv16qi2"): Same.
178         ("absv4si2"): Same.
179         ("absv4sf2"): Same.
180         ("altivec_abss_v16qi"): Same.
181         ("altivec_abss_v8hi"): Same.
182         ("altivec_abss_v4si"): Same.
183
184 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
185
186         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
187         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
188
189 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
190
191         PR target/8340
192         * stmt.c (expand_asm_operands): Produce an error when
193         the PIC register is clobbered.
194
195 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
196
197         * Makefile.in (OBJS): Add alloc-pool.o
198         (alloc-pool.o): New object.
199
200         * alloc-pool.c: New file.
201         * alloc-pool.h: New file.
202
203 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
204
205         * gcc.c (validate_switches): Robustify against skipping past '\0'.
206
207 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
208
209         * config.gcc: Set extra_objs in the generic Darwin rule,
210         not in the machine-specific rules.
211
212 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
213
214         * ChangeLog: Follow spelling conventions.
215         * ChangeLog.2: Likewise.
216         * ChangeLog.4: Likewise.
217         * ChangeLog.5: Likewise.
218         * cppexp.c: Likewise.
219         * df.c: Likewise.
220         * gcov.c: Likewise.
221         * gengtype.c: Likewise.
222         * reload1.c: Likewise.
223         * sched-rgn.c: Likewise.
224         * stmt.c: Likewise.
225         * stor-layout.c: Likewise.
226         * timevar.c: Likewise.
227         * toplev.c: Likewise.
228         * tree.h: Likewise.
229         * varasm.c: Likewise.
230         * config/fr30/fr30.md: Likewise.
231         * config/i386/i386.c: Likewise.
232         * config/ia64/ia64.c: Likewise.
233         * config/pa/pa.c: Likewise.
234
235 2002-12-18  Roger Sayle  <roger@eyesopen.com>
236
237         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
238
239 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
240
241         PR 8551
242         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
243         macro.
244         (vec_cmplt C++ functions): Reverse arguments.
245
246 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
247
248         * config/rs6000/t-rs6000: Move contents to t-fprules,
249         add rules for dependencies of rs6000.o and to build rs6000-c.o
250         * config/rs6000/t-fprules: New file from t-rs6000.
251         * config/rs6000/t-beos: Remove soft-fp rules.
252         * config/rs6000/t-ppccomm: Likewise.
253         * config/rs6000/t-newas: Likewise.
254         * config/rs6000/t-rs6000-c-rule: Delete.
255         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
256         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
257         Create generic Darwin rules.
258
259         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
260
261 2002-12-18  Doug Evans  <dje@sebabeach.org>
262
263         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
264         and LIT_NAME_P.
265         (move_src_operand): Remove compile-time warning.
266         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
267
268 2002-12-18  Jason Merrill  <jason@redhat.com>
269
270         * unwind-dw2-fde.c (frame_downheap): Split out from...
271         (frame_heapsort): Here.
272
273 2002-12-17  Jason Merrill  <jason@redhat.com>
274
275         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
276         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
277
278         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
279
280         * calls.c (expand_call): Don't try to be clever about expanding
281         the return slot address.
282
283 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
284
285         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
286         Define.
287
288 2002-12-17  Jason Merrill  <jason@redhat.com>
289
290         * genmultilib: Use 'cd ./foo'.
291
292 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
293
294         * doc/c-tree.texi: Restore deliberate spelling mistakes.
295
296 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
297
298         * doc/c-tree.texi: Fix typos and follow spelling conventions.
299         * doc/cpp.texi: Likewise.
300         * doc/extend.texi: Likewise.
301         * doc/gty.texi: Likewise.
302         * doc/install.texi: Likewise.
303         * doc/invoke.texi: Likewise.
304         * doc/md.texi: Likewise.
305         * doc/passes.texi: Likewise.
306         * doc/rtl.texi: Likewise.
307         * doc/sourcebuild.texi: Likewise.
308         * doc/tm.texi: Likewise.
309
310 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
311
312         * doc/invoke.texi: Minor spelling and grammar fixes.
313
314 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
315
316         * config/s390/s390.c (s390_output_constant_pool): Replace
317         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
318
319 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
320
321         * convert.c (convert_to_real): Disable function transformation for
322         now.
323
324 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
325
326         * gcc.c (handle_braces): Allow '@' as a switch name.
327
328 2002-12-16  Jason Merrill  <jason@redhat.com>
329
330         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
331         with special struct-return ABIs.
332
333         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
334         doesn't match the begin SCOPE_STMT in partialness.
335
336 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
337
338         * genmultilib: Create temporary files in unique subdirectory.
339
340         * gcc.c (validate_switches): Allow '@' as a switch name.
341
342 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
343
344         * Makefile.in (gcov-iov.h): Improve portability.
345
346 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
347
348         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
349         gas
350         * mips.md (tablejump insn): Likewise.
351
352 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
353
354         * doc/include/gcc-common.texi: Change version number to 3.4.
355
356 2002-12-16  Bruce Korb  <bkorb@gnu.org>
357
358         * fixinc/fixlib.h: add: #include <signal.h>
359         * fixinc/fixincl.c: remove: #include <signal.h>
360
361 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
362
363         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
364         (EXTRA_CONSTRAINT): Use it.
365         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
366
367 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
368
369         * config.gcc (need_64bit_hwint): New variable.
370         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
371         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
372         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
373         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
374         Set it.
375         (powerpc*-*-darwin*): Unset it.
376         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
377         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
378         deleted/nonexistent xm-*.h headers.
379         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
380         target set need_64bit_hwint in config.gcc.
381         * configure, config.in: Regenerate.
382
383         * hwint.h: Overhaul.  Don't bother trying int for
384         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
385         decision to force 64-bit HOST_WIDE_INT on
386         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
387         not visible at this point.  Don't allow prior definition of
388         any macro defined by this file.
389
390         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
391         HOST_BITS_PER_WIDE_INT.
392         * config/c4x/c4x.h: Adjust redefinition of
393         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
394         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
395         config/i386/xm-i386-interix.h: Delete file.
396
397 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
398             John David Anglin  <dave@hiauly1.hia.nrc.ca>
399
400         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
401         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
402
403 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
404
405         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
406
407 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
408
409         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
410         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
411         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
412         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
413         config/v850/t-v850:  Correct dependencies and normalize
414         compilation commands for files that include coretypes.h and tm.h.
415
416         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
417         not config.h and system.h.
418
419 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
420
421         * i386.c (flags_reg_operand):  New function.
422         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
423         * i386.md (cmov splitter, movqicc): Use new predicate.
424
425 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
426
427         * i386.md (movqicc splitter): Fix template.
428
429 2002-12-13  Jason Merrill  <jason@redhat.com>
430
431         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
432         * calls.c (expand_call): Handle it.
433         * tree-inline.c (struct inline_data): Remove target_exprs field.
434         (optimize_inline_calls): Don't initialize it.
435         (expand_call_inline): Don't modify it.  Handle
436         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
437         (declare_return_variable): Take return slot addr.
438         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
439         to return_slot_addr.
440         * langhooks-def.h, langhooks.c: Adjust.
441         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
442         a decl with no DECL_INITIAL.
443
444         * expr.c (expand_expr): Don't discard the target of a call which
445         returns in memory.
446
447 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
448
449         * cppinit.c (path_include): Take an environment variable name.
450         Tidy up.
451         (init_standard_includes): Simplify environment handling, and
452         move to ...
453         (cpp_read_main_file): ...here as -nostdinc should not affect
454         environment variable paths.
455
456 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
457
458         * pa.c (output_millicode_call): Correct typo.
459         (output_call): Likewise.
460
461 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
462
463         * config/mn10300/mn10300.c (print_operand) <case N>: Check
464         operand's range.  Print value directly, without aid from
465         output_address.
466         <case U>: New.
467         <case S>: Make sure argument to fprintf has the right type.
468         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
469         (EXTRA_CONSTRAINT): Adjust.
470         * config/mn10300/mn10300.md: Add new all-QImode pattern for
471         bclr.  Use %U for immediate operands of bset and bclr.
472         (iorqi3): New expand, with insns for AM33 and mn10300.
473
474 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
475
476         * sh.c (sh_register_operand): New function.
477         (prepare_move_operands): Use it.
478         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
479         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
480         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
481         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
482         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
483         (movv2si_i): Likewise.
484
485 2002-12-13  Jim Wilson  <wilson@redhat.com>
486
487         * doc/extend.texi (Complex Numbers): Update info on debug info.
488
489 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
490
491         * config/h8300/h8300.md (addhi3_h8300): Remove the last
492         alternative.
493
494 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
495
496         * hooks.h (hook_tree_tree_bool_false): Declare
497         hook_bool_tree_tree_false instead.
498
499 2002-12-12  Devang Patel  <dpatel@apple.com>
500
501         * doc/invoke.texi: Document Darwin linker options, -bundle
502         -bind_at_load, -all_load and -arch_errors_fatal
503
504 2002-12-12  Jim Wilson  <wilson@redhat.com>
505
506         * dbxout.c (dbxout_fptype_value): New.
507         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
508
509 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
510
511         * c-decl.c: Fix a comment typo.
512         * cfg.c: Likewise.
513         * cfgcleanup.c: Likewise.
514         * cfglayout.c: Likewise.
515         * cfgrtl.c: Likewise.
516         * c-typeck.c: Likewise.
517         * dominance.c: Likewise.
518         * dwarf2asm.c: Likewise.
519         * dwarfout.c: Likewise.
520         * expmed.c: Likewise.
521         * expr.c: Likewise.
522         * final.c: Likewise.
523         * flow.c: Likewise.
524         * function.c: Likewise.
525         * gcc.c: Likewise.
526         * genautomata.c: Likewise.
527         * integrate.c: Likewise.
528         * loop.c: Likewise.
529         * loop.h: Likewise.
530         * output.h: Likewise.
531         * profile.c: Likewise.
532         * ra.h: Likewise.
533         * reload1.c: Likewise.
534         * reload.c: Likewise.
535         * sched-rgn.c: Likewise.
536         * stmt.c: Likewise.
537         * tree.h: Likewise.
538         * vmsdbgout.c: Likewise.
539
540 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
541
542         * config/h8300/h8300.md: Add a new peephole2.
543
544 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
545
546         * config/h8300/h8300.md (a peephole2): Accept a constant
547         that's accepted by CONST_OK_FOR_J.
548
549 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
550
551         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
552         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
553         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
554         (*addhi_h8300hs): Likewise.
555
556 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
557
558         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
559         (sh_register_move_cost): Add clause for SImode fp-fp moves.
560         Increase cost for moves involving multiple general purpose registers.
561         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
562         TARGET_FMOVD.
563         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
564         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
565         (enum reg_class reg_class_from_letter): No longer const.
566         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
567         REGCLASS_HAS_GENERAL_REG.
568         Handle SImode moves from/to fp registers.
569         ! TARGET_SHMEDIA && TARGET_FMOVD.
570         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
571         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
572
573 2002-12-12  Andreas Schwab  <schwab@suse.de>
574
575         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
576         change and some warnings.
577
578 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
579
580         * doc/md.texi (pushm): Fix a typo.
581
582 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
583
584         * config/mips/mips.c (mips_output_conditional_branch): Support
585         PIC-safe out-of-range branch and branch-likely.
586         * config/mips/mips.md (attr length): PIC-safe out-of-range
587         branches are longer.
588         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
589         unused code to support indirect jumps.
590
591 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
592
593         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
594         $(tm_file_list).
595
596 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
597
598         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
599
600 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
601
602         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
603
604 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
605
606         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
607         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
608         BIGGEST_ALIGNMENT.
609         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
610         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
611
612 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
613
614         * doc/invoke.texi: Correct dump file names.
615
616 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
617
618         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
619         name to globalize_label or assemble_name.
620
621 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
622
623         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
624         if not TARGET_SHMEDIA.
625
626 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
627
628         * sh.h (REG_CLASS_HAS_FP_REG): New.
629         (REGISTER_MOVE_COST) Use it.  Put body into a function and
630         move it into:
631         * sh.c (sh_register_move_cost).
632         * sh-protos.h (sh_register_move_cost): Declare.
633
634         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
635         (sh_adjust_cost): Always return a value.
636
637 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
638
639         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
640         (REGISTER_MOVE_COST): Use it.
641
642 2002-12-11  Richard Henderson  <rth@redhat.com>
643
644         * tree.h (MODULE_LOCAL_P): Kill.
645         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
646
647 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
648
649         * config/h8300/h8300.md (two define_peephole2): New.
650
651 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
652
653         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
654         (CONST_OK_FOR_K): Likewise.
655         (CONST_OK_FOR_M): Likewise.
656         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
657
658 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
659
660         * c-common.c (builtin_define_type_max): Handle unsigned
661         types too.
662
663 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
664
665         * haifa-sched.c (rank_for_schedule): Correct style.
666
667 2002-12-10  Per Bothner  <pbothner@apple.com>
668
669         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
670         directive_index into an unsigned field and a new is_directive field.
671         * cppinit.c (mark_named_operators):  Update to set new fields.
672         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
673         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
674         No longer need to subtract 1 from directive_index.
675         (_cpp_init_directives):  No longer need to add 1 to directive_index.
676         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
677
678 2002-12-10  Roger Sayle  <roger@eyesopen.com>
679
680         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
681         check for evaluating sqrt of a constant at compile time.
682         * simplify-rtx.c (simplify_unary_operation): Likewise.
683
684 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
685
686         PR other/8882
687         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
688
689 2002-12-10  Devang Patel  <dpatel@appple.com>
690
691         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
692         * doc/invoke.texi: Add new "Darwin Options" section.
693
694 2002-12-10  Jim Wilson  <wilson@redhat.com>
695
696         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
697         memory.
698
699 2002-12-10  Andrew Haley  <aph@redhat.com>
700
701         * cse.c (cse_insn): Don't cse past a basic block boundary.
702
703 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
704
705         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
706         -shared.
707         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
708         * config/alpha/linux.h (LIB_SPEC): Likewise.
709         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
710         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
711         * config/sparc/linux.h (LIB_SPEC): Likewise.
712         * config/sparc/linux64.h (LIB_SPEC): Likewise.
713
714 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
715
716         * doc/invoke.texi: Document UltraSparc III option.
717
718 2002-12-09  Richard Henderson  <rth@redhat.com>
719
720         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
721         __tune_pentium2__ and __tune_pentium3__ as necessary.
722
723 2002-12-09  Richard Henderson  <rth@redhat.com>
724
725         * target.h (gcc_target): Add cannot_force_const_mem.
726         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
727         (TARGET_INITIALIZER): Add it.
728         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
729         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
730         * reload1.c (reload): Likewise.
731         * hooks.c (hook_bool_rtx_false): New.
732         * hooks.h: Declare it.
733
734         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
735         (TARGET_CANNOT_FORCE_CONST_MEM): New.
736         (ix86_expand_move): Remove de-const-pooling hack.
737
738 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
739
740         * toplev.c (dump_file): Fix order to match reality.
741
742 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
743
744         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
745         (store_multiple): Likewise.
746
747 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
748
749         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
750         function pointers in page 0.
751
752 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
753
754         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
755         definition
756         (MEMBER_TYPE_FORCES_BLK): Move.
757         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
758         aggregate arguments.
759         (ia64_function_value): Use PARALLEL to return aggregate values.
760
761 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
762
763         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
764         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
765         * calls.c (store_unaligned_arguments_into_pseudos) Remove
766         FUNCTION_ARG_REG_LITTLE_ENDIAN.
767         * stmt.c (expand_return): Ditto.
768         * expr.c (move_block_from_reg): Ditto.
769         (copy_blkmode_from_reg): Ditto.
770         * expmed.c (store_bit_field): Ditto.
771
772 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
773
774         * config.gcc: Added tic4x-* target as an alias to c4x-*
775
776 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
777
778         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
779         constructing insn directly.
780
781 2002-12-06  Per Bothner  <pbothner@apple.com>
782
783         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
784         char to an int bit-field, for hosts where char is unsigned.
785
786 2002-12-07  Roger Sayle  <roger@eyesopen.com>
787             Richard Henderson <rth@redhat.com>
788
789         * real.c (ieee_extended_motorola_format,
790         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
791         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
792         Provide appropriate values for new signbit field.
793
794 2002-12-07  Roger Sayle  <roger@eyesopen.com>
795
796         * real.h (real_format): Add signbit field.
797         * real.c (ieee_single_format, ieee_double_format,
798         ieee_extended_motorola_format, ieee_extended_intel_96_format,
799         ieee_extended_intel_128_format, ibm_extended_format,
800         ieee_quad_format, vax_f_format, vax_d_format,
801         vax_g_format, i370_single_format, i370_double_format,
802         c4x_single_format, c4x_extended_format, real_internal_format):
803         Provide suitable signbit value, or -1 to avoid bit twiddling.
804
805         * optabs.c (expand_unop): Try implementing negation of
806         floating point modes by flipping the sign bit.
807         (expand_abs): Try implementing abs of floating point modes
808         by clearing the sign bit.
809
810 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
811
812         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
813         of constructing insn directly.
814
815 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
816
817         * config/h8300/h8300.md (*iorhi_shift_8): New.
818
819 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
820
821         * doc/invoke.texi: Document FRV port options.
822         * doc/md.texi: Document FRV register classes.
823
824 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
825
826         * doc/install.texi (Configuration): Improve description of cases
827         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
828
829 2002-12-06  Per Bothner  <pbothner@apple.com>
830
831         * cpplib.h (NODE_MACRO_ARG):  New flag.
832         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
833         Remove value.operator field.  Move arg_index field to value union.
834         (directive_index):  Make signed, since also used for C++ operators.
835         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
836         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
837         Save node->value, and set node->value.arg_index.
838         (_cpp_create_definition):  For each paramater, restore node->value.
839         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
840         * cpptrad.c (scan_out_logical_line): Likewise.
841         (scan_out_logical_line): Check for directive > 0.
842         * cpplib.c (cpp_handle_directive):  Likewise.
843         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
844         by negative of directive_index.
845         * cppinit.c (mark_named_operators):  Likewise.
846
847         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
848
849 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
850
851         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
852         FPU.
853         (push): Generate push_fpscr.
854         (pop): Generate pop_fpscr.
855         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
856         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
857
858 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
859
860         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
861         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
862
863 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
864
865         * sh.md (movdi_i): Name.  Remove inappropriate comment.
866
867 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
868         Merged from basic improvements branch (excerpt):
869
870         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
871         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
872
873 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
874
875         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
876
877 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
878
879         * i386.md (dimode peep2s): Re-add "&& 1".
880
881 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
882
883         * i386.c (ix86_expand_prologue):  Add comment, do not use
884         fast prologues for cold and normal functions.
885
886 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
887
888         * i386.c (x86_rep_movl_optimal): New variable.
889         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
890         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
891
892         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
893         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
894         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
895         generate unnecesary subregs.
896
897 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
898
899         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
900         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
901
902 2002-12-05  Dale Johannesen  <dalej@apple.com>
903
904         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
905
906 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
907
908         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
909         PROFILE_HOOK.
910         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
911
912 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
913
914         * config/rs6000/spe.h (__ev_mwlufi): Remove.
915         (__ev_mwlufia): Remove.
916         (__ev_mwlumfaaw): Remove.
917         (__ev_mwlusfaaw): Remove.
918         (__ev_mwlumfanw): Remove.
919         (__ev_mwlusfanw): Remove.
920
921 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
922
923         * config/h8300/h8300.md (*andorsi3_shift_8): New.
924
925 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
926
927         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
928         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
929         (get_shift_alg): Return optimal assembly instructions for the
930         shifts mentioned above.
931
932 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
933
934         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
935         condtiional moves.
936
937 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
938
939         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
940         implement ashiftrt:HI by 13 bits on H8S.
941
942 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
943
944         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
945         * pa.md (canonicalize_funcptr_for_compare): Output library call to
946         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
947         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
948         CTOR_LIST_BEGIN): New defines.
949         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
950         (fptr.c): Add make rules.
951
952 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
953
954         * combine.c (combine_simplify_rtx): Add new canonicalizations.
955         * doc/md.texi (Insn Canonicalizations): Document new
956         canonicalizations for multiply/add combinations.
957         * config/rs6000/rs6000.md: Add and modify floating add/multiply
958         patterns to ensure they're used whenever they can be.
959
960 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
961
962         * config/h8300/h8300.c: Update the comments related to shifts.
963
964 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
965
966         * config/mips/mips.md (get_fnaddr): Correct length attribute.
967
968 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
969
970         * config/h8300/h8300.md (*extzv_8_8): New.
971         (*extzv_8_16): Likewise.
972
973 2002-12-04  Jason Merrill  <jason@redhat.com>
974
975         PR c++/8461, c++/8625
976         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
977         references.
978         * tree-inline.c (initialize_inlined_parameters): Likewise.
979
980         * tree.c (variably_modified_type_p): Just return an error_mark_node.
981
982 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
983
984         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
985         macro instruction in a branch delay slot, to avoid assembler
986         warnings.
987
988 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
989
990         PR c/7622
991         * c-semantics (genrtl_scope_stmt): Do not output inlined
992         nested functions that contain no code.
993
994 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
995
996         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
997         to be forced into nonfallthru.
998
999 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
1000
1001         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
1002
1003 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
1004
1005         * config/rs6000/spe.md (*movv1di_const0): New pattern.
1006
1007 2002-12-03  Richard Henderson  <rth@redhat.com>
1008
1009         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
1010
1011 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
1012
1013         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
1014         Initialize tmp.using_obstack to 0.
1015
1016 2002-12-03  Andreas Schwab  <schwab@suse.de>
1017
1018         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
1019         (EH_RETURN_STACKADJ_RTX): Define.
1020         (EH_RETURN_HANDLER_RTX): Define.
1021         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1022         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
1023         registers and don't save fixed registers.
1024         (m68k_output_function_prologue): Use it.
1025         (use_return_insn): Likewise.
1026         (m68k_output_function_epilogue): Likewise.
1027
1028 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
1029
1030         * config/h8300/h8300.c (single_one_operand): Fix a warning.
1031         (single_zero_operand): Likewise.
1032
1033 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
1034
1035         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
1036         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
1037         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
1038         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
1039         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
1040         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
1041         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
1042         doc/install-old.texi: Replace hconfig.h with bconfig.h.
1043         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
1044
1045 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
1046
1047         * config/rs6000/rs6000.md (ffssi): Convert to expander.
1048         (ffsdi): Likewise.
1049         (cntlzw2, cntlzd2): New patterns.
1050
1051 2002-12-02  H.J. Lu <hjl@gnu.org>
1052
1053         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
1054         (mips*-*-linux*): Remove mips/t-linux.
1055
1056 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
1057
1058         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
1059
1060 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1061
1062         * config/h8300/h8300.c (dosize): Replace argument op with
1063         sign.
1064         (h8300_output_function_prologue): Update the call to dosize.
1065         (h8300_output_function_epilogue): Likewise.
1066
1067 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
1068
1069         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
1070
1071 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1072
1073         * configure.in: Use "missing" script to generate warning if
1074         flex or bison programs not found, instead of invoking "false".
1075         * configure: Rebuilt.
1076
1077 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
1078
1079         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
1080
1081 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
1082
1083         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
1084
1085 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1086
1087         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
1088         (push): Likewise.
1089         (pop): Likewise.
1090         (h8300_output_function_prologue): Likewise.
1091         (h8300_output_function_epilogue): Likewise.
1092
1093 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
1094
1095         * expmed.c (store_bit_field): Use int_mode_for_mode to find
1096         corresponding mode of non-integer mode, unless it is VOIDmode.
1097
1098 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1099
1100         * config/h8300/h8300.md (stm_h8300s_2): New.
1101         (stm_h8300s_3): Likewise.
1102         (stm_h8300s_4): Likewise.
1103         (five define_peephole2): Likewise.
1104
1105 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1106
1107         * ra-build.c: Fix a comment typo.
1108
1109 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1110
1111         * i386.c (ix86_expand_int_movcc): fix
1112         reversed BRANCH_COST test; be curefull about infinite recursion.
1113
1114 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
1115
1116         * config/h8300/h8300.c (h8300_output_function_prologue):
1117         Remove variable idx.
1118         (h8300_output_function_epilogue): Likewise.
1119
1120 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
1121
1122         * config/frv/xm-frv.h: Delete, unnecessary.
1123
1124 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
1125
1126         * config/h8300/h8300.md: Add comments for define_peephole2.
1127
1128 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
1129
1130         * builtin-types.def (BT_SIZE): Use size_type_node.
1131         * builtins.c (fold_builtin): Make the builtin strlen returns a
1132         size_t, not a sizetype.
1133         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
1134         c_size_type_node.
1135         (c_alignof_expr): Likewise.
1136         (c_common_nodes_and_builtins): Likewise.
1137         * c-common.h (CTI_C_SIZE_TYPE): Remove.
1138         (c_size_type_node): Likewise.
1139         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
1140         * tree.h (TI_SIZE_TYPE): New enumeral.
1141         (size_type_node): Likewise.
1142
1143 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
1144
1145         * configure.in: Don't put ${tm_file} into host_xm_file,
1146         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
1147         Take location of tm-preds.h into account when calculating
1148         tm_p_file_list.
1149         * configure: Regenerate.
1150         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
1151         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
1152         Remove special case code for tm_p.h and *config.h; add new
1153         special case code for tm.h and tconfig.h. Clean up a bit.
1154
1155         * Makefile.in (tm_file, tm_file_list): New variables set from
1156         @-substitutions.
1157         (GCONFIG_H): Deleted.
1158         (GTM_H, TM_H): New.
1159         (CONFIG_H): Is now just config.h $(host_xm_file_list).
1160         (TM_P_H): Move up with the other mkconfig.sh-generated
1161         headers; don't mention tm-preds.h explicitly.
1162         (tm.h, cs-tm.h): New rule.
1163         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
1164         invocations of mkconfig.sh for changes to that program.
1165         (mostlyclean): Delete print-rtl1.c.
1166         (clean): Delete tm.h.
1167         Update dependencies for the files listed below.
1168
1169         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
1170
1171         * coretypes.h: New file.
1172         * system.h: #define malloc to xmalloc and realloc to xrealloc
1173         when FLEX_SCANNER or YYBISON is defined, independent of the
1174         value of GCC_VERSION.
1175         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
1176         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
1177         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
1178         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
1179         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
1180         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
1181         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
1182         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
1183         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
1184         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
1185         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
1186         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
1187         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
1188         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
1189         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
1190         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
1191         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
1192         genconstants.c, genemit.c, genextract.c, genflags.c,
1193         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
1194         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
1195         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
1196         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
1197         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
1198         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
1199         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
1200         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
1201         print-tree.c, profile.c, protoize.c, ra-build.c,
1202         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
1203         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
1204         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
1205         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
1206         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
1207         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
1208         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
1209         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
1210         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
1211         xcoffout.c, config/darwin-c.c, config/darwin.c,
1212         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
1213         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
1214         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
1215         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
1216         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
1217         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
1218         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
1219         config/i960/i960-c.c, config/i960/i960.c,
1220         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
1221         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
1222         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
1223         config/mips/irix6-libc-compat.c, config/mips/mips.c,
1224         config/mmix/mmix.c, config/mn10200/mn10200.c,
1225         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
1226         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
1227         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
1228         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
1229         config/sparc/sparc.c, config/stormy16/stormy16.c,
1230         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
1231         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
1232         Include coretypes.h and tm.h.
1233
1234         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
1235         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
1236         genrecog.c: Include coretypes.h and tm.h from the file
1237         generated by this program.
1238
1239         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
1240         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
1241         coretypes.h and tm.h, and tsystem.h when not already included.
1242         No need to include stddef.h nor stdlib.h.
1243
1244         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
1245         include auto-host.h or ansidecl.h/
1246         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
1247         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
1248         include auto-host.h, ansidecl.h, or system.h.
1249         * fixinc/server.c: Likewise.  Also, do not include signal.h,
1250         and do not redefine volatile.
1251
1252 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
1253
1254         * i386.md (movdf_integer):  Always enable in 64bit.
1255         (movdf_nointeger): Always disable in 64bit.
1256
1257 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1258
1259         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
1260         pseudo register number plus 1.
1261
1262 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
1263
1264         * expmed.c (store_bit_field): Use int_mode_for_mode to find
1265         corresponding mode of non-integer mode, unless it is VOIDmode.
1266
1267 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
1268
1269         * cpplib.c (_cpp_test_assertion): Default *value to 0.
1270
1271         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
1272
1273 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
1274
1275         * config/s390/t-crtstuff: New target makefile fragment.
1276         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
1277
1278 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1279
1280         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
1281         alternatives to correct the length when the memory operand is
1282         either pre_dec or post_inc.
1283
1284 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1285
1286         * config/h8300/h8300.md (an anonymous pattern): Give an
1287         internal name *tst_extzv_bitqi_1_n.
1288         Accept bit_operand instead of bit_memory_operand.
1289         Do not accept bit tests with the MSB.
1290         (*tst_extzv_memqi_1_n): New.
1291
1292 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
1293
1294         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
1295         sharing when operand is SUBREG.
1296
1297 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
1298
1299         * athlon.md (athlon-decodev): New reservation unit.
1300         (athlon-direct0): New reservation.
1301         (athlon-vector): New use athlon-decodev.
1302         (athlon-double, athlon-direct): Better model.
1303         (athlon_imul_k8): Use athlon-direct0.
1304         (athlon_movlpd_load): New insn reservation.
1305
1306 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1307
1308         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
1309         Fix a comment typo.
1310         (h8300_tiny_constant_address_p): Likewise.
1311
1312 2002-11-28  Michael Matz  <matz@suse.de>
1313
1314         * doc/passes.texi: Mention the other register allocator.
1315
1316 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1317
1318         * config/h8300/h8300.md (6 new peephole2 patterns): New.
1319
1320 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
1321
1322         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
1323         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
1324         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
1325
1326 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1327
1328         * config/h8300/h8300.c (h8300_and_costs): New.
1329         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
1330         * config/h8300/h8300-protos.h: Add a prototype for
1331         h8300_and_costs.
1332
1333 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
1334
1335         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
1336         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
1337         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
1338         * i386.md (truncdfsf patterns and splitters): Use
1339         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
1340
1341 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
1342
1343         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
1344         pointer argument in the prototypes of the following builtins
1345         be (const TYPE *) rather than (TYPE *):
1346          + __builtin_altivec_ld_internal_4sf
1347          + __builtin_altivec_ld_internal_4si
1348          + __builtin_altivec_ld_internal_8hi
1349          + __builtin_altivec_ld_internal_16qi
1350          + __builtin_altivec_lvsl
1351          + __builtin_altivec_lvsr
1352          + __builtin_altivec_lvebx
1353          + __builtin_altivec_lvehx
1354          + __builtin_altivec_lvewx
1355          + __builtin_altivec_lvxl
1356          + __builtin_altivec_lvx
1357          + __builtin_altivec_dst
1358          + __builtin_altivec_dstt
1359          + __builtin_altivec_dstst
1360          + __builtin_altivec_dststt
1361
1362 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1363
1364         * except.c (default_exception_section): Move variable into the
1365         scope where it is used.
1366
1367 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
1368
1369         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
1370         correct version.
1371
1372 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1373
1374         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
1375
1376 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1377
1378         * config/h8300/h8300.c (h8300_shift_costs): New.
1379         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
1380         * config/h8300/h8300-protos.h: Add a prototype for
1381         h8300_shift_costs.
1382
1383 2002-11-27  Jim Wilson  <wilson@redhat.com>
1384
1385         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
1386         in output template.
1387
1388 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
1389
1390         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
1391         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
1392         DLL_IMPORT_EXPORT_PREFIX, not '@'.
1393         (i386_pe_dllimport_name_p): Likewise.
1394         (i386_pe_mark_dllexport): Likewise.
1395         (i386_pe_mark_dllimport): Likewise.
1396         (i386_pe_encode_section_info): Likewise.
1397         (i386_pe_strip_name_encoding): Likewise.
1398
1399 2002-11-27  Richard Henderson  <rth@redhat.com>
1400
1401         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
1402         (nm && NF == 3): Set sawsymbol true.
1403         (END): Exit if no symbols seen.
1404         (output): Fix map syntax error if no globals for the version.
1405
1406 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
1407
1408         * builtins.def (DEF_C99_BUILTIN): Fix.
1409
1410 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
1411
1412         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
1413         (all): Add .size and .type information.
1414
1415 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
1416
1417         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
1418         partial_reg_stall target.
1419
1420 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1421
1422         * i386.md (movhicc): Allow general operand.
1423         (movqicc): New expander.
1424         (movqicc_noc): New pattern.
1425         * i386.c (ix86_expand_carry_flag_compare): New function.
1426         (ix86_expand_int_movcc): Optimize harder using sbb; support more
1427         HImode conversion; support QImode conditional moves
1428
1429 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
1430
1431         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
1432         (ix86_expand_prologue): Multiply the count by amount of registers to be
1433         pushed.
1434
1435 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
1436
1437         * i386.c (override_options): Error about wrong -mcpu on x86-64
1438         compilation.
1439
1440 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
1441
1442         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
1443
1444 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
1445
1446         * i386-protos.h (x86_extended_QIreg_mentioned_p,
1447         x86_extended_reg_mentioned_p): Declare.
1448         * i386.c (extended_reg_mentioned_1): New static function.
1449         (x86_extended_QIreg_mentioned_p,
1450         x86_extended_reg_mentioned_p): New global functions.
1451         * i386.h (REX_SSE_REGNO_P): New macro.
1452         * i386.md (prefix_rex): New attribute.
1453         (length attribute): Add rex.
1454
1455 2002-11-26  Andrew Haley  <aph@redhat.com>
1456
1457         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
1458         from_Unwind_Find_Enclosing_Function.
1459         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
1460         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
1461         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
1462         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
1463         * unwind.h (_Unwind_FindEnclosingFunction): Add.
1464
1465 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1466
1467         * config/s390/s390.c (390_output_constant_pool): Set alignment
1468         before label in 64 bit mode, behind otherwise.
1469
1470 2002-11-26  Richard Henderson  <rth@redhat.com>
1471
1472         * c-common.c (handle_visibility_attribute): Accept "default".
1473         * tree.h (enum symbol_visibility): New.
1474         (decl_visibility): Declare.
1475         * target.h (gcc_target.visibility): Take visibility arg as integer.
1476         * varasm.c (default_assemble_visibility): Likewise.
1477         (decl_visibility): New.
1478         (maybe_assemble_visibility): Use it.
1479         * output.h (default_assemble_visibility): Update prototype.
1480         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
1481         visibility arg as integer.
1482         * doc/extend.texi: Document default visibility.
1483
1484 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
1485
1486         * config/h8300/h8300.c: Adjust spacing.
1487         * config/h8300/h8300.h: Likewise.
1488
1489 2002-11-26  Richard Henderson  <rth@redhat.com>
1490
1491         * hooks.c (hook_bool_void_false, hook_void_tree_int,
1492         hook_void_FILEptr_constcharptr): Rename so that the return
1493         type is first.
1494         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
1495         hook_bool_tree_false): New.
1496         * hooks.h: Update.
1497         * langhooks-def.h: Update for renames.
1498         * target-def.h: Likewise.
1499         * tree.c (default_comp_type_attributes,
1500         default_set_default_type_attributes, default_insert_attributes,
1501         default_function_attribute_inlinable_p,
1502         default_ms_bitfield_layout_p): Remove.
1503         * tree.h: Update.
1504
1505 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1506
1507         * pa-protos.h (function_value): New prototype.
1508         * pa.c (function_value): Use a PARALLEL to return small aggregates on
1509         TARGET_64BIT.
1510         * pa.h (FUNCTION_VALUE): Use function_value.
1511         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
1512         call_value_internal_reg, sibcall_value_internal_symref,
1513         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
1514         value.
1515
1516 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1517
1518         * expr.c (gen_group_rtx, emit_group_move): New functions.
1519         * expr.h (gen_group_rtx, emit_group_move): Prototype.
1520         * function.c (expand_function_start): Use gen_group_rtx to create a
1521         PARALLEL rtx to hold the return value when the real return rtx is a
1522         PARALLEL.
1523         (expand_function_end): Use emit_group_move to move the return value
1524         from a PARALLEL to the real return registers.
1525         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
1526         in PARALLELs.
1527
1528 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1529
1530         * config/t-libc-ok: Fix typo.
1531
1532 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1533
1534         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
1535         before AC_PROG_CC.
1536         * configure: Rebuilt.
1537
1538 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
1539
1540         * c-decl.c: (start_struct): Commonize flag setting.
1541
1542 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1543
1544         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
1545         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
1546         RS6000_CPU_CPP_ENDIAN_BUILTINS.
1547         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
1548
1549 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1550
1551         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
1552         insns.
1553         * config/s390/s390.c (struct machine_function): Introduction of
1554         struct machine_function.
1555         (s390_output_symbolic_const): Use of cfun.
1556         (s390_optimize_prolog): Likewise.
1557         (s390_fixup_clobbered_return_reg): Likewise.
1558         (s390_frame_info): Likewise.
1559         (s390_emit_prologue, s390_emit_epilogue): Likewise.
1560         (s390_init_machine_status): New function.
1561         (override_options): call s390_init_machine_status.
1562         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
1563         prototype.
1564
1565 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1566
1567         * varasm.c (output_constant_pool): For pool constants in mergeable
1568         section ensure each constant is padded to multiple of entity size.
1569
1570 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1571
1572         * varasm.c (default_exception_section): Move to...
1573         * except.c (default_exception_section): ... here. Make
1574         .gcc_except_table read-only if it is not expected to have any
1575         dynamic relocations and linker handles it.
1576         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
1577         if it is not expected to have any dynamic relocations and linker
1578         handles it.
1579         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
1580         when linking read-only and read-write sections together.
1581         * configure, config.in: Rebuilt.
1582         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
1583         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
1584
1585 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
1586
1587         * i386.md (pushsf_rex64): Fix typo.
1588
1589 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1590
1591         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
1592         new function.
1593         (__ev_create_ufix32_fs): Same.
1594         (__ev_get_sfix32_fs_internal): New.
1595         (__ev_get_sfix32_fs): Define to use function.
1596         (__ev_get_ufix32_fs_internal): New.
1597         (__ev_get_ufix32_fs): Define to use function.
1598         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
1599         (__ev_get_lower_ufix32_fs): Same.
1600         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
1601         (__ev_get_lower_sfix32_fs): Same.
1602         (__ev_set_sfix32_fs_internal): New.
1603         (__ev_set_ufix32_fs_internal): New.
1604         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
1605         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
1606         (__ev_set_upper_sfix32_fs): Call function.
1607         (__ev_set_lower_sfix32_fs): Same.
1608         (__ev_set_upper_ufix32_fs): Same.
1609         (__ev_set_lower_ufix32_fs): Same.
1610
1611 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
1612
1613         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
1614
1615 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1616
1617         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
1618         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1619         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1620         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
1621         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
1622         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1623         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
1624         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
1625         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1626         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1627         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
1628         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
1629         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
1630         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1631         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
1632         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
1633         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
1634         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
1635         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
1636         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
1637         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1638         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
1639         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
1640         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
1641         defining.
1642         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
1643         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
1644
1645 2002-11-25  Dave Pitts  <dpitts@cozx.com>
1646
1647         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
1648
1649 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
1650
1651         * config/h8300/h8300.md (an anonymous pattern): New.
1652
1653 2002-11-25  Richard Henderson  <rth@redhat.com>
1654
1655         * alias.c (find_base_value): Use new_reg_base_value if it's live.
1656         (copying_arguments): Make boolean.
1657
1658 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1659
1660         * gcc.c (static_spec_functions): Add if-exists-else spec
1661         function.
1662         (if_exists_else_spec_function): New function.
1663         * doc/invoke.texi: Document the if-exists-else spec function.
1664
1665         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
1666         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
1667
1668 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1669
1670         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
1671         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
1672         "${tmake_file} rs6000/t-netbsd".
1673         * config/rs6000/netbsd.h: Rewrite.
1674         * config/rs6000/t-netbsd: New file.
1675
1676 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
1677
1678         * config/h8300/h8300.md (an anonymous pattern): Relax the
1679         condition for the pattern.
1680
1681 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1682
1683         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
1684         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
1685         evmwlssfanw, evmwlsmfanw.
1686
1687         * config/rs6000/rs6000.c (bdesc_2arg): Same.
1688
1689         * config/rs6000/spe.md: Same for patterns.
1690
1691 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
1692
1693         PR c/8639
1694         * fold-const.c (extract_muldiv): Don't propagate division unless
1695         both arguments are multiples of C.
1696
1697 2002-11-25  Andrew Haley  <aph@redhat.com>
1698
1699         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
1700         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
1701         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
1702         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
1703
1704 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
1705
1706         * i386.c (x86_use_ffreep): New global variable.
1707         * i386.h (x86_use_frfeep): Declare
1708         (TARGET_USE_FFREEP): New macro
1709         * i386.md  (movs?f*): Use freep when asked for.
1710         (push?f): Remove dead code.
1711
1712 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1713
1714         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
1715         target help message.
1716
1717 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1718
1719         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
1720         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
1721         crtbeginT.o".
1722         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
1723         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
1724         to "" for a.out configurations.
1725         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
1726
1727 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1728
1729         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
1730         NETBSD_CPP_SPEC directly.
1731         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
1732         netbsd_endfile_spec.
1733         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
1734
1735 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1736
1737         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
1738         NETBSD_STARTFILE_SPEC.
1739         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
1740         (ENDFILE_SPEC): Likewise.
1741         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
1742
1743 2002-11-24  Andreas Schwab  <schwab@suse.de>
1744
1745         * Makefile.in (install-driver): Remove versioned link before
1746         trying to create it.
1747
1748         * config/m68k/m68k.c: Fix typo in last change defining
1749         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
1750
1751 2002-11-23  H.J. Lu <hjl@gnu.org>
1752
1753         * aclocal.m4: Include ../config/accross.m4.
1754         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
1755         (gcc_AC_C_COMPILE_ENDIAN): Removed.
1756         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
1757         instead of $ac_cv_c_compile_endian.
1758
1759         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
1760         AC_COMPILE_CHECK_SIZEOF.
1761         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
1762         * configure: Rebuild.
1763
1764 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
1765
1766         * config/h8300/h8300.c (print_operand): Update the use of
1767         h8300_tiny_constant_address_p.
1768         (h8300_adjust_insn_length): Likewise.
1769         (h8300_tiny_constant_address_p): Check if the given rtx is a
1770         variable declared with __attribute__ ((tiny_data)).
1771
1772 2002-11-22  Dale Johannesen  <dalej@apple.com>
1773
1774         * toplev.c (rest_of_compilation):  Fix comments.
1775
1776 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
1777
1778         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
1779         allow mmap from /dev/zero.  Don't make decisions for the host
1780         based on presence or absence of /dev/zero on the build machine.
1781         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
1782         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
1783         * configure: Regenerate.
1784
1785 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
1786
1787         * gcc.c (make_relative_prefix, split_directories)
1788         (free_split_directories): Removed.
1789
1790 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
1791
1792         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
1793         * configure: Regenerated.
1794
1795 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
1796
1797         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
1798         length computation when xor.l is output.
1799
1800 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
1801
1802         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
1803         (call_vms_1, call_value_vms_1): Cleanup syntax.
1804
1805 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
1806
1807         * athlon.md (define_atuomaton): Add athlon_load.
1808         (athlon-double): New reservation.
1809         (athlon-ieu0): New CPU unit.
1810         (athlon-load?): Use athlon_load automaton.
1811         (*_k8 reservations): New.
1812         (other insn revervations): Activate for K8.
1813
1814 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
1815
1816         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
1817
1818 2002-11-21  Jim Wilson  <wilson@redhat.com>
1819
1820         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
1821         vectors to SI.
1822
1823 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
1824
1825         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
1826         * config/xtensa/xtensa.c (struct machine_function): Add
1827         incoming_a7_copied flag.
1828         (xtensa_copy_incoming_a7): Define.
1829         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
1830         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
1831
1832 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
1833
1834         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
1835         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
1836         x86_64_nonmemory_operand, x86_64_movabs_operand,
1837         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
1838         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
1839         (local_symbolic_operand): Do not care the 64bit limits.
1840         (x86_64_sign_extended_value): Remove allow_rip support.
1841         (legitimate_pic_address_disp_p): Handle all cases allowed
1842         with RIP addressing.
1843         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
1844         (legitimize_pic_address): Reorganize.
1845         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
1846
1847 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1848
1849         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
1850         * config/arm/netbsd-elf.h: New file.
1851
1852 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1853
1854         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
1855         subtarget_asm_float_spec.
1856         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
1857         defaults from...
1858         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
1859
1860 2002-11-21  Nick Clifton  <nickc@redhat.com>
1861
1862         * config/fr30/fr30.md (movsf_constant_store): Move code to
1863         detect 0.0 into fr30.c.
1864         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
1865         Prototype.
1866         * config/fr30/fr30.c (fr30_const_double_is_zero): New
1867         function.  Return true if the rtx is 0.0.
1868
1869 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1870
1871         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
1872         if -mlittle-endian is specified.
1873
1874 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
1875
1876         PR optimization/2903
1877         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
1878         (anddi_notsesidi_di): Likewise.
1879
1880 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
1881
1882         * config/h8300/h8300.c (print_operand): Use
1883         h8300_eightbit_constant_address_p and
1884         h8300_tiny_constant_address_p.
1885         (h8300_adjust_insn_length): Likewise.
1886         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
1887         (TINY_CONSTANT_ADDRESS_P): Likewise.
1888         (OK_FOR_U): Use eightbit_constant_address_p.
1889
1890 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
1891
1892         * config/s390/libgcc-libc.ver: Add multilib support.
1893         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
1894         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
1895         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
1896         EXTRA_MULTILIB_PARTS): Define.
1897
1898 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
1899
1900         * arm.c (arm_get_frame_size): A leaf function does not need its
1901         stack padding to an aligned boundary if it has no frame.
1902         (thumb_get_frame_size): Likewise.
1903
1904 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
1905
1906         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
1907         (override_options): Likewise.
1908
1909 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
1910
1911         * config.gcc: Add k8 target alias support
1912         * i386.c (_cost): Declare costs for various variants of divides and
1913         multiplies.
1914         (k8_cost): New.
1915         (m_K8, m_ATHLON_K8): New macros.
1916         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
1917         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
1918         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
1919         x86_integer_DFmode_moves, x86_partial_reg_dependency,
1920         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
1921         x86_prologue_using_move, x86_epilogue_using_move,
1922         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
1923         x86_sse_typeless_stores): Set for K8
1924         (override_options): Add k8 support; fix athlon alignment;
1925         complain about non-x86-64 capable CPU being used in x86-64 compilation.
1926         (ix86_issue_rate): Set for K8.
1927         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
1928         x86_machine_dependent_reorg): Handle K8 like
1929         * i386.h
1930         (x86_costs):  Change mult_init and divide into array.
1931         (TARGET_K8, TARGET_ATHLON): New macros.
1932         (MODE_INDEX): New macro.
1933         (RTX_COST): Use new costs.
1934         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
1935         (TARGET_CPU_DEFAULT_NAMES): Add k8
1936         (TARGET_CPU_DEFAULT_k8): New constant
1937         (enum processor_type): Add PROCESSOR_K8.
1938         * i386.md (cpu attribute): Add k8.
1939
1940         * invoke.texi: Document -march=k8.
1941
1942         * i386.md (type attribute): Add leave
1943         (mode attribute): Remove unknownfp.
1944         (length_immediate, modrm, memory attributes): Handle leave correctly.
1945         (fp comparison patterns): Determine FP mode.
1946         (leave, leave_rex64): Remove special cases.
1947         * ppro.md (ppro_uops, ppro_p2): Add leave
1948         * pentiun.md (pent_pop): Handle leave too.
1949         * k6.md (k6_load): Handle leave.
1950         * athlon.md (athlon_leave, athlon_pop): Fix.
1951         (athlon_decode): Handle leave.
1952
1953 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
1954
1955         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
1956         to component type using GET_MODE_INNER.
1957         * expr.c (emit_move_insn_1): Ditto.
1958         * optabs.c (expand_binop): Ditto.
1959         (expand_unop): Ditto.
1960         (expand_complex_abs): Ditto.
1961
1962 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
1963
1964         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
1965
1966 2002-11-20  DJ Delorie  <dj@redhat.com>
1967
1968         * config/stormy16/stormy16.c (s16builtins,
1969         xstormy16_init_builtins, xstormy16_expand_builtin): New.
1970         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
1971
1972 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
1973
1974         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
1975         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
1976         (executing gencheck, genconfigs, genconditions, genflags,
1977         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
1978         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
1979         gengtype, genprotos): Prepend $(RUN_GEN).
1980         * configure.in: Move host compiler tests before --enable-checking
1981         tests.
1982         (--enable-checking=valgrind): New.
1983         * config.in, configure: Regenerate.
1984         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1985         Define as empty.
1986         (read_include_file): When doing the mmap+1 trick,
1987         valgrind-annotate the byte after the mmap:ed area as readable.
1988         (purge_cache): Remove above annotation.
1989         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
1990         VALGRIND_PATH -q to each command.
1991
1992         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1993         Define as empty.
1994         (ggc_realloc): Update valgrind annotations.
1995         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
1996         Define as empty.
1997         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
1998         valgrind-annotate memory.
1999
2000 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
2001
2002         * recog.c (constrain_operands): Prefer exact match over reloadable
2003         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
2004
2005         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
2006         operands in Pmode.
2007
2008 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
2009
2010         PR c/8518
2011         * c-decl.c (duplicate_decls): Outline the second definition
2012         of an extern inline function in all cases.
2013
2014 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2015
2016         * stor-layout.c (place_field): Update rli->offset as well as
2017         rli->bitpos.
2018
2019 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2020
2021         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
2022
2023 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2024
2025         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
2026         into a libcall block.
2027         (divsi3): Likewise divsi3_i4_media.
2028
2029 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2030
2031         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
2032         out another register.
2033
2034 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
2035
2036         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
2037         (not just mask) are set in C.
2038
2039 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
2040
2041         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
2042
2043 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2044
2045         * profile.c (index_counts_file): Fix obvious mistake.
2046
2047 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2048
2049         * Makefile.in (profile.o): Add hashtab.h dependency.
2050         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
2051         * profile.c: Include hashtab.h.
2052         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
2053         cleanup_counts_index, index_counts_file, struct section_reference,
2054         struct da_index_entry, counts_file_name, counts_file_index): New.
2055         (get_exec_counts, init_branch_prob): Modified.
2056
2057 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
2058
2059         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
2060         to tmake_file. Remove setting gas and gnu_ld here.
2061         * config/sh/libgcc-glibc.ver: New file.
2062         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
2063         (SHLIB_MAPFILES): New.
2064         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
2065         (MD_STARTFILE_PREFIX): Likewise.
2066         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
2067         (DWARF2_UNWIND_INFO): Redefine.
2068         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2069         (LINK_EH_SPEC): Redefine.
2070         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
2071         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
2072         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
2073         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
2074         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
2075         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
2076         SH_DWARF_FRAME_FPSCR): Likewise.
2077         * config/sh/sh-protos.h (sh_set_return_address): Declare.
2078         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
2079         registers if the current function calls EH return.
2080         (sh_expand_epilogue): Handle EH stack adjustments.
2081         (sh_set_return_address): New function.
2082         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
2083         Don't abort even if the number is mapped to -1.
2084         (EH_RETURN_DATA_REGNO): Define.
2085         (EH_RETURN_STACKADJ_RTX): Define.
2086         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
2087         (eh_return): New pattern.
2088         (eh_set_ra_di, eh_set_ra_si): Likewise.
2089         Add splitter to perform EH return after reload.
2090
2091 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
2092
2093         * stor-layout.c (excess_unit_span): New function.
2094         (place_field): Use it.
2095
2096 2002-11-19  Andreas Schwab  <schwab@suse.de>
2097
2098         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
2099         not valid in C++.
2100
2101 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2102
2103         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
2104         * configure: Regenerate.
2105
2106 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2107
2108         * convert.c (strip_float_extensions): New function.
2109         (convert_to_real): Optimize some cases.
2110
2111 2002-11-19  Andreas Jaeger  <aj@suse.de>
2112
2113         * loop.c (record_giv): Initialize not_replaceable.
2114         (check_final_value): Likewise.
2115
2116 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2117
2118         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
2119         MASK_H8300S.
2120
2121 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
2122
2123         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
2124         only if -mh or -ms present.
2125         (h8300_eightbit_constant_address_p): Support the normal mode.
2126         (h8300_tiny_constant_address_p): Likewise.
2127         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
2128         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
2129         (Pmode): Evaluate to HImode for the normal mode.
2130         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
2131         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
2132         (ASM_WORD_OP): Evaluate to word for the normal mode.
2133         * config/h8300/h8300.md (tablejump_normal_mode): New.
2134         (indirect_jump_normal_mode): New.
2135         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
2136         directory.
2137         (MULTILIB_DIRNAMES): Create target dependent directory
2138         'normal'.
2139         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
2140         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
2141
2142 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
2143
2144         * i386.md (length_immediate): Do not refer to insn address.
2145         (jcc*, jmp patterns):  Compute length explicitly.
2146
2147 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
2148
2149         PR c/8588
2150         * optabs.c (expand_binop): Convert CONST_INTs in shift
2151         operations too.
2152
2153 2002-11-19  Roger Sayle  <roger@eyesopen.com>
2154
2155         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
2156
2157 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2158
2159         * config/h8300/h8300.md (an anonymous pattern): Relax the
2160         condition to accept the same operands and/or subregs.
2161
2162 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
2163
2164         * config/sh/sh.c (gen_shl_and): Revert previous patch.
2165         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
2166         reload_completed.
2167
2168 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2169
2170         * config/h8300/h8300.c (print_operand): Update the use of
2171         EIGHTBIT_CONSTANT_ADDRESS_P.
2172         (h8300_adjust_insn_length): Likewise.
2173         (h8300_eightbit_constant_address_p): Check if the given rtx is
2174         a variable with __attribute__((eightbit_data)).
2175         * config/h8300/h8300.h (OK_FOR_U): Update the use of
2176         EIGHTBIT_CONSTANT_ADDRESS_P.
2177
2178 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2179
2180         * doc/contrib.texi (Contributors): Add self as second contact in
2181         addition to Jeff Law.
2182
2183 2002-11-19  Andreas Jaeger  <aj@suse.de>
2184
2185         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
2186         find_alloca_call to right place.
2187
2188 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2189
2190         * cppfiles.c: Fix formatting.
2191
2192 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
2193
2194         * gcc.c (The Specs Language): Document spec functions.
2195         (static_spec_functions, lookup_spec_function)
2196         (eval_spec_function, handle_spec_function)
2197         (if_exists_spec_function, alloc_args): New.
2198         (execute): Abort if processing_spec_function is true.
2199         (do_spec_1): Hand off spec to handle_spec_function if %:
2200         is encountered.  If processing_spec_function is true,
2201         end any pending argument when the end of the string is reached.
2202         (main): Use alloc_args to allocate the initial argument vector.
2203         * gcc.h (struct spec_function): New.
2204         (lang_specific_spec_functions): New extern.
2205
2206         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
2207         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
2208         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
2209
2210         * doc/invoke.texi: Document spec functions.
2211
2212         * cppspec.c (lang_specific_spec_functions): New.
2213         * gccspec.c: Likewise.
2214
2215 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
2216
2217         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
2218         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
2219         (fixunstfsi_libfunc): Change.
2220         (fixunstfdi_libfunc): Change.
2221         (sdiv_optab): Don't zero out SImode handler.
2222         (udiv_optab): Don't zero out SImode handler.
2223         (smod_optab): Don't zero out SImode handler.
2224         (umod_optab): Don't zero out SImode handler.
2225
2226 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
2227
2228         PR preprocessor/8524
2229         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
2230         Add a new one in its place, which hopefully works.
2231         (skip_rest_of_line): Change test for bottom-of-context-stack.
2232
2233 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
2234
2235         * i386.md (addqi_1_slp): Fix output template.
2236         (subqi_1_slp): Fix type.
2237
2238 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
2239
2240         * calls.c (alloca_call_p): New global function.
2241         * tree.h (alloca_call_p): New.
2242         * tree-inline.c (inlinable_function_p):  Do not inline when
2243         function calls alloca.
2244         (find_alloca_call, find_alloca_call_1): New functions.
2245
2246 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
2247
2248         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
2249         bst.  Update the insn length.
2250         (*andorhi3): Likewise.
2251         (*andorsi3): Likewise.
2252
2253 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2254
2255         * config/sh/sh-protos.h (sh_mark_label): Declare.
2256         * config/sh/sh.c (sh_mark_label): New function, taken from
2257         movdi_const, but fixing the case when the address has an addend.
2258         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
2259
2260 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2261
2262         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
2263         (add_constant): Set it.
2264         (dump_table): Don't reorder a constant if part_of_sequence_p.
2265         (machine_dependent_reorg): Assume that float constants will
2266         stay in their original order if used as a sequence.
2267
2268 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2269
2270         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
2271         in compact code.
2272
2273 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2274
2275         * config/sh/sh.md (initialize_trampoline): Do not force the
2276         trampoline address into R0_REGS here.
2277
2278 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
2279
2280         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
2281         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
2282         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
2283         generate unnecesary subregs.
2284
2285 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2286
2287         * df.c: Fix formatting.
2288
2289 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2290
2291         * config/h8300/h8300.md (two anonymous patterns): Fix insn
2292         lengths.
2293
2294 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
2295
2296         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
2297         is not an arith_reg_operand.
2298
2299 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
2300
2301         * real.c (real_to_decimal): Fix buffer overrun when buffer size
2302         is smaller than representation.
2303
2304 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2305
2306         * builtins.c: Fix formatting.
2307
2308 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
2309
2310         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
2311         floats?dff2_i387):
2312         Work around regclass stupidity.
2313         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
2314
2315 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
2316
2317         * i386.md (fop_df_6): New pattern.
2318         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
2319         (fop_xf_6): Rewrite
2320         (fop_xf_7): Delete.
2321         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
2322         (fop_tf_6): Rewrite
2323         (fop_tf_7): Delete.
2324
2325 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2326
2327         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
2328
2329 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2330
2331         * config/h8300/h8300.md: Fix formatting.
2332
2333 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2334
2335         * config/h8300/h8300.md: Replace spaces with tabs.
2336         * config/h8300/t-h8300: Remove a trailing empty line.
2337
2338 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2339
2340         * tlink.c: Fix formatting.
2341
2342 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
2343
2344         PR 8362
2345         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
2346         * config/rs6000/rs6000.md (movti_string): Remove output modifier
2347         when scratch register never needed.
2348         (ldmsi[3-8]): New patterns.
2349
2350 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2351
2352         * hard-reg-set.h: Follow spelling conventions.
2353         * real.c: Likewise.
2354         * target.h: Likewise.
2355
2356 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
2357
2358         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
2359
2360 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2361
2362         * optabs.c: Fix formatting.
2363
2364 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
2365
2366         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
2367         * i386.md (attribute type): Add type shift1 and rotate1.
2368         (*_slp): Rewrite to have just two operands to avoid reload problems.
2369
2370 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
2371
2372         * config/h8300/h8300.md (4 anonymous patterns): New.
2373
2374 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
2375
2376         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
2377         * doc/invoke.texi: Correct description of what needs to be done to
2378         force collection at every ggc_collect call.
2379
2380 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2381
2382         * config/s390/s390.c (optimization_options): Set
2383         flag_asynchronous_unwind_tables to 1 by default.
2384
2385 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2386
2387         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2388
2389 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2390
2391         * i386-protos.h (x86_function_profiler): New function
2392         * i386.h (MCOUNT_NAME): New.
2393         (PROFILE_COUNT_REGISTER): New.
2394         (FUNCTION_PROFILER): Move offline to ...
2395         * i386.c (x86_function_profiler) ... here; fix 64bit support
2396         * beos-elf.h (FUNCTION_PROFILER): Kill.
2397         (MCOUNT_NAME): New.
2398         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
2399         (MCOUNT_NAME): New.
2400         (PROFILE_COUNT_REGISTER): New.
2401         * linux.h (FUNCTION_PROFILER): Kill.
2402         (MCOUNT_NAME): New.
2403         * x86-64.h (FUNCTION_PROFILER): Kill.
2404         (MCOUNT_NAME): New.
2405         * freebsd.h (FUNCTION_PROFILER): Kill.
2406         (MCOUNT_NAME): New.
2407
2408 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
2409
2410         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
2411         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
2412         * config/arm/arm.c (arm_va_arg,
2413         arm_function_arg_pass_by_reference): New.
2414         * config/arm/arm-protos.h: Add prototypes.
2415
2416 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2417
2418         * gthr-single.h: Fix formatting.
2419
2420 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
2421
2422         * tree.c (tree_vec_elt_check_failed): New function.
2423         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
2424         (TREE_VEC_ELT): Use it.
2425
2426         * tree-inline.c (optimize_inline_calls): Don't copy a
2427         zero-length vector.
2428
2429 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2430
2431         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
2432
2433 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
2434
2435         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
2436         both operands contain local relocations.
2437         (categorize_decl_for_section): Don't use mergeable sections if
2438         initializer has any relocations.
2439
2440 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2441
2442         * gthr-vxworks.h: Fix formatting.
2443
2444 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
2445
2446         * doc/install.texi (Testing): Document extra Java testing.
2447         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
2448
2449 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2450
2451         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
2452         beginning of the spec.
2453         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
2454         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
2455         regarding problems with global constructors when using GNU ld.
2456
2457 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2458
2459         * gthr-solaris.h: Fix formatting.
2460
2461 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2462
2463         * gthr-posix.h: Fix formatting.
2464
2465 2002-11-12  Devang Patel <dpatel@apple.com>
2466         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
2467         (process_command): Same.
2468         * doc/invoke.texi: Info about these two new options.
2469
2470 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2471
2472         * config/h8300/h8300.md (*andorsi3): New.
2473
2474 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2475
2476         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
2477
2478 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2479
2480         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
2481         expressions appropriately.
2482
2483 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2484
2485         * gthr-win32.h: Fix formatting.
2486
2487 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2488
2489         * config/h8300/h8300.c (single_one_operand): Correctly compute
2490         mask when mode is SImode.
2491         (single_zero_operand): Likewise.
2492         * config/h8300/h8300.md (two new anonymous insns): New.
2493
2494 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2495
2496         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
2497         to that entire project.
2498
2499 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2500
2501         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
2502         directories.
2503
2504 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
2505
2506         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
2507         * doc/invoke.texi: Document them.
2508
2509         * ggc-page.c: Include params.h.  Remove definitions of
2510         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
2511         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
2512         (init_gcc): Don't set G.allocated_last_gc here.
2513         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
2514         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
2515         perform collection.
2516         * ggc-simple.c: Similarly.
2517         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
2518         dependencies.
2519
2520 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
2521
2522         * gthr-dce.h: Fix formatting.
2523
2524 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2525
2526         PR c/8467
2527         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
2528         mode of DECL_RTL case.
2529
2530 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
2531
2532         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
2533
2534 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
2535
2536         * i386.c (construct_container): Fix handling of SSE_CLASS.
2537
2538 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
2539
2540         * config/m68k/t-crtstuff (crti.o): Use this...
2541         ($(T)crti.o): ... instead.
2542         (crtn.o): Use this...
2543         ($(T)crtn.o): ... instead.
2544
2545 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
2546
2547         PR c/8439
2548         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
2549         if there is something new to be simplified.
2550
2551 2002-11-10  H.J. Lu <hjl@gnu.org>
2552
2553         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
2554         * expr.c (PUSH_ARGS_REVERSED): Likewise.
2555
2556         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
2557
2558 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
2559
2560         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
2561         * config/rs6000/linux.h, config/rs6000/linux64.h,
2562         config/rs6000/windiss.h: ... not here.
2563
2564 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
2565
2566         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
2567         __ABICALLS__ if TARGET_ABICALLS.
2568
2569 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
2570
2571         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
2572
2573 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
2574
2575         * c-decl.c (grokdeclarator): Make error for duplicate type
2576         qualifiers into a pedwarn, disabled for C99.
2577
2578 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
2579
2580         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
2581         as FUNCTION_ARG_PASS_BY_REFERENCE.
2582
2583 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
2584
2585         * doc/install.texi: Add *-*-vxworks* specific installation
2586         instructions.
2587
2588         * config/vxlib.c: Rewrite using generation numbers to identify
2589         valid TSD keys.
2590
2591 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
2592
2593         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
2594
2595 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2596
2597         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
2598
2599         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
2600         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
2601         * pa.c (output_millicode_call): Use symbol difference rather than
2602         $PIC_pcrel$0 when using HP assembler.
2603         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
2604         not elfos.h (i.e., gas) is being used.
2605         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
2606         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
2607         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
2608         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
2609         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
2610         using elfos.h.
2611         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
2612         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
2613         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
2614         using elfos.h.
2615         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
2616         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
2617         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
2618         Don't define when not using elfos.h.
2619         (ASM_DECLARE_RESULT): Don't define.
2620         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
2621         doesn't work on hppa64-hp-hpux11.
2622         (hppa*-hp-hpux11): Update.
2623
2624 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
2625
2626         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
2627         to the assembler if -mno-abicalls was specified.
2628
2629 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2630
2631         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
2632         ASM_OUTPUT_DEF): Delete.
2633
2634 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
2635
2636         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
2637
2638 2002-11-08  Roger Sayle  <roger@eyesopen.com>
2639
2640         * real.c (real_sqrt): Update comment with bibliographic reference.
2641
2642 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
2643
2644         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
2645
2646 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
2647
2648         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
2649
2650 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
2651
2652         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
2653         (expand_builtin): Likewise.
2654         * builtins.def: Add
2655         __builtin_floor, __builtin_floorf, __builtin_floorl
2656         __builtin_ceil, __builtin_ceilf, __builtin_ceill
2657         __builtin_round, __builtin_roundf, __builtin_roundl
2658         __builtin_trunc, __builtin_truncf, __builtin_truncl
2659         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
2660         * genopinit.c (optabs): Initialize the new optabs.
2661         * optab.c (init_optabs): Likewise.
2662         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
2663         OTI_round, OTI_nearbyint.
2664         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
2665         * doc/md.texi: Document new named patterns.
2666         * doc/extend.texi (builtin functions)  Document
2667         floor, floorf, floorl, ceil, ceilf,
2668         ceill, round, roundf, roundl, trunc,
2669         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
2670
2671 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
2672
2673         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
2674
2675 2002-11-08  Dale Johannesen  <dalej@apple.com>
2676
2677         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
2678
2679 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
2680
2681         PR preprocessor/8497
2682         PR preprocessor/8501
2683         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
2684         start a directive.  In assembler, #NUM is not a line directive.
2685
2686 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
2687
2688         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
2689         buffers.
2690
2691 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
2692
2693         * config/h8300/h8300.md (two anonymous test insns): New.
2694
2695 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2696
2697         * jump.c (mark_jump_label): Handle subregs of label_refs.
2698
2699 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
2700
2701         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
2702         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
2703
2704 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
2705
2706         * config/ia64/crtend.asm: Include "auto-host.h".
2707         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
2708         * config/ia64/crtbegin.asm: Similarly.
2709         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
2710         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
2711
2712         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
2713         * configure.in: Use it if --enable-initfini-array not specified.
2714         * doc/install.texi (Configuration): Document --enable-initfini-array.
2715         * configure, config.in: Rebuild.
2716
2717 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
2718
2719         * config/arm/arm-protos.h (arm_get_frame_size)
2720         (thumb_get_frame_size): New prototypes.
2721         * config/arm/arm.c (arm_get_frame_size)
2722         (thumb_get_frame_size): New functions.
2723         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
2724         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
2725         arm_get_frame_size.
2726         (thumb_expand_prologue, thumb_expand_epilogue): Use
2727         thumb_get_frame_size.
2728         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
2729         (machine_function): Add frame_size member.
2730         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
2731
2732 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
2733
2734         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
2735         Adjust code to use portable unsigned bit manipulation.
2736         (insn_flags, tune_flags): Change type to unsigned.
2737         (struct processors): Make flags unsigned long.
2738         (arm_override_options): Change type of count and current_bit_count
2739         to unsigned.
2740
2741 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
2742
2743         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
2744
2745 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
2746
2747         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
2748
2749 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
2750
2751         * reg-stack.c (compensate_edge): Fix sanity check.
2752
2753 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
2754
2755         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
2756         crt2.o.  Rearrange t-darwin makefiles.
2757         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
2758         * unwind-dw2-fde-darwin.c: New.
2759         * unwind-dw2-fde-glibc.c: Correct comment.
2760         * unwind-dw2-fde.c (__register_frame_info_bases)
2761         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
2762         (classify_object_over_fdes): Use last_fde.
2763         (add_fdes): Likewise.
2764         (linear_search_fdes): Likewise.
2765         * unwind-dw2-fde.h (struct object)
2766         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
2767         (last_fde): New.
2768         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
2769         (ENDFILE_SPEC): No crtend.o.
2770         * config/t-darwin: New.
2771         * config/i386/t-darwin: Delete.
2772         * config/darwin-crt2.c: New.
2773         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
2774         or config/t-darwin.
2775
2776 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
2777
2778         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
2779         MASK_MS_BITFIELD_LAYOUT
2780         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
2781         MS bitfields for Objective-C.
2782         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
2783         defines.
2784
2785         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
2786         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
2787         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
2788
2789         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
2790         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
2791         (TARGET_SWITCHES): Add above mask.
2792
2793         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
2794         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
2795         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
2796         flags for interix.
2797
2798 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
2799
2800         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
2801         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
2802         assembler.
2803         * config/mips/mips.md (tablejump_internal3): Output .cpadd
2804         before jump on ABI_N32 too.
2805         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
2806         length to match.
2807
2808 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
2809
2810         * i386.md (negsf splitter): Accept memory operand in second register.
2811         (abssf/absdf splitters): Simplify
2812         (sse_loadss, sse_loadsd): Turn into expander.
2813
2814 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
2815
2816         PR target/8480
2817         * config/rs6000/rs6000.md (movdi_internal64): Discourage
2818         FPR to FPR moves.
2819
2820 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
2821
2822         * doc/contrib.texi: Merge in the list from the Java web pages.
2823
2824 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
2825
2826         * config/sparc/freebsd: Fix typo.
2827
2828 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2829
2830         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
2831
2832 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
2833
2834         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
2835         non-SImode addresses.
2836
2837 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
2838
2839         * i386.md (float_truncate SSE splitter): Ensure that operand is not
2840         stack register.
2841         (float SSE splitters): Reorder conditional.
2842
2843 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
2844
2845         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
2846
2847 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
2848
2849         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
2850         (STARTFILE_SPEC): Remove p and pg options.
2851
2852 2002-11-05  Andrew Haley  <aph@redhat.com>
2853
2854         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
2855         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
2856
2857 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
2858
2859         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
2860         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
2861
2862 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
2863
2864         * gthr-vxworks.h: Rewritten from scratch.
2865         * config/vxlib.c: New file.
2866         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
2867         * config/rs6000/t-vxworks: Add config/vxlib.c to
2868         LIB2FUNCS_EXTRA here too, because of clash with
2869         config/rs6000/t-ppccomm.
2870
2871 2002-11-04  Dale Johannesen  <dalej@apple.com>
2872
2873         * doloop.c (doloop_modify_runtime):  Fix loop count computation
2874         for unrolled loops.
2875         * loop.c (loop_invariant_p):  Support calling from unroller.
2876
2877 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
2878
2879         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
2880         for comparison.
2881
2882 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
2883
2884         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
2885
2886         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
2887         (CLASS_CANNOT_CHANGE_MODE): Remove.
2888         (CANNOT_CHANGE_MODE_CLASS): New.
2889
2890         * config/alpha/alpha.h: Same.
2891
2892         * config/ia64/ia64.h: Same.
2893
2894         * config/mips/mips.h: Same.
2895
2896         * config/s390/s390.h: Same.
2897
2898         * config/sh/sh.h: Same.
2899
2900         * config/pa/pa64-regs.h: Same.
2901
2902         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
2903
2904         * config/sh/sh.c (sh_cannot_change_mode_class): New.
2905
2906         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
2907         prototype.
2908
2909         * config/mips/mips.c (mips_cannot_change_mode_class): New.
2910
2911         * doc/tm.texi (Register Classes): Remove
2912         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
2913         Document CANNOT_CHANGE_MODE_CLASS.
2914
2915         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
2916         (push_reload): Same.
2917
2918         * simplify-rtx.c (simplify_subreg): Same.
2919
2920         * reload1.c (choose_reload_regs): Same.
2921
2922         * recog.c (register_operand): Same.
2923
2924         * regrename.c (mode_change_ok): Change to use new
2925         CANNOT_CHANGE_MODE_CLASS infrastructure.
2926
2927         * regclass.c (cannot_change_mode_set_regs): New.
2928         Declare subregs_of_mode.
2929         (regclass): Use subregs_of_mode.
2930         Remove references to reg_changes_mode.
2931         (init_reg_sets_1): Remove class_can_change_mode and
2932         reg_changes_mode code.
2933         (invalid_mode_change_p): New.
2934         (dump_regclass): Use invalid_mode_change_p instead of
2935         class_can_change_mode.
2936         (regclass): Same.
2937         (record_operand_costs): Do not set reg_changes_mode.
2938
2939         * local-alloc.c (struct qty): Remove changes_mode field.
2940         (alloc_qty): Remove changes_mode initialization.
2941         (update_qty_class): Remove set of changes_mode.
2942         (find_free_reg): Use subregs_of_mode.
2943
2944         * global.c (find_reg): Use subregs_of_mode info.
2945
2946         * rtl.h (cannot_change_mode_set_regs): New prototype.
2947         (invalid_mode_change_p): Same.
2948         (REG_CANNOT_CHANGE_MODE_P): New macro.
2949
2950         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
2951         REG_CHANGES_MODE.
2952         (life_analysis): Clear subregs_of_mode.
2953
2954         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
2955         Remove use of CLASS_CANNOT_CHANGE_MODE.
2956         (simplify_set): Same.
2957         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
2958         REG_CHANGES_MODE.
2959
2960         * regs.h: Add extern for subregs_of_mode;
2961         Include hard-reg-set and basic-block.
2962         (REG_CHANGES_MODE): Delete.
2963
2964 2002-11-03  Roger Sayle  <roger@eyesopen.com>
2965
2966         * real.c (real_sqrt): New function to calculate square roots.
2967         * real.h (real_sqrt): Add function prototype.
2968         * builtins.c (fold_builtin): Fold sqrt of constant argument.
2969         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
2970         of constant argument.
2971
2972 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2973
2974         * jump.c (never_reached_warning): Don't set contains_insn until the
2975         first line note is seen.
2976
2977 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
2978
2979         * config/rs6000/rs6000.md (movti_string): Use string instructions.
2980
2981 2002-11-03  Roger Sayle  <roger@eyesopen.com>
2982
2983         PR c/7128
2984         * c-typeck.c (c_expand_asm_operands): Defend against
2985         error_mark_nodes in the output argument to avoid ICE.
2986
2987 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
2988
2989         PR middle-end/8408
2990         * genrecog.c (preds): Handle ADDRESSOF.
2991         (validate_pattern): Mark it as an lvalue.
2992
2993 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
2994
2995         * config/rs6000/rs6000.c (rs6000_override_options): Use string
2996         instructions when optimizing for size.
2997
2998 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
2999
3000         * config/h8300/h8300.h: Fix comment typos.
3001         * config/h8300/h8300.md: Likewise.
3002         * config/h8300/lib1funcs.asm: Likewise.
3003
3004 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3005
3006         Revert this change:
3007
3008         *doc/install.texi (Installing GCC: Configuration): Clarify
3009         the only supported ways to configure gcc.
3010
3011 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
3012
3013         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
3014         instead of 'O' for the constraint for the second operand.
3015
3016 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
3017
3018         PR c++/8391
3019         * toplev.c (rest_of_compilation): Do not refuse to output code for
3020         an inline function in a local class.
3021
3022 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
3023
3024         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
3025         (TRANSFER_FROM_TRAMPOLINE): Reformat.
3026         Add comment.
3027
3028 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
3029
3030         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
3031
3032 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
3033
3034         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
3035
3036 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
3037
3038         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
3039         (MASK_INLINE_DIV_THR): Remove.
3040         (TARGET_INLINE_DIV_LAT): Remove.
3041         (TARGET_INLINE_DIV_THR): Remove.
3042         (TARGET_INLINE_DIV): Remove.
3043         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
3044         (MASK_INLINE_FLOAT_DIV_THR): New macro.
3045         (MASK_INLINE_INT_DIV_LAT): New macro.
3046         (MASK_INLINE_INT_DIV_THR): New macro.
3047         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
3048         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
3049         (TARGET_INLINE_INT_DIV_LAT): New macro.
3050         (TARGET_INLINE_INT_DIV_THR): New macro.
3051         (TARGET_INLINE_FLOAT_DIV): New macro.
3052         (TARGET_INLINE_INT_DIV): New macro.
3053         * config/ia64/ia64.md (divsi3): Change to use new macros.
3054         (modsi3): Ditto.
3055         (udivsi3): Ditto.
3056         (umodsi3): Ditto.
3057         (divsi3_internal): Ditto.
3058         (divdi3): Ditto.
3059         (moddi3): Ditto.
3060         (udivdi3): Ditto.
3061         (umoddi3): Ditto.
3062         (divdi3_internal_lat): Ditto.
3063         (divdi3_internal_thr): Ditto.
3064         (divsf3): Ditto.
3065         (divsf3_internal_lat): Ditto.
3066         (divsf3_internal_thr): Ditto.
3067         (divdf3): Ditto.
3068         (divdf3_internal_lat): Ditto.
3069         (divdf3_internal_thr): Ditto.
3070         (divtf3): Ditto.
3071         (divtf3_internal_lat): Ditto.
3072         (divtf3_internal_thr): Ditto.
3073         * config/ia64/ia64.c (ia64_override_options): Change
3074         to check new macros for conflicts in settings.
3075         * doc/invoke.texi (-minline-divide-min-latency): Remove.
3076         (-minline-divide-max-throughput): Remove.
3077         (-minline-float-divide-min-latency): New.
3078         (-minline-float-divide-max-throughput): New.
3079         (-minline-int-divide-min-latency): New.
3080         (-minline-int-divide-max-throughput): New.
3081
3082 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
3083
3084         PR target/7856
3085         * arm.c (use_return_insn): Don't use a return insn if there are
3086         saved integer regs, but LR is not one of them.
3087
3088 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3089
3090         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
3091         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
3092
3093 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
3094
3095         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
3096         (movps, movpd splitters): Use canonical form.
3097         (movv2di): Fix merge problem.
3098
3099 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
3100
3101         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
3102
3103 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
3104
3105         PR optimization/6162
3106         * doc/md.texi: Document restriction on commutative operand
3107         specification.
3108
3109 2002-10-31  Eric Christopher  <echristo@redhat.com>
3110
3111         * explow.c (convert_memory_address): Use shallow_copy_rtx.
3112
3113 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
3114
3115         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
3116
3117 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
3118
3119         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
3120
3121 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
3122
3123         * config/rs6000/darwin.h:  Correct formatting in previous.
3124
3125 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
3126
3127         * config/rs6000/darwin.h:  Enable -falign-xxx options.
3128
3129 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
3130
3131         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
3132         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
3133         * i386.c (optimization_options): Set flag_omit_frame_pointer,
3134         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
3135         Do not clear -momit-leaf-frame-pointer when profiling.
3136         (ix86_frame_pointer_required): Frame pointer is always required when
3137         profiling.
3138
3139 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
3140
3141         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
3142
3143 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
3144
3145         * sh.h (binary_logical_operator): Declare.
3146         * sh.c (binary_logical_operator): New function.
3147         * sh.md (xordi3+1): New combiner splitter pattern.
3148
3149 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
3150
3151         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
3152         __enable_execute_stack function.
3153
3154 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
3155
3156         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
3157         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
3158         * unwind-sjlj.c (fc_key_dtor): Delete.
3159         (fc_key_init): Adjust __gthread_key_create call to match.
3160
3161 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
3162
3163         * c-common.c: Add GTY to vector_type_node_list.
3164
3165 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
3166
3167         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
3168         * pa-protos.h (attr_length_millicode_call, attr_length_call,
3169         pa_init_machine_status): Declare new global functions.
3170         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
3171         implement new functions.
3172         (attr_length_millicode_call, attr_length_call): Implement.
3173         (total_code_bytes): Change type to long.
3174         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
3175         Reset counter if flag_function_sections.
3176         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
3177         (output_cbranch): Move call to gen_label_rtx.
3178         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
3179         delay slot in all variants, shorten pc-relative calls.
3180         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
3181         slot usage and exposure, various new call variants, and shortened
3182         sequences for some variants on TARGET_PA_20.
3183         Miscellaneous format changes.
3184         * pa.h (total_code_bytes): Change type to long.
3185         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
3186         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
3187         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
3188         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
3189         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
3190         stores on TARGET_ELF32.
3191         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
3192         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
3193         canonicalize_funcptr_for_compare expanders): Calculate attribute length
3194         attr_length_millicode_call().
3195         (call_internal_symref, call_value_internal_symref): Clobber register 1.
3196         Calculate attribute length using attr_length_call().
3197         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
3198         to delay slot.
3199         (sibcall, sibcall_value): Rewrite.
3200         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
3201         register 1.  Use attr_length_call().
3202         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
3203         New patterns.
3204         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
3205         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
3206         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
3207         * doc/invoke.texi (mlong-calls): Document.
3208
3209 2002-10-30  Roger Sayle  <roger@eyesopen.com>
3210
3211         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
3212         handling of cases where one or both branches of the conditional
3213         have void type, i.e. throw an exception or don't return.
3214         (fold): Only apply (and undo) type conversion to the non-void
3215         branches of a COND_EXPR.
3216
3217 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
3218
3219         PR c++/8333
3220         * varasm.c (asm_output_aligned_bss): Do not call
3221         ASM_GLOBALIZE_LABEL.
3222
3223 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
3224             Torbjorn Granlund  <tege@swox.com>
3225
3226         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
3227         for addressibility.
3228         (load_toc_v4_PIC_1b): Same.
3229
3230 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
3231
3232         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
3233         Truncate the addresses for H8/300 using HImode.
3234
3235 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
3236
3237         * i386.md (negdf splitter): Fix construction of the constant.
3238
3239 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
3240
3241         * i386.md (negsf, negdf): Reorganize to use vector modes
3242         for SSE variants.
3243         (abssf, absdf): Use force_reg.
3244         (movv4sf, movv2df): New splitters.
3245         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
3246         * i386.c (zero_extended_scalar_load_operand
3247
3248         * i386-protos.h (ix86_expand_call): Update prototype.
3249         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
3250         (ix86_expand_call): Use r11 for indirect sibcalls.
3251         * i386.md (call, call_value, untyped_call, call_value_pop):
3252         update x86_expand_call call.
3253         (sibcall, sibcall_value): new patterns
3254         (call_rex64, call_value_rex64): Do not accept sibcalls.
3255         (sibcall_rex64, sibcall_value_rex64,
3256         sibcall_rex64_v, sibcall_value_rex64_v): New.
3257
3258 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3259
3260         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
3261         before final pass.
3262
3263 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
3264
3265         * toplev.c (rest_of_type_compilation): Return early in case of
3266         errors.
3267         (check_global_declarations): Don't call debug_hooks->global_decl
3268         in case of errors.
3269
3270 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
3271
3272         * doc/c-tree.texi (Tree overview): Fix typos.
3273
3274 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
3275
3276         * Makefile.in (gnucompare*):  Only record bad comparisons
3277         if there really was a bad comparison.
3278
3279 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
3280
3281         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
3282         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
3283         * md.texi (machine dependent constraints): Document 'C'
3284
3285         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
3286
3287         * i386.c (ix86_expand_vector_move): Fix.
3288
3289         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
3290         * i386.md (sse2_maskmovdqu_rex64): New pattern
3291
3292         PR target/8322
3293         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
3294         (ix86_init_mmx_sse_builtins): Fix type.
3295
3296 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
3297
3298         * gthr-posix.h: Include <unistd.h> for feature tests.
3299         (sched_get_priority_max, sched_get_priority_min)
3300         (pthread_getschedparam, pthread_setschedparam): Only use
3301         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
3302         (__gthread_objc_thread_set_priority): Don't treat all nonzero
3303         returns from sched_get_priority_max and sched_get_priority_min
3304         as an error.
3305
3306 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3307
3308         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
3309         MASK_QUICKCALL.
3310
3311 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3312
3313         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
3314         (h8300_tiny_constant_address_p): Likewise.
3315         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
3316         h8300_eightbit_constant_address_p.
3317         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
3318         * config/h8300/h8300-protos.h: Add the prototypes for the two
3319         new functions.
3320
3321 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3322
3323         * reload1.c (update_eliminables): Unconditionally check if
3324         frame_pointer_needed has changed.
3325
3326 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3327
3328         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
3329         before final pass.
3330
3331 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
3332
3333         PR optimization/8334
3334         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
3335         check for zero operands explicitly.
3336
3337 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
3338
3339         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
3340         memory after adjusting to BLKmode.
3341
3342 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3343
3344         * config/h8300/h8300.h (MASK_*): New.
3345         (TARGET_*): Use MASK_*.
3346
3347 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
3348
3349         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
3350         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
3351         config/rs6000/vxworks.h: New files.
3352         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
3353
3354         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
3355         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
3356         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
3357         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
3358         sparc-*-vxsim*): Delete stanzas.
3359         * gthr-vxworks.h: Rip out all substantive code and just
3360         include gthr-single.h.
3361
3362         * config/alpha/vxworks.h, config/arm/vxarm.h,
3363         config/i386/vxi386.h, config/i960/t-vxworks960,
3364         config/i960/vx960-coff.h, config/i960/vx960.h,
3365         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
3366         config/mips/vxworks.h, config/rs6000/vxppc.h,
3367         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
3368         config/sparc/vxsim.h, config/sparc/vxsparc.h,
3369         config/sparc/vxsparc64.h: Delete files.
3370
3371 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
3372
3373         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
3374         tm_defines if pthreads are enabled.
3375         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
3376         if NETBSD_ENABLE_PTHREADS is defined.
3377
3378 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
3379
3380         * ChangeLog.1: Fix typos.
3381         * cse.c: Fix a comment typo.
3382         * reload1.c: Likewise.
3383
3384 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
3385
3386         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
3387         * fixinc/tests/base/_G_config.h: New file.
3388
3389 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3390
3391         * combine.c: Fix comment formatting.
3392         * loop.c: Likewise.
3393         * real.c: Likewise.
3394         * regclass.c: Likewise.
3395         * regmove.c: Likewise.
3396         * regrename.c: Likewise.
3397         * reg-stack.c: Likewise.
3398         * reload1.c: Likewise.
3399         * reload.c: Likewise.
3400         * reload.h: Likewise.
3401         * unroll.c: Likewise.
3402
3403 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3404
3405         * reload1.c (reload): Fix a comment typo.
3406
3407 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
3408
3409         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
3410
3411 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3412
3413         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
3414         * dwarf2out.c: Include hashtab.h.
3415         (is_main_source): New static variable.
3416         (attr_checksum, die_checksum): Modified to handle die references.
3417         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
3418         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
3419         record_comdat_symbol_number): New static functions.
3420         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
3421         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
3422         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
3423         declarations added.
3424
3425 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
3426
3427         * config/h8300/h8300.c (initial_offset): Change to
3428         h8300_initial_elimination_offset.
3429         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
3430         h8300_initial_elimination_offset.
3431         * config/h8300/h8300-protos.h: Update the prototype.
3432
3433 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
3434
3435         * config/mmix/mmix.h (LIBCALL_VALUE): Use
3436         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
3437         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
3438         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
3439         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
3440         and RTX_CODE.
3441         (mmix_function_value_regno_p): Declare.
3442
3443         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
3444         invalid for floating point mode result, with fix.
3445
3446 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
3447
3448         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
3449         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
3450         (stage1_build): Likewise.
3451
3452 2002-10-25  Mike Stump  <mrs@apple.com>
3453
3454         Fixes gcc.dg/warn-1.c.
3455         * c-typeck.c (warn_for_assignment): Don't print argument number,
3456         if zero.
3457
3458 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
3459
3460         * toplev.c (dump_file_index): Add DFI_ce3.
3461         (dump_file_info): Likewise.
3462         (rest_of_compilation): Run first ifcvt pass before tracer.
3463
3464 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
3465
3466         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
3467
3468 2002-10-25  Richard Henderson  <rth@redhat.com>
3469
3470         * real.c (real_to_decimal): If the >1 tens reduction loop results
3471         in a negative exponent, fall into the <1 pten computation.
3472
3473 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
3474
3475         PR middle-end/6994
3476         * c-objc-common.c (inline_forbidden_p): Can not inline
3477         functions containing structures or unions containing VLAs.
3478         * tree-inline.c (walk_tree): For all class 't' nodes, walk
3479         TYPE_SIZE and TYPE_SIZE_UNIT.
3480         (copy_tree_r): Copy types if they are variably modified.
3481
3482 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3483
3484         * config/s390/s390.md: Remove old-style peepholes.
3485
3486 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3487
3488         * config/s390/s390.c (s390_decompose_address): Do not range check the
3489         displacement if base or index is the argument pointer register.
3490
3491 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
3492
3493         PR other/3337
3494         PR bootstrap/6763
3495         PR bootstrap/8122
3496         * fixinc/inclhack.def (libc1_G_va_list): New fix.
3497         * fixinc/fixincl.x: Regenerate.
3498         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
3499         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
3500         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
3501         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
3502         * config.in, configure: Regenerate.
3503
3504 2002-10-24  Igor Shevlyakov <igor@microunity.com>
3505
3506         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
3507
3508 2002-10-24  Richard Henderson  <rth@redhat.com>
3509
3510         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
3511
3512 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3513
3514         * config/h8300/h8300.c (initial_offset): Simplify by using
3515         round_frame_size.
3516
3517 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
3518
3519         * doc/install.texi (avr): Update required binutils version.
3520
3521 2002-10-24  Theodore A. Roth  <troth@openavr.org>
3522
3523         * doc/install.texi: Point avr users at more up-to-date information.
3524
3525 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3526
3527         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
3528         to pull operands out of the literal pool where possible.
3529
3530 2002-10-24  Denis Chertykov  <denisc@overta.ru>
3531
3532         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
3533
3534 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
3535
3536         * expr.c (convert_move): If unsignedp is less then zero there
3537         is no equivalent code.
3538
3539 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
3540
3541         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
3542
3543 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3544
3545         * config/s390/s390.h: Rework comments; re-sort target macro definitions
3546         according to the sequence they are defined in the manual.
3547         (POINTER_BOUNDARY): Remove.
3548
3549 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3550
3551         * config/h8300/h8300.c (round_frame_size): Replace 8 with
3552         BITS_PER_UNIT.
3553
3554 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3555
3556         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
3557         64-bit safe.
3558         (TINY_CONSTANT_ADDRESS_P): Likewise.
3559
3560 2002-10-24  Richard Henderson  <rth@redhat.com>
3561
3562         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3563         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
3564         vcall offset.
3565
3566 2002-10-24  Richard Henderson  <rth@redhat.com>
3567
3568         PR opt/7944
3569         * reload.c (find_reloads_toplev): Mode of X is not important
3570         when simplifying subregs of constants.
3571
3572 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3573
3574         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
3575         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
3576         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
3577         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
3578         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
3579
3580 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3581
3582         * optabs.c (expand_binop): Don't reuse the shift target in the
3583         middle of shift sequences.
3584
3585 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
3586
3587         * i386.md (abs splitters): Do not produce nested subregs.
3588
3589 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
3590
3591         * i386.md (movti_rex64): Fix constraints.
3592
3593 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
3594
3595         * i386.md (abssf,absdf): Use vector operands for SSE
3596         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
3597         vector operand.
3598
3599 2002-10-23  Ziemowit Laski <zlaski@apple.com>
3600
3601         * objc/objc-act.c (get_static_reference): Remove unneeded
3602         TYPE_BINFO initialization.
3603         (get_object-reference): Likewise.
3604         (build_constructor): Tighten precondition check.
3605         (finish_message_expr): Likewise.
3606
3607 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
3608
3609         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
3610         after CONST test.
3611
3612 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
3613
3614         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
3615         in HFAs.
3616
3617 2002-10-23  Richard Henderson  <rth@redhat.com>
3618
3619         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3620         (alpha_output_mi_thunk_osf): Handle vcall_offset.
3621
3622 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
3623
3624         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
3625         var_mod_type_p.
3626         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
3627         hook_tree_bool_false.
3628
3629         * tree.c (variably_modified_type_p): Moved here from
3630         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
3631         language-specific cases.  Due to this, must weaken some 'if
3632         and only if' checks to merely 'if'.
3633         * tree.h: Prototype variably_modified_type_p.
3634
3635         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
3636
3637 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
3638
3639         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
3640         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
3641
3642         * config/s390/s390-protos.h (fp_operand): Remove.
3643         * config/s390/s390.c (fp_operand): Remove.
3644         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
3645         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
3646         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
3647         (movdi_31, movdf_31 splitters): Likewise.
3648
3649         * config/s390/s390.h (IEEE_FLOAT): Remove.
3650         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
3651         (INT_REGNO_P): Rename to ...
3652         (GENERAL_REGNO_P): ... this.
3653         (FLOAT_REGNO_P): Rename to ...
3654         (FP_REGNO_P): ... this.
3655         (ADDR_REGNO_P): New macro.
3656         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
3657         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
3658         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
3659         (HARD_REGNO_NREGS): Adapt to macro renaming.
3660         (HARD_REGNO_MODE_OK): Likewise.
3661
3662 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
3663             Geoff Keating  <geoffk@apple.com>
3664
3665         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
3666         (rs6000_memory_move_cost): New function.
3667         * config/rs6000/rs6000-protos.h: Declare them.
3668         * config/rs6000/rs6000.h: Use them.
3669
3670 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
3671
3672         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
3673         inlining it into other libgcc2 routines.
3674         (__udivmoddi4): Likewise.
3675
3676 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
3677
3678         * doc/sourcebuild.texi (Test Suites): Improve.
3679
3680 2002-10-22  Stan Shebs  <shebs@apple.com>
3681
3682         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
3683         case for Darwin.
3684
3685 2002-10-22  Jim Wilson  <wilson@redhat.com>
3686
3687         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
3688
3689 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
3690
3691         PR other/8289
3692         * xmmintrin.h: Add const to the argument of loads.
3693
3694         * i386.md (pushv2di): New pattern.
3695         PR target/6890
3696         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
3697
3698 2002-10-22  Richard Henderson  <rth@redhat.com>
3699
3700         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
3701         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
3702         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
3703         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3704         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3705         (TARGET_ASM_OUT): Update.
3706         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
3707         (hook_bool_tree_hwi_hwi_tree_true): New.
3708         (default_can_output_mi_thunk_no_vcall): New.
3709         * hooks.h: Declare them.
3710         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
3711
3712         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3713         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
3714         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
3715         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
3716         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
3717         config/stormy16/stormy16.c: Similarly.
3718
3719         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
3720         Handle 64-bit properly.  Streamline.
3721         (x86_output_mi_vcall_thunk): Remove.
3722         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
3723         (x86_can_output_mi_thunk): New.
3724         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3725         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3726         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
3727
3728         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
3729         output_mi_thunk; make static; always use function_section.
3730         (TARGET_ASM_OUTPUT_MI_THUNK): New.
3731         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3732         (rs6000_ra_ever_killed): Test no_new_pseudos not
3733         targetm.asm_out.output_mi_thunk in conjunction with thunks.
3734         * config/rs6000/rs6000-protos.h: Update.
3735         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3736         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
3737         xcoffout_declare_function when using rs6000_output_mi_thunk.
3738
3739         * config/s390/s390.c (s390_output_mi_thunk): Rename from
3740         s390_output_mi_vcall_thunk.
3741         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3742         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3743
3744         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
3745         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3746         * config/vax/vax-protos.h: Update.
3747         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
3748
3749 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
3750
3751         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
3752         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
3753         * i386.md (movti_internal): Use 'C'
3754
3755         * xmmintrin.h (_mm_cmplt_epi*): New.
3756
3757 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3758
3759         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
3760         ("*movdf_64"): Likewise.
3761         ("*lshrdi3_64"): Likewise.
3762         ("blockage"): Add length attribute.
3763         ("lit"): Likewise.
3764
3765 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
3766
3767         * i386.md: FIx typo.
3768         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
3769         (sse2_umulv2siv2di3): Fix predicate.
3770         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
3771         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
3772         * xmmintrin.h (_mm_mul_epu16): Rename to...
3773         (_mm_mul_epu32): This one.
3774         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
3775
3776         (contains_128bit_aligned_vector_p): Undo accidental checkin.
3777
3778 2002-10-22  Eric Christopher  <echristo@redhat.com>
3779
3780         * config/sparc/sparc.h: Add #error.
3781
3782 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3783
3784         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
3785         [s390x-*-linux*]: Likewise.
3786         * config/s390/t-linux: Remove.
3787         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
3788
3789 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
3790
3791         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
3792         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
3793         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
3794         * i386.md (mmx_punpck?dq): Simplify.
3795         (sse2_pubpcklqdq): Fix.
3796         (sse2_pubpckhqdq): New.
3797         * xmmintrin.h (_mm_unpackhi_epi32): New.
3798
3799         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
3800         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
3801
3802 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
3803
3804         PR c++/7209
3805         * fold_const.c (fold_binary_op_with_conditional_arg): Always
3806         build compound_expr if we used save_expr.
3807
3808 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
3809
3810         * output.h (SECTION_NOTYPE): Define.
3811         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
3812         init array sections.
3813         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
3814         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
3815         merge TLS support.
3816
3817 2002-10-21  Richard Henderson  <rth@redhat.com>
3818
3819         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
3820         the function type, not the return type.
3821
3822 2002-10-21  Richard Henderson  <rth@redhat.com>
3823
3824         * real.c (sticky_rshift_significand): Return inexact, don't
3825         or it in immediately.
3826         (sub_significands): Accept incomming carry.
3827         (div_significands, rtd_divmod): Update for sub_significands change.
3828         (round_for_format): Update for sticky_rshift_significand change.
3829         (do_add): Don't involve the inexact bit in addition, do give the
3830         inexact bit as the subtraction carry-in.
3831         (encode_internal, decode_internal, real_internal_format): New.
3832         * real.h (real_internal_format): Declare.
3833
3834 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3835
3836         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
3837         don't define sdiv_qrnnd.
3838
3839 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
3840
3841         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
3842         using IN_RANGE.
3843         (TINY_CONSTANT_ADDRESS_P): Likewise.
3844
3845 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
3846
3847         * i386.c (builtin_description): Add punpcklqdq and movdq2q
3848         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
3849         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
3850         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
3851         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
3852         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
3853         __builtin_ia32_setzero128.
3854         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
3855         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
3856         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
3857         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
3858         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
3859         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
3860         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
3861         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
3862         sse2_movq): New patterns.
3863         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
3864         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
3865         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
3866         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
3867         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
3868         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
3869         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
3870         (_mm_insert_epi16): Fix.
3871
3872 2002-10-21  Dale Johannesen  <dalej@apple.com>
3873
3874         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
3875             unsafe math reversals correctly for RTL generation.
3876           (output_cbranch):  Replace rs6000_reverse_condition call
3877             by its former definition.
3878
3879 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
3880
3881         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
3882         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
3883         from constant pool or LABEL_REFs as sign extended if allow_rip.
3884         Change all +-1GB limits to +-16MB.
3885         (x86_64_general_operand, x86_64_szext_general_operand,
3886         x86_64_nonmemory_operand, x86_64_movabs_operand,
3887         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
3888         legitimate_address_p, ix86_expand_int_movcc): Update callers.
3889         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
3890         in CM_SMALL_PIC model.
3891         (legitimate_pic_address_disp_p): Don't check offsets before
3892         calling local_symbolic_operand.
3893         (legitimize_pic_address): Force offsets bigger than +-16MB into
3894         register.
3895         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
3896         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
3897         prototype.
3898
3899         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
3900         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
3901         * configure: Rebuilt.
3902         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
3903         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
3904         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
3905         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
3906         -fpic.
3907         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
3908         non-pic code if TARGET_64BIT.
3909         (legitimize_address): Generate 64-bit TLS sequences.
3910         (output_pic_addr_const): Support x86-64 TLS operators.
3911         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
3912         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
3913         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
3914         (output_addr_const_extra): Support x86-64 TLS operators.
3915         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
3916         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
3917         unconditionally.
3918         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
3919         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
3920         (*tls_global_dynamic_sun): Renamed to...
3921         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
3922         (tls_global_dynamic): Renamed to...
3923         (tls_global_dynamic_32): ... this.
3924         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
3925         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
3926         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
3927         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
3928         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
3929         (tls_local_dynamic_base_dynamic): Renamed to...
3930         (tls_local_dynamic_base_dynamic_32): ... this.
3931         (tls_local_dynamic_base_dynamic_64,
3932         *tls_local_dynamic_base_dynamic_64): New.
3933         (*tls_local_dynamic_once): Renamed to...
3934         (*tls_local_dynamic_32_once): ... this.
3935
3936 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3937
3938         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
3939         __divdi3, __umoddi3, or __moddi3.
3940
3941 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3942
3943         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
3944         instead of just opt_index as switch expression.
3945
3946         * calls.c (store_one_arg): Change type of 'excess_align'
3947         to unsigned int.
3948
3949         * profile.c (output_gcov_string): Change type of 'temp'
3950         to size_t.
3951
3952 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3953
3954         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
3955         (__fixunssfdi, __fixsfdi): Likewise.
3956         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
3957         (s390_single_qi): Likewise.
3958         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
3959         unsigned comparison warning.
3960         (s390_return_addr_rtx): New function.
3961         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
3962         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
3963         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
3964
3965 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3966
3967         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
3968         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
3969         (s390_output_mi_thunk): Remove.
3970         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3971
3972 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
3973
3974         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
3975
3976 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
3977
3978         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
3979         inverted test in the conditional determining the possibility
3980         of sibcalls in PIC mode.
3981
3982 2002-10-20  Richard Henderson  <rth@redhat.com>
3983
3984         * target.h (struct gcc_target): Line wrap.
3985
3986         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
3987         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
3988         * config/alpha/alpha.h: ... not here.
3989         * config/alpha/alpha-protos.h: Update.
3990
3991         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
3992         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
3993         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
3994         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
3995         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
3996         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
3997         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
3998         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
3999         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
4000         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
4001         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
4002         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
4003         config/sparc/sparc.c, config/sparc/sparc.h,
4004         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
4005         config/stormy16/stormy16.h: Similarly.
4006
4007         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
4008         selection logic from call patterns.
4009
4010 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
4011
4012         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
4013
4014 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4015
4016         PR other/8202
4017         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
4018         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
4019         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
4020         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
4021
4022 2002-10-20  Roger Sayle  <roger@eyesopen.com>
4023
4024         PR c/761
4025         * toplev.c (flag_unsafe_profile_arcs): Remove.
4026         (flag_bounded_pointers): Remove.
4027         (flag_bounds_check): Correct comments.
4028         (lang_independent_options): Remove -funsafe-profile-arcs and
4029         -fbounded-pointers.  Correct -fbounds-check comments.
4030
4031         * flags.h: Correct flag_schedule_interblock comments.
4032         (flag_bounded_pointers): Remove prototype.
4033         (flag_bounds_check): Correct comments.
4034
4035         * c-opts.c (c_common_init_options): No need to mark
4036         flag_bounds_check as unspecified.
4037         (c_common_post_options): And no need to set it from
4038         flag_bounded_pointers if its still unspecified.
4039
4040         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
4041         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
4042         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
4043         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
4044
4045 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
4046         Angela Marie Thomas  <angela@releasedominatrix.com>
4047         Brendan Kehoe  <brendan@zen.org>
4048         Nick Clifton  <nickc@redhat.com>
4049         Andrew Haley  <aph@redhat.com>
4050
4051         * configure.in (--with-sysroot): New.  Don't inhibit libc if
4052         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
4053         and CROSS_SYSTEM_HEADER_DIR.
4054         * configure: Rebuilt.
4055         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
4056         (TARGET_SYSTEM_ROOT): New.
4057         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
4058         CROSS_SYSTEM_HEADER_DIR.
4059         (install-gcc-tooldir): New target.
4060         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
4061         if SYSTEM_HEADER_DIR does not exist and it's not the default
4062         sys-include directory.
4063         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
4064         (install-mkheaders): Likewise.
4065         * gcc.c (target_system_root): New variable.
4066         (add_sysrooted_prefix): New function.
4067         (process_command): Recompute run-time target_system_root from
4068         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
4069         does not exist.
4070         (do_spec_1): Process 'R' spec.
4071         (main): Add md_exec_prefix to exec_prefixes regardless of
4072         startfile_prefix_spec.  Use add_sysrooted_prefix for
4073         startfile_prefixes, and don't skip the default ones when cross
4074         compiling with sysroot enabled.  Removed unused case of
4075         non-absolute standard_startfile_prefix.
4076         * config/interix.h: Remove the only potential, yet disabled,
4077         occurrence of non-absolute (empty) standard_startfile_prefix.
4078         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
4079         linking.
4080         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
4081         * doc/install.texi (--with-sysroot): Document.
4082         (--with-headers, --with-libs): Deprecate.
4083
4084 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4085             Mark Mitchell  <mark@codesourcery.com>
4086
4087         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
4088         match target.h.
4089         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
4090         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
4091         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
4092         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
4093         x86_output_mi_thunk): Likewise.
4094         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
4095         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
4096         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
4097         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
4098         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
4099         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
4100         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
4101         Likewise.
4102         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
4103
4104         * target.h (gcc_target): Update output_mi_thunk and
4105         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
4106         vcall_index.
4107
4108         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
4109         TARGET_ASM_OUTPUT_MI_THUNK in comments.
4110         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
4111         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
4112         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
4113         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
4114         signature.
4115         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
4116         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
4117         TARGET_ASM_OUTPUT_MI_THUNK in comments.
4118         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
4119         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
4120         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
4121         TARGET_ASM_OUTPUT_MI_THUNK in comments.
4122         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
4123         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
4124
4125         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
4126         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
4127
4128 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
4129
4130         * real.c (do_add): Fix 0+0 sign corner case.
4131         (do_divide): Fix Inf/0 corner case.
4132
4133 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
4134
4135         * i386.c (classify_argument): Pass MMX arguments in memory
4136         (ix86_expand_builtin): Expand proper address mode for cflush.
4137         * i386.md (movdqa): Fix typo.
4138         (sse2_cflush): Accept DImode addresses.
4139
4140         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
4141         (_mm_max_sd): Fix pasto.
4142         (_mm_storeh_pd, _mm_storel_pd): Fix.
4143
4144         * i386.c (bdesc_comi): Fix to match specification.
4145         (ix86_expand_sse_comi): Emit the comparison properly.
4146         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
4147         Do not use comparison operator.
4148         (vnmaskcmp): Fix template.
4149
4150         * xmmintrin.h (_mm_cvtps_pi16): Fix.
4151
4152 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
4153
4154         * dependence.c : Removed.
4155         * Makefile.in : Remove dependence.o.
4156
4157 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
4158
4159         * mmintrin.h (__m64): typedef it to v2si.
4160         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
4161         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
4162         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
4163         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
4164         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
4165         * xmmintrin.h (_mm_setzero_si64): Likewise.
4166
4167         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
4168         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
4169
4170         PR target/7693
4171         Patch by Shawn Wagner
4172         * mmintrin.h: Replace pi64 by si64.
4173
4174 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
4175
4176         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
4177         Use length of 4 not *.
4178         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
4179         (movdf_softfloat64): Likewise.
4180         (movdi_internal32): Use length of 4 not *.
4181         (movti_power): Same.
4182         (ctrsi, ctrdi): Same.
4183
4184 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
4185
4186         * c-decl.c (start_decl): Point users of the old initialized-
4187         typedef extension at __typeof__.
4188
4189 2002-10-18  Richard Henderson  <rth@redhat.com>
4190
4191         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
4192         (real_to_decimal): Re-implement using the logic from the
4193         gcc 3.2 etoasc.  Comment heavily.
4194         (div_significands): Simplify loop startup and comparison logic.
4195
4196 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
4197
4198         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
4199         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
4200         (TARGET_ASM_OUT): Add them.
4201         * target.h (asm_out): Add output_mi_thunk and
4202         output_mi_vcall_thunk.
4203         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4204         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4205         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
4206         * config/arm/arm.c (arm_output_mi_thunk): Define.
4207         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4208         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4209         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4210         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4211         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4212         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4213         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
4214         prototype.
4215         (x86_output_mi_vcall_thunk): Declare.
4216         * config/i386/i386.c (override_options): Clear
4217         output_mi_vcall_thunk in 64-bit mode.
4218         (ix86_fntype_regparm): New function.
4219         (ix86_return_pops_args): Use it.
4220         (ia32_this_parameter): New function.
4221         (x86_output_mi_vcall_thunk): New function.
4222         (x86_output_mi_thunk): Use it
4223         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
4224         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
4225         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
4226         * config/i960/i960.c (i960_output_mi_thunk): New function.
4227         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
4228         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
4229         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
4230         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4231         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4232         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
4233         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4234         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4235         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4236         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4237         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4238         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4239         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4240         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4241         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4242         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4243         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
4244         * config/s390/s390.c (s390_output_mi_thunk): Define.
4245         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4246         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4247         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4248         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4249         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4250         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4251         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
4252         * config/vax/vax.c (vax_output_mi_thunk): Define.
4253         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4254         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4255         * doc/tm.texi: Adjust documentation.
4256
4257 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
4258
4259         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
4260         __enable_execute_stack function.
4261         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
4262         as NETBSD_ENABLE_EXECUTE_STACK.
4263         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4264         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4265         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4266         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4267         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4268
4269 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
4270
4271         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
4272         to __enable_execute_stack with the address of the trampoline
4273         if TRANSFER_FROM_TRAMPOLINE is defined.
4274         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
4275         constant if building libgcc2.
4276
4277 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
4278
4279         * i386.c (pentium4_cost): Fix according to Intel recommendations.
4280         (ix86_memory_move_cost): Fix for 64bit compilation.
4281
4282 2002-10-17  Roger Sayle  <roger@eyesopen.com>
4283
4284         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
4285
4286 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
4287
4288         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
4289         in CTR/LR/MQ.
4290         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
4291         to/from CTR/LR/MQ.
4292         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
4293         (movsf_softfloat): Likewise.
4294
4295 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
4296
4297         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
4298
4299 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
4300
4301         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
4302         tramp, not addr, to pass the trampoline address to
4303         __enable_execute_stack.
4304
4305 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
4306
4307         * mmintrin.h: Guard by __MMX__
4308         * xmmintrin.h: Guard by __SSE__
4309
4310         PR other/8062
4311         * xmmintrin.h (_MM_SHUFFLE2): New macro.
4312         (_mm_load*_?d): New functions.
4313         (_mm_set*_?d): New functions.
4314         (_mm_store*_?d): New functions.
4315
4316 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
4317
4318         Really commit patch announced at Oct 14
4319         PR c/7344
4320         * predict.c (can_predict_insn_p): New function.
4321         (estimate_probability): Avoid unnecesary work.
4322         (process_note_prediction): Likewise.
4323         * toplev.c (rest_of_compilation): Account early branch prediction pass
4324         as TV_BRANCH_PROB.
4325
4326         PR other/8048
4327         Found by Ian Ollmann
4328         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
4329         (_mm_load?_pd): Likewise.
4330         (_mm_store?_pd): Likewise.
4331
4332         PR target/7386
4333         * i386.c (builtin_description):Drop cmpg[te]s[sd].
4334         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
4335         swapped alternative.
4336
4337         PR opt/7630
4338         * reload1.c (reload_inner_reg_of_subreg): New argument output;
4339         (push_reload): Update call.
4340
4341 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
4342
4343         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
4344         if using mips/elf.h or mips/elf64.h.
4345         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
4346         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
4347
4348 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
4349
4350         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
4351         SI.
4352
4353 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
4354
4355         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
4356         (LPREFIX): Likewise.
4357         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
4358         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
4359         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
4360         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
4361         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
4362
4363         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
4364         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
4365         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4366         BSS_SECTION_ASM_OP): Move from linux.h.
4367         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4368         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4369
4370         * config/s390/s390.c (s390_function_profiler): Use
4371         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4372
4373 2002-10-15  Eric Christopher  <echristo@redhat.com>
4374
4375         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
4376         * java/parse.y (obtain_incomplete_type): Make pointer
4377         ptr_mode.
4378
4379 2002-10-15  Richard Henderson  <rth@redhat.com>
4380
4381         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
4382         as arguments.  Bound DIGITS by the available buffer size.
4383         (real_to_hexadecimal): Likewise.
4384         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
4385         (REAL_VALUE_TO_DECIMAL): Remove.
4386         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
4387         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
4388         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
4389         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4390         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
4391         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
4392         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
4393         use real_to_decimal directly, and with the proper arguments.
4394         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
4395
4396 2002-10-15  Jim Wilson  <wilson@redhat.com>
4397
4398         * reload1.c (merge_assigned_reloads): After converting overlapping
4399         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
4400
4401         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
4402
4403 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
4404
4405         * expr.c (do_tablejump): Fix typo in my previous commit.
4406
4407 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
4408
4409         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
4410
4411 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4412
4413         * config/s390/s390.c (s390_split_branches): Add return
4414         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
4415
4416         (find_base_register_in_addr): New function.
4417         (find_base_register_ref): New function.
4418         (replace_base_register_ref): New function.
4419
4420         (struct constant_pool): Add members pool_insn, insns, and anchor.
4421         Remove member last_insn.
4422         (s390_start_pool): Initialize them.
4423         (s390_end_pool): Emit pool placeholder insn.
4424         (s390_add_pool_insn): New function.
4425         (s390_find_pool): Use insns bitmap instead of addresses.
4426         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
4427         Replace unspec 104 by local-pool-relative references.
4428         (s390_output_constant_pool): Output anchor label if required.
4429         (s390_output_symbolic_const): Handle unspec 104 and 105.
4430         (s390_add_pool): Remove, replace by ...
4431         (s390_add_constant, s390_find_constant): ... these new functions.
4432         (s390_add_anchor): New function.
4433
4434         (s390_chunkify_pool): Delete, replace by ...
4435         (s390_chunkify_start, s390_chunkify_finish,
4436         s390_chunkify_cancel): ... these new functions.
4437         (s390_optimize_prolog): Add parameter TEMP_REGNO.
4438         Recompute register live data for special registers.
4439         (s390_fixup_clobbered_return_reg): New function.
4440         (s390_machine_dependent_reorg): Rewrite to use new
4441         s390_chunkify_... routines.
4442
4443         config/s390/s390.md ("reload_base"): Rename to ...
4444         ("reload_base_31"): ... this.
4445         ("reload_base_64"): New insn.
4446         ("reload_base2"): Remove.
4447         ("reload_anchor"): New insn.
4448         ("pool"): New insn.
4449
4450         s390.c (s390_pool_overflow): Remove.
4451         s390.h (s390_pool_overflow): Likewise.
4452         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
4453
4454 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
4455
4456         * sh.md (movv8qi_i+2): Don't split if source is -1.
4457
4458 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
4459
4460         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
4461
4462 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4463
4464         PR opt/7409
4465         * loop.c (loop_regs_scan): Mark registers used for function
4466         argument passing as MAY_NOT_OPTIMIZE.
4467
4468 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
4469
4470         * gcov-io.h (gcov_info): Fix type.
4471         * profile.c (create_profiler): Fix type mismatch.
4472
4473 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
4474
4475         * i386.md (movv2di_internal): New pattern.
4476         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
4477         (movv2di): New expander.
4478         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
4479
4480         * i386.c (ix86_expand_timode_binop_builtin): Delete.
4481         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
4482         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
4483         (ix86_expand_builtin): Likewise.
4484         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4485         sse_andti3,
4486         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4487         sse_andnti3,
4488         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
4489         sse_orti3,
4490         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
4491         sse_xorti3): Kill.
4492         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
4493          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
4494         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
4495          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
4496         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
4497          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
4498
4499         * xmmintrin.h (__m128i): Define as __v2di.
4500
4501         PR c++/6419
4502         (expand_expr): Use DECL_RTL_SET_P.
4503
4504 2002-10-14  Roger Sayle  <roger@eyesopen.com>
4505
4506         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
4507
4508 2002-10-14  Roger Sayle  <roger@eyesopen.com>
4509             Zack Weinberg <zack@codesourcery.com>
4510
4511         * config/i386/i386.c (k6_cost): Correct typo.
4512
4513 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
4514
4515         PR optimization/6631
4516         * alias.c (objects_must_conflict_p): Check honor_readonly when
4517         examining TYPE_READONLY.
4518         * function.c (assign_stack_temp_for_type): Likewise.
4519
4520 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
4521
4522         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
4523         Swap zero extension arguments.
4524         (umaxhi3): Fix instruction class.
4525         PR target/7211
4526         (prefetch): Fix prefetch instructions.
4527         PR target/7238
4528         (pkwb): Fix output constraint.
4529
4530 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
4531
4532         * config/mips/mips.c (print_operand): Increase buffer size for
4533         real numbers.
4534
4535 2002-10-14  Richard Henderson  <rth@redhat.com>
4536
4537         PR opt/8165
4538         * gcse.c (adjust_libcall_notes): Revert last change.
4539         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
4540
4541 2002-10-14  Andrew Haley  <aph@redhat.com>
4542
4543         * tree-inline.c (remap_block): All local class initialization
4544         flags go in the outermost scope.
4545         (expand_call_inline): Call java_inlining_map_static_initializers.
4546         (expand_call_inline): Call java_inlining_merge_static_initializers.
4547         * java/lang.c (merge_init_test_initialization): New.
4548         (java_inlining_merge_static_initializers): New.
4549         (inline_init_test_initialization): New.
4550         (java_inlining_map_static_initializers): New.
4551
4552         * tree-inline.c (expand_call_inline): Convert retvar to expected
4553         type.
4554
4555 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
4556
4557         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
4558
4559 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
4560
4561         * stmt.c: Fix typo in comment.
4562
4563 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
4564
4565         * c-common.c (c_common_type_for_mode): Add V2HImode case.
4566         * tree.c (build_common_tree_nodes_2): Initialize
4567         unsigned_V2HI_type_node and V2HI_type_node.
4568         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
4569         (unsigned_V2HI_type_node, V2HI_type_node): Define.
4570
4571 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
4572
4573         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
4574         Handle TARGET_64BIT.
4575
4576 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
4577
4578         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
4579         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
4580         (MULTILIB_DIRNAMES): Remove long32.
4581         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
4582         (MULTILIB_REDUNDANT_DIRS): Remove.
4583
4584 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
4585
4586         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
4587         * gcc.c (driver_self_specs): New variable.
4588         (do_self_spec): New function.
4589         (main): Use it to process driver_self_specs.
4590
4591 2002-10-13  Richard Henderson  <rth@redhat.com>
4592
4593         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
4594         indirect sibcalls when regparm >= 3.
4595
4596         * config/i386/i386.c (sibcall_insn_operand): New.
4597         * config/i386/i386.h (PREDICATE_CODES): Update.
4598         * config/i386/i386-protos.h: Update.
4599         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
4600
4601         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
4602
4603 2002-10-12  Roger Sayle  <roger@eyesopen.com>
4604
4605         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
4606         arithmetic right shifts of ~0 during RTL simplifications.
4607
4608 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
4609
4610         PR preprocessor/7862
4611         PR preprocessor/8190
4612         * gcc.c (cpp_unique_options): Don't delete .d files.
4613         Remove stray whitespace.
4614
4615 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
4616
4617         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
4618         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
4619         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
4620         (pdp11_output_function_epilogue, output_ascii): Likewise.
4621         (output_addr_const_pdp11): Likewise.
4622         * pdp11.md (movdi): Use offsetable memory for floating store.
4623         (lshrsi3, negsi2): Delete irrelevant comment.
4624
4625 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
4626
4627         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
4628         indirect calls to be sibcall optimized.
4629         * config/i386/i386.md (sibcall_1): New.
4630         (call_1): Add no-sibcalls condition.
4631         (sibcall_value_1): New.
4632         (call_value_1): Add no-sibcalls condition.
4633
4634 2002-10-11  Eric Christopher  <echristo@redhat.com>
4635
4636        * output.h (default_valid_pointer_mode): Declare.
4637        * varasm.c (default_valid_pointer_mode): Define.
4638        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
4639        * target.h: Ditto.
4640        * tree.c (build_pointer_type_for_mode): New function.
4641        (build_pointer_type): Use.
4642        (build_reference_type_for_mode): New function.
4643        (build_reference_type): Use.
4644        * tree.h: Declare new functions.
4645        * c-common.c (handle_mode_attribute): Use new functions, check
4646        for type.
4647        * stor-layout.c (layout_type): Depend on machine mode for
4648        REFERENCE_TYPE and POINTER_TYPE.
4649        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
4650        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
4651        and REFERENCE_TYPE.
4652        * config/mips/mips.c (mips_valid_pointer_mode): New function.
4653        (TARGET_VALID_POINTER_MODE): Use and define.
4654        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
4655
4656 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
4657
4658         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
4659         not the address of the REG.
4660         (struct cse_reg_info): Make subreg_ticked unsigned.
4661
4662 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
4663
4664         * doc/compat.texi: Add info about C++ libraries.
4665
4666 2002-10-11  Richard Henderson  <rth@redhat.com>
4667
4668         PR opt/8165
4669         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
4670
4671 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4672
4673         * cfganal.c (dfs_enumerate_from): Use PARAMS.
4674         * genautomata.c (output_insn_code_cases): Likewise.
4675         * real.c (real_format): Likewise.
4676         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
4677         ensure value is promoted before doing subtraction.
4678
4679 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
4680
4681         * calls.c (expand_call): Simplify noreturn call.
4682
4683         PR c/7344
4684         * cfgbuild.c (make_edges): Create edge cache when we do have
4685         large jumptable.
4686         * expr.c (do_tablejump): Note size of maximal jumptable.
4687         * function.c (prepare_function_start): Zero out size.
4688         * function.h (function): Add max_jumptable_ents.
4689
4690         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
4691
4692 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
4693
4694         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
4695         register for mperm_w operation.
4696
4697 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
4698
4699         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
4700         an integer, use simplify_gen_subreg.
4701
4702 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
4703
4704         * calls.c (flags_from_decl_or_type): Make extern.
4705         (ECF_*): Move ...
4706         * rtl.h (ECF_*): ... here.
4707         (flags_from_decl_or_type): Declare.
4708
4709 2002-10-10  Roger Sayle  <roger@eyesopen.com>
4710             Nathan Sidwell <nathan@codesourcery.com>
4711
4712         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
4713         shifts of the form -1 >> x.
4714
4715 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
4716
4717         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
4718
4719 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
4720
4721         * extend.texi (Vector Extensions): Remove comment about single
4722         element vectors.
4723
4724 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4725
4726         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
4727         * function.c (insns_for_mem_hash): Likewise.
4728         * varasm.c (STRHASH): Likewise.
4729
4730 2002-10-10  Stuart Hastings  <stuart@apple.com>
4731
4732         * cse.c (struct cse_reg_info): Add subreg_ticked.
4733         (SUBREG_TICKED): New.
4734         (get_cse_reg_info): Initialize SUBREG_TICKED.
4735         (mention_regs): Use it.
4736         (invalidate): Set SUBREG_TICKED.
4737         (invalidate_for_call): Likewise.
4738         (addr_affects_sp_p): Likewise.
4739
4740 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
4741
4742         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
4743         into proper operand.
4744
4745 2002-10-10  Denis Chertykov  <denisc@overta.ru>
4746
4747         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
4748         deallocation.
4749         * config/ip2k/libgcc.S: Combine routines used by function
4750         epilogue.
4751
4752 2002-10-10  Jim Wilson  <wilson@redhat.com>
4753
4754         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
4755         UDIV.
4756
4757 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
4758
4759         * config/rs6000/aix52.h: New file.
4760         * config/rs6000/t-aix52: New File.
4761         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
4762         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
4763
4764 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
4765
4766         PR target/5610
4767         * invoke.texi (-msse-math): Kill
4768         (-msse): Add note to mfpmath=sse.
4769
4770 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
4771
4772         PR target/7723
4773         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
4774
4775 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
4776
4777         PR preprocessor/8179
4778         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
4779         as cc1_options.
4780         (default_compilers): Pass debug options when preprocessing
4781         stdin.
4782
4783 2002-10-06  Richard Henderson  <rth@redhat.com>
4784
4785         * toplev.c (rest_of_compilation): Revert opt/2960 change.
4786
4787 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
4788
4789         * i386.c (*_cost): Add branch costs.
4790         (override_options): set ix86_branch_cost.
4791         (ix86_expand_int_movcc): Use BRANCH_COST.
4792         * i386.h (costs): Add branch_cost.
4793
4794 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
4795
4796         PR c/7353
4797         * c-decl.c (start_decl): Unconditionally issue error for
4798         'typedef foo = bar'.
4799         (finish_decl): Remove special case for TYPE_DECL with initializer.
4800
4801         * doc/extend.texi: Delete "Naming Types" section.  Change all
4802         cross-references to that section to refer to "Typeof" instead.
4803         Add the useful safe-max()-macro example from "Naming Types" to
4804         "Typeof", rewritten using that extension.  Add some compatibility
4805         notes to "Typeof."
4806
4807 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4808
4809         * loop.c: Revert 2002-08-15 change.
4810         (LOOP_REGNO_NREGS): Ensure type is int.
4811
4812 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
4813
4814         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
4815         which copies first FPR and clears second.
4816         (extendsftf2): Same.
4817         (floatditf2): Fix typo.
4818         (floatsitf2): Same.
4819         (fix_trunctfdi2): Same.
4820         (fix_trunctfsi2): Same.
4821
4822 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4823
4824         * conflict.c (arc_hash): Change return type to hashval_t.
4825         * cselib.c (get_value_hash): Likewise.
4826         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
4827         state_hash, automata_list_hash): Likewise.
4828         * read-rtl.c (def_hash): Likewise.
4829         * tree.c (type_hash_hash): Likewise.
4830
4831 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
4832
4833         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
4834         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
4835
4836 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
4837
4838         * sh.md (ffssi2): Fix emitted code.
4839
4840 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
4841
4842         * cse.c (insn_live_p): Pass insn pattern, not full insn
4843         to may_trap_p.
4844
4845 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
4846
4847         * cppmacro.c (paste_tokens): Only allow / to paste with =.
4848
4849 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
4850
4851         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
4852         64-bit hosts.
4853         (movtf_internal): Reference correct displacement for second value
4854         in memory.
4855         (movtf splitter): Correct generation of constants in 64-bit mode.
4856
4857 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
4858
4859         * libgcc2.c (__floatdisf): Properly cure double rounding.
4860
4861 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4862
4863         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
4864         * doc/cpp.texi (Common Predefined Macros): Document.
4865
4866 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4867
4868         PR doc/7484
4869         * doc/invoke.texi (Option Summary): List
4870         -Wmissing-declarations as a C only option.
4871
4872 2002-10-08  Roger Sayle  <roger@eyesopen.com>
4873
4874         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
4875         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
4876         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
4877
4878 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
4879
4880         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
4881         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
4882         variables.
4883         (safe_vector_operand): Update sse_clrv4sf call.
4884         (ix86_expand_buildin): Likewise
4885         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
4886         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
4887         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
4888         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
4889         macros.
4890         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
4891         movv4si):  Obey the new flags.
4892         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
4893         reformating penalty.
4894         (anddf, cmov patterns): Avoid reformating by first converting.
4895         (sse_cvtsd2ss): Fix predicate.
4896         (sse2_clrti): Fix mode,
4897         (sse_clrv4sf): Avoid unspec.
4898
4899 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
4900
4901         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
4902         mno-app-regs|mcmodel=medany.
4903         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
4904         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
4905         (CRTSTUFF_T_CFLAGS): Define.
4906
4907 2002-10-08  Roger Sayle  <roger@eyesopen.com>
4908
4909         PR target/8087
4910         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
4911         pool references that are constructed using LO_SUM.
4912
4913 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
4914
4915         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
4916         -Wall.
4917         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
4918         message.
4919         * flags.h (warn_strict_aliasing): Declare.
4920         * toplev.c (warn_strict_aliasing): Define.
4921         (lang_independent_options): Add it.
4922         * doc/invoke.texi (-Wstrict-aliasing): Document it.
4923
4924 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
4925
4926         * system.h (GCCBUGURL): Delete.
4927         * version.c (bug_report_url): New.  Add commentary about
4928         modifying both these strings in modified distributions.
4929         * version.h: Declare bug_report_url.
4930
4931         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
4932         bug_report_url.
4933
4934 2002-10-08  Nick Clifton  <nickc@redhat.com>
4935
4936         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
4937         convert uint64_t into __ev64_opaque__.
4938         (__ev_set_acc_s64): Likewise, but using signed types.
4939
4940 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
4941
4942         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
4943         ("*doloop_di_long"): Likewise.
4944
4945 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
4946
4947         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
4948
4949 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
4950
4951         * config/mips/mips.md (define_attr cpu): Add r4111.
4952
4953 2002-10-08  Anthony Green  <green@redhat.com>
4954
4955         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
4956
4957 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4958
4959         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
4960         for REAL_VALUE_TO_DECIMAL output.
4961
4962 2002-10-07  Richard Henderson  <rth@redhat.com>
4963
4964         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
4965         function; cleanup PLUS case by using recursion.  Update all users.
4966         (NONZERO_BASE_PLUS_P): Remove.
4967         (find_comparison_args): Use rtx_addr_can_trap_p instead.
4968         (fold_rtx): Use nonzero_address_p.
4969         * rtl.h (nonzero_address_p): Declare.
4970         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
4971         (rtx_addr_can_trap_p): Likewise.
4972         (nonzero_address_p): New.
4973         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
4974         (simplify_relational_operation): Use nonzero_address_p.
4975
4976 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
4977
4978         * config/rs6000/rs6000.c (rs6000_override_options): Set
4979         real_format_for_mode for IBM extended format, if enabled.
4980         (easy_fp_constant): Add TFmode.
4981         (rs6000_legitimize_address): Add TFmode.
4982         (rs6000_legitimate_address): Same.
4983         (function_arg_advance): TFmode uses two FPRs.
4984         (rs6000_emit_prologue): Fix warning.
4985         (rs6000_output_function_epilogue): Add TFmode.
4986         (output_toc): Add TFmode.
4987         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
4988         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
4989         * rs6000.md (movtf splitter): Load TFmode constant.
4990
4991 2002-10-07  Dale Johannesen  <dalej@apple.com>
4992
4993         * rtl.h:  Add NOTE_PRECONDITIONED.
4994         * unroll.c:  Set it.
4995         * loop.c:  Set loop_info->preconditioned from it.
4996         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
4997
4998 2002-10-07  Richard Henderson  <rth@redhat.com>
4999
5000         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
5001         new rtx for comparing the argument pointer against zero.
5002         (i960_va_start): Similarly.
5003
5004 2002-10-07  Richard Henderson  <rth@redhat.com>
5005
5006         * config/i960/i960.md (*): Use TFmode, not XFmode.
5007         * config/i960/i960.c (*): Likewise.
5008         (i960_arg_size_and_align): Remove XFmode alignment hack.
5009         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
5010         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
5011         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
5012         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
5013
5014 2002-10-07  Richard Henderson  <rth@redhat.com>
5015
5016         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
5017         entry points; use void return value and argument list.
5018
5019 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
5020
5021         * calls.c (expand_call): Fix function-is-volatile check.
5022
5023 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
5024
5025         * t-pdp11: Add MULTILIB support for msoft-float.
5026         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
5027
5028         * t-pdp11: Add LIB2FUNCS_EXTRA.
5029         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
5030         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
5031         'fldd' to 'ldd', rename 'fstd' to 'std'.
5032         (pdp11_output_function_epilogue): Likewise.
5033         (output_move_quad): Make the comment gas compatible.
5034         (output_ascii): Add preceding 0 to the octal constant.
5035         (print_operand_address): Add pre_modify, post_modify.
5036         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
5037         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
5038         with the indication of Paul Koning.
5039         (PRINT_OPERAND): Fix floating constant.
5040         * pdp11.md (movdi): Restrict matching pattern.
5041         (movqi): Generalize the matching pattern.
5042         (movdf): Restrict matching pattern.
5043         (zero_extendqihi2): Change constant representation.
5044         (floatsidf2): Fix wrong operands.
5045         (addqi3): Fix wrong instruction name.
5046         (subqi3): Fix wrong instruction name.
5047         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
5048         (xorsi3): Fix wrong insn.
5049         (one_cmplqi2): Add two operand pattern.
5050         (lsrsi3): New.
5051         (negsi2): New.
5052         (call): Add register indirect case.
5053         (mod): Fix wrong subreg.
5054
5055 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
5056             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5057
5058         PR c/7411
5059         * expr.c (expand_expr) [PLUS]: Simplify after the operands
5060         have been expanded in EXPAND_NORMAL mode.
5061
5062 2002-10-06  Richard Henderson  <rth@redhat.com>
5063
5064         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
5065
5066 2002-10-06  Richard Henderson  <rth@redhat.com>
5067
5068         PR optimization/2960
5069         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
5070         optimize_size.
5071
5072 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
5073
5074         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
5075         previously definitions.
5076
5077 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
5078
5079         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
5080         * c-opts.c (find_opt): Similarly.
5081
5082 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
5083
5084         * athlon.md: rewrite to DFA.
5085         * i386 (ix86_adjust_cost): Drop memory latency code.
5086         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
5087
5088 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
5089
5090         * gcc.c (set_multilib_dir): Don't access *end.
5091         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
5092         (print_multilib_info): Don't show paths starting with ".:".
5093         * genmultilib: Add new option, "yes" if multilibs are enabled.
5094         Update comments.  If multilibs not enabled, print .:${osdirout}
5095         for each directory.  If multilibs are enabled, always print
5096         ${dirout}:${osdirout}, even if the two are the same.
5097         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
5098         Pass all MULTILIB_* variables to genmultilib even if
5099         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
5100
5101 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
5102
5103         * gcc.c (process_command): Set .validated for -pipe.  Correct
5104         grammar in comment.
5105
5106 2002-10-04  Bruce Korb  <bkorb@gnu.org>
5107
5108         * fixinc/inclhack.def(hpux11_abs):  use format fix
5109         * fixinc/fixincl.x: regenerate
5110         * fixinc/tests/base/stdlib.h: accommodate new fix test
5111
5112 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
5113
5114         * c-common.c (cb_register_builtins):  Use really_no_inline.
5115
5116 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
5117
5118         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
5119         copied instruction if the note is not loop invariant.
5120
5121 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
5122
5123         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
5124
5125 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
5126
5127         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
5128         and -mhp-ld options to list of options.  Add -mgnu-ld
5129         and -mhp-ld option descriptions.
5130
5131 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
5132
5133         * fixinc/inclhack.def (hpux11_abs):  New.
5134         (stdio_va_list): change __va_list__ to __gnuc_va_list.
5135         * fixinc/fixincl.x: Rebuild.
5136
5137 2002-10-04  Roger Sayle  <roger@eyesopen.com>
5138
5139         * config/i386/i386.h (processor_costs): Add new fields fadd,
5140         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
5141         (RTX_COSTS): Use these fields to determine the RTX costs
5142         of floating point addition/subtraction, multiplication,
5143         division, fabs, negation and square root respectively.
5144         * config/i386/i386.c (size_cost): Provide instruction sizes
5145         for these new fields.
5146         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
5147         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
5148         counts for these new fields for all x86 processor variants.
5149
5150 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5151
5152         * mips.c (mips_const_double_ok): Delete unused variable.
5153
5154         * gengtype.c (rtx_next): Change type to int.
5155
5156 2002-10-04  Andreas Jaeger  <aj@suse.de>
5157
5158         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
5159
5160 2002-10-04  Richard Henderson  <rth@redhat.com>
5161
5162         * real.h (SIGNIFICAND_BITS): Add one more word.
5163         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
5164         * real.c (times_pten): New.
5165         (real_to_decimal, real_from_string): Use it.
5166         (sticky_rshift_significand): Use & to find modulus.
5167         (rshift_significand, lshift_significand): Likewise.
5168         (do_divide): Apply sticky bit after normalization.
5169         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
5170
5171 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
5172
5173         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
5174         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
5175
5176 2002-10-03  Andreas Jaeger  <aj@suse.de>
5177
5178         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
5179         to unsigned long, adjust printf format string.
5180         (output_mangled_typename): Likewise.
5181
5182 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
5183
5184         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
5185         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
5186         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
5187         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
5188         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
5189         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
5190         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
5191         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
5192
5193 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
5194
5195         * doc/invoke.texi (-Wabi): Document mangling bug.
5196
5197 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
5198
5199         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
5200         name for the tbtab label that depends on the function asm name.
5201         Don't output tbtab label unless optional_tbtab.
5202         (output_mi_thunk): Formatting.
5203
5204 2002-10-03  Richard Henderson  <rth@redhat.com>
5205
5206         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
5207         * config/m68k/m68k.c (override_options): ... here.
5208         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
5209         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
5210         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
5211         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
5212
5213 2002-10-03  Richard Henderson  <rth@redhat.com>
5214
5215         * real.h (struct real_value): Use ENUM_BITFIELD.
5216
5217 2002-10-03  Richard Henderson  <rth@redhat.com>
5218
5219         * config/i960/i960.md (call, call_value): Use emit_call_insn.
5220
5221 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
5222
5223         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
5224
5225 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
5226
5227         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
5228         * config/pa/pa.h (MASK_GNU_LD): New.
5229         (TARGET_GNU_LD): New.
5230         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
5231         on gnu-ld and MASK_GNU_LD.
5232         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
5233
5234 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
5235
5236         * i386.c (athlon_cost): Fix the move costs.
5237
5238 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
5239
5240         * final.c (final): Use symbol name as function name for profiling.
5241         * profile.c (get_exec_counts): Likewise.
5242         (branch_prob): Likewise.
5243
5244 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
5245
5246         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
5247
5248 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
5249
5250         * gcc.c (print_multi_os_directory): New variable.
5251         (option_map): Support --print-multi-os-directory.
5252         (struct prefix_list): Add os_multilib field.
5253         (multilib_os_dir): New variable.
5254         (static_specs): Add multilib_options.
5255         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
5256         subdirs if nonzero.
5257         (read_specs, execute): Update callers.
5258         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
5259         pass 1 as multilib option.
5260         (display_help): Include --print-multi-os-directory.
5261         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
5262         (process_command): Update callers.  Handle --print-multi-os-directory.
5263         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
5264         set.
5265         (main): Update find_a_file and add_prefix callers.
5266         Handle print_multi_os_directory.
5267         (struct mdswitchstr): New.
5268         (mdswitches, n_mdswitches): New variables.
5269         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
5270         present on the command line nor their mutually incompatible
5271         switches.
5272         (default_arg): Optimize.
5273         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
5274         array.
5275         (print_multilib_info): Only print GCC multilib dir name, not OS
5276         multilib dirname.
5277         * genmultilib: Add osdirnames parameter.  Output multilib_options
5278         variable.  If osdirnames is specified, output dirnames as
5279         dirname:osdirname.
5280         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
5281         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
5282         to compute libgcc_s soname and install path.
5283         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
5284         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
5285         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
5286         argument.
5287
5288         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
5289         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5290         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
5291         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
5292         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
5293         and -m64.
5294         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
5295         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5296         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
5297         (STARTFILE_ARCH_SPEC): Remove.
5298         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
5299         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5300         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
5301         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
5302         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5303
5304 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
5305
5306         * predict.c (choose_function_section): Avoid choice for linkonce functions.
5307
5308 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
5309
5310         * i386.md (lea to mul peep2): Fix condition.
5311
5312 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5313
5314         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
5315         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
5316
5317 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
5318
5319         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
5320         attribute "unused".
5321
5322         * config/t-libunwind: Mention unwind-sjlj.c.
5323         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
5324         to #ifndef __USING_SJLJ_EXCEPTIONS__.
5325
5326         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
5327         before inclusion of config.gcc, but after configuring the compiler etc.
5328         Determine default value for --enable-libunwind-exceptions based on
5329         whether the host has a libunwind library (not guaranteed to be correct,
5330         but it's a reasonable first guess and can always be overridden with an
5331         explicit --enable/disable-libunwind-exceptions.
5332         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
5333         tmake_file when $use_libunwind_exceptions is enabled.
5334         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
5335         ia64 (e.g., config/t-linux also updates it).
5336         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
5337         along with the shared version of libgcc since the latter requires
5338         the former.
5339         * unwind-libunwind.c: New file.
5340         * config/t-libunwind: Ditto.
5341
5342 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5343
5344         * config.gcc: Remove support for vax-*-vms*.
5345         * config/vax/vms.h: Remove.
5346         * config/vax/xm-vms.h: Remove.
5347         * config/vax/vax-protos.h: Remove VMS-specific code.
5348         * config/vax/vax.c: Remove VMS-specific code.
5349
5350 2002-10-02  Richard Henderson  <rth@redhat.com>
5351
5352         PR opt/7124
5353         * config/i386/i386.c (ix86_register_move_cost): Increase cost
5354         for secondary_memory_needed pairs.
5355
5356 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5357
5358         * doc/vms.texi: Blow away false include file section.
5359
5360 2002-10-02  Roger Sayle  <roger@eyesopen.com>
5361
5362         PR optimization/6627
5363         * toplev.c (force_align_functions_log): New global variable.
5364         * flags.h (force_align_functions_log): Add extern prototype.
5365         * varasm.c (assemble_start_function): Use it to force minimum
5366         function alignment.
5367         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
5368         minimum function alignment to one byte.
5369         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
5370         the least significant bit of vtable member function pointers.
5371         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
5372         here from cp/cp-tree.h.
5373
5374 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
5375
5376         * i386.c (print_operand_address): Use RIP addressing for offsetted
5377         label refs too.
5378
5379 2002-09-30  David S. Miller  <davem@redhat.com>
5380
5381         PR middle-end/7151
5382         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
5383         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
5384
5385 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
5386
5387         * calls.c (expand_call): Remove the `no indirect check'
5388         for sibcall optimization; use function_ok_for_sibcall
5389         target hook; refine check for `function is volatile'.
5390         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
5391         * hooks.c (hook_tree_tree_bool_false): New.
5392         * hooks.h (hook_tree_tree_bool_false): Declare.
5393         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
5394         (TARGET_INITIALIZER): Add it.
5395         * target.h (struct gcc_target): Add function_ok_for_sibcall.
5396         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
5397         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5398         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5399         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
5400         Remove function declaration.
5401         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
5402         function static and accept another argument of type `tree'.
5403         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5404         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5405         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5406         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
5407         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5408         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5409         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5410         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
5411         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
5412         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5413         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5414         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
5415         Remove function declaration.
5416         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
5417         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
5418         rename first argument to `decl'; accept another argument
5419         of type `tree'; make static.
5420         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5421         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5422         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
5423         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5424         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5425         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
5426         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5427         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5428         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5429
5430 2002-10-01  Roger Sayle  <roger@eyesopen.com>
5431
5432         * unroll.c (loop_iterations): Revert 2002-09-08 change.
5433
5434 2002-10-01  Richard Henderson  <rth@redhat.com>
5435
5436         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
5437         (real_to_hexadecimal): Likewise.
5438         * print-rtl.c (print_rtx): If we are linked with real.c, don't
5439         dump the XWINT fields of a floating point CONST_DOUBLE.
5440
5441 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
5442
5443         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
5444
5445 2002-10-01  Richard Henderson  <rth@redhat.com>
5446
5447         * calls.c (precompute_register_parameters): Force non-legitimate
5448         constants into pseudos.
5449
5450 2002-10-01  Nick Clifton  <nickc@redhat.com>
5451
5452         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
5453         to assembler template.
5454
5455 2002-10-01  Richard Henderson  <rth@redhat.com>
5456
5457         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
5458         for TLS debug info to !DECL_EXTERNAL.
5459
5460 2002-10-01  Matt Thomas  <matt@3am-software.com>
5461             Jason Thorpe  <thorpej@wasabisystems.com>
5462
5463         * config.gcc (vax-*-netbsdelf*): Enable configuration.
5464         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
5465         if not already defined.
5466         * config/vax/elf.h: New file.
5467         * config/vax/netbsd-elf.h: New file.
5468         * config/vax/vax.c: Include "debug.h".
5469         (vax_output_function_prologue): Add dwarf2 support.  Use
5470         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
5471         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
5472         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
5473         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
5474         (VAX_ISTREAM_SYNC): Remove.
5475         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
5476         (JUMP_TABLES_IN_TEXT_SECTION): Define.
5477         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
5478         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
5479         and assemble_name.
5480         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5481         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
5482         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
5483         (INCOMING_RETURN_ADDR_RTX): Define.
5484         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
5485         (VUNSPEC_SYNC_ISTREAM): Define.
5486         (blockage): Use VUNSPEC_BLOCKAGE.
5487         (sync_istream): New insn.
5488
5489 2002-10-01  Richard Henderson  <rth@redhat.com>
5490
5491         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
5492         (*call_value_pop, call, call_value): Add dwarf2 EH support.
5493         (*call): New insn.
5494
5495 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
5496
5497         PR c/8083
5498         * c-typeck.c (build_c_cast): Warn about type punning which breaks
5499         type based aliasing.
5500
5501 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
5502
5503         * stor-layout.c (update_alignment_for_field): New function.
5504         (place_union_field): Use it.
5505         (place_field): Likewise.
5506
5507 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
5508
5509         PR other/8077
5510         * gcc.c (cc1_options): Add space on -auxbase-strip.
5511
5512 2002-10-01  Jim Wilson  <wilson@redhat.com>
5513
5514         * config/v850/v850.h (EPILOGUE_USES): Define.
5515
5516 2002-09-30  Andrew Haley  <aph@redhat.com>
5517
5518         * flow.c (insn_dead_p): When using non-call-exceptions, don't
5519         eliminate insns that may trap.
5520         * cse.c (insn_live_p): Likewise.
5521
5522 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5523
5524         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
5525         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
5526         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
5527         * config/mips/mips.md: Apply same renaming here.
5528
5529 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5530
5531         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
5532         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
5533         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
5534         * config/mips/mips.md (define_attr cpu): Remove r4320.
5535         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
5536
5537 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5538
5539         * config/mips/mips.c (mips16_strings): New variable.
5540         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
5541         symbol in mips16_strings.  Free the list.
5542         (mips_encode_section_info): Keep track of local strings.
5543
5544 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5545
5546         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
5547         (sordered_df, sordered_sf): Remove.
5548         * config/mips/mips.c (get_float_compare_codes): New fn.
5549         (gen_int_relational, gen_conditional_move): Use it.
5550
5551 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5552
5553         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
5554         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
5555         * config/mips/mips.c (fcc_register_operand): New function.
5556         (mips_emit_fcc_reload): New function, extracted from reload_incc.
5557         (override_options): Allow TFmode values in float registers
5558         if ISA_HAS_8CC.
5559         * cnfig/mips/mips.md (reload_incc): Change destination prediate
5560         to fcc_register_operand.  Remove misleading source constraint.
5561         Use mips_emit_fcc_reload.
5562         (reload_outcc): Duplicate reload_incc.
5563
5564 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
5565
5566         * gcc.c (validate_switches): Handle all new forms of spec
5567         syntax introduced recently.  Now returns a char *.
5568         (validate_all_switches): Repetitive logic broken out to...
5569         (validate_switches_from_spec): ...here.
5570         * mklibgcc.in: Don't @-flag commands to generate .oS files.
5571
5572 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
5573
5574         * longlong.h: Partially synchronize with GMP-4.1 version:
5575         Use i370 definitions also for s390.
5576         Add generic definition of umul_ppmm in terms of smul_ppmm.
5577         [s390] (umul_ppmm): Remove.
5578         [s390] (smul_ppmm): Fix incorrect assembler constraints.
5579         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
5580
5581 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
5582
5583         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
5584         Add new RL_REGS register class.
5585         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
5586         Call xtensa_preferred_reload_class for both input and output reloads.
5587         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
5588         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
5589         instead of either AR_REGS or GR_REGS classes.
5590         (xtensa_secondary_reload_class): Use new RL_REGS class.
5591         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
5592
5593 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5594
5595         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
5596         (pa_strip_name_encoding): Strip '@' and '*', in that order.
5597         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
5598         there is a '*' prefix in NAME.
5599
5600 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
5601
5602         * reload.c (push_reload): Handle subregs and secondary memory.
5603         * reload1.c (gen_reload): Likewise.
5604
5605         * jump.c (reg_or_subregno): New function.
5606         * rtl.h (reg_or_subregno): Declare
5607         * unroll.c (find_splittable_givs): Handle subregs.
5608
5609 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
5610
5611         * store-layout.c (finish_record_layout): Add free_p parameter.
5612         (layout_type): Pass it.
5613         * tree.h (finish_record_layout): Update prototype.
5614
5615 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
5616
5617         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
5618
5619         * gcse.c (cprop_jump): Check that the register has not
5620         been modified
5621         (cprop_jump): Likewise.
5622
5623 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
5624
5625         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
5626         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
5627         that we have a SImode access, and only then if reload hasn't completed;
5628         for all other cases, use LO_REGS.
5629
5630 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5631
5632         * openbsd.h: Fix typo in last change.
5633
5634 2002-09-29  Richard Henderson  <rth@redhat.com>
5635
5636         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
5637
5638 2002-09-29  Richard Henderson  <rth@redhat.com>
5639
5640         PR c/8002
5641         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
5642         for CONST_INT.
5643
5644 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
5645
5646         * real.h (ibm_extended_format): Declare.
5647         * real.c (encode_ibm_extended, decode_ibm_extended): New
5648         functions.
5649
5650 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5651
5652         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
5653
5654         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
5655
5656 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5657
5658         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
5659
5660 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
5661
5662         * builtins.def: Fix comment formatting.
5663         * c-common.def: Likewise.
5664         * cfgcleanup.c: Likewise.
5665         * combine.c: Likewise.
5666         * gengtype.c: Likewise.
5667         * params.def: Likewise.
5668         * predict.def: Likewise.
5669         * rtl.def: Likewise.
5670         * stab.def: Likewise.
5671         * stor-layout.c: Likewise.
5672         * tree.def: Likewise.
5673         * config/darwin.c: Likewise.
5674         * config/darwin.h: Likewise.
5675         * config/dbxcoff.h: Likewise.
5676         * config/elfos.h: Likewise.
5677         * config/fp-bit.c: Likewise.
5678         * config/freebsd-spec.h: Likewise.
5679         * config/interix.h: Likewise.
5680         * config/libgloss.h: Likewise.
5681         * config/linux-aout.h: Likewise.
5682         * config/linux.h: Likewise.
5683         * config/lynx-ng.h: Likewise.
5684         * config/lynx.h: Likewise.
5685         * config/netbsd-aout.h: Likewise.
5686         * config/netbsd.h: Likewise.
5687         * config/netware.h: Likewise.
5688         * config/psos.h: Likewise.
5689         * config/ptx4.h: Likewise.
5690
5691 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
5692
5693         * ChangeLog.4: Fix typos.
5694         * ChangeLog.6: Likewise.
5695         * FSFChangeLog.10: Likewise.
5696         * genattrtab.c: Fix comment typos.
5697         * haifa-sched.c: Likewise.
5698         * real.c: Likewise.
5699         * tree.h: Likewise.
5700         * config/arm/arm.c: Likewise.
5701         * config/arm/crti.asm: Likewise.
5702         * config/arm/crtn.asm: Likewise.
5703         * config/frv/frv.c: Likewise.
5704         * config/frv/frv.md: Likewise.
5705         * config/h8300/h8300.md: Likewise.
5706         * config/i386/rtemself.h: Likewise.
5707         * config/ia64/unwind-ia64.c: Likewise.
5708         * config/ip2k/ip2k.h: Likewise.
5709         * config/m88k/m88k.c: Likewise.
5710         * config/m88k/m88k.md: Likewise.
5711         * config/mips/sr71k.md: Likewise.
5712         * config/mmix/mmix.c: Likewise.
5713         * config/rs6000/rs6000.c: Likewise.
5714         * config/sh/sh.md: Likewise.
5715
5716 2002-09-26  Theodore A. Roth  <troth@verinet.com>
5717
5718         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
5719         * config/avr/avr.md: Ditto.
5720
5721 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
5722
5723         PR preprocessor/8055
5724         * cppmacro.c (stringify_arg): Do not overflow the buffer
5725         with the terminating NUL when the argument to be stringified
5726         has no tokens.
5727
5728 2002-09-27  Richard Henderson  <rth@redhat.com>
5729
5730         * unroll.c (simplify_cmp_and_jump_insns): New.
5731         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
5732         instead of expand_simple_foo.
5733
5734 2002-09-27  Richard Henderson  <rth@redhat.com>
5735
5736         PR optimization/7520
5737         * cfganal.c (flow_active_insn_p): New.
5738         (forwarder_block_p): Use it.
5739
5740 2002-09-27  Richard Henderson  <rth@redhat.com>
5741
5742         * emit-rtl.c (active_insn_p): Revert last change.
5743
5744 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
5745
5746         * doc/extend.texi (tls_model): Document.
5747         * varasm.c (decl_tls_model): New.
5748         * c-common.c (handle_tls_model_attribute): New.
5749         (c_common_attribute_table): Add tls_model.
5750         * config/alpha/alpha.c (alpha_encode_section_info): Use
5751         decl_tls_model.
5752         * flags.h (enum tls_model, flag_tls_default): Move...
5753         * tree.h (enum tls_model, flag_tls_default): ...here.
5754         (decl_tls_model): New prototype.
5755         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
5756         * config/i386/i386.c (ix86_encode_section_info): Likewise.
5757         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
5758         Allow !flag_pic.
5759
5760 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
5761
5762         * LANGUAGES: Follow spelling conventions.
5763         * rtl.def: Likewise.
5764         * sbitmap.c: Likewise.
5765         * sched-int.h: Likewise.
5766         * sched-rgn.c: Likewise.
5767         * sibcall.c: Likewise.
5768         * simplify-rtx.c: Likewise.
5769         * ssa.c: Likewise.
5770         * stab.def: Likewise.
5771         * stmt.c: Likewise.
5772         * stor-layout.c: Likewise.
5773         * target.h: Likewise.
5774         * timevar.c: Likewise.
5775         * toplev.c: Likewise.
5776         * tree-dump.c: Likewise.
5777         * tree-inline.c: Likewise.
5778         * tree.c: Likewise.
5779         * tree.def: Likewise.
5780         * tree.h: Likewise.
5781         * unroll.c: Likewise.
5782         * varasm.c: Likewise.
5783         * vmsdbgout.c: Likewise.
5784         * treelang/treelang.texi: Likewise.
5785         * treelang/treetree.c: Likewise.
5786
5787 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
5788
5789         * config/h8300/h8300.c (compute_saved_regs): Use a macro
5790         instead of a hard register number.
5791         (get_shift_alg): Use an enumerated type instead of numbers.
5792         (h8300_shift_needs_scratch_p): Likewise.
5793
5794 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5795
5796         * varasm.c (force_data_section): Remove.
5797         (assemble_constant_align): Likewise.
5798         * output.h: Remove corresponding prototypes.
5799
5800 2002-09-26  Roger Sayle  <roger@eyesopen.com>
5801
5802         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
5803         jump, if the loop to exit is the top of the current nesting stack.
5804
5805 2002-09-26  Torbjorn Granlund  <tege@swox.com>
5806
5807         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
5808         arithmetic.
5809
5810 2002-09-26  David S. Miller  <davem@redhat.com>
5811
5812         PR optimization/7335
5813         * calls.c (emit_library_call_value_1): Passing args by reference
5814         converts a CONST function into a PURE one.
5815
5816 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
5817
5818         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
5819         text_section.
5820         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
5821         text section.
5822         * config/rs6000/rs6000.c (rs6000_override_options): Allow
5823         function-sections and data-sections functionality on AIX.
5824
5825 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
5826             Dale Johannesen  <dalej@apple.com>
5827
5828         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
5829         in RTL for sub-word loads from memory.
5830
5831 2002-09-26  Richard Henderson  <rth@redhat.com>
5832
5833         PR c/7160
5834         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
5835         on call insns.
5836
5837 2002-09-26  Richard Henderson  <rth@redhat.com>
5838
5839         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
5840
5841 2002-09-26  Chris Lattner  <sabre@nondot.org>
5842
5843         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
5844         handling undefined values.
5845
5846 2002-09-26  Richard Henderson  <rth@redhat.com>
5847
5848         PR opt/7520
5849         * emit-rtl.c (active_insn_p): Consider a clobber of the
5850         function return value to be active even after reload.
5851
5852 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
5853
5854         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
5855         by absolute loop increment, not loop increment.
5856
5857 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5858
5859         * c-common.h: Follow spelling conventions.
5860         * cpplex.c: Likewise.
5861         * cpplib.h: Likewise.
5862         * gthr-dce.h: Likewise.
5863         * gthr-posix.h: Likewise.
5864         * optabs.c: Likewise.
5865         * output.h: Likewise.
5866         * profile.c: Likewise.
5867         * protoize.c: Likewise.
5868         * ra-rewrite.c: Likewise.
5869         * real.c: Likewise.
5870         * recog.c: Likewise.
5871         * reg-stack.c: Likewise.
5872         * regclass.c: Likewise.
5873         * regmove.c: Likewise.
5874         * reload.c: Likewise.
5875         * reload.h: Likewise.
5876         * reload1.c: Likewise.
5877         * reorg.c: Likewise.
5878         * resource.c: Likewise.
5879         * rtl.h: Likewise.
5880         * rtlanal.c: Likewise.
5881
5882 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
5883
5884         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
5885         for symbol address.
5886
5887 2002-09-24  Eric Christopher  <echristo@redhat.com>
5888
5889         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
5890         * config/mips/elf64.h: Ditto.
5891
5892 2002-09-24  Eric Christopher  <echristo@redhat.com>
5893
5894         * except.c (expand_builtin_extract_return_address): Handle case
5895         where Pmode != ptr_mode.
5896
5897 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
5898
5899         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
5900
5901 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
5902
5903         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
5904
5905 2002-09-26  Igor Shevlyakov <igor@microunity.com>
5906
5907         * combine.c (simplify_set): Don't call to force_to_mode if size
5908         of integer type is larger than HOST_BITS_PER_WIDE_INT.
5909
5910 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
5911
5912         * Makefile.in (qmtest-g++): Fix file path.
5913
5914 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
5915
5916         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
5917         A + (-const) on RTX level, even for unsigned types.
5918
5919 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
5920
5921         * reload.c (dup_replacements): New function.
5922         (find_reloads): Use it to duplicate replacements at the top level
5923         of match_dup operands.
5924
5925 2002-09-26  Miles Bader  <miles@gnu.org>
5926
5927         * v850.md ("length"): Change default value to 4.
5928
5929 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5930
5931         * ChangeLog.1: Follow spelling conventions.
5932         * ChangeLog.4: Likewise.
5933         * ChangeLog.6: Likewise.
5934         * FSFChangeLog.11: Likewise.
5935         * doc/cpp.texi: Likewise.
5936         * doc/invoke.texi: Likewise.
5937         * doc/tm.texi: Likewise.
5938
5939 2002-09-26  Nick Clifton  <nickc@redhat.com>
5940
5941         * config.gcc: Add x prefix to v850e case for handling
5942         --with-cpu=v850e.
5943
5944 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
5945
5946         * gcc.c (input_suffix_matches, switch_matches,
5947         mark_matching_switches, process_marked_switches,
5948         process_brace_body): New functions - split from handle_braces.
5949         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
5950         and ignore whitespace in more places.
5951         (specs documentation comment): Document %{S:X;T:Y;:D}.
5952         Clarify other %{...} docs.
5953         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
5954         %{...} docs.
5955
5956         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
5957         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
5958
5959 2002-09-25  David S. Miller  <davem@redhat.com>
5960
5961         PR target/7842
5962         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
5963         extend.
5964
5965 2002-09-25  Richard Henderson  <rth@redhat.com>
5966
5967         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
5968         fp CONST_DOUBLE; use real_identical.
5969
5970 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
5971
5972         * doc/invoke.texi: Add more -Wabi examples.
5973
5974 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
5975
5976         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
5977
5978 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
5979
5980         * profile.c (end_branch_prob): Only look for __gcov_init on
5981         weak-enabled native compilers.
5982
5983 2002-09-24  Denis Chertykov  <denisc@overta.ru>
5984
5985         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
5986         cases of optimizing "add sp,w" to "inc sp".
5987
5988 2002-09-24  Adam Nemet  <anemet@lnxw.com>
5989
5990         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
5991         epilogue for naked functions.
5992
5993 2002-09-24  Adam Nemet  <anemet@lnxw.com>
5994             Nick Clifton  <nickc@redhat.com>
5995
5996         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
5997         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
5998         is defined.
5999
6000 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
6001
6002         * config/s390/s390.c (preferred_la_operand_p): New function.
6003         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
6004         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
6005         ("*la_64_cc", "*la_31_cc", splitters): ... these.
6006         ("*la_31"): Deactivate for TARGET_64BIT.
6007         ("*la_31_and", "*la_31_and_cc"): New.
6008
6009 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6010
6011         * real.h (real_value): Make `exp' explicitly signed.
6012
6013 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
6014
6015         * config/elfos.h: Follow spelling conventions.
6016         * config/alpha/alpha.h: Likewise.
6017         * config/arc/arc.h: Likewise.
6018         * config/arm/arm.md: Likewise.
6019         * config/avr/avr.h: Likewise.
6020         * config/cris/cris.md: Likewise.
6021         * config/d30v/d30v.h: Likewise.
6022         * config/frv/frv.c: Likewise.
6023         * config/frv/frv.h: Likewise.
6024         * config/h8300/h8300.c: Likewise.
6025         * config/h8300/h8300.h: Likewise.
6026         * config/h8300/h8300.md: Likewise.
6027         * config/i386/cygwin.h: Likewise.
6028         * config/i386/i386.h: Likewise.
6029         * config/i386/sysv3.h: Likewise.
6030         * config/i960/i960.h: Likewise.
6031         * config/ia64/ia64.h: Likewise.
6032         * config/ia64/ia64.md: Likewise.
6033         * config/ip2k/ip2k.h: Likewise.
6034         * config/m32r/m32r.h: Likewise.
6035         * config/m68k/m68k.h: Likewise.
6036         * config/m88k/m88k.h: Likewise.
6037         * config/mcore/mcore.c: Likewise.
6038         * config/mcore/mcore.h: Likewise.
6039         * config/mcore/mcore.md: Likewise.
6040         * config/mips/mips.h: Likewise.
6041         * config/mmix/mmix.h: Likewise.
6042         * config/mmix/mmix.md: Likewise.
6043         * config/ns32k/netbsd.h: Likewise.
6044         * config/ns32k/ns32k.h: Likewise.
6045         * config/ns32k/ns32k.md: Likewise.
6046         * config/pa/pa.h: Likewise.
6047         * config/romp/romp.h: Likewise.
6048         * config/rs6000/rs6000.h: Likewise.
6049         * config/rs6000/rs6000.md: Likewise.
6050         * config/sparc/sparc.h: Likewise.
6051         * config/stormy16/stormy-abi: Likewise.
6052         * config/stormy16/stormy16.h: Likewise.
6053         * config/vax/vax.h: Likewise.
6054
6055 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
6056
6057         * config/alpha/alpha.h: Remove commented-out macro
6058         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
6059         * config/avr/avr.h: Likewise.
6060         * config/d30v/d30v.h: Likewise.
6061         * config/dsp16xx/dsp16xx.h: Likewise.
6062         * config/i370/i370.h: Likewise.
6063         * config/i386/i386.h: Likewise.
6064         * config/i960/i960.h: Likewise.
6065         * config/m68k/m68k.h: Likewise.
6066         * config/m88k/m88k.h: Likewise.
6067         * config/mips/mips.h: Likewise.
6068         * config/ns32k/ns32k.h: Likewise.
6069         * config/pdp11/pdp11.h: Likewise.
6070         * config/romp/romp.h: Likewise.
6071         * config/rs6000/rs6000.h: Likewise.
6072         * config/s390/s390.h: Likewise.
6073         * config/sh/sh.h: Likewise.
6074         * config/sparc/sparc.h: Likewise.
6075         * config/stormy16/stormy16.h: Likewise.
6076         * config/vax/vax.h: Likewise.
6077
6078 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
6079
6080         * function.c (push_temp_slots_for_block): Remove.
6081         (push_temp_slots_for_target): Likewise.
6082         (get_target_temp_slot_level): Likewise.
6083         (set_target_temp_slot_level): Likewise.
6084         (get_first_block_beg): Likewise.
6085         * function.h: Remove corresponding prototypes.
6086
6087 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
6088
6089         * version.c (version_string): Now const char[].
6090         * version.h: Update to match.
6091
6092 2002-09-23  Richard Henderson  <rth@redhat.com>
6093
6094         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
6095         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
6096         (TARGET_SWITCHES): Don't reference them.
6097         * config/i386/i386.c (override_options): Use target_flags_explicit
6098         to examine bits set by the user.
6099
6100 2002-09-23  Dale Johannesen  <dalej@apple.com>
6101
6102         * dbxout.c (dbxout_parms):  Set current_sym_code for params
6103         passed on stack by invisible reference.
6104
6105 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
6106
6107         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
6108         at least one byte of space.
6109
6110 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
6111
6112         * c-common.h (flag_abi_version): Fix typo in comment.
6113         * doc/invoke.texi (flag_abi_version): Document default value.
6114
6115 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
6116
6117         * doc/extend.texi (Extended Asm): Clarify that overlap between
6118         asm-declared register variables used in an asm and the asm clobber
6119         list is not allowed.
6120         * stmt.c (decl_conflicts_with_clobbers_p): New function.
6121         (expand_asm_operands): Keep track of clobbered registers.  Call
6122         decl_conflicts_with_clobbers_p for each input and output operand.
6123         If no conflicts found before, also do conflict sanity check when
6124         emitting clobbers.
6125
6126 2002-09-23  Richard Henderson  <rth@redhat.com>
6127
6128         * c-common.c (cpp_define_data_format): Remove.
6129         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
6130         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
6131         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
6132         * doc/cpp.texi: Don't document them either.
6133         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
6134         __LONG_LONG_MAX__): Document.
6135         (__TARGET_FLOAT_FORMAT__): Remove.
6136
6137 2002-09-23  Richard Henderson  <rth@redhat.com>
6138
6139         * real.c (do_multiply): Normalize U before addition.
6140
6141 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
6142
6143         * c-common.c (flag_abi_version): New variable.
6144         * c-common.h (flag_abi_version): Declare it.
6145         * c-opts.c (missing_arg): Add -fabi-version.
6146         (c_common_decode_option): Process -fabi-version.
6147         * doc/invoke.texi (-fabi-version): Document it.
6148         (-Wabi): Add information about bit-fields in unions.
6149
6150 2002-09-22  Roger Sayle  <roger@eyesopen.com>
6151
6152         * expr.c (STORE_BY_PIECES_P): New target macro.
6153         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
6154         instead of MOVE_BY_PIECES_P.
6155         * doc/tm.texi: Document this new macro.
6156
6157 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
6158
6159         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
6160         unless -fno-pic or -fno-PIC is specified.
6161
6162 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6163
6164         * c-common.c (preprocessing_trad_p): Define.
6165         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
6166         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
6167         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
6168         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
6169         * pa-linux.h (CPP_PREDEFINES): Delete.
6170         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
6171         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
6172         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
6173         (TARGET_OS_CPP_BUILTINS): Define.
6174         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
6175         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
6176         (SUBTARGET_SWITCHES): Provide default definition.
6177         (TARGET_OPTIONS): Reformat.  Use N_() macro.
6178         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
6179         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
6180         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
6181         (TARGET_CPU_CPP_BUILTINS): Define.
6182         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
6183         * doc/invoke.texi (msio, mwsio): Document new hppa options.
6184         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
6185         preprocessing_trad_p().
6186
6187 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
6188
6189         * doc/install.texi: Document behavior of --with-headers and
6190         --with-libs when arguments are omitted.
6191
6192 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
6193
6194         * dbxout.c: Follow spelling conventions.
6195         * defaults.h: Likewise.
6196         * df.c: Likewise.
6197         * diagnostic.h: Likewise.
6198         * doloop.c: Likewise.
6199         * dwarf2out.c: Likewise.
6200         * dwarfout.c: Likewise.
6201         * emit-rtl.c: Likewise.
6202         * except.c: Likewise.
6203         * explow.c: Likewise.
6204         * expmed.c: Likewise.
6205         * expr.c: Likewise.
6206         * expr.h: Likewise.
6207         * flags.h: Likewise.
6208         * flow.c: Likewise.
6209         * fold-const.c: Likewise.
6210         * function.c: Likewise.
6211         * function.h: Likewise.
6212         * gcc.c: Likewise.
6213         * gcov-io.h: Likewise.
6214         * gcov.c: Likewise.
6215         * gcse.c: Likewise.
6216         * genattrtab.c: Likewise.
6217         * genconfig.c: Likewise.
6218         * genrecog.c: Likewise.
6219         * ggc-page.c: Likewise.
6220         * ggc.h: Likewise.
6221         * global.c: Likewise.
6222         * gthr-win32.h: Likewise.
6223         * integrate.c: Likewise.
6224         * jump.c: Likewise.
6225         * langhooks.c: Likewise.
6226         * langhooks.h: Likewise.
6227         * line-map.h: Likewise.
6228         * local-alloc.c: Likewise.
6229         * longlong.h: Likewise.
6230         * loop.c: Likewise.
6231         * loop.h: Likewise.
6232
6233 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
6234
6235         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
6236
6237 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
6238
6239         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
6240         for -Os/TARGET_64BIT too.
6241
6242 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
6243
6244         * ChangeLog: Follow spelling conventions.
6245         * ChangeLog.0: Likewise.
6246         * ChangeLog.1: Likewise.
6247         * ChangeLog.2: Likewise.
6248         * ChangeLog.3: Likewise.
6249         * ChangeLog.4: Likewise.
6250         * ChangeLog.5: Likewise.
6251         * ChangeLog.6: Likewise.
6252         * FSFChangeLog.10: Likewise.
6253         * FSFChangeLog.11: Likewise.
6254         * alias.c: Likewise.
6255         * basic-block.h: Likewise.
6256         * c-aux-info.c: Likewise.
6257         * c-common.c: Likewise.
6258         * c-common.h: Likewise.
6259         * c-decl.c: Likewise.
6260         * c-format.c: Likewise.
6261         * c-semantics.c: Likewise.
6262         * c-typeck.c: Likewise.
6263         * calls.c: Likewise.
6264         * cfganal.c: Likewise.
6265         * cfgloop.c: Likewise.
6266         * collect2.c: Likewise.
6267         * combine.c: Likewise.
6268         * conflict.c: Likewise.
6269         * cppexp.c: Likewise.
6270         * cppfiles.c: Likewise.
6271         * cpphash.h: Likewise.
6272         * cppinit.c: Likewise.
6273         * cpplex.c: Likewise.
6274         * cpplib.c: Likewise.
6275         * cpplib.h: Likewise.
6276         * cppmacro.c: Likewise.
6277         * cse.c: Likewise.
6278
6279 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
6280
6281         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
6282         LINK_SPEC.
6283         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
6284         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
6285         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
6286
6287 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
6288
6289         PR opt/7930
6290         * cse.c (fold_rtx): Calculate old_cost before we fold each
6291         operand.
6292
6293 2002-09-21  Richard Henderson  <rth@redhat.com>
6294
6295         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
6296         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
6297         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
6298         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
6299         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
6300         * doc/cpp.texi: Don't document them.
6301
6302 2002-09-21  Richard Henderson  <rth@redhat.com>
6303
6304         * c-common.c (builtin_define_float_constants): Use real_format
6305         to get the floating-point parameters.
6306
6307 2002-09-21  Richard Henderson  <rth@redhat.com>
6308
6309         * real.c (struct real_format): Move to real.h.
6310         (real_format_for_mode): Rename from fmt_for_mode; update all users;
6311         initialize with ieee defaults.
6312         (real_to_target_fmt, real_from_target_fmt): New.
6313         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
6314         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6315         ieee_quad_format, i370_single_format, i370_double_format,
6316         c4x_single_format, c4x_extended_format): Rename from s/_format//.
6317         (ieee_quad_format): Fix emin.
6318         (format_for_size, init_real_once): Remove.
6319         * real.h (struct real_format): Move from real.c.
6320         (real_format_for_mode): Declare.
6321         (real_to_target_fmt, real_from_target_fmt): Declare.
6322         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
6323         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6324         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
6325         i370_single_format, i370_double_format, c4x_single_format,
6326         c4x_extended_format): Declare.
6327         * toplev.c (do_compile): Don't call init_real_once.
6328
6329         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6330         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6331
6332         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
6333         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
6334         * config/alpha/alpha.c (override_options): Set real_format_for_mode
6335         for VAX, if enabled.
6336
6337         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
6338         for C4X.
6339
6340         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
6341         * config/i370/i370.c (override_options): New.
6342         * config/i370/i370-protos.h: Update.
6343
6344         * config/i386/i386.c (override_options): Set real_format_for_mode
6345         for Intel 80-bit extended.
6346         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6347
6348         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
6349         (OVERRIDE_OPTIONS): Move code...
6350         * config/i960/i960.c (i960_initialize): ... here.  Set
6351         real_format_for_mode for Intel 80-bit extended.
6352
6353         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
6354         for Intel 80-bit extended, if enabled.
6355
6356         * config/m68k/m68k.c (override_options): Set real_format_for_mode
6357         for Motorola 96-bit extended.
6358
6359         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
6360         * config/vax/vax.c (override_options): New.
6361         * config/vax/vax-protos.h: Update.
6362
6363 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
6364
6365         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
6366         #if TARGET_MACHO.
6367
6368         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
6369         insns.  Supply missing clobber of scratch reg.
6370
6371 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
6372
6373         * config/m32r/m32r.c: Follow spelling conventions.
6374         * config/m32r/m32r.h: Likewise.
6375         * config/m32r/m32r.md: Likewise.
6376         * config/m68k/m68k.c: Likewise.
6377         * config/m88k/m88k.c: Likewise.
6378         * config/mcore/mcore.c: Likewise.
6379         * config/mips/mips.c: Likewise.
6380         * config/mips/mips.h: Likewise.
6381         * config/mmix/mmix.c: Likewise.
6382         * config/mn10200/mn10200.c: Likewise.
6383         * config/ns32k/ns32k.h: Likewise.
6384         * config/pa/pa.c: Likewise.
6385         * config/pa/pa64-linux.h: Likewise.
6386         * config/pdp11/pdp11.h: Likewise.
6387         * config/romp/romp.c: Likewise.
6388         * config/romp/romp.h: Likewise.
6389         * config/rs6000/eabi.asm: Likewise.
6390         * config/rs6000/linux64.h: Likewise.
6391         * config/rs6000/rs6000.c: Likewise.
6392         * config/rs6000/rs6000.h: Likewise.
6393         * config/rs6000/rs6000.md: Likewise.
6394         * config/rs6000/sysv4.h: Likewise.
6395         * config/rs6000/xcoff.h: Likewise.
6396
6397 2002-09-20  Jim Wilson  <wilson@redhat.com>
6398
6399         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
6400
6401 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
6402
6403         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
6404         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
6405         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
6406         (legitimate_address_p): Likewise.
6407         (legitimize_address): Use @gotntpoff and @indntpoff.
6408         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
6409         (output_addr_const_extra): Likewise.
6410
6411 2002-09-20  Jim Wilson  <wilson@redhat.com>
6412
6413         * combine.c (try_combine): When split an instruction pair, where the
6414         first has a sign_extend src, verify that the src and dest modes match.
6415
6416 2002-09-20  Richard Henderson  <rth@redhat.com>
6417
6418         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
6419         (override_options): Do not initialize them.
6420         (mips_const_double_ok): Allow no fp constants except zero,
6421         and not even that for mips16.
6422         (const_float_1_operand): Use dconst1.
6423         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
6424         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
6425         Don't allow arbitrary constants; fix predicates and C constraint.
6426
6427 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
6428
6429         * cppmacro.c: Don't warn about function-like macros without
6430         '(' during pre-expansion.
6431
6432 2002-09-20  Jim Wilson  <wilson@redhat.com>
6433
6434         * config/v850/v850.c (current_function_anonymous_args): Delete.
6435         (expand_prologue): Use current_function_args_info.anonymous_args.
6436         (expand_epilogue): Delete use of current_function_anonymous_args.
6437         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
6438         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
6439         (current_function_anonymous_args): Delete extern declaration.
6440         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
6441
6442 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
6443
6444         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
6445         to load_macho_picbase.
6446         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
6447         (load_macho_picbase): Take the symbol to use as a parameter.
6448         (macho_correct_pic): New insn.
6449         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
6450
6451         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
6452         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
6453         (CAN_ELIMINATE): Likewise.
6454         (INITIAL_ELIMINATION_OFFSET): Likewise.
6455         (TOC_REGISTER): Likewise.
6456
6457 2002-09-20  Richard Henderson  <rth@redhat.com>
6458
6459         * real.c (real_hash): New.
6460         * real.h: Declare it.
6461         * cse.c (canon_hash): Use it.
6462         * cselib.c (hash_rtx): Likewise.
6463         * emit-rtl.c (const_double_htab_hash): Likewise.
6464         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
6465         * varasm.c (struct rtx_const): Reduce vector size; separate
6466         integer and fp vectors.
6467         (HASHBITS): Remove.
6468         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
6469         take modulus MAX_HASH_TABLE.
6470         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
6471         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
6472         (SYMHASH): Don't use HASHBITS.
6473         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
6474         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
6475         (simplify_subtraction): Fix kind comparison.
6476         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
6477         Use a union to pun integer array.
6478         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
6479         only hash two words of integral CONST_DOUBLE.
6480
6481 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
6482
6483         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
6484         (STARTFILE_PREFIX_SPEC): New.
6485         (LINK_SPEC): Modify.
6486         (LIB_SPEC): Modify.
6487         (LIBGCC_SPEC): New.
6488
6489 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
6490
6491         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
6492         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
6493
6494 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
6495
6496         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
6497         Add clobber of the condition code register.
6498
6499 2002-09-20  Richard Henderson  <rth@redhat.com>
6500
6501         * real.c (do_fix_trunc): Static.
6502         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
6503         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
6504         encode_i370_single, encode_i370_double, encode_c4x_single,
6505         encode_c4x_extended): Add default abort case.
6506
6507 2002-09-20  Richard Henderson  <rth@redhat.com>
6508
6509         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
6510         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
6511         (struct realvaluetype): Remove.
6512         (REAL_VALUE_TYPE): Use struct real_value.
6513         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
6514         (test_real_width): New.
6515         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
6516         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
6517         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
6518         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
6519         real_to_integer, real_to_integer2, real_to_decimal,
6520         real_to_hexadecimal, real_from_string, real_from_integer,
6521         real_inf, real_nan, real_2expN, real_convert, real_to_target,
6522         real_from_target): Likewise.
6523         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
6524         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
6525
6526 2002-09-20  Richard Henderson  <rth@redhat.com>
6527
6528         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
6529         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
6530         * defaults.h: ... here.
6531         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
6532         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
6533         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
6534         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
6535
6536 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
6537
6538         * config/mmix/mmix.md ("negdf2"): Rewrite.
6539         ("*expanded_negdf2"): New.
6540
6541 2002-09-19  Jim Wilson  <wilson@redhat.com>
6542
6543         * combine.c (simplify_set): When optimizing a subreg src with a
6544         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
6545
6546 2002-09-19  Dale Johannesen <dalej@apple.com>
6547         * combine.c (make_extraction): Don't create
6548         invalid subreg.
6549
6550 2002-09-19  Roger Sayle  <roger@eyesopen.com>
6551
6552         * tree.c (integer_nonzerop): New predicate for nonzero integers.
6553         * tree.h (integer_nonzerop): Add function prototype.
6554         * stmt.c (expand_end_loop):  Don't rotate the loop when there
6555         are no instructions in the test, i.e. the loop is unconditional.
6556         (expand_exit_loop_if_false):  Optimize RTL generation of loop
6557         tests when the condition is always true or always false.
6558         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
6559         do-loops when the condition is always true.
6560         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
6561         the for-expression is empty.
6562
6563 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
6564
6565         * gcc.c (use_pipes): New flag.
6566         (process_command): Set it.  Adjust check for -pipe conflicting
6567         with -time or -save-temps.
6568         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
6569         %<SWITCH.  Drop %| (without a SUFFIX).
6570         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
6571         (give_switch): Third argument eliminated.
6572         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
6573         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
6574         (specs documentation comment): Update.
6575
6576         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
6577         config/svr4.h, config/i386/freebsd-aout.h,
6578         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
6579         config/m68k/openbsd.h, config/mips/openbsd.h,
6580         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
6581         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
6582         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
6583         * config/cris/cris.h: Update comment.
6584
6585         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
6586         error messages.  Don't use %{^SWITCH}.
6587         * ada/misc.c (gnat_decode_option): Handle -I with a
6588         separate argument.
6589
6590         * f/lang-specs.h: Use %| and %m.
6591         * java/jvspec.c: Use %m and %(invoke_as).  Change all
6592         uses of %{<SWITCH} to %<SWITCH.
6593
6594         * doc/invoke.texi: Update documentation of specs.
6595         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
6596
6597 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
6598
6599         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
6600         and STRICT_LOW_PART within SET_DEST.
6601         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
6602         splitters, replacing pre-reload splitters.
6603         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
6604         "*zero_extendqihi2_31"): New insns.
6605         ("*zero_extendqihi2_64"): Do not clobber CC.
6606
6607 2002-09-18  Devang Patel  <dpatel@apple.com>
6608
6609         * cp/cp-tree.h: New prototype for walk_vtables().
6610         * cp/decl.c (walk_vtables_r): New function.
6611         (struct cp_binding_level): Add new members, namespaces,
6612         names_size and vtables.
6613         (add_decl_to_level): Add decl in namespaces or vtables
6614         chain, if conditions match.
6615         (walk_vtables): New function.
6616         (walk_namespaces_r): Travers separate namespace chain
6617         for namespace decls.
6618         (wrapup_globals_for_namespace): Use names_size instead
6619         of list_length().
6620         * cp/decl2.c (finish_file): Use walk_vtables() instead of
6621         walk_globals() to walk vtable decls.
6622
6623 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
6624
6625         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
6626         (DTORS_SECTION_ASM_OP): Ditto.
6627         (READONLY_DATA_SECTION_ASM_OP): Moved.
6628         (DATA_SECTION_ASM_OP): New.
6629         (SDATA_SECTION_ASM_OP): New.
6630         (BSS_SECTION_ASM_OP): New.
6631         (SBSS_SECTION_ASM_OP): New.
6632         (TEXT_SECTION_ASM_OP): New.
6633
6634 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
6635
6636         * config/fp-bit.c: Follow spelling conventions.
6637         * config/d30v/d30v.c: Likewise.
6638         * config/d30v/d30v.h: Likewise.
6639         * config/fr30/fr30.c: Likewise.
6640         * config/fr30/fr30.h: Likewise.
6641         * config/fr30/fr30.md: Likewise.
6642         * config/frv/frv.c: Likewise.
6643         * config/frv/frv.h: Likewise.
6644         * config/h8300/h8300.c: Likewise.
6645         * config/h8300/lib1funcs.asm: Likewise.
6646         * config/i370/i370.c: Likewise.
6647         * config/i386/i386.h: Likewise.
6648         * config/i386/i386.md: Likewise.
6649         * config/i386/pentium.md: Likewise.
6650         * config/i386/winnt.c: Likewise.
6651         * config/i960/i960.c: Likewise.
6652         * config/ia64/ia64.h: Likewise.
6653         * config/ip2k/ip2k.c: Likewise.
6654         * config/ip2k/ip2k.h: Likewise.
6655         * config/ip2k/ip2k.md: Likewise.
6656         * config/ip2k/libgcc.S: Likewise.
6657
6658 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
6659
6660         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
6661         (GOTOFF_P): Extend to allow gotoff plus constant.
6662
6663 2002-09-18  Richard Henderson  <rth@redhat.com>
6664
6665         * ifcvt.c (noce_process_if_block): Correctly detect X modified
6666         with INSN_B before COND_EARLIEST.  Don't check A and B for
6667         modification in condition range.  Reorder INSN_B for A==B properly.
6668         (if_convert): Iterate until no matches for a block.
6669
6670 2002-09-18  Richard Henderson  <rth@redhat.com>
6671
6672         * calls.c (store_one_arg): Rename default_align to parm_align;
6673         always adjust parm_align for downward padding.
6674
6675 2002-09-18  Richard Henderson  <rth@redhat.com>
6676
6677         * toplev.c (backend_init): Move init_real_once invocation ...
6678         (do_compile): ... here.
6679
6680 2002-09-18  Richard Henderson  <rth@redhat.com>
6681
6682         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
6683         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
6684
6685 2002-09-18  Richard Henderson  <rth@redhat.com>
6686
6687         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
6688
6689 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
6690
6691         * config/rs6000/rs6000.md: (floatdisf2): Rename to
6692         floatdisf2_internal1.
6693         (floatdisf2): New define_expand.
6694         (floatdisf2_internal2): Likewise.
6695
6696 2002-09-18  Richard Henderson  <rth@redhat.com>
6697
6698         * real.c (sticky_rshift_significand): Collect sticky as
6699         unsigned long, not bool.
6700
6701 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
6702
6703         * config/s390/s390.c (s390_address_cost): New function.
6704         config/s390/s390-protos.h (s390_address_cost): Add prototype.
6705         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
6706         (RTX_COST): Use COSTS_N_INSNS.
6707
6708 2002-09-18  Douglas Rupp  <rupp@gnat.com>
6709             Donn Terry  <donnte@microsoft.com>
6710
6711         * stor-layout.c (place_field): Handle alignment of whole
6712         structures when MSVC compatible bitfields are involved.
6713         Change method of computing location of MS bitfields to
6714         be compatible with #pragma pack(n).
6715
6716         * tree.h (record_layout_info): Add new field
6717         remaining_in_alignment.
6718
6719         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
6720         (pragma pack): Add paragraph on MSVC bitfield packing.
6721
6722 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
6723
6724         PR optimization/7967
6725         * arm.md (ne_zeroextractsi): Add clobber of the condition code
6726         register.
6727
6728 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
6729
6730         * config/s390/s390.c: Follow spelling conventions.
6731         * config/sh/lib1funcs.asm: Likewise.
6732         * config/sh/sh.c: Likewise.
6733         * config/sh/sh.h: Likewise.
6734         * config/sparc/sparc.c: Likewise.
6735         * config/sparc/sparc.h: Likewise.
6736         * config/sparc/sparc.md: Likewise.
6737         * config/stormy16/stormy16.c: Likewise.
6738         * config/stormy16/stormy16.h: Likewise.
6739         * config/v850/v850.c: Likewise.
6740         * config/v850/v850.h: Likewise.
6741         * config/vax/vax.c: Likewise.
6742         * config/vax/vax.h: Likewise.
6743
6744 2002-09-18  Nick Clifton  <nickc@redhat.com>
6745
6746         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
6747         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
6748         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
6749
6750 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6751
6752         * function.c (max_parm_reg_num): Remove.
6753         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
6754         drop_through_at_end_p, move_cleanups_up,
6755         expand_end_case_dummy, case_index_expr_type): Likewise.
6756         * stor-layout.c (pos_from_byte): Likewise.
6757         * tree.c (chain_member_value, chain_member_purpose, listify,
6758         tree_int_cst_msb, index_type_equal): Likewise.
6759         * tree.h: Remove prototypes for unused functions.
6760
6761 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
6762
6763         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
6764         statement that the only translation is to en_UK.
6765
6766 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6767
6768         * config/alpha/alpha.c: Follow spelling conventions.
6769         * config/alpha/alpha.h: Likewise.
6770         * config/alpha/alpha.md: Likewise.
6771         * config/arc/arc.h: Likewise.
6772         * config/arm/arm.c: Likewise.
6773         * config/arm/arm.h: Likewise.
6774         * config/arm/arm.md: Likewise.
6775         * config/arm/pe.c: Likewise.
6776         * config/arm/unknown-elf.h: Likewise.
6777         * config/avr/avr.c: Likewise.
6778         * config/avr/avr.h: Likewise.
6779         * config/c4x/c4x.c: Likewise.
6780         * config/cris/cris.c: Likewise.
6781         * config/cris/cris.h: Likewise.
6782
6783 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
6784
6785         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
6786         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
6787         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
6788
6789 2002-09-17  Dale Johannesen  <dalej@apple.com>
6790
6791         * cfgcleanup.c (try_forward_edges):  Do not forward a
6792         branch to just after a loop exit before loop optimization;
6793         this interfered with doloop detection.
6794
6795 2002-09-17  Nick Clifton  <nickc@redhat.com>
6796
6797         * config/arm/arm.c (output_return_instruction): Do not
6798         writeback the stack pointer when it is being loaded.
6799         (arm_output_epilogue): Likewise.
6800
6801 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6802
6803         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
6804         generate a pseudo reg that receives the result of a libcall.
6805         (prepare_float_lib_cmp): Likewise.
6806
6807 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
6808
6809         * config/ia64/elf.h: Remove CPP_PREDEFINES.
6810
6811 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
6812
6813         Fix PR/7014 and related objc bugs:
6814         * c-typeck.c (comp_target_types): Added a reflexive argument.
6815         Pass it to ObjC when/if calling objc_comptypes().  Updated all
6816         callers to provide the appropriate reflexive argument.
6817         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
6818         typechecking for all cases of comparisons and assignments,
6819         particularly the obscure and less common ones involving protocols.
6820
6821 2002-09-17  Nick Clifton  <nickc@redhat.com>
6822
6823         * machmode.def (V1DImode): New mode.  A single element vector.
6824         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
6825         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
6826         * tree.c (build_common_tree_nodes_2): Build
6827         unsigned_V1DI_type_node and V1D1_type_node.
6828         * c-common.c (c_common_type_for_mode): Return
6829         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
6830         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
6831
6832 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
6833
6834         * doc/objc.texi (Constant string objects): Extended documentation
6835         to make clear that the constant string class ivar layout is
6836         completely fixed.
6837
6838 2002-09-17  Roger Sayle  <roger@eyesopen.com>
6839
6840         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
6841         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
6842
6843 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
6844
6845         * config/mips/mips.c (save_restore_insns): Remove unused variable.
6846         * gcc.c (make_relative_prefix): Likewise.
6847         * loop.c (check_final_value): Likewise.
6848         * jump.c (init_label_info): Remove return value.
6849         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
6850
6851 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6852
6853         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
6854         (ASM_PN_FORMAT): Define.
6855
6856 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6857
6858         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
6859         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
6860         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
6861         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
6862         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
6863         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
6864         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
6865         Delete.
6866         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
6867         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
6868         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
6869
6870         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
6871         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
6872
6873 2002-09-16  Richard Henderson  <rth@redhat.com>
6874
6875         * expr.c (emit_block_move): Set memory block size as appropriate
6876         for the copy.
6877
6878 2002-09-16  Richard Henderson  <rth@redhat.com>
6879
6880         PR fortran/3924
6881         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
6882
6883 2002-09-16  Richard Henderson  <rth@redhat.com>
6884
6885         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
6886         as well as OFFSET for BITPOS.
6887
6888 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
6889
6890         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
6891         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
6892         winchip2 and c3.
6893         * doc/invoke.texi: Mention new aliases.
6894
6895 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6896
6897         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
6898         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
6899         downward.
6900         * function.c (pad_below):  Always compile.
6901         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
6902         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
6903         Pad below when the argument is not in a register and the padding
6904         direction is downward.
6905
6906         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
6907         (PAD_VARARGS_DOWN): Define.
6908         * pa.c (function_arg_padding): Revise padding directions to make them
6909         compatible with the 32 and 64-bit runtime architecture documentation.
6910         (hppa_va_arg):  Add code to handle variable and size zero arguments
6911         passed by reference on TARGET_64BIT.  Reformat.
6912         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
6913         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
6914         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
6915         Add comments.
6916         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
6917         (RETURN_IN_MEMORY): Return size zero types in memory.
6918         (FUNCTION_VALUE): Return TFmode in general registers.
6919         (MUST_PASS_IN_STACK): Define.
6920         (FUNCTION_ARG_BOUNDARY): Simplify.
6921         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
6922         by reference.
6923         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
6924
6925 2002-09-16  Richard Henderson  <rth@redhat.com>
6926
6927         * real.c (do_fix_trunc): New.
6928         (real_arithmetic): Call it.
6929         * simplify-rtx.c (simplify_unary_operation): Handle FIX
6930         with a floating-point result mode.
6931
6932 2002-09-16  Richard Henderson  <rth@redhat.com>
6933
6934         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
6935         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
6936         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
6937         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
6938         * builtins.c (fold_builtin_nan): New.
6939         (fold_builtin): Call it.
6940         * real.c (real_nan): Parse a non-empty string.
6941         (round_for_format): Fix NaN significand truncation.
6942         * real.h (real_nan): Return bool.
6943         * doc/extend.texi: Document new builtins.
6944
6945 2002-09-16  Jason Merrill  <jason@redhat.com>
6946             Danny Smith  <dannysmith@users.sourceforge.net>
6947
6948         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
6949         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
6950         (i386_pe_mark_dllimport): Not here.
6951
6952 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
6953
6954         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
6955
6956 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
6957
6958         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
6959         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
6960         < 64.
6961         (rs6000_emit_cmove): Use real_isinf not target_isinf.
6962
6963 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
6964
6965         * calls.c (emit_library_call_value_1): Don't refer to
6966         hard_libcall_value.
6967         * optabs.c (prepare_float_lib_cmp): Likewise.
6968
6969 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
6970
6971         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
6972         mangling.
6973
6974         The following changes are merged from pch-branch:
6975
6976         * doc/gty.texi (GTY Options): Document %a.
6977         * gengtype.c (do_scalar_typedef): New function.
6978         (process_gc_options): Handle `length' option.
6979         (set_gc_used_type): A pointer to an array of structures doesn't
6980         qualify as a pointer to a structure.
6981         (output_escaped_param): Add `%a' escape.
6982         (write_gc_structure_fields): Allow 'desc' on array of unions.
6983         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
6984         do_scalar_typedef.
6985
6986         * gengtype.c (enum rtx_code): Make global.
6987         (rtx_format): Make global.
6988         (rtx_next): New.
6989         (gen_rtx_next): New.
6990         (write_rtx_next): New.
6991         (adjust_field_rtx_def): Skip fields marked by chain_next.
6992         (open_base_files): Delete redundant prototype.
6993         (write_enum_defn): New.
6994         (output_mangled_typename): Correct abort call.
6995         (write_gc_marker_routine_for_structure): Handle chain_next and
6996         chain_prev options.
6997         (finish_root_table): Don't output redundant \n.
6998         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
6999         * c-tree.h (union lang_tree_node): Add chain_next option.
7000
7001         * gengtype.h (NUM_PARAM): New definition.
7002         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
7003         * gengtype.c (find_param_structure): New.
7004         (adjust_field_type): Handle param<n>_is option.
7005         (process_gc_options): Detect use_params option.  Update callers.
7006         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
7007         'use_params' option.
7008         (open_base_files): Add splay-tree.h to list of files included.
7009         (output_mangled_typename): New.
7010         (write_gc_structure_fields): Update 'param' parameter to support
7011         multiple parameters.  Change name mangling.  Allow parameterized
7012         fields to have an apparent scalar type.  Handle param<n>_is options,
7013         use_param option.
7014         (write_gc_marker_routine_for_structure): Update for change to name
7015         mangling.  Better guess the output file for parameterized types.
7016         (write_gc_types): Update for change to name mangling.
7017         (write_gc_root): Update for change to name mangling.  Handle (ignore)
7018         param<n>_is options.
7019         * doc/gty.texi (GTY Options): Add description of param<n>_is
7020         options, use_params option.
7021         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
7022         * gengtype-lex.l: Produce token for param<n>_is.
7023         * gengtype-yacc.y: Parse param<n>_is.
7024
7025         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
7026
7027         * rtl.c: Update comment describing rtx_format.
7028         * rtl.h (union rtunion): Separate definition and typedef.
7029         (struct rtx_def): Use gengtype to mark.
7030         * Makefile.in (gengtype.o): Also depend on rtl.def.
7031         * ggc.h (ggc_mark_rtx_children): Delete prototype.
7032         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
7033         * ggc-common.c (ggc_mark_rtx_children): Delete.
7034         (ggc_mark_rtx_children_1): Delete.
7035         (gt_ggc_m_rtx_def): Delete.
7036         * gengtype.c (adjust_field_rtx_def): New.
7037         (adjust_field_type): Call adjust_field_rtx_def.
7038         (write_gc_structure_fields): Add 'default' case to switch if none
7039         is specified; remove unused code.
7040
7041         * tree.h (struct tree_exp): Update for change to meaning
7042         of special.
7043         * gengtype.c (adjust_field_tree_exp): New function.
7044         (adjust_field_type): Handle `tree_exp' special here.
7045         (write_gc_structure_fields): Don't handle `tree_exp' special here.
7046         Handle new `dot' option.
7047
7048         * gengtype.h: Make `info' a pointer-to-const.
7049         * gengtype-yacc.y (yacc_ids): Use xasprintf.
7050
7051         * gengtype.c (write_gc_structure_fields): Remove implementation
7052         of `always' option, add `default' option.
7053         * doc/gty.texi (GTY Options): Remove documentation of `always',
7054         add `default'.
7055
7056 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
7057
7058         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
7059
7060 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7061
7062         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
7063
7064         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
7065         instead of the *-protos.h file directly.
7066         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
7067         * darwin.c (machopic_output_stub): Move prototype ...
7068         * darwin-protos.h (machopic_output_stub): ... here.
7069         * rs6000-protos.h (machopic_output_stub): Don't declare.
7070
7071 2002-09-16  Richard Henderson  <rth@redhat.com>
7072
7073         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
7074
7075 2002-09-16  Richard Henderson  <rth@redhat.com>
7076
7077         * real.c, real.h: Rewrite from scratch.
7078
7079         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
7080         (paranoia): New target.
7081         * builtins.c (fold_builtin_inf): Use new real.h interface.
7082         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
7083         * c-lex.c (interpret_float): Likewise.
7084         * emit-rtl.c (gen_lowpart_common): Likewise.
7085         * optabs.c (expand_float): Use real_2expN.
7086         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
7087         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
7088         (FLOAT_WORDS_BIG_ENDIAN): New.
7089         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
7090         directly to REAL_VALUE_NEGATIVE.
7091         * loop.c (canonicalize_condition): Likewise.
7092         * simplify-rtx.c: Include tree.h.
7093         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
7094         with floating-point result modes.
7095         * toplev.c (backend_init): Call init_real_once.
7096
7097         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
7098         * tree.c (build_real): Likewise.
7099         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
7100         float_values, inited_float_values, check_float_value): Remove.
7101         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
7102         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
7103         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
7104         (VAX_HALFWORD_ORDER): Remove.
7105
7106 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
7107
7108         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
7109         (s390_load_address): ... this new function.
7110         (s390_decompose_address): Allow the argument pointer and all
7111         virtual registers as 'pointer' registers.
7112         (s390_expand_plus_operand): Use s390_load_address.
7113         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
7114         ("force_la_31"): New insn pattern.
7115         config/s390/s390-protos.h (legitimize_la_operand): Remove.
7116         (s390_load_address): Add prototype.
7117
7118         * config/s390/s390.c: Include "optabs.h".
7119         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
7120         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
7121         s390_expand_cmpstr): Add prototypes.
7122         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
7123         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
7124         for operands 0 and 1 to "memory_operand".  Add type attribute.
7125         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
7126         for operands 0 and 1 to "memory_operand".  Add type attribute.
7127         ("movstrdi_long", "movstrsi_long"): Remove.
7128         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
7129         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
7130         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
7131         ("clrstrsico"): Remove, replace by ...
7132         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
7133         ("clrstrsi_64"): Rename to "clrstr_long_64".
7134         ("clrstrsi_31"): Rename to "clrstr_long_31".
7135         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
7136         ("cmpstr_const"): Remove, replace by ...
7137         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
7138         ("cmpstr_64"): Rename to "cmpstr_long_64".
7139         ("cmpstr_31"): Rename to "cmpstr_long_31".
7140
7141 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
7142
7143         * ABOUT-NLS: Follow spelling conventions.
7144         * ChangeLog: Likewise.
7145         * ChangeLog.1: Likewise.
7146         * ChangeLog.2: Likewise.
7147         * ChangeLog.3: Likewise.
7148         * ChangeLog.4: Likewise.
7149         * ChangeLog.5: Likewise.
7150         * ChangeLog.6: Likewise.
7151         * FSFChangeLog.10: Likewise.
7152         * FSFChangeLog.11: Likewise.
7153         * c-common.c: Likewise.
7154         * c-lex.c: Likewise.
7155         * c-objc-common.c: Likewise.
7156         * cppexp.c: Likewise.
7157         * cppinit.c: Likewise.
7158         * cpplex.c: Likewise.
7159         * doloop.c: Likewise.
7160         * flow.c: Likewise.
7161         * function.c: Likewise.
7162         * integrate.c: Likewise.
7163         * loop.c: Likewise.
7164         * reg-stack.c: Likewise.
7165         * reload.h: Likewise.
7166         * ssa.c: Likewise.
7167
7168 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7169
7170         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
7171         * vmsdbgout.c: Include "target.h".
7172
7173 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7174
7175         * ChangeLog: Follow spelling conventions.
7176         * ChangeLog.0: Likewise.
7177         * ChangeLog.1: Likewise.
7178         * ChangeLog.2: Likewise.
7179         * ChangeLog.4: Likewise.
7180         * ChangeLog.6: Likewise.
7181         * config.gcc: Likewise.
7182         * dwarfout.c: Likewise.
7183         * reload1.c: Likewise.
7184         * simplify-rtx.c: Likewise.
7185         * unwind-sjlj.c: Likewise.
7186         * config/avr/avr.h: Likewise.
7187         * config/d30v/d30v.h: Likewise.
7188         * config/frv/frv.c: Likewise.
7189         * config/frv/frv.h: Likewise.
7190         * config/ip2k/ip2k.h: Likewise.
7191         * config/m88k/m88k-move.sh: Likewise.
7192         * config/stormy16/stormy16.c: Likewise.
7193         * config/stormy16/stormy16.h: Likewise.
7194         * doc/extend.texi: Likewise.
7195         * doc/interface.texi: Likewise.
7196         * doc/invoke.texi: Likewise.
7197         * doc/md.texi: Likewise.
7198         * doc/rtl.texi: Likewise.
7199         * doc/tm.texi: Likewise.
7200         * doc/trouble.texi: Likewise.
7201         * ginclude/float.h: Likewise.
7202         * treelang/treelang.texi: Likewise.
7203
7204 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7205
7206         * i386-protos.h (i386_pe_dllexport_name_p,
7207         i386_pe_dllimport_name_p, i386_pe_unique_section,
7208         i386_pe_declare_function_type, i386_pe_record_external_function,
7209         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
7210         prototype.
7211         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
7212         * i386/t-interix (winnt.o): Likewise.
7213
7214         * v850-protos.h (v850_output_addr_const_extra): Prototype.
7215
7216 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7217
7218         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
7219         MIPS ABI CPP macros.
7220         (TARGET_CPU_CPP_BUILTINS): Redefine.
7221         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
7222         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
7223
7224 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7225
7226         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
7227
7228 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7229
7230         * ChangeLog: Follow spelling conventions.
7231         * ChangeLog.0: Likewise.
7232         * ChangeLog.1: Likewise.
7233         * ChangeLog.2: Likewise.
7234         * ChangeLog.3: Likewise.
7235         * ChangeLog.4: Likewise.
7236         * ChangeLog.5: Likewise.
7237         * ChangeLog.6: Likewise.
7238         * FSFChangeLog.10: Likewise.
7239         * FSFChangeLog.11: Likewise.
7240         * c-common.c: Likewise.
7241         * c-common.h: Likewise.
7242         * c-format.c: Likewise.
7243         * c-opts.c: Likewise.
7244         * cpplib.c: Likewise.
7245         * langhooks.h: Likewise.
7246         * real.c: Likewise.
7247         * reg-stack.c: Likewise.
7248         * toplev.c: Likewise.
7249         * config/arm/arm.c: Likewise.
7250         * config/arm/arm.md: Likewise.
7251         * config/arm/linux-gas.h: Likewise.
7252         * config/arm/netbsd.h: Likewise.
7253         * config/c4x/c4x.c: Likewise.
7254         * config/c4x/c4x.h: Likewise.
7255         * config/c4x/c4x.md: Likewise.
7256         * config/c4x/libgcc.S: Likewise.
7257         * config/fr30/fr30.md: Likewise.
7258         * config/frv/frv.md: Likewise.
7259         * config/ia64/ia64.md: Likewise.
7260         * config/mips/mips.h: Likewise.
7261         * config/mn10300/mn10300.c: Likewise.
7262         * config/stormy16/stormy16.c: Likewise.
7263         * config/v850/v850.md: Likewise.
7264         * doc/extend.texi: Likewise.
7265         * doc/invoke.texi: Likewise.
7266         * doc/md.texi: Likewise.
7267
7268 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7269
7270         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
7271         library if -pthread is specified.
7272
7273 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7274
7275         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
7276         for --enable-threads=yes and --enable-threads=posix.
7277
7278 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7279
7280         * config/sparc/cypress.md: Replace Sparc with SPARC.
7281         * config/sparc/freebsd.h: Likewise.
7282         * config/sparc/gmon-sol2.c: Likewise.
7283         * config/sparc/hypersparc.md: Likewise.
7284         * config/sparc/lb1spc.asm: Likewise.
7285         * config/sparc/lb1spl.asm: Likewise.
7286         * config/sparc/linux.h: Likewise.
7287         * config/sparc/linux64.h: Likewise.
7288         * config/sparc/lynx.h: Likewise.
7289         * config/sparc/sol2.h: Likewise.
7290         * config/sparc/sparc-modes.def: Likewise.
7291         * config/sparc/sparc.c: Likewise.
7292         * config/sparc/sparc.h: Likewise.
7293         * config/sparc/sparc.md: Likewise.
7294         * config/sparc/sparclet.md: Likewise.
7295         * config/sparc/supersparc.md: Likewise.
7296         * config/sparc/sysv4.h: Likewise.
7297         * config/sparc/vxsim.h: Likewise.
7298         * config/sparc/vxsparc64.h: Likewise.
7299
7300 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7301
7302         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
7303         * collect2.c (ignore_library, aix_std_libs): Move into the context
7304         where it is used.
7305         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
7306         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
7307         * m88k.c (output_call): Wrap variables with macro controlling use.
7308         * rs6000.md: Likewise.  Const-ify variable.
7309         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
7310         * final.c (only_leaf_regs_used): Likewise.
7311         * regrename.c (maybe_mode_change): Mark parameter with
7312         ATTRIBUTE_UNUSED.
7313         * reload.c (find_valid_class): Likewise.  Likewise for variable.
7314         (find_reloads_address_1): Likewise.
7315         * varasm.c (weak_finish): Wrap variable with macro controlling use.
7316
7317 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
7318
7319         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
7320
7321 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7322
7323         * ChangeLog: Follow spelling conventions.
7324         * ChangeLog.0: Likewise.
7325         * ChangeLog.2: Likewise.
7326         * ChangeLog.3: Likewise.
7327         * ChangeLog.4: Likewise.
7328         * ChangeLog.5: Likewise.
7329         * ChangeLog.6: Likewise.
7330         * cppfiles.c: Likewise.
7331         * cppinit.c: Likewise.
7332         * cpplib.h: Likewise.
7333         * cse.c: Likewise.
7334         * debug.h: Likewise.
7335         * df.c: Likewise.
7336         * dominance.c: Likewise.
7337         * hashtable.c: Likewise.
7338         * hashtable.h: Likewise.
7339         * loop.c: Likewise.
7340         * config/arm/README-interworking: Likewise.
7341         * config/arm/arm.c: Likewise.
7342         * config/arm/arm.h: Likewise.
7343         * config/arm/arm.md: Likewise.
7344         * config/dsp16xx/dsp16xx.h: Likewise.
7345         * config/frv/frv.c: Likewise.
7346         * config/frv/frv.h: Likewise.
7347         * config/ip2k/ip2k.h: Likewise.
7348         * config/rs6000/rs6000.c: Likewise.
7349         * config/stormy16/stormy-abi: Likewise.
7350         * config/stormy16/stormy16.h: Likewise.
7351         * config/v850/v850.c: Likewise.
7352
7353 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7354
7355         * loop.c: Fix a comment typo.
7356
7357 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7358
7359         * config/fr30/fr30.h: Fix comment typos.
7360         * config/frv/frv.c: Likewise.
7361         * config/i386/xmmintrin.h: Likewise.
7362         * config/mips/mips.c: Likewise.
7363         * config/sh/sh.c: Likewise.
7364
7365 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7366
7367         * haifa-sched.c: Follow spelling conventions.
7368         * regclass.c: Likewise.
7369         * regrename.c: Likewise.
7370         * config/fp-bit.c: Likewise.
7371         * config/frv/frv.h: Likewise.
7372         * config/m88k/m88k.c: Likewise.
7373         * config/mcore/mcore.c: Likewise.
7374         * config/rs6000/darwin.h: Likewise.
7375         * config/rs6000/gnu.h: Likewise.
7376         * config/rs6000/linux.h: Likewise.
7377         * config/rs6000/linux64.h: Likewise.
7378         * config/rs6000/rs6000.c: Likewise.
7379         * config/rs6000/rs6000.h: Likewise.
7380         * config/sh/sh.c: Likewise.
7381         * config/sparc/sparc.c: Likewise.
7382         * config/sparc/ultra1_2.md: Likewise.
7383
7384 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
7385
7386         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
7387         memory operand when source is 0 (K constraint).
7388         ("movsi_internal"): Likewise.
7389         ("movdf_internal"): Likewise.
7390         ("movsf_internal"): Likewise.
7391
7392 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
7393
7394         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
7395         targetm.binds_local_p to set SYMBOL_REF_FLAG.
7396         (rs6000_xcoff_encode_section_info): Likewise.
7397         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
7398
7399 2002-09-10  Theodore A. Roth  <troth@verinet.com>
7400
7401         * gcc/config/avr/avr.h: Set default options for C++ for avr.
7402
7403 2002-09-13  Roger Sayle  <roger@eyesopen.com>
7404
7405         * stmt.c (struct nexting): Remove unused alt_end_label field.
7406         (expand_start_loop): Delete initialization of alt_end_label.
7407         (expand_start_null_loop): Likewise.
7408         (expand_exit_loop_if_false): Delete updating of alt_end_label.
7409
7410 2002-09-13  Richard Henderson  <rth@redhat.com>
7411
7412         * Makefile.in (toplev.o): Depend on real.h.
7413         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
7414
7415 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
7416
7417         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
7418         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
7419         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
7420
7421 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
7422
7423         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
7424
7425 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7426
7427         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
7428         ia64*-*-linux*): Set extra_parts.
7429         * config/ia64/t-aix (EXTRA_PARTS): Remove.
7430         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
7431
7432 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
7433
7434         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
7435         * config/h8300/h8300.c: Likewise.
7436         * config/h8300/h8300.h: Likewise.
7437         * config/h8300/h8300.md: Likewise.
7438         * doc/invoke.texi: Likewise.
7439
7440 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
7441
7442         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
7443
7444 2002-09-13  Richard Henderson  <rth@redhat.com>
7445
7446         * config/alpha/alpha.md (attr type): Add callpal.
7447         (imb, trap, load_tp, set_tp): Use it.
7448         * config/alpha/ev4.md (ev4_callpal): New.
7449         * config/alpha/ev5.md (ev5_callpal): New.
7450         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
7451         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
7452         (alphaev5_insn_pipe): Likewise.
7453
7454 2002-09-13  Andreas Jaeger  <aj@suse.de>
7455
7456         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
7457
7458 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7459
7460         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
7461         LIB2ADDEH): New, set to NULL.
7462         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
7463
7464 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7465
7466         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
7467         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
7468         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
7469         Add declarations.
7470         (_U_Qfneg): Remove.
7471
7472 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
7473
7474         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
7475         for H8/300, H8S aa:8 mode.
7476         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
7477         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
7478         for H8/300 aa:8 mode.
7479
7480 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
7481
7482         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
7483         insns.
7484
7485 2002-09-12  Richard Henderson  <rth@redhat.com>
7486
7487         * Makefile.in (HOST_PRINT): Use print-rtl1.o
7488         (print-rtl.o): Don't define GENERATOR_FILE.
7489         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
7490         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
7491         unless GENERATOR_FILE.
7492
7493 2002-09-12  Stan Shebs  <shebs@apple.com>
7494
7495         * config/darwin.h (USER_LABEL_PREFIX): Define here...
7496         * config/i386/darwin.h: ... instead of here.
7497
7498         * target.h (struct gcc_target): New field
7499         terminate_dw2_eh_frame_info.
7500         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
7501         (TARGET_INITIALIZER): Add it.
7502         * dwarf2out.c (output_call_frame_info): Use target hook.
7503         * dwarf2asm.c (dw2_asm_output_delta): Use macro
7504         ASM_OUTPUT_DWARF_DELTA if defined.
7505         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
7506         (ASM_OUTPUT_DWARF_DELTA): Ditto.
7507         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
7508         (ASM_OUTPUT_DWARF_PCREL): Ditto.
7509         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
7510         (powerpc-*-darwin*): Ditto.
7511         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
7512         to work correctly for Darwin.
7513         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
7514         (STARTFILE_SPEC): Add crtbegin.o.
7515         (ENDFILE_SPEC): Define.
7516         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
7517         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
7518         (ASM_OUTPUT_DWARF_DELTA): Define.
7519         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
7520         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
7521
7522 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
7523
7524         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
7525         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
7526         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
7527
7528 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
7529
7530         * toplev.c: Move default definition of USER_LABEL_PREFIX...
7531         * defaults.h: ... here.
7532
7533 2002-09-12  Richard Henderson  <rth@redhat.com>
7534
7535         * vax.c: Include tree.h earlier.
7536
7537 2002-09-12  Stan Shebs  <shebs@apple.com>
7538
7539         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
7540         (machopic_operand_p): Ditto.
7541
7542 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7543
7544         * config/arm/arm.c (arm_compute_initial_elimination_offset):
7545         Fix a comment typo.
7546
7547 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7548
7549         * toplev.c (do_abort): Fix a comment typo.
7550
7551 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7552
7553         * cselib.c: Fix comment formatting.
7554         * gengtype.c: Likewise.
7555
7556 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7557
7558         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
7559         (udivmodhi4): Likewise.
7560
7561 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
7562             Roger Sayle  <roger@eyesopen.com>
7563
7564         * i386.c (any_fp_register_operand, fp_register_operand,
7565         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
7566         New predicate functions.
7567         * i386-protos.h:  Add their prototypes.
7568         * i386.h: Add them to PREDICATE_CODES.
7569         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
7570         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
7571         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
7572         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
7573         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
7574         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
7575         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
7576         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
7577         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
7578         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
7579         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
7580         Use these new predicates to simplify and correct the use of
7581         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
7582
7583 2002-09-12  Jason Merrill  <jason@redhat.com>
7584
7585         * diagnostic.c (output_add_identifier): New fn.
7586         * diagnostic.h: Declare it.
7587
7588         * calls.c (store_one_arg): Use size_in_bytes to determine the
7589         amount of space to push.
7590
7591 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
7592
7593         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
7594
7595 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
7596
7597         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
7598         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
7599         (s390_select_ccmode): Likewise.
7600         (s390_branch_condition_mask): Likewise.
7601         (optimization_options): Do not set flag_branch_on_count.
7602         (s390_split_branches): Handle doloop branches.
7603         (s390_chunkify_pool): Likewise.
7604         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
7605         ("doloop_end"): New expander.
7606         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
7607         associated splitters): New.
7608
7609 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7610
7611         * genattrtab.c (simplify_cond): Remove unused variable(s).
7612         * global.c (record_conflicts): Likewise.
7613         * jump.c (rebuild_jump_labels): Likewise.
7614         * loop.c (scan_loop, check_final_value): Likewise.
7615         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
7616         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
7617         * rtlanal.c (reg_set_p): Likewise.
7618         * stmt.c (expand_asm_operands, expand_decl): Likewise.
7619         * genautomata.c (empty_reserv): Remove.
7620         * loop.c (max_luid): Likewise.
7621         * sched-rgn.c (bitlst_table_size): Likewise.
7622
7623 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
7624
7625         Reimplement gcov format.
7626         * gcov-io.h: Replace.
7627         * gcov.c: Reimplement.
7628         * gcov-iov.c: New file.
7629         * gcov-dump.c: New file.
7630         * libgcc2.c (L_bb): Replace with ...
7631         (L_gcov): ... this.
7632         (struct bb_function_info, struct bb): Remove.
7633         (inhibit_libc): Never inhibit.
7634         (gcov_list, gcov_crc): New static variables.
7635         (gcov_version_mismatch): New static function.
7636         (__bb_exit_func): Renamed to ...
7637         (__gcov_exit): ... here. Made static. Reimplement.
7638         (__gcov_init_func): Rename to ...
7639         (__gcov_init): ... here. Check version, update crc.
7640         (__bb_fork_func): Rename to ...
7641         (__gcov_flush): ... here.
7642         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
7643         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
7644         * calls.c (expand_call): Call __gcov_flush.
7645         * profile.c (bb_file, last_bb_file_name): Remove.
7646         (bbg_file_name): New global variable.
7647         (output_gcov_string): Remove.
7648         (get_exec_counts): Reimplement.
7649         (branch_prob): Reimplement gcov file writing.
7650         (init_branch_prob): Create bbg_file_name, don't create
7651         bb_file_name.
7652         (end_branch_prob): Adjust. Don't remove counter file when
7653         instrumenting ourselves.
7654         (create_profiler): Adjust.
7655         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
7656         point to gcov-io.h.
7657         * Makefile.in (LANGUAGES): Add gcov-dump.
7658         (coverageexts): Remove .bb.
7659         (STAGESTUFF): Add gcov-dump.
7660         (LIB2FUNCS_ST): Replace _bb with _gcov.
7661         (profile.o): Depend on gcov-iov.h.
7662         (final.o): Don't depend on profile.h, gcov.h.
7663         (gcov.o): Depend on gcov-iov.h.
7664         (gcov-iov.o): New target.
7665         (gcov-iov): New target.
7666         (gcov-iov.h): New target.
7667         (gcov-dump.o): New target.
7668         (GCOV_DUMP_OBJS): New variable.
7669         (gcov-dump): New target.
7670         (distclean): Remove coverageexts.
7671         (stage1): Remove coverageexts.
7672
7673 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
7674
7675         * fold-const.c (make_range): Only narrow to signed range if
7676         the signed range is smaller than the unsigned range.
7677
7678 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
7679
7680         * emit-rtl.c (set_mem_size): New function.
7681         * expr.h (set_mem_size): Declare.
7682         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
7683         (expand_block_move): Instead, use adjust_address and
7684         replace_equiv_address to generate proper aliasing info.
7685         Move common code out of conditionals.  Localize vars.
7686
7687 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
7688
7689         * optabs.c (expand_binop): Minor cleanup.
7690         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
7691
7692 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
7693
7694         * print-tree.c (print_node): Print the restrict qualifier.
7695
7696 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
7697
7698         * doc/install.texi: Fix typos.
7699
7700 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
7701
7702         * Makefile.in: Remove all references to s-under and underscore.c.
7703         * collect2.c, tlink.c: Change all uses of prepends_underscore
7704         to look directly at USER_LABEL_PREFIX.
7705
7706 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
7707
7708         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
7709         alignment to csect.
7710         (rs6000_xcoff_unique_section): Only set section name for public
7711         data.
7712         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
7713         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
7714         duplicate definition.
7715
7716 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7717
7718         * pa.md (extzv): Check predicates before emitting extzv_32.
7719         (insv): Likewise.
7720
7721 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
7722
7723         * config/s390/s390.h (MOVE_MAX): Define to correct value.
7724         (MAX_MOVE_MAX): Define.
7725         (MOVE_BY_PIECES_P): Define.
7726         (CLEAR_BY_PIECES_P): Define.
7727
7728 2002-09-10  Denis Chertykov  <denisc@overta.ru>
7729
7730         * config/avr/avr.md (movstrhi): Use right operands for conversion.
7731
7732 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
7733
7734         PR c/7873
7735         * arm.md (insv): Use reg_or_int_operand for operand[3].
7736
7737 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
7738
7739         * rs6000.c (rs6000_assemble_visibility): Protect declaration
7740         inside macro.  Correct function definition typo.
7741         (rs6000_xcoff_section_type_flags): New function.
7742         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
7743         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
7744         with appropriate PIC test.
7745         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
7746         determine readonly.
7747         (rs6000_binds_local_p): Combine PIC flags.
7748         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
7749         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
7750
7751 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7752
7753         * h8300.md: Fix signed/unsigned warnings.
7754         * mcore.md: Likewise.
7755         * mn10300.c (mask_ok_for_mem_btst): Likewise.
7756
7757 2002-09-09  Per Bothner  <per@bothner.com>
7758
7759         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
7760         characters, and only print TREE_STRING_LENGTH chars.
7761
7762 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
7763
7764         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
7765         (ASM_FILE_END) New.
7766         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
7767         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
7768         * config/ia64/ia64.c (ia64_asm_output_external): Create list
7769         of external functions if TARGET_HPUX_LD is true.
7770         (ia64_hpux_add_extern_decl): New, routine to put names on
7771         list of external functions.
7772         (ia64_hpux_asm_file_end): Put out declarations for external
7773         functions if and only if they are used.
7774
7775 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7776
7777         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
7778         on TARGET_64BIT before pic register restore.
7779
7780 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
7781
7782         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
7783         (TARGET_HAVE_TLS): New description.
7784
7785 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
7786
7787         * doc/extend.texi (Statement Exprs): Fix broken link.
7788
7789 2002-09-09  Denis Chertykov  <denisc@overta.ru>
7790
7791         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
7792         right conversion of operands[1].
7793
7794 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
7795
7796         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
7797         commutative.  Use "nonimmediate_operand" instead of "register_operand"
7798         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
7799
7800         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
7801         as commutative.
7802
7803         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
7804         mark as commutative.  Use "nonimmediate_operand" instead of
7805         "register_operand" as predicate for operand 1.
7806
7807         ("movstrictsi"): Fix typo in insn name.
7808
7809 2002-09-09  Jan Hubicka  <jh@suse.cz>
7810
7811         * i386.c (index_register_operand): New.
7812         * i386.h (predicate_codes): Add new predicate.
7813         * i386.md (lea_general_*): Use index_register_operand
7814         (ashift to lea splitter): Do not produce invalid leas
7815         (ashift to mov+ashift split): New.
7816
7817 2002-09-09  Nick Clifton  <nickc@redhat.com>
7818
7819         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
7820         Fix folding marks.
7821
7822 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
7823             J"orn Rennecke <joern.rennecke@superh.com>
7824
7825         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
7826
7827 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
7828
7829         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
7830         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
7831         attributes.
7832
7833 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
7834
7835         * basic_block.h (gcov_type): Explain why it is signed.
7836         * final.c: Don't include profile.h.
7837         (struct function_list, functions_head, functions_tail,
7838         end_final): Moved to profile.c
7839         (final): Move arc chaining code to profile.c.
7840         * function.c (prepare_function_start): Remove duplicate line.
7841         * output.h (end_final): Remove prototype.
7842         * predict.c (estimate_loops_at_level): Use gcov_type.
7843         * profile.c (struct function_list, functions_head,
7844         functions_tail): Moved from final.c
7845         (need_func_profiler): Remove.
7846         (instrument_edges): Don't set need_func_profiler.
7847         (get_exec_counts): Avoid signed/unsigned warning.
7848         (compute_checksum): Use crc32.
7849         (branch_prob): Adjust. Chain onto functions_head.
7850         (init_branch_prob): Absorb init_edge_profiler.
7851         (init_edge_profiler): Remove.
7852         (create_profiler): Moved and renamed from final.c:end_final.
7853         Emit data and constructor.
7854         (output_func_start_profiler): Remove.
7855         * profile.h (struct profile_info): checksum is unsigned.
7856         * rtl.h (output_func_start_profiler): Remove prototype.
7857         (create_profiler): Declare.
7858         * toplev.c (compile_file): Call create_profiler, if instrumenting
7859         arcs. Don't call end_final.
7860
7861 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7862
7863         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
7864
7865 2002-09-08  Richard Henderson  <rth@redhat.com>
7866
7867         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
7868         (DW_OP_GNU_push_tls_address): New.
7869         (DW_OP_lo_user): Fix.
7870         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
7871         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
7872         (size_of_loc_descr): Likewise.
7873         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
7874         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
7875         (loc_descriptor_from_tree): Handle TLS variables.
7876         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
7877         (add_location_or_const_value_attribute): ... not here.  Defer
7878         to loc_descriptor_from_tree for TLS variables.
7879
7880         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
7881         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
7882         * config/i386/i386-protos.h: Update.
7883
7884 2002-09-08  Roger Sayle  <roger@eyesopen.com>
7885
7886         PR optimization/6405
7887         * unroll.c (loop_iterations): last_loop_insn should be the previous
7888         non-note instruction before loop->end.
7889         * loop.c (strength_reduce): The conditional jump is the last
7890         non-note instruction before loop->end (as above).
7891
7892 2002-09-08  Roger Sayle  <roger@eyesopen.com>
7893
7894         * combine.c (try_combine): Handle the case that undobuf.other_insn
7895         has been turned into a return or unconditional jump, by inserting
7896         a BARRIER if necessary.
7897         (simplify_set):  Test if a condition code setter has a constant
7898         comparison at compile time, if so convert this insn to a no-op move
7899         and update/simplify the condition code user (undobuf.other_insn).
7900
7901 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
7902
7903         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
7904         (CLEAR_INSN_CACHE): Define.
7905
7906 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
7907
7908         * basic-block.h: Fix comment formatting.
7909         * c-common.c: Likewise.
7910         * c-common.h: Likewise.
7911         * c-lex.c: Likewise.
7912         * c-pretty-print.c: Likewise.
7913         * cfglayout.c: Likewise.
7914         * cfgloop.c: Likewise.
7915         * defaults.h: Likewise.
7916         * et-forest.c: Likewise.
7917         * explow.c: Likewise.
7918         * function.h: Likewise.
7919         * gcov.c: Likewise.
7920         * genattrtab.c: Likewise.
7921         * gengtype.c: Likewise.
7922         * ifcvt.c: Likewise.
7923         * libgcc2.c: Likewise.
7924         * loop.c: Likewise.
7925         * profile.c: Likewise.
7926         * ra-build.c: Likewise.
7927         * real.c: Likewise.
7928         * rtl.h: Likewise.
7929         * tracer.c: Likewise.
7930         * tree-inline.c: Likewise.
7931         * varasm.c: Likewise.
7932
7933 2002-09-08  Jan Hubicka  <jh@suse.cz>
7934
7935         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
7936         handling.
7937
7938         * loop.c (loop_givs_reduce):  Emit addition after.
7939
7940 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
7941
7942         * varasm.c (default_assemble_visibility): Rename from
7943         assemble_visibility.
7944         * output.h: Here too.
7945         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
7946         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
7947
7948 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
7949
7950         * reload.c (find_reloads <p constraint>): Pass operand_mode to
7951         find_reloads_address.
7952
7953 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
7954
7955         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
7956         (anonymous pattern): Likewise.
7957
7958 2002-09-07  Igor Shevlyakov <igor@microunity.com>
7959
7960         * machmode.def: Add modes for half-float vectors.
7961
7962 2002-09-07  Scott Snyder  <snyder@fnal.gov>
7963
7964         PR target/7374
7965         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
7966
7967 2002-09-07  Roger Sayle  <roger@eyesopen.com>
7968
7969         * basic-block.h (struct loop): Remove unused cont_dominator field.
7970
7971 2002-09-07  Igor Shevlyakov <igor@microunity.com>
7972
7973         * varasm.c (decode_rtx_const): Don't check undefined field for
7974         CONST_VECTOR.
7975
7976 2002-09-07  Glen Nakamura  <glen@imodulo.com>
7977
7978         PR opt/7814
7979         * sched-deps.c (sched_analyze_insn): Make sure to add insn
7980         to reg_last->sets after flushing the dependency lists to guarantee
7981         that subsequent clobbers will be dependent on it.
7982
7983 2002-09-07  Igor Shevlyakov <igor@microunity.com>
7984
7985         * combine.c (simplify_shift_const): Calculate rotate count
7986         correctly for vector operands.
7987
7988 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
7989
7990         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
7991         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
7992         tree_expr_nonnegative_p.
7993         (build_conditional_expr): Likewise.
7994         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
7995
7996 2002-09-07  Richard Henderson  <rth@redhat.com>
7997
7998         * builtins.def (inf, inff, infl): Mark const.
7999         (huge_val, huge_valf, huge_vall): Likewise.
8000         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
8001
8002         * real.c (ereal_inf): Clear E before use.
8003
8004 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
8005
8006         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
8007         an expander and an anonymous pattern.  Zero out the upper half
8008         of the dividend in the expander.
8009         (udivmodqi4): Likewise.
8010
8011 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
8012
8013         * config/h8300/h8300.c: Fix formatting.
8014         * config/h8300/h8300.h: Likewise.
8015         * config/h8300/h8300.md: Likewise.
8016
8017 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8018
8019         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
8020         information.
8021
8022 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
8023
8024        * rtlanal.c (dead_or_set_regno_p): Fix typo.
8025
8026 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
8027
8028         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8029
8030         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
8031         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
8032         (TARGET_ASM_OUT): Add the above here.
8033         * target.h (struct gcc_target): Add "visibility" field.
8034         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
8035         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
8036         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
8037         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
8038
8039 2002-09-06  Ziemowit Laski <zlaski@apple.com>
8040
8041         * c-lang.c (objc_is_id): New stub.
8042         * c-tree.h (objc_is_id): New forward declaration.
8043         * c-typeck.c (build_c_cast): Do not strip protocol
8044         qualifiers from 'id' type.
8045         * objc/objc-act.c (objc_comptypes): Correct handling
8046         of protocol qualifiers.
8047         (objc_is_id): New.
8048
8049 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
8050
8051         * pentium.md (pentium-firstvboth): Fix typo.
8052
8053 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
8054
8055         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
8056         (enum shift_type, enum h8_cpu): Likewise.
8057         (INL, ROT, LOP, SPC macros): Likewise.
8058         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
8059         const designator.
8060         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
8061         space efficient algorithms when optimize for codesize.
8062
8063 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8064
8065         Fix PR/1727 and long-standing failing testcase
8066         objc/formal-protocol-6.m.
8067         * objc-act.c (build_protocol_expr): If compiling for the GNU
8068         runtime, create a list of Protocol statically allocated instances
8069         if it doesn't exist, then add the Protocol object to this same
8070         list.
8071         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
8072         instead of TREE_CHAIN.
8073
8074 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8075
8076         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
8077         10k.  Fixed category dumping - print out category names with the
8078         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
8079         interface.
8080         (finish_objc): Fixed the -gen-decls option.  It was printing out
8081         only the last class.  Dump an interface declaration of all classes
8082         being compiled instead.
8083
8084 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
8085
8086         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
8087         prototype.
8088         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
8089         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
8090         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
8091         rather than GEN_INT.
8092         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
8093         (return_addr_mask, *check_arch2): New.
8094
8095 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
8096
8097         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
8098         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
8099         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
8100         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
8101         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
8102         "adddf3", "*adddf3", "*adddf3_ibm",
8103         "addsf3", "*addsf3", "*addsf3_ibm",
8104         "muldi3", "mulsi3", "mulsidi3",
8105         "muldf3", "*muldf3", "*muldf3_ibm",
8106         "mulsf3", "*mulsf3", "*mulsf3_ibm",
8107         "*anddi3_cc", "*anddi3_cconly", "anddi3",
8108         "*andsi3_cc", "*andsi3_cconly", "andsi3",
8109         "*iordi3_cc", "*iordi3_cconly", "iordi3",
8110         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
8111         "*xordi3_cc", "*xordi3_cconly", "xordi3",
8112         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
8113         instead of "register_operand" as predicate for "%0" operand.
8114
8115 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
8116
8117         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
8118         unconditionally when gcc_cv_as_flags64 checks are gone.
8119         * configure: Rebuilt.
8120
8121 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
8122
8123         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
8124         2002-07-26 change.  Comment.
8125
8126 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8127
8128         * frv.c (frv_unique_section, frv_select_section,
8129         frv_select_rtx_section): Delete.
8130         (frv_in_small_data_p): New.
8131         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
8132         TARGET_ASM_SELECT_RTX_SECTION): Delete.
8133         (TARGET_IN_SMALL_DATA_P): Define.
8134
8135 2002-09-05  Dale Johannesen  <dalej@apple.com>
8136
8137         * reload1.c (reload):  Retain only those memory clobbers
8138         added for variable-array handling.
8139
8140 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
8141
8142         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
8143         return-in-memory rules.
8144         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
8145
8146 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
8147
8148         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
8149         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
8150
8151 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
8152
8153         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
8154         not a compile-time constant for the non-IBM case.
8155         * config/arm/arm-protos.h (arm_float_words_big_endian): New
8156         prototype.
8157         * config/arm/arm.c (arm_float_words_big_endian): New function.
8158         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
8159         if TARGET_VFP  and not TARGET_HARD_FLOAT.
8160         (ARM_FLAG_VFP, TARGET_VFP): Define.
8161         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
8162
8163 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
8164
8165         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
8166         URLs.  Fix AIX wording.
8167
8168 2002-09-05  Stan Shebs  <shebs@apple.com>
8169
8170         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
8171         -fPIC equivalent on Darwin.
8172
8173 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
8174
8175         * sh.c (sh_expand_builtin): Return early if encountering an
8176         error_mark for a type.
8177
8178 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
8179
8180         * config/s390/s390.c (s390_expand_plus_operand): Do not require
8181         double-word scratch register.
8182         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
8183
8184         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
8185         "*cli"): Replace s_operand by memory_operand.
8186         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
8187
8188 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
8189
8190         * config/h8300/h8300.c (asm_file_start): Add a missing
8191         semicolon.
8192
8193 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8194
8195         * c-typeck.c (build_function_call): Remove unused variable(s).
8196         (build_c_cast): Likewise.
8197         * calls.c (rtx_for_function_call): Likewise.
8198         * cfglayout.c (duplicate_insn_chain): Likewise.
8199         * cfgloop.c (flow_loop_nodes_find): Likewise.
8200         * cfgrtl.c (split_edge): Likewise.
8201         * df.c (df_ref_create): Likewise.
8202         * except.c (expand_end_catch): Likewise.
8203         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
8204         * function.c (emit_return_into_block): Likewise.
8205         (reposition_prologue_and_epilogue_notes): Likewise.
8206         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
8207         * combine.c (subst_prev_insn, need_refresh): Remove.
8208         * dwarf2out.c (primary_filename): Remove.
8209         * final.c (new_block): Remove.
8210         * gcse.c (orig_bb_count): Remove.
8211
8212 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8213
8214         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
8215         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
8216         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
8217         directly instead of using a function pointer.
8218
8219 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
8220
8221         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
8222         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
8223         (ix86_output_addr_diff_elt) Likewise.
8224         (x86_output_mi_thunk) Likewise.
8225         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
8226
8227 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8228
8229         * frv.c (frv_encode_section_info): Fix error in last change.
8230
8231 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
8232
8233         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
8234         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
8235         (TARGET_BINDS_LOCAL_P): Define.
8236         (rs6000_override_options): Save original flag_pic value.
8237         (rs6000_elf_select_section): Call default_elf_select_section_1.
8238         (rs6000_elf_unique_section): Call default_unique_section_1.
8239         (rs6000_elf_in_small_data_p): New function.
8240         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
8241         (rs6000_xcoff_select_section): Update based on defaults.
8242         (rs6000_xcoff_unique_section): Set to basic name if not common.
8243         (rs6000_binds_local_p): New function.
8244         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
8245         targetm.have_srodata_section if SDATA_EABI.
8246         (TARGET_IN_SMALL_DATA_P): Define.
8247
8248 2002-09-04  Dale Johannesen  <dalej@apple.com>
8249
8250         * varasm.c (struct rtx_const, decode_rtx_const):
8251         Make veclo and vechi fields not share storage.
8252
8253 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
8254
8255         * loop.c (scan_loop): Don't mark separate insns out of a libcall
8256         for moving.
8257         (move_movables): Abort if we see the first insn of a libcall.
8258
8259 2002-09-04  Richard Henderson  <rth@redhat.com>
8260
8261         * builtin-types.def (BT_FN_FLOAT): New.
8262         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
8263         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
8264         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
8265         * builtins.c (fold_builtin_inf): New.
8266         (fold_builtin): Call it.
8267         * real.c (ereal_inf): New.
8268         * real.h: Declare it.
8269         * doc/extend.texi: Document new builtins.
8270
8271 2002-09-04  Richard Henderson  <rth@redhat.com>
8272
8273         * cse.c (cse_insn): Avoid subreg games if the equivalence
8274         is already in the proper mode.
8275
8276 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
8277
8278         PR c/7102
8279         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
8280
8281 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8282
8283         * pa.md (setccfp0, setccfp1): New patterns.
8284
8285 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8286
8287         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
8288         frv_select_section, frv_select_rtx_section,
8289         frv_encode_section_info, frv_unique_section): Delete.
8290         * frv.c: Update for target hooks.
8291         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
8292         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
8293         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
8294
8295 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8296
8297         * ip2k-protos.h (function_prologue, function_epilogue,
8298         encode_section_info): Update to match target hook specification.
8299         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
8300         (function_prologue, function_epilogue, encode_section_info):
8301         Update to match target hook specification.
8302         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
8303         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
8304         (NOTICE_UPDATE_CC): Cast to void.
8305         * ip2k.md: Add defaults in switch statements.
8306
8307 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8308
8309         * doc/trouble.texi (Interoperation): Update information about C++ ABI
8310         issues.
8311
8312 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
8313
8314         * config/sparc/t-netbsd64: Disable multilib for now.
8315
8316 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
8317
8318         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
8319         * target.h (gcc_target): Add have_srodata_section member.
8320         * varasm.c (section_category): Add SECCAT_SRODATA.
8321         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
8322         READONLY_SDATA_SECTION defined.
8323         (decl_readonly_section_1): True for SECCAT_SRODATA also.
8324         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
8325         (default_unique_section_1): Likewise.
8326
8327 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8328
8329         * expr.c (emit_group_load): Revise to allow splitting TCmode source
8330         into DImode pieces.
8331
8332         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
8333         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
8334         for floating-point register class.
8335         * pa.c (function_arg): Fix handling of modes wider than one word for
8336         TARGET_64BIT.
8337
8338 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
8339
8340         * combine.c (make_compound_operation): Don't generate zero / sign
8341         extensions in floating point modes.
8342
8343 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8344
8345         * doc/c-tree.texi: Fix overfull hboxes.
8346         * doc/cppopts.texi: Ditto.
8347         * doc/extend.texi: Ditto.
8348         * doc/gty.texi: Ditto.
8349         * doc/invoke.texi: Ditto.
8350         * doc/makefile.texi: Ditto.
8351         * doc/rtl.texi: Ditto.
8352         * doc/standards.texi: Ditto.
8353         * doc/tm.texi: Ditto.
8354
8355 2002-09-04  Richard Henderson  <rth@redhat.com>
8356
8357         * c-common.c (builtin_define_with_hex_fp_value): New.
8358         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
8359
8360 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8361
8362         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
8363         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
8364         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
8365         Warn that these options can break ABI compatibility.
8366
8367 2002-09-04  Richard Henderson  <rth@redhat.com>
8368
8369         * real.c (ereal_to_decimal): Add digits parameter.
8370         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
8371         * c-pretty-print.c (pp_c_real_literal): Update call.
8372         * print-rtl.c (print_rtx): Likewise.
8373         * print-tree.c (print_node_brief, print_node): Likewise.
8374         * sched-vis.c (print_value): Likewise.
8375         * config/arc/arc.c (arc_print_operand): Likewise.
8376         * config/c4x/c4x.c (c4x_print_operand): Likewise.
8377         * config/i370/i370.h (PRINT_OPERAND): Likewise.
8378         * config/i386/i386.c (print_operand): Likewise.
8379         * config/i960/i960.c (i960_print_operand): Likewise.
8380         * config/ip2k/ip2k.c (asm_output_float): Likewise.
8381         * config/m32r/m32r.c (m32r_print_operand): Likewise.
8382         * config/m68hc11/m68hc11.c (print_operand): Likewise.
8383         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
8384         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
8385         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
8386         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
8387         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
8388         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
8389         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
8390         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
8391         * config/mips/mips.c (print_operand): Likewise.
8392         * config/ns32k/ns32k.c (print_operand): Likewise.
8393         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
8394         * config/vax/vax.h (PRINT_OPERAND): Likewise.
8395         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
8396
8397 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
8398
8399         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
8400         xtensa_multibss_section_type_flags.
8401         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
8402
8403 2002-09-04  Richard Henderson  <rth@redhat.com>
8404
8405         * doc/install-old.texi: Don't mention enquire.
8406         * doc/sourcebuild.texi: Update float.h description.
8407
8408 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
8409
8410         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
8411
8412 2002-09-03  Roger Sayle  <roger@eyesopen.com>
8413
8414         * builtins.c (build_function_call_expr): Remove prototype, export
8415         as non-static and add a comment above function definition.
8416         (builtin_mathfn_code): New function to check for math builtins.
8417         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
8418         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
8419         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
8420         log(sqrt(x)) as log(x)/2.0.
8421
8422         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
8423         in new "builtins.c" section.  Place the build_range_type prototype
8424         with the other prototypes from "tree.c".
8425
8426         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
8427         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
8428         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
8429         x/exp(y) as x*exp(-y).
8430
8431 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
8432
8433         * varasm.c (default_section_type_flags): Append _1 to name with
8434         shlib parameter.  Use original name to call new function with
8435         implicit flag_pic.
8436         (decl_readonly_section): Likewise.
8437         (default_elf_select_section): Likewise.
8438         (default_unique_section): Likewise.
8439         (default_bind_local_p): Likewise.
8440         (categorize_decl_for_section): Add shlib parameter to use in place
8441         of implicit flag_pic.
8442         * output.h: Declare new functions with _1 and shlib argument.
8443
8444 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
8445
8446         * doc/install.texi: Fix typos, formatting problems, and obvious
8447         overfull/underfull boxes.
8448
8449         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
8450         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
8451         include its file, compat.texi.
8452         * doc/compat.texi: New file with new chapter, Binary Compatibility.
8453
8454 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
8455
8456         Debian BTS Bug #157416
8457         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
8458         * cpplib.c (destringize_and_run): Kludge around getting
8459         tokens from in-progress macros.
8460         (_cpp_do__Pragma): Simplify.
8461
8462 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
8463
8464         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
8465         (CPP_CPU_SPEC): Remove.
8466         (TARGET_CPU_CPP_BUILTINS): New.
8467         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
8468         (CPP_SPEC): Remove.
8469         (TARGET_OS_CPP_BUILTINS): New.
8470         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
8471         (TARGET_OS_CPP_BUILTINS): New.
8472         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
8473         TARGET_OS_CPP_BUILTINS.
8474         (CPP_PREDEFINES): Remove.
8475         (CPLUSPLUS_CPP_SPEC): Remove.
8476         (TARGET_OS_CPP_BUILTINS): New.
8477
8478 2002-09-03  Richard Henderson  <rth@redhat.com>
8479
8480         * Makefile.in (USER_H): Add ginclude/float.h.
8481         (FLOAT_H): Remove.
8482         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
8483         (mostlyclean): Don't remove float.h intermediate files.
8484         (distclean): Don't remove float.h.
8485         * config.gcc: Remove all float_format references.
8486         * configure.in (float_format, float_h_file): Remove.
8487
8488         * c-common.c: Include tree-inline.h.
8489         (builtin_define_with_int_value): New.
8490         (builtin_define_type_precision): Use it.
8491         (builtin_define_float_constants): New.
8492         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
8493         __FLT_EVAL_METHOD__.
8494         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
8495         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
8496         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
8497         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
8498         (TARGET_FLT_EVAL_METHOD): New.
8499
8500         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
8501         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
8502         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
8503         * ginclude/float.h: New.
8504
8505 2002-09-03  Stan Shebs  <shebs@apple.com>
8506
8507         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
8508         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
8509         (PREFERRED_DEBUGGING_TYPE): Ditto.
8510         (ASM_OUTPUT_IDENT): Remove empty definition.
8511
8512 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
8513
8514         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
8515         cxx_target.
8516         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
8517         handling routine for builtin pragma.
8518         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
8519         Registered pragma handling routine.
8520         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
8521         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
8522         If builtin pragma seen for math routine and C89 conformance is
8523         requested use different math function in order to set errno.
8524         * t-ia64 (ia64-c.o): Add new rule for new file.
8525
8526 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
8527
8528         * config/s390/s390.md ("movti"): Add Q->Q alternative.
8529         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
8530         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
8531
8532         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
8533         "*movsf_ss"): Remove.
8534
8535 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8536
8537         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
8538         Delete macros.
8539
8540 2002-09-03   Arati Dikey  <aratid@kpit.com>
8541
8542         * h8300.c (asm_file_start): Corrected optimization comment.
8543
8544 2002-09-03  Stan Shebs  <shebs@apple.com>
8545
8546         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
8547         * c-tree.h (recognize_objc_keyword): Remove decl.
8548         * c-typeck.c (comp_target_types): Update a comment.
8549
8550 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
8551
8552         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
8553         and register validity checks.
8554         (general_s_operand): Adapt to s390_decompose_address interface change.
8555         (q_constraint): Likewise.
8556         (s390_expand_plus_operand): Likewise.
8557         (legitimiate_address_p): Likewise.
8558         (legitimate_la_operand_p): Likewise.
8559         (legitimize_la_operand): Likewise.
8560         (print_operand_address): Likewise.
8561         (print_operand): Likewise.
8562
8563 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8564
8565         PR objc/5956:
8566         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
8567         was causing the new selector never to match the existing ones
8568         (Patch by Alexander Malmberg <alexander@malmberg.org>).
8569
8570 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
8571
8572         * config/i386/i386.md ("femms"): Add "memory" attr "none".
8573
8574 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
8575
8576         * expr.c (expand_expr): Remove extraneous comment and code.
8577
8578 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
8579
8580         * stor-layout (finish_builtin_struct): Renamed and moved from c++
8581         frontend. Take chain of fields. Allow NULL alignment type.
8582         * tree.h (finish_builtin_struct): Declare.
8583
8584 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8585
8586         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
8587         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
8588         config/arc/arc.c config/arc/arc.h config/arm/aout.h
8589         config/arm/arm.c config/arm/arm.h config/arm/arm.md
8590         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
8591         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
8592         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
8593         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
8594         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
8595         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
8596         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
8597         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
8598         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
8599         config/pa/pa.h config/pa/pa.md config/romp/romp.h
8600         config/rs6000/linux64.h config/rs6000/lynx.h
8601         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
8602         config/s390/s390.c config/s390/s390.md config/sh/sh.c
8603         config/sparc/sparc.c config/sparc/sysv4.h
8604         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
8605         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
8606         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
8607
8608         * doc/tm.texi: Update docs.
8609         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
8610         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
8611
8612 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8613
8614         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
8615         * arc.c (arc_internal_label): New function.
8616         (TARGET_ASM_INTERNAL_LABEL): Set.
8617         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8618         * arm.c (arm_internal_label): New function.
8619         (TARGET_ASM_INTERNAL_LABEL): Set.
8620         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8621         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8622         * i370.c (i370_internal_label): New function.
8623         (TARGET_ASM_INTERNAL_LABEL): Set.
8624         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8625         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8626         * m68k.c (m68k_hp320_internal_label): New function.
8627         (TARGET_ASM_INTERNAL_LABEL): Set.
8628         * m88k.c (m88k_internal_label): New function.
8629         (TARGET_ASM_INTERNAL_LABEL): Set.
8630         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8631         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
8632         * genoutput.c (output_prologue): Include target.h in output file.
8633         * output.h (default_internal_label): Declare.
8634         * sdbout.c: Include target.h.
8635         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
8636         TARGET_ASM_OUT.
8637         * target.h (internal_label): Add to struct gcc_target.
8638         * varasm.c (default_internal_label): New function.
8639
8640 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8641
8642         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8643         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8644         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8645         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8646         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8647         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8648         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8649         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8650         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8651         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8652         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8653         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8654         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8655         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8656         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8657         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8658         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8659         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8660         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8661         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8662         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8663         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8664         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8665         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8666         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8667         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
8668         * mmix.c (mmix_asm_output_internal_label): Likewise.
8669         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8670         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8671         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8672         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8673         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8674         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8675         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8676         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8677         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8678         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8679         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8680         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8681         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8682         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8683         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8684         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8685         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8686         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8687         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8688
8689         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
8690
8691 2002-08-31  Richard Henderson  <rth@redhat.com>
8692
8693         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
8694
8695 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8696
8697         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
8698
8699 2002-08-30  Richard Henderson  <rth@redhat.com>
8700
8701         PR opt/7515
8702         * c-objc-common.c: Include target.h.
8703         (c_cannot_inline_tree_fn): Don't auto-inline functions that
8704         don't bind locally.  Factor setting DECL_UNINLINABLE.
8705         * Makefile.in (c-objc-common.o): Update.
8706
8707 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
8708
8709         * doc/install.texi (Configuration, Building): Fix a typo and
8710         some formatting directives.
8711
8712 2002-08-30  Paul Koning <pkoning@equallogic.com>
8713
8714         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
8715         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
8716         implemented" note.
8717         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
8718         for alphabetic order.
8719         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
8720         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
8721         (VAX_HALFWORD_ORDER): Document.
8722         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
8723         IEEE float format.
8724         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
8725         (ASM_OUTPUT_LABEL_REF): Fix font.
8726         (CASE_VECTOR_SHORTEN_MODE): Ditto.
8727
8728 2002-08-30  Denis Chertykov  <denisc@overta.ru>
8729
8730         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
8731         stuff.
8732         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
8733         CONST_DOUBLE constants.
8734
8735 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
8736
8737         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
8738         related defines to...
8739         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
8740         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
8741         as a no-op.
8742
8743 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
8744
8745         * config/arm/arm.c (arm_asm_output_labelref): New function.
8746         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
8747         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
8748
8749 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
8750
8751         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
8752         memory exhausted" workarounds.
8753
8754 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8755
8756         * diagnostic.c (fancy_abort): Don't repeat "internal error".
8757         * toplev.c (crash_signal): Likewise.
8758
8759 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8760
8761         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
8762         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
8763         Extended, updated documentation.
8764         (-Wundeclared-selector): Documented.
8765
8766 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
8767
8768         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
8769         the value 1.  Do not undef before defining.
8770         * config/darwin.h: Likewise.
8771         * config/dbx.h: Likewise.
8772         * config/dbxcoff.h: Likewise.
8773         * config/dbxelf.h: Likewise.
8774         * config/elfos.h: Likewise.
8775         * config/interix.h: Likewise.
8776         * config/lynx-ng.h: Likewise.
8777         * config/lynx.h: Likewise.
8778         * config/netware.h: Likewise.
8779         * config/psos.h: Likewise.
8780         * config/svr3.h: Likewise.
8781         * config/alpha/alpha.h: Likewise.
8782         * config/alpha/elf.h: Likewise.
8783         * config/alpha/vms.h: Likewise.
8784         * config/arc/arc.h: Likewise.
8785         * config/arm/aout.h: Likewise.
8786         * config/arm/coff.h: Likewise.
8787         * config/c4x/c4x.h: Likewise.
8788         * config/h8300/h8300.h: Likewise.
8789         * config/i386/cygwin.h: Likewise.
8790         * config/i386/djgpp.h: Likewise.
8791         * config/i386/gas.h: Likewise.
8792         * config/i386/gstabs.h: Likewise.
8793         * config/i386/i386-coff.h: Likewise.
8794         * config/i386/i386-interix.h: Likewise.
8795         * config/i386/sco5.h: Likewise.
8796         * config/i386/svr3dbx.h: Likewise.
8797         * config/i386/sysv3.h: Likewise.
8798         * config/i386/win32.h: Likewise.
8799         * config/i386/x86-64.h: Likewise.
8800         * config/i960/i960.h: Likewise.
8801         * config/ia64/ia64.h: Likewise.
8802         * config/ip2k/ip2k.h: Likewise.
8803         * config/m32r/m32r.h: Likewise.
8804         * config/m68k/3b1.h: Likewise.
8805         * config/m68k/3b1g.h: Likewise.
8806         * config/m68k/ccur-GAS.h: Likewise.
8807         * config/m68k/coff.h: Likewise.
8808         * config/m68k/hp2bsd.h: Likewise.
8809         * config/m68k/hp310g.h: Likewise.
8810         * config/m68k/hp320g.h: Likewise.
8811         * config/m68k/hp3bsd.h: Likewise.
8812         * config/m68k/hp3bsd44.h: Likewise.
8813         * config/m68k/linux-aout.h: Likewise.
8814         * config/m68k/m68k-aout.h: Likewise.
8815         * config/m68k/mot3300.h: Likewise.
8816         * config/m68k/netbsd.h: Likewise.
8817         * config/m68k/openbsd.h: Likewise.
8818         * config/m68k/pbb.h: Likewise.
8819         * config/m68k/plexus.h: Likewise.
8820         * config/m68k/sun2.h: Likewise.
8821         * config/m68k/sun3.h: Likewise.
8822         * config/m68k/tower-as.h: Likewise.
8823         * config/m68k/vxm68k.h: Likewise.
8824         * config/m88k/aout-dbx.h: Likewise.
8825         * config/m88k/m88k-aout.h: Likewise.
8826         * config/mcore/mcore-elf.h: Likewise.
8827         * config/mcore/mcore-pe.h: Likewise.
8828         * config/mips/elf.h: Likewise.
8829         * config/mips/elf64.h: Likewise.
8830         * config/mips/iris5gas.h: Likewise.
8831         * config/mips/iris6.h: Likewise.
8832         * config/mips/mips.h: Likewise.
8833         * config/mips/sni-gas.h: Likewise.
8834         * config/mmix/mmix.h: Likewise.
8835         * config/ns32k/netbsd.h: Likewise.
8836         * config/pa/pa64-hpux.h: Likewise.
8837         * config/romp/romp.h: Likewise.
8838         * config/rs6000/sysv4.h: Likewise.
8839         * config/rs6000/xcoff.h: Likewise.
8840         * config/sh/coff.h: Likewise.
8841         * config/sh/elf.h: Likewise.
8842         * config/sparc/linux64.h: Likewise.
8843         * config/sparc/liteelf.h: Likewise.
8844         * config/sparc/netbsd.h: Likewise.
8845         * config/sparc/openbsd.h: Likewise.
8846         * config/sparc/pbd.h: Likewise.
8847         * config/sparc/sp64-elf.h: Likewise.
8848         * config/sparc/sp86x-elf.h: Likewise.
8849         * config/sparc/sparc.h: Likewise.
8850         * config/vax/vax.h: Likewise.
8851         * config/vax/vaxv.h: Likewise.
8852
8853 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
8854
8855         * h8300.c (shift_alg_hi): Various tweaks to improve performance
8856         of HImode shifts.
8857         (get_shift_alg): Corresponding changes.
8858
8859 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8860
8861         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
8862
8863 2002-08-29  Richard Henderson  <rth@redhat.com>
8864
8865         * expr.h (enum block_op_methods): New.
8866         (emit_block_move): Update prototype.
8867         * expr.c (block_move_libcall_safe_for_call_parm): New.
8868         (emit_block_move_via_loop): New.
8869         (emit_block_move): Use them.  New argument METHOD.
8870         (emit_push_insn): Always respect the given alignment.
8871         (expand_assignment): Update call to emit_block_move.
8872         (store_expr, store_field, expand_expr): Likewise.
8873         * builtins.c (expand_builtin_apply): Likewise.
8874         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
8875         * function.c (expand_function_end): Likewise.
8876         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
8877         * config/sparc/sparc.c (sparc_va_arg): Likewise.
8878         * calls.c (expand_call, emit_library_call_value_1): Likewise.
8879         (save_fixed_argument_area): Use emit_block_move with
8880         BLOCK_OP_CALL_PARM instead of move_by_pieces.
8881         (restore_fixed_argument_area): Likewise.
8882         (store_one_arg): Fix alignment parameter to emit_push_insn.
8883
8884 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8885
8886         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
8887
8888 2002-08-29  Catherine Moore  <clm@redhat.com>
8889
8890         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
8891         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
8892         (PREDICATE_CODES): Include new predicates.
8893         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
8894         (TARGET_SWITCHES):  Add strict-align.
8895         (TARGET_STRICT_ALIGN): New.
8896         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
8897         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
8898         Define.
8899         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
8900         v850_muldi3.
8901         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
8902         L_callt_save_r2_r31, L_return_r2_r31,
8903         L_save_all_interrupt): Change addi to add.
8904         (L_save_interrupt, L_return_interrupt): Rework.
8905         (__return_r31):  Correct .size directive.
8906         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
8907         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
8908         New routines.
8909         * config/v850/v850.c (expand_prologue): Call
8910         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
8911         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
8912         (reg_or_int9_operand): New predicate.
8913         (reg_or_const_operand): New routine.
8914         * config/v850/v850.md (return_interrupt): Changed from
8915         restore_interrupt.
8916         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
8917         (callt_save_interrupt): Change save sequence.
8918         (callt_return_interrupt): New.
8919         (save_interrupt): Don't use runtime function for LONG_CALLS
8920         and TARGET_PROLOG_FUNCTION.
8921         (save_all_interrupt): Likewise.
8922         (mulsi3): Use new predicate.
8923         (moviscc): Disallow some combination of constants.
8924         Fix define_split for sasf insns, so that it will not generate bad
8925         code if operand0 and operand5 are the same.
8926         * config/v850/v850-protos.h: Prototype new predicates.
8927
8928 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
8929
8930         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
8931         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
8932
8933 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8934
8935         * c-common.c (builtin_define_type_precision): New function.
8936         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
8937         wchar_t is unsigned in C++.
8938         * doc/cpp.texi (Common Predefined Macros): Document
8939         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
8940         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
8941         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
8942
8943 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
8944
8945         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
8946         section.  Mention that it is enabled by -Wall.
8947         (-Wall): Mention that there can be language-specific warnings as well.
8948         (-Wctor-dtor-privacy): Mention that it is enabled by default.
8949         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
8950
8951 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
8952
8953         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
8954         if it is ever live.
8955
8956         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
8957         attribute for SHCOMPACT.
8958
8959         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
8960         appropriately.
8961         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
8962         by the ABI.
8963
8964         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
8965
8966 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
8967
8968         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
8969         "MASK_GAS|MASK_ABICALLS".
8970         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
8971         (TARGET_DEFAULT): Remove.
8972         (MACHINE_TYPE): Undefine before defining.
8973         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
8974
8975 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
8976
8977         * c-common.c (warn_abi): New variable.
8978         * c-common.h (warn_abi): Likewise.
8979         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
8980         (c_common_decode_option): Handle it.
8981         * doc/invoke.texi: Document -Wabi.
8982
8983 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8984
8985         * c-common.c (warn_undeclared_selector): New variable.
8986         * c-common.h (warn_undeclared_selector): Idem.
8987         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
8988         to on when -Wundeclared-selector is found.
8989         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
8990         * objc/objc-act.c (build_selector_expr): If
8991         warn_undeclared_selector is set, check that the selector has
8992         already been defined, and emit a warning if not.
8993
8994 2002-08-27  Nick Clifton  <nickc@redhat.com>
8995             Catherine Moore  <clm@redhat.com>
8996             Jim Wilson  <wilson@cygnus.com>
8997
8998         * config.gcc: Add v850e-*-* target.
8999         Add --with-cpu= support for v850.
9000         * config/v850/lib1funcs.asm: Add v850e callt functions.
9001         * config/v850/v850.h: Add support for v850e target.
9002         * config/v850/v850.c: Add functions to support v850e target.
9003         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
9004         * config/v850/v850.md: Add patterns for v850e instructions.
9005         * doc/invoke.texi: Document new v850e command line switches.
9006
9007 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
9008                           Aldy Hernandez <aldyh at redhat dot com>
9009
9010         * doc/tm.texi: Applied numerous fixes to the automaton based
9011         scheduler descrition.
9012
9013 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
9014
9015         * i386.c (classify_argument): Handle variable sized objects.
9016
9017 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
9018
9019         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
9020
9021 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
9022
9023         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
9024
9025 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
9026
9027         * i386.c (classify_argument): Properly compute word size of the analyzed object.
9028
9029 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
9030
9031         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
9032         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
9033         accordingly.
9034         (attribute insn_class): Provide default definitions based on type.
9035         Remove all insn-specific settings.
9036         (various function units): Remove old SH4 scheduling.
9037         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
9038         New attributes.  Set them where appropriate.
9039         (cpu unit FS): Don't define / use.
9040         (F3, load_store): New cpu units.
9041         (F01): New reservation.
9042         (all insn_reservations): Make dependent on sh4 pipeline model.
9043         Fix latencies.
9044         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
9045         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
9046         (mt insn_reservation): Use type mt_group.
9047         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
9048         sh4_fload and sh4_store.
9049         (insn_reservation branch_zero and branch): Replace with sh4_branch.
9050         (insn_reservation branch_far): Replace with sh4_return.
9051         (insn_reservation return_from_exp): Rename to:
9052         (sh4_return_from_exp).  Change to be just d_lock*5.
9053         (insn_reservation lds_to_pr): Rename to:
9054         (sh4_lds_to_pr).  Change to be just d_lock*2.
9055         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
9056         d_lock*2.
9057         (insn_reservation prload_mem): Rename to:
9058         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
9059         (insn_reservation fpscr_store): Rename to:
9060         (fpscr_load).  Change to d_lock,nothing,F1*3.
9061         (insn_reservation fpscr_store_mem): Rename to:
9062         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
9063         (insn_reservation multi): Change to
9064         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
9065         (insn_reservation fp_arith): Change to issue,F01,F2.
9066         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
9067         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
9068         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
9069         (insn_reservation fp_double_cmp): Change to
9070         d_lock,(d_lock+F01),F1+F2,F2.
9071         (insn_reservation dp_div): Change to
9072         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
9073         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
9074         (sh_adjust_cost, SHcompact): Differentiate between different
9075         kinds of dependencies.  Drop factor of ten for superscalar.
9076         Use new instruction types.  Add new exception rules.
9077
9078         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
9079
9080         * sh.md (mperm_w): Add DONE.
9081
9082 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
9083
9084         * longlong.h: Import current PowerPC defintion from GMP-4.1.
9085
9086         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
9087
9088         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
9089
9090 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
9091
9092         * sh.h (MAX_FIXED_MODE_SIZE): Define.
9093
9094 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
9095
9096         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
9097         delimiter.
9098
9099 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9100
9101         * c-common.c (cpp_define_data_format): New function.
9102         (cb_register_builtins): Call it.
9103
9104         * doc/cpp.texi (Common Predefined Macros): Document
9105         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
9106         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
9107         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
9108         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
9109         __TARGET_USES_VAX_H_FLOAT__.
9110
9111 2002-08-26  Ziemowit Laski <zlaski@apple.com>
9112
9113         * objc/objc-act.c (get_super_receiver): If inside a class method
9114         of a category, cast the receiver to 'id' before accessing the 'isa'
9115         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
9116
9117 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
9118
9119         * config/s390/s390-protos.h (s390_function_prologue,
9120         s390_function_epilogue): Remove.
9121         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
9122         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
9123
9124         config/s390/s390.c (s390_machine_dependent_recorg): New function.
9125         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
9126         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
9127         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
9128         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
9129
9130         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
9131         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
9132         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
9133         function is not a leaf function.  Use save_gprs and restore_gprs.
9134         (s390_emit_epilogue): Likewise.
9135         (save_gprs, restore_gprs): New functions.
9136         (struct s390_frame): Remove return_reg_saved_p member.
9137         (save_fprs_p): Remove.
9138         (s390_optimize_prolog): New function.
9139         (s390_legitimate_reload_constant): Remove now unnecessary check.
9140
9141         (s390_function_count): Remove.
9142         (s390_output_symbolic_const): Replace s390_function_count by
9143         current_function_funcdef_no.
9144         (s390_output_constant_pool): Likewise.
9145
9146         (legitimize_pic_address): Use regs_ever_live to track PIC register
9147         instead of current_function_uses_pic_offset_table.
9148         (s390_emit_prologue): Likewise.
9149         config/s390/s390.md ("call", "call_value"): Likewise.
9150
9151 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
9152
9153         * c-opts.c (find_opt): Don't complain about wrong languages
9154         here.  Return exact matches even for wrong language.
9155         (c_common_decode_option): Complain about wrong languages
9156         here.
9157
9158 2002-08-24  Stuart Hastings  <stuart@apple.com>
9159
9160         * function.h (struct function): Add flag
9161         all_throwers_are_sibcalls.
9162         * except.c (set_nothrow_function_flags): Replaces
9163         nothrow_function_p. Set new flag.
9164         * except.h (set_nothrow_function_flags): Replaces
9165         nothrow_function_p.
9166         * dwarf2out.c (struct dw_fde_struct): Add flag
9167         all_throwers_are_sibcalls.
9168         (output_call_frame_info): Test it.
9169         (dwarf2out_begin_prologue) Propagate it from cfun to
9170         dw_fde_struct.
9171         * toplev.c (rest_of_compilation): Update calls to
9172         nothrow_function_p.
9173
9174 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
9175
9176         * ggc-page.c (compute_inverse): Short circuit calculation for
9177         object sizes larger than half a page.
9178
9179 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
9180
9181         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
9182         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
9183         default.
9184         (rs6000_elf_unique_section): Likewise.
9185
9186 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9187
9188         * ns32k.c (ns32k_globalize_label): Delete.
9189         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
9190
9191 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
9192
9193         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
9194         for loading delta with num_insns_constant_wide.  Calculate
9195         delta_low, delta_high without using a conditional.
9196
9197 2002-08-22  Jason Merrill  <jason@redhat.com>
9198
9199         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
9200         * c-common.def: Adjust.
9201         * c-dump.c (c_dump_tree): Adjust.
9202         * c-semantics.c (genrtl_return_stmt): Adjust.
9203         * c-pretty-print.c (pp_c_statement): Adjust.
9204         * tree-inline.c (copy_body_r): Adjust.
9205
9206 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
9207
9208         * ggc-page.c: Avoid division in ggc_set_mark.
9209         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
9210         compute_inverse): New.
9211         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
9212         (init_ggc): Initialize inverse_table.
9213
9214 2002-08-22  Tom Tromey  <tromey@redhat.com>
9215
9216         * doc/install.texi (Configuration): Document --datadir.
9217
9218 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
9219
9220         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
9221
9222 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
9223
9224         * gengtype-lex.l (ID): Allow underscore as first character.
9225
9226 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
9227
9228         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
9229         function.
9230         (rs6000_xcoff_asm_named_section): Rename.
9231         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
9232
9233 2002-08-21  Tom Tromey  <tromey@redhat.com>
9234
9235         For PR java/6005 and PR java/7611:
9236         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
9237         (fold): Likewise.
9238         * langhooks.c (lhd_can_use_bit_fields_p): New function.
9239         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
9240         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
9241         (LANG_HOOKS_INITIALIZER): Use it.
9242         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
9243         field.
9244
9245 2002-08-21  Stan Shebs  <shebs@apple.com>
9246
9247         * tree.c (finish_vector_type): Fix a typo in a comment.
9248         * Makefile.in: Fix "the the" stutters in comments.
9249         * genautomata.c: Ditto.
9250         * ifcvt.c: Ditto.
9251         * regrename.c: Ditto.
9252         * config/alpha/alpha.c: Ditto.
9253         * config/alpha/vms-crt0-64.c: Ditto.
9254         * config/alpha/vms-crt0.c: Ditto.
9255         * config/alpha/vms-psxcrt0-64.c: Ditto.
9256         * config/alpha/vms-psxcrt0.c: Ditto.
9257         * config/d30v/d30v.h: Ditto.
9258         * config/fr30/fr30.h: Ditto.
9259         * config/rs6000/rs6000.c: Ditto.
9260         * config/stormy16/stormy16.h: Ditto.
9261         * doc/md.texi: Ditto.
9262
9263 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9264
9265         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
9266
9267 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
9268
9269         * c-decl.c (grokdeclarator): Make invalid combinations with long,
9270         short, signed or unsigned into hard errors.  Fixes PR c/4319.
9271         Also make duplicate modifiers such as "short short" into hard
9272         errors.
9273
9274 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
9275             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9276
9277         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
9278         to the actual end.  Add '@end table' and '@table @code'.
9279
9280 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
9281
9282         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
9283
9284         * unroll.c (biv_total_increment): Don't try to compute the total
9285         increment for FP BIVs.
9286
9287 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9288
9289         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
9290         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
9291         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9292         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
9293         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
9294         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
9295         (GLOBAL_ASM_OP): Define.
9296         * arm.c (aof_globalize_label): New function.
9297         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
9298         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9299         * c4x.c (c4x_globalize_label): New function.
9300         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
9301         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
9302         (GLOBAL_ASM_OP): Define.
9303         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
9304         * darwin-protos.h (darwin_globalize_label): Declare.
9305         * darwin.c (darwin_globalize_label): New function.
9306         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
9307         (ASM_GLOBALIZE_LABEL): Delete.
9308         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
9309         * dsp16xx.c (asm_output_common): Use target hook.
9310         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
9311         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
9312         (GLOBAL_ASM_OP): Define.
9313         * i370.c (i370_globalize_label): New function.
9314         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
9315         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
9316         * i386.c (ix86_asm_file_end): Use target hook.
9317         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
9318         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
9319         * ia64.c (ia64_asm_output_external): Likewise.
9320         * ia64/sysv4.h: Update comment.
9321         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9322         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
9323         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
9324         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
9325         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
9326         * mmix-protos.h (mmix_asm_globalize_label): Delete.
9327         * mmix.c (mmix_asm_globalize_label): Likewise.
9328         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
9329         (GLOBAL_ASM_OP): Define.
9330         * ns32k.c (ns32k_globalize_label): New function.
9331         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
9332         (ASM_GLOBALIZE_LABEL): Delete.
9333         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
9334         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
9335         * pa.c (pa_globalize_label): New function.
9336         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
9337         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
9338         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
9339         (GLOBAL_ASM_OP): Define.
9340         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
9341         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9342         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
9343         (GLOBAL_ASM_OP): Define.
9344         * v850.c (v850_output_aligned_bss): Use target hook.
9345         * vax.c (vms_globalize_label): New function.
9346         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
9347         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
9348         (GLOBAL_ASM_OP): Define.
9349         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
9350         * doc/tm.texi: Update docs.
9351         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
9352         target hook.
9353         * final.c (output_alternate_entry_point): Likewise.
9354         * hooks.c (hook_FILEptr_constcharptr_void): New function.
9355         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
9356         * output.h (assemble_global): Delete.
9357         (default_globalize_label): Declare.
9358         * system.h (ASM_GLOBALIZE_LABEL): Poison.
9359         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
9360         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
9361         * target.h (gcc_target): Add globalize_label member.
9362         * varasm.c (asm_output_bss, asm_output_aligned_bss,
9363         globalize_decl): Use target hook.
9364         (assemble_global): Delete.
9365         (default_globalize_label): New function.
9366
9367 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9368
9369         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
9370
9371 2002-08-20  Devang Patel  <dpatel@apple.com>
9372         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
9373
9374 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9375
9376         * arc.c (output_shift): Use stdio instead of asm_fprintf.
9377         * arm.c (thumb_output_function_prologue): Likewise.
9378         * avr.c (print_operand): Likewise.
9379         * c4x.c (c4x_print_operand): Likewise.
9380         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
9381         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
9382         * cris.c (cris_target_asm_function_prologue,
9383         cris_asm_output_mi_thunk): Likewise.
9384         * h8300.c (print_operand): Likewise.
9385         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9386         * ip2k.c (print_operand): Likewise.  Fix format specifier.
9387         * m68hc11.c (asm_print_register, print_operand,
9388         print_operand_address): Use stdio instead of asm_fprintf.
9389         (print_operand_address): Fix format specifier.
9390         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
9391         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
9392         asm_fprintf.
9393         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9394         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9395         * m68k.c (m68k_output_function_prologue,
9396         m68k_output_function_epilogue, print_operand): Likewise.
9397         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
9398         Likewise.  Fix format specifier.
9399         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9400         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9401         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9402
9403 2002-08-15  Eric Christopher  <echristo@redhat.com>
9404             Jeff Knaggs  <jknaggs@redhat.com>
9405
9406         * config.gcc (mipsisa64sr71k-elf): New target.
9407         * config/mips/sr71k.md: New file.
9408         * config/mips/mips.md: Use it.
9409         (rot*): Add sr71k specifics.
9410         * config/mips/t-sr71k: New file.
9411         * config/mips/mips.h (sr71k): New cpu.
9412         (TARGET_SR71K): Use it.
9413         (TUNE_SR71K): Ditto.
9414         (GENERATE_BRANCHLIKELY): Ditto.
9415         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
9416         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
9417         * config/mips/mips.c (sr71k): New cpu.
9418         (mips_use_dfa_pipeline_interface): Use.
9419
9420 2002-08-15  Eric Christopher  <echristo@redhat.com>
9421             Richard Sandiford <rsandifo@redhat.com>
9422             Aldy Hernandez  <aldyh@redhat.com>
9423             Graham Stott    <grahams@redhat.com>
9424             Michael Meissner  <meissner@redhat.com>
9425             Gavin Romig-Koch  <gavin@redhat.com>
9426             Ken Raeburn  <raeburn@cygnus.com>
9427             Alexandre Oliva <aoliva@redhat.com>
9428
9429         * config.gcc (mips64vr-elf): New target.
9430         * config/mips/5400.md: New file.
9431         * config/mips/5500.md: Ditto.
9432         * config/mips/mips.md: Use them.
9433         (frsqrt): New.
9434         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
9435         cpus.
9436         (mips_issue_rate): Use them.
9437         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
9438         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
9439         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
9440         cpus.
9441         (TARGET_MIPSx): Use them.
9442         (TUNE_MIPSx): Ditto.
9443         (GETNATE_MULT3_SI): Ditto.
9444         (ISA_HAS_BRANCHLIKELY): Ditto.
9445         (ISA_HAS_CONDMOVE): Ditto.
9446         (ISA_HAS_NMADD_NMSUB): Ditto.
9447         (ISA_HAS_MULHI): New. Ditto.
9448         (ISA_HAS_MULS): Ditto.
9449         (ISA_HAS_MSAC): Ditto.
9450         (ISA_HAS_MACC): Ditto.
9451         (ISA_HAS_ROTR_SI): Ditto.
9452         (ISA_HAS_ROTR_DI): Ditto.
9453         (RTX_COSTS): Use.
9454
9455 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9456
9457         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
9458         at head.
9459         (remove_dup_nonsys_dirs): New function.
9460         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
9461         (merge_include_chains): Remove non-system include directories from
9462         quote and bracket include chains when they duplicate equivalent system
9463         directories.
9464         * doc/cpp.texi (-I): Update.
9465         * doc/cppopts.texi (-I): Update.
9466         * doc/install.texi (--with-local-prefix): Further document usage of
9467         this option.
9468         * doc/invoke.texi (-I): Update.
9469
9470 2002-08-20  Richard Henderson  <rth@redhat.com>
9471
9472         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
9473         (emit_block_move): Split out subroutines.
9474         (emit_block_move_via_movstr): New.
9475         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
9476         (emit_block_move_libcall_fn): New.  Construct function prototype for
9477         bcopy as well.
9478         (clear_storage): Split out subroutines.
9479         (clear_storage_via_clrstr): New.
9480         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
9481         (clear_storage_libcall_fn): New.  Construct function prototype for
9482         bzero as well.
9483         (emit_push_insn): Use emit_block_move.
9484         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
9485         (store_constructor): Likewise.
9486
9487 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
9488
9489         * objc/objc-act.c (building_objc_message_expr): Rename to
9490         current_objc_message_selector.
9491
9492 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
9493
9494         * objc/objc-act.c (build_ivar_chain): Remove.
9495         (objc_copy_list): Likewise.
9496         (get_class_ivars): Inline call to removed build_ivar_chain
9497         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
9498         slot; use that slot (rather than CLASS_IVARS) when accessing
9499         ivars for base classes.  Call copy_list and chainon instead of
9500         objc_copy_list.
9501         (build_private_template): Call get_class_ivars instead of
9502         build_ivar_chain.
9503         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
9504         (continue_class): Call get_class_ivars instead of
9505         build_ivar_chain.
9506         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
9507         of DECL_BIT_FIELD (which may have been cleared).
9508         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
9509
9510 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9511
9512         * genautomata.c (output_translate_vect, output_state_ainsn_table,
9513         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
9514         in output file.
9515         (output_internal_min_issue_delay_func): Initialize variable in
9516         output file.
9517
9518 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
9519
9520         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
9521         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
9522
9523 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
9524             Steve Ellcey  <sje@cup.hp.com>
9525
9526         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
9527         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
9528         * explow.c (trunc_int_for_mode): Abort when the mode is not
9529         a scaler integer mode.
9530         * combine.c (expand_compound_operation): Don't expand Vector
9531         or Complex modes into shifts.
9532         (expand_field_assignment): Don't do bitwise arithmatic and
9533         shifts on Vector or Complex modes.
9534         (simplify_comparison): Don't call trunc_int_for_mode
9535         for VOIDmode.
9536         * recog.c (general_operand): Likewise.
9537         (immediate_operand): Likewise.
9538         (nonmemory_operand): Likewise.
9539
9540 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
9541
9542         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
9543         multi-instruction SImode constant.  Add REG_EQUAL note.
9544         * config/rs6000/rs6000.md (movsi splitter): Use
9545         rs6000_emit_set_const.
9546
9547 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9548
9549         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
9550         the macro test controlling its use.
9551
9552 2002-08-18  H.J. Lu  (hjl@gnu.org)
9553
9554         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
9555         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
9556         gnu_ld=yes.
9557         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
9558         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
9559         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
9560         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
9561         here.
9562         (cris-*-linux*): Remove setting thread_file here.
9563
9564 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
9565
9566         PR preprocessor/7602
9567         * cppinit.c (path_include): Treat the system environment
9568         variables as being cxx_aware.
9569
9570 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
9571
9572         * c-decl.c (flexible_array_type_p): New function.
9573         (grokdeclarator, finish_struct): Use it.
9574         * doc/extend.texi: Document constraints on use of structures with
9575         flexible array members.
9576
9577 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
9578
9579         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
9580         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
9581         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
9582
9583 2002-08-16  Stan Shebs  <shebs@apple.com>
9584
9585         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
9586         for ObjC with -fnext-runtime.
9587         * doc/cpp.texi: Document it.
9588
9589 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
9590
9591         * doc/install.texi (Final installation): Replace links to individual
9592         build status pages with a link to a common page that lists them all.
9593
9594 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
9595
9596         * doc/invoke.texi: Fix typo.
9597
9598 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
9599
9600         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
9601
9602 2002-08-16  Andrew Haley  <aph@redhat.com>
9603
9604         * tree-inline.c: Add includes for Java inliner.
9605         (remap_decl): Don't handle anonymous types for Java.
9606         (remap_block): Add handling for Java trees.
9607         (copy_scope_stmt): Conditionalize for non-Java use only.
9608         (copy_body_r): Handle Java trees.  Add handling for
9609         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
9610         (initialize_inlined_parameters):  Handle Java trees.
9611         (declare_return_variable): Likewise.
9612         (expand_call_inline): Handle Java trees.
9613         (walk_tree): Likewise.
9614         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
9615         (add_stmt_to_compound): New function.
9616
9617 2002-08-15  Richard Henderson  <rth@redhat.com>
9618
9619         * Makefile.in (LOOSE_WARN): Remove -fno-common.
9620         (NOCOMMON_FLAG): New substitution point.
9621         (GCC_WARN_CFLAGS): Include it.
9622         * configure.in (ac_checking): Set nocommon_flag.
9623         (nocommon_flag): New substitution point.
9624
9625 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
9626
9627         * c-tree.h (skip_evaluation): Move declaration...
9628         * c-common.h: ... here.
9629         * c-typeck.c (build_external_ref): Don't assemble_external nor
9630         mark a tree as used if skip_evaluation is set.
9631         * c-parse.in (typeof): New non-terminal to set skip_evaluation
9632         around TYPEOF.
9633         (typespec_nonreserved_nonattr): Use it.
9634
9635 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
9636
9637         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
9638         (xcoff_debug_hooks): Update end_prologue.
9639         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
9640         * debug.h (end_prologue): Add file arg.
9641         (end_epilogue): Add line and file args.
9642         (dwarf2out_end_epilogue): Add line and file args.
9643         (vmsdbgout_after_prologue): Remove.
9644         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
9645         (dwarf2_debug_hooks): Update end_prologue.
9646         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
9647         (dwarfout_end_prologue): Add file arg.
9648         * final.c (vmsdbgout_after_prologue): Remove
9649         (final_end_function): Update end_epilogue call.
9650         (final_scan_insn): Update end_prologue call.
9651         * sdbout.c (sdbout_end_epilogue): Add line and file args.
9652         (sdbout_end_prologue): Add file arg.
9653         (sdb_debug_hooks): Update end_prologue.
9654         (sdb_begin_prologue): Update sdbout_end_prologue call.
9655         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
9656         vmsdbgout_end_function.
9657         (vmsdbgout_end_prologue): New function renamed from
9658         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
9659         (vmsdbgout_end_function): New function.
9660         (vmsdbgout_end_epilogue): Add line and file args. Call
9661         vmsdbgout_source_line.
9662         (write_pclines): Write only valid line numbers.
9663         (write_srccorr): Don't write source correlation records if 0 lines.
9664         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
9665
9666 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
9667
9668         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
9669         (_Unwind_Internal_Ptr): 32 bit version for use in
9670         read_encoded_value_with_base.
9671         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
9672         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
9673         right size.
9674
9675 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9676
9677         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
9678         signed/unsigned warnings.
9679
9680         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
9681         record_reg_classes): Likewise.
9682
9683         * reload.c (reload_inner_reg_of_subreg, push_reload,
9684         find_reloads_address_1): Likewise.
9685
9686 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
9687
9688         * rs6000.c (output_mi_thunk): Return to function section on
9689         TARGET_ELF.
9690
9691         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
9692
9693 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
9694
9695         * config/s390/s390.c (legitimize_address): Optimize loading
9696         of large displacements.
9697
9698 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
9699
9700         * config/alpha/alpha-protos.h: Update.
9701
9702         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
9703         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
9704         (alpha_linkage_symbol_p): New static function.
9705         (print_operand_address): Print linkage operand.
9706
9707         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
9708         variables.
9709         (reloc_kind): New enum.
9710         (struct alpha_funcs): New struct.
9711         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
9712
9713         (alpha_need_linkage): Rewrite.
9714         (alpha_use_linkage): New global function.
9715         (alpha_write_linkage): Rewrite and make static.
9716         (alpha_write_one_linkage): Rewrite
9717
9718         (alpha_start_function): Remove procedure descriptor output.
9719         (alpha_end_function): Write linkages at end of each function.
9720
9721         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
9722         (call_vms_1, call_value_vms_1): Rewrite.
9723
9724         * config/alpha/vms.h (ASM_FILE_END): Remove.
9725
9726 2002-08-14  Richard Henderson  <rth@redhat.com>
9727
9728         * ggc-page.c (RTL_SIZE): New.
9729         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
9730         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
9731
9732 2002-08-14  Richard Henderson  <rth@redhat.com>
9733
9734         * calls.c: Include target.h.
9735         * Makefile.in (calls.o): Update.
9736
9737         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
9738         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
9739
9740 2002-08-14  Richard Henderson  <rth@redhat.com>
9741
9742         * Makefile.in (LOOSE_WARN): Add -fno-common.
9743         * c-common.h (constant_string_class_name): Add missing extern.
9744
9745 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
9746
9747         PR preprocessor/7358
9748         * c-opts.c (check_deps_environment_vars): Ignore main file
9749         for SUNPRO_DEPENDENCIES.
9750         * cppfiles.c (stack_include_file): Ignore main file if
9751         appropriate.
9752         * cpplib.h (struct cpp_options): New member in deps.
9753         * doc/cppenv.texi: Update.
9754
9755 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9756
9757         PR preprocessor/7526
9758         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
9759
9760 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
9761
9762         * doc/invoke.texi (-a): Remove documentation.
9763         (-fprofile-arcs): Remove reference to -a, -ax options.
9764         * doc/gcov.texi (Gcov Data Files): Data might be merged.
9765
9766 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9767
9768         Fix PR/7566
9769         * c-semantics.c (genrtl_case_label): Don't (mis)use
9770         warning_with_decl.
9771
9772 2002-08-14  Dale Johannesen  <dalej@apple.com>
9773
9774         * explow.c (emit_stack_restore):  Emit memory clobbers
9775         preceding the stack pop, to prevent the scheduler from
9776         moving refs to variable arrays below this pop.
9777         * reload1.c (reload):  Preserve these clobbers for sched2.
9778         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
9779
9780 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9781
9782         * c-opts.c (c_common_post_options): Correct test.
9783
9784 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9785
9786         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
9787         order in call to fprintf.
9788
9789 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9790
9791         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
9792
9793 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
9794
9795         * reload.c (find_reloads): Handle constraint letters marked by
9796         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
9797         (alternative_allows_memconst): Likewise.
9798         * reload1.c (maybe_fix_stack_asms): Likewise.
9799         * recog.c (asm_operand_ok, preprocess_constraints,
9800         constrain_operands): Likewise.
9801         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
9802         * local-alloc.c (block_alloc, requires_inout): Likewise.
9803         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
9804
9805         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
9806         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
9807         * doc/tm.texi: Document these two new target macros.
9808
9809         * config/s390/s390.c (s390_expand_plus_operand): Accept already
9810         valid operands.
9811         (q_constraint): New function.
9812         config/s390/s390-protos.h (q_constraint): Declare it.
9813         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
9814         (EXTRA_MEMORY_CONSTRAINT): New macro.
9815
9816         * config/s390/s390.md: Throughout the machine description,
9817         replace all instances of the constraint combinations 'Qo'
9818         or 'oQ' with simply 'Q'.
9819
9820 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9821
9822         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
9823         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
9824         (LIBGCC2_CFLAGS): Compile with -mrelax.
9825
9826 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9827
9828         * doc/invoke.texi: Document -minmax for 68HC12.
9829
9830         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
9831         ("uminqi3"): Likewise.
9832         ("uminhi3", "umaxhi3"): Likewise.
9833
9834         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
9835         (TARGET_MIN_MAX): Define.
9836         (TARGET_SWITCHES): New option -minmax/-mnominmax.
9837
9838 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9839
9840         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
9841         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
9842
9843         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
9844         (ret, declare, farsym): New gas macros.
9845         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
9846         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
9847         and declare the symbol far when compiled with -mlong-calls.
9848         (__far_trampoline): New for 68HC12 trampoline code to invoke a
9849         far handler using jsr/bsr.
9850
9851         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
9852         (jsr): New macro to transform a 'jsr' into a 'call'.
9853
9854 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9855
9856         * doc/invoke.texi: Document -mlong-calls for 68HC12.
9857
9858         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
9859         -mlong-calls is specified.
9860         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
9861         assembler directives.
9862         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
9863         (TARGET_SWITCHES): Add -mlong-calls options.
9864         (current_function_far): Declare.
9865
9866         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
9867         into account the page register saved on the stack.
9868         (m68hc11_override_options): Take into account -mlong-calls option.
9869         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
9870
9871         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
9872         if the function is going to be in 68HC12 banked memory (-mlong-calls).
9873         ("*return_16bit"): Likewise.
9874         ("*return_void"): Likewise.
9875         ("call", "call_value"): Use call for a far function call.
9876
9877 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9878
9879         * toplev.c (parse_options_and_default_flags): Don't call
9880         post_options here.
9881         (general_init): Initialize GC, pools and tree hash here,
9882         instead of lang_independent_init.
9883         (lang_independent_init): Rename backend_init.
9884         (do_compile): Call post_options hook; exit early if there
9885         have been errors after switch processing.
9886         (toplev_main): Update.
9887
9888 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9889
9890         * c-pretty-print.h: Guard against multiple inclusion.
9891         Robustify macros.
9892         (pp_c_attributes): Declare.
9893         * c-pretty-print.c (pp_c_attributes): New function.
9894
9895 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9896
9897         * m68k.c (m68k_output_function_prologue,
9898         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
9899         and NEWS/MOTOROLA.
9900         * genattrtab.c: Remove dpx2 comment.
9901         * libgcc2.c (__enable_execute_stack): Delete versions for
9902         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
9903         sony_news/SYSTYPE_BSD.
9904         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
9905         __gmicro__, __i860__, __NeXT__ and __pyr__.
9906         * rtl.h: Remove convex comment.
9907         * varasm.c: Likewise.
9908
9909 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9910
9911         * c-opts.c (lang_flags): Const-ify.
9912         * ra-build.c (undef_table): Likewise.
9913         * ra.c (eliminables): Likewise.
9914
9915 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9916
9917         * tree.h: Guard against multiple inclusion.
9918
9919 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
9920
9921         * reload1.c (reload_cse_simplify): Before checking
9922         REG_FUNCTION_VALUE_P, check REG_P.
9923
9924 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
9925
9926         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
9927
9928 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
9929
9930         * c-opts.c (c_common_init_options): Extra braces needed.
9931
9932 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
9933
9934         * sh.c (sh_init_builtins): Add PARAMS to declaration.
9935         (sh_media_init_builtins, sh_expand_builtin): Likewise.
9936         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
9937         (sh_expand_binop_v2sf): Likewise.
9938         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
9939         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
9940         (sh_initialize_trampoline): Likewise.
9941
9942 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
9943
9944         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
9945         new condition code modes.
9946         s390.c (s390_match_ccmode_set): Handle those new CC modes.
9947         (s390_select_ccmode): Likewise.
9948         (s390_branch_condition_mask): Likewise.
9949
9950         * s390-protos.h (s390_tm_ccmode): Declare.
9951         s390.c (s390_tm_ccmode): New function.
9952         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
9953
9954         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
9955         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
9956         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
9957
9958         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
9959         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
9960         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
9961         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
9962         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
9963
9964         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
9965         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
9966         "*cmpqi_ccs_0"): Remove, replace by ...
9967         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
9968         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
9969         "*tstqi", "*tstqi_cconly"): ... these new patterns.
9970
9971         ("*cmpsidi_ccs"): Remove, replace by ...
9972         ("*cmpsi_ccs_sign"): ... this new pattern.
9973         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
9974
9975         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
9976         ("*cli"): ... this new pattern.
9977
9978         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
9979         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
9980         New patterns.
9981         ("adddi3_64"): Rename to "*adddi3_64".
9982         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
9983         ("adddi3"): Adapt expander.
9984
9985         ("*addsi3_cc"): Allow "general_operand" for operand 2.
9986         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
9987         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
9988
9989         ("addhi3", "addqi3"): Remove, replace by ...
9990         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
9991
9992         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
9993         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
9994         ("subdi3"): Replace by insn and splitter "*subdi3_31".
9995         ("subdi3"): New expander.
9996
9997         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
9998
9999         ("subhi3", "subqi3"): Remove, replace by ...
10000         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
10001
10002         ("*muldi3_sign"): New pattern.
10003         ("muldi3"): Do not clobber CC.
10004         ("mulsi3"): Likewise.
10005         ("mulsi_6432"): Likewise.
10006
10007 2002-08-13  Denis Chertykov  <denisc@overta.ru>
10008
10009         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
10010         which can change CC0.
10011
10012 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
10013
10014         * gcse.c (adjust_libcall_notes): New function.
10015         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
10016
10017 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
10018
10019         * libgcc2.c (L_bb): Remove unneeded #includes.
10020         (__global_counters, __gthreads_active): Remove unused globals.
10021         (__bb_exit_func): Merge counts into files rather than appending.
10022         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
10023         (ALL_CFLAGS): ... to here.
10024
10025 2002-08-13  Denis Chertykov  <denisc@overta.ru>
10026
10027         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
10028         (function_epilogue): Don't calculate function size.
10029         (ip2k_set_compare): Don't use lookup_const_double.
10030         (asm_file_start): Initialization of commands_in_file removed.
10031         (asm_file_end): Output of commands_in_file removed.
10032
10033         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
10034         __INT_MAX__.
10035
10036 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
10037
10038         * c-opts.c (c_common_init_options): Check option array is
10039         sorted if checking enabled.
10040
10041 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
10042
10043         * c-pretty-print.c: #include "c-tree.h".
10044         (pp_c_simple_type_specifier): Tweak.
10045         (pp_c_storage_class_specifier): New.
10046         (pp_c_function_specifier): Likewise.
10047         (pp_c_declaration_specifiers): Likewise.
10048         (pp_c_init_declarator): Likewise.
10049         (pp_c_declaration): Likewise.
10050         (pp_c_direct_declarator): Stub.
10051         (pp_c_declarator): Likewise.
10052         (pp_c_parameter_declaration): Likewise.
10053
10054 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
10055
10056         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
10057         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
10058         struct deferred_opt): New.
10059         (COMMAND_LINE_OPTIONS): Add -M*.
10060         (missing_arg): Update.
10061         (c_common_decode_option): Handle -M*.
10062         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
10063         don't call cpp_post_options.
10064         (c_common_finish, check_deps_environment_vars): Update.
10065         * cppfiles.c (stack_include_file, handle_missing_header): Update.
10066         * cpphash.h (CPP_PRINT_DEPS): Remove.
10067         * cppinit.c: Don't include version.h.
10068         (cpp_create_reader): Don't call deps_init.  Initialize
10069         warn_long_long.
10070         (cpp_read_main_file): Init deps if necessary.
10071         (cpp_destroy): Conditionally free deps.
10072         (cpp_finish): Update.
10073         (no_tgt): Remove.
10074         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
10075         (cpp_post_options): Rename post_options.
10076         * cpplib.h (struct cpp_options): Remove some dependency options;
10077         move others to a new structure.
10078         (cpp_post_options): Remove.
10079         (cpp_finish): Comment.
10080         * fix-header.c (read_scan_file): Don't call cpp_post_options.
10081
10082 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
10083
10084         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
10085         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
10086         MMIX_rR_REGNUM as clobbered.
10087         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
10088
10089 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
10090
10091         * diagnostic.h (output_formatted_scalar): Rename from
10092         output_formatted_integer.
10093         * diagnostic.def: Add DK_DEBUG.
10094         * diagnostic.c (output_decimal): Adjust.
10095         (output_long_decimal): Likewise.
10096         (output_unsigned_decimal): Likewise.
10097         (output_octal): Likewise.
10098         (output_long_octal): Likewise.
10099         (output_hexadecimal): Likewise.
10100         (output_long_hexadecimal): Likewise.
10101         * c-pretty-print.c (pp_c_type_specifier): New function.
10102         (pp_c_specifier_qualifier_list): Likewise.
10103         (pp_c_abstract_declarator): Likewise.
10104         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
10105
10106 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
10107
10108         * doc/trouble.texi (Disappointments): Add static constructor and
10109         destructor dependency information for AIX.
10110
10111 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
10112
10113         * cpphash.h (struct printer): New from cppmain.c.
10114         (cpp_reader): New member.
10115         * cppmain.c (struct printer): Move to cpphash.h.
10116         (options, print): Remove.
10117         (account_for_newlines, print_line, maybe_print_line,
10118         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
10119         scan_translation_unit_trad, cb_line_change, cb_ident,
10120         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
10121         cb_def_pragma): Make reentrant.
10122
10123 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10124
10125         * real.c (ieee_64): Always define.
10126         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
10127         (dec_h): Not used yet, hide it.
10128         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
10129         macro controlling use.
10130         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
10131
10132 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
10133
10134         * i386.md (tablejump): Sign extend the operand.
10135         * i386.c (classify_argument): Fix missed case from previous patch.
10136
10137 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
10138
10139         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
10140         to c-copts.c.
10141         (warn_multichar): Die.
10142         (cb_register_builtins): Export.
10143         * c-common.h (warn_multichar, preprocess_file): Remove.
10144         (cb_register_builtins): New.
10145         * c-lang.c (c_init): Remove.
10146         (LANG_HOOKS_INIT): Use c_objc_common_init.
10147         * c-lex.c (init_c_lex): Don't canonicalize filename.
10148         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
10149         (preprocess_file): Make static.  Update for cpplib.
10150         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
10151         (c_common_post_options): Set some cpp options here.
10152         (c_common_init): Move from c-common.c.
10153         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
10154         * cpplib.h (struct cpp_options): Remove in_fname.
10155         (cpp_preprocess_file): Update.
10156         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
10157
10158 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10159
10160         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
10161
10162 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10163
10164         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
10165         backslash in comment preceeding macro definition.
10166         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
10167         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
10168         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
10169
10170 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
10171
10172         * expr.c (store_expr): In condition for checking if value is
10173         generated in TARGET, move call to expr_size last.
10174
10175 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
10176
10177         * c-common.c (c_common_init): Call preprocess_file instead.
10178         (c_common_finish): Move to c-opts.c.
10179         * c-common.h (preprocess_file): new.
10180         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
10181         check_deps_environment_vars, c_common_finish): New.
10182         (c_common_decode_option): Update for out_fname and dependencies.
10183         * cppinit.c (init_dependency_output, output_deps): Remove.
10184         (cpp_destroy): Update prototype.
10185         (cpp_add_dependency_target): New.
10186         (cpp_read_main_file): Don't overlay a buffer.
10187         (cpp_finish): Take a deps output stream and write deps to it.
10188         Return the error count.
10189         (cpp_post_options): Don't canonicalize out_fname, or do anything
10190         with dependencies.
10191         * cpplib.h (struct cpp_options): Remove out_fname and
10192         preprocess_only.
10193         (cpp_add_dependency_target): New.
10194         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
10195         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
10196         set preprocess_only.  Don't handle the output stream directly.
10197
10198 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10199
10200         * dsp16xx.c (print_operand): Fix format specifier.
10201         * dsp16xx.md: Avoid automatic aggregate initialization.
10202         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
10203         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
10204         integer constant modifier.
10205         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
10206         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
10207         guards.
10208         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
10209         * v850.c (v850_select_section): Mark parameter with
10210         ATTRIBUTE_UNUSED.
10211         * global.c (global_alloc): Const-ify.
10212         * ra-colorize.c (hardregset_to_string): Fix format specifier.
10213
10214 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10215
10216         * darwin-c.c (darwin_pragma_options): Const-ify.
10217         * darwin.c (machopic_non_lazy_ptr_name,
10218         machopic_validate_stub_or_non_lazy_ptr): Likewise.
10219         (machopic_indirect_data_reference): Wrap variables in macros
10220         controlling their use.
10221         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
10222         (machopic_select_section): Use parentheses around && within ||.
10223         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
10224
10225 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10226
10227         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
10228         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
10229         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
10230         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
10231         mdr_try_remove_redundant_insns, track_w_reload,
10232         mdr_try_wreg_elim): Make function static to match prototype.
10233         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
10234         parameter with ATTRIBUTE_UNUSED.
10235
10236 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10237
10238         * arc.c (arc_init): Don't use ISO C style function definitions.
10239         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
10240         arm_get_strip_length, arm_strip_name_encoding): Likewise.
10241         * avr.h (progmem_section): Likewise.
10242         * h8300.c h8300_asm_insn_count): Likewise.
10243         * m32r.c (init_idents): Likewise.
10244         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
10245         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
10246         * xtensa.c (xtensa_build_va_list): Likewise.
10247
10248 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
10249
10250         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
10251         * c-opts.c (parse_option): Rename find_opt.
10252         (set_std_c99): New function.
10253         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
10254         (missing_arg): Remove OPT_std_bad.  Handle -o.
10255         (c_common_decode_option): Handle input and output file names,
10256         -o and -remap.  Clean up -std= handling.
10257         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
10258         (cpp_handle_option): Similarly.  Don't handle filenames.
10259
10260 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
10261
10262         * i386.c (classify_argument): Fix computing of field's offsets.
10263
10264 2002-08-11  Andreas Jaeger  <aj@suse.de>
10265
10266         PR target/7531:
10267         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
10268
10269 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
10270
10271         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
10272         reference to clk_objective_c with flag_objc.
10273         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
10274         Likewise.
10275         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
10276
10277 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
10278
10279         * c-opts.c (set_std_cxx98, set_std_c89): New.
10280         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
10281         (c_common_decode_option): Handle new switches from cppinit.c.
10282         Add -std=gnu++98.
10283         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
10284         (no_arg, no_num): Remove.
10285         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
10286         switches apart from -lang-objc and lang-asm.
10287         (cpp_handle_option): Similarly.
10288         * cpplib.h (cpp_set_lang): New.
10289         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
10290         -std=gnu++98.
10291         * objc/lang-specs.h: Remove -ansi.
10292
10293 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
10294                                Graham Stott
10295
10296         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
10297         errors.
10298
10299 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10300
10301         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
10302         emit_jump_insn): Fix uninitialized variable.
10303         * gcov.c (init_line_info): Likewise.
10304         * genautomata.c (transform_3): Add braces around ambiguous
10305         else.
10306         * ifcvt.c (cond_exec_process_insns): Mark parameter with
10307         ATTRIBUTE_UNUSED.
10308         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
10309         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
10310         variable.
10311
10312         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
10313         warnings in output files.
10314
10315 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
10316
10317         * c-common.c (flag_objc): New.
10318         * c-common.h (c_language_kind): Get rid of clk_objective_c
10319         enum value.
10320         (flag_objc): New extern declaration.
10321         * c-decl.c (implicitly_declare): Call objc_check_decl
10322         instead of maybe_objc_check_decl.
10323         (finish_decl): Likewise.
10324         (grokfield): Likewise.
10325         (finish_struct): Likewise.
10326         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
10327         (maybe_objc_comptypes): Rename to objc_comptypes.
10328         (maybe_building_objc_message_expr): Rename to
10329         objc_message_selector.
10330         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
10331         replace with flag_objc as needed.
10332         * c-opts.c (c_common_init_options): Likewise.
10333         (c_common_decode_option): Likewise.
10334         * c-parse.in (init_reswords): Likewise.
10335         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
10336         (maybe_objc_comptypes): Rename to objc_comptypes.
10337         (maybe_building_objc_message_expr): Rename to
10338         objc_message_selector.
10339         * c-typeck.c (comptypes): Call objc_comptypes instead of
10340         maybe_objc_comptypes, and/or objc_message_selector instead of
10341         maybe_building_objc_message_expr.
10342         (comp_target_types): Likewise.
10343         (convert_for_assignment): Likewise.
10344         (warn_for_assignment): Likewise.
10345         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
10346         independently of those for other languages.
10347         * objc/objc-act.c (maybe_objc_comptypes): Delete.
10348         (maybe_objc_check_decl): Delete.
10349         (maybe_building_objc_message_expr): Rename to
10350         objc_message_selector.
10351         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
10352         clk_objective_c; set flag_objc flag.
10353
10354 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10355
10356         * ifcvt.c (find_if_case_2): Test correct basic block for size.
10357
10358 2002-08-09  Dale Johannesen  <dalej@apple.com>
10359
10360         * config/rs6000/rs6000.md: Add sibcall patterns.
10361         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
10362         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
10363         Rewritten to handle sibcalls.
10364         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
10365         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
10366
10367 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10368
10369         * profile.c (da_file_name): New static var.
10370         (init_branch_prob): Initialize it.
10371         (end_branch_prob): Remove da file.
10372
10373         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
10374         * configure.in (coverage_flags): Default to nothing.
10375         * configure: Rebuilt.
10376
10377 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
10378
10379         * Makefile.in (c-opts.o): Update
10380         * c-opts.c: Include intl.h.
10381         (print_help): Move from cppinit.c.  Remove unused options.
10382         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
10383         (missing_arg): Complain for switches without an argument.
10384         (c_common_decode_option): Reject missing joined arguments.
10385         Handle new switches from cppinit.c.
10386         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
10387         (cpp_handle_option): Similarly.
10388         (print_help): Moved to c-opts.c.
10389         * cpplib.h (struct cpp_options): Remove help_only.
10390         * gcc.c (cpp_unique_options): Remove -$.
10391         * doc/cppopts.texi: Undocument -h.
10392
10393 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10394
10395         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
10396         legitimate constant.
10397         (legitimate_pic_operand_p): Neither pic operand.
10398         (legitimate_address_p): But legitimate address.
10399         (get_thread_pointer): Generate MEM/u instead of CONST around
10400         UNSPEC_TP.
10401         (print_operand): Remove printing of UNSPEC_TP.
10402         (print_operand_address): And print it here.
10403
10404 2002-08-08  Devang Patel  <dpatel@apple.com>
10405
10406         * objc/objc-act.c (build_selector_translation_table): Issue warning,
10407         when  -Wselector is used,if method for which selector is being
10408         created does not exist.
10409
10410 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
10411
10412         * config/sh/sh.c (prepare_move_operands): Only call
10413         target_reg_operand if TARGET_SHMEDIA.
10414
10415 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10416
10417         * config/rs6000/rs6000.h, config/rs6000/aix.h,
10418         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
10419         two patches.
10420         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
10421
10422 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
10423             Richard Henderson  <rth@redhat.com>
10424
10425         * emit-rtl.c (gen_rtx_REG): After reload, only return
10426         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
10427
10428 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10429
10430         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
10431         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
10432         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
10433         macro.
10434
10435 2002-08-08  Adam Nemet  <anemet@lnxw.com>
10436
10437         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
10438         register.
10439         (thumb_expand_prologue): Likewise.
10440         (thumb_output_function_prologue): Likewise.
10441         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
10442         the additional push of the PIC register.
10443
10444 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10445
10446         * configure.in (enable_coverage): New enable switch.
10447         * configure: Rebuilt.
10448         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
10449         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
10450         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
10451         (mostlyclean): Remove coverage files.
10452         * doc/install.texi: Document enable_coverage.
10453
10454         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
10455         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
10456         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
10457         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
10458         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
10459         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
10460         files.
10461
10462 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
10463
10464         * c-opts.c (cpp_opts): New.
10465         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
10466         (c_common_decode_options): Handle cpplib switches.
10467         (c_common_init_options): Set cpp_opts.
10468         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
10469         (cpp_handle_option): Similarly.
10470
10471 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
10472
10473         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
10474         (TARGET_ALTIVEC_ABI): Same.
10475         (TARGET_ALTIVEC_VRSAVE): Same.
10476
10477         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
10478         icode not CODE_FOR_nothing.  Change switch to if.
10479
10480 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
10481
10482         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
10483
10484 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10485
10486         * stor-layout.c (place_union_field): For bitfields if
10487         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
10488         TYPE_USER_ALIGN.
10489
10490 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10491
10492         * pa.c (struct deferred_plabel): Constify name field.
10493
10494 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
10495
10496         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
10497
10498 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10499
10500         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
10501         local_prefix are the same.
10502         * configure: Rebuilt.
10503
10504 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
10505             Richard Henderson  <rth@redhat.com>
10506
10507         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
10508         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
10509         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
10510         (place_field): Likewise.
10511         * config/i386/i386.c (x86_field_alignment): Don't check
10512         DECL_USER_ALIGN here.
10513         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
10514         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
10515         prototype.
10516         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
10517         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
10518         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
10519         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
10520         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
10521         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
10522
10523 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
10524
10525         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
10526         * c-common.c: Don't include tree-inline.h.
10527         (c_common_init_options, c_common_post_options): Move to c-opts.c.
10528         * c-common.h (c_common_decode_option): New.
10529         * c-decl.c (c_decode_option): Remove.
10530         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
10531         * c-opts.c: New file.
10532         * c-tree.h (c_decode_option): Remove.
10533         * doc/passes.texi: Update.
10534         * objc/objc-act.c (objc_decode_option): Remove.
10535         * objc/objc-act.h (objc_decode_option): Remove.
10536         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
10537         c_common_decode_option.
10538
10539 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
10540
10541         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
10542         dependency on TARGET_DOUBLE_FLOAT.
10543
10544 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
10545
10546         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
10547         overwrite callee-save registers.  Fix comment.
10548
10549 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
10550
10551         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
10552         in target_flags based on ISA, if it was not set on the command
10553         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
10554         support Branch Likely instructions.
10555         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
10556         (TARGET_BRANCHLIKELY): Likewise.
10557         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
10558         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
10559         ISA_HAS_BRANCHLIKELY.
10560         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
10561         * doc/invoke.texi: Document new MIPS -mbranch-likely and
10562         -mno-branch-likely options.
10563
10564 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10565
10566         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
10567
10568         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
10569         $(GCONFIG_H).
10570
10571 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
10572
10573         * c-decl.c (duplicate_decls): Error out for incompatible TLS
10574         declarations.
10575
10576         * testsuite/gcc.dg/tls/diag-3.c: New.
10577
10578 2002-08-06  Dale Johannesen  <dalej@apple.com>
10579
10580         * c-common.c (fname_decl): Use line number 0 for
10581         __func__, to avoid confusing debuggers.
10582
10583 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
10584
10585         * gcov.c: Tidy.
10586         (struct line_info, struct coverage): New structures.
10587         (gcov_file_name, gcov_file): Remove globals.
10588         (output_data): Take source file parameter. Fix memory leak. Break
10589         up into ...
10590         (init_line_info, output_line_info, make_gcov_file_name,
10591         accumulate_branch_counts): ... here.
10592         (calculate_branch_probs, function_summary): Adjust.
10593         (main): Adjust.
10594         (function_*): Remove global variables.
10595
10596 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10597
10598         * dwarf2out.c: Remove unused macros.
10599
10600 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10601
10602         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
10603
10604 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10605
10606         * cppinit.c (struct lang_flags): Rename trigraphs std.
10607         (set_lang): Update.
10608         * cpplib.h (struct cpp_options): New member std.
10609         * cppmacro.c (_cpp_builtin_macro_text): Use std.
10610         (collect_args): Flag whether to swallow a possible future
10611         comma pasted with varargs.
10612         (replace_args): Use this flag.
10613         * doc/cpp.texi: Update varargs extension documentation.
10614
10615 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10616
10617         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
10618
10619 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10620
10621         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
10622         and MODE_CLASS_INT modes.
10623
10624 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10625
10626         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
10627         --{enable,disable}-threads is given to configure.
10628         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
10629         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
10630         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
10631         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
10632         Remove thread_file setting here.
10633
10634 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
10635
10636         * doc/install.texi (Binaries): Update Bull Freeware URL.
10637
10638 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10639
10640         * doc/gcc.texi (Top): Rename Index to Keyword Index.
10641
10642 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
10643
10644         * gcov.c (output_data): Round to % to nearest, tweak formatting.
10645
10646 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
10647
10648         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
10649         of the operands into MINUS_EXPR if code is PLUS_EXPR.
10650
10651 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
10652
10653         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
10654         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
10655         drectve_section): Define.
10656         * config/i386/t-interix: Replace interix.o rule with winnt.o.
10657         * config/i386/interix.c: Remove.
10658
10659 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
10660
10661         * attribs.c: Don't include obstack.h.
10662         * builtins.c: Likewise.
10663         * cfganal.c: Likewise.
10664         * cfgbuild.c: Likewise.
10665         * cfgcleanup.c: Likewise.
10666         * emit-rtl.c: Likewise.
10667         * loop.c: Likewise.
10668         * stmt.c: Likewise.
10669
10670         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
10671
10672 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
10673
10674         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
10675
10676 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
10677
10678         * doc/invoke.texi: Remove duplicated paragraph describing
10679         TARGET_SWITCHES.
10680
10681 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
10682
10683         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
10684         * collect2.h (permanent_obstack): Delete declaration.
10685         * collect2.c (permanent_obstack): Delete definition.
10686         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
10687         * expr.c: Don't include obstack.h.
10688         (permanent_obstack): Delete declaration.
10689         * function.c: Don't include obstack.h.
10690         (permanent_obstack): Delete declaration.
10691         * integrate.c: Don't include obstack.h.
10692         (function_maybepermanent_obstack): Delete declaration.
10693         * print-tree.c (debug_tree): Use x*alloc not permalloc.
10694         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
10695         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
10696         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
10697         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
10698         of permalloc, expralloc, perm_calloc.
10699         * tree.c (permanent_obstack): Delete definition.
10700         (init_ttree): Rename from init_obstacks.
10701         (permalloc): Delete.
10702         (perm_calloc): Delete.
10703         (dump_tree_statistics): Don't print information about
10704         permanent_obstack.
10705         * varasm.c (assemble_start_function): Use xstrdup instead of
10706         permalloc/strcpy.
10707         (assemble_variable): Likewise.
10708         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
10709         permalloc.
10710         (unicosmk_add_extern): Likewise.
10711         * config/c4x/c4x.c (c4x_external_ref): Likewise.
10712         (c4x_global_label): Likewise.
10713         * config/frv/frv.c (frv_encode_section_info): Likewise.
10714         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
10715         (i386_pe_record_exported_symbol): Likewise.
10716         * config/mips/mips.c (mips_output_external): Likewise.
10717         (mips_output_external_libcall): Likewise.
10718         * config/pa/pa.c: (permanent_obstack): Delete declaration.
10719         (output_call): Use ggc_strdup instead of allocating on
10720         permanent_obstack.
10721         * config/romp/romp.c: Include ggc.h.
10722         (get_symref): Don't declare permanent_obstack, use ggc_strdup
10723         intead of permanent_obstack.
10724         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
10725         instead of permalloc.
10726         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
10727         instead of permalloc
10728         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
10729         instead of permalloc.
10730         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
10731         permalloc.
10732
10733 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
10734
10735         Contribute a port developed primarily by Michael Meissner,
10736         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
10737         * config.gcc: Add frv-elf target.
10738         * config/frv/cmovd.c: New file.
10739         * config/frv/cmovh.c: New file.
10740         * config/frv/cmovw.c: New file.
10741         * config/frv/frv-abi.h: New file.
10742         * config/frv/frv-asm.h: New file.
10743         * config/frv/frv-modes.def: New file.
10744         * config/frv/frv-protos.h: New file.
10745         * config/frv/frv.c: New file.
10746         * config/frv/frv.h: New file.
10747         * config/frv/frv.md: New file.
10748         * config/frv/frvbegin.c: New file.
10749         * config/frv/frvend.c: New file.
10750         * config/frv/lib1funcs.asm: New file.
10751         * config/frv/media.h: New file.
10752         * config/frv/modi.c: New file.
10753         * config/frv/t-frv: New file.
10754         * config/frv/uitod.c: New file.
10755         * config/frv/uitof.c: New file.
10756         * config/frv/ulltod.c: New file.
10757         * config/frv/ulltof.c: New file.
10758         * config/frv/umodi.c: New file.
10759         * config/frv/xm-frv.h: New file.
10760
10761         * config/frv/media.h: Removed again.
10762
10763 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10764
10765         * gcov.c (bb_file_time): New static variable.
10766         (object_directory): May also be object file.
10767         (preserve_paths): New static variable.
10768         (print_usage): Adjust.
10769         (options): Adjust.
10770         (process_args): Adjust.
10771         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
10772         file. Find modification date on bb file.
10773         (read_profile): Don't rewind a NULL file.
10774         (format_hwint): New static function.
10775         (function_summary): Use format_hwint.
10776         (output_data): SOURCE_FILE_NAME is never relative to
10777         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
10778         mangling. Adjust output format to make it more machine readable.
10779         * doc/gcov.texi: Document & clarify semantics.
10780
10781 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
10782
10783         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
10784
10785 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10786
10787         * gcc.c (cc1_options): Pass output file as auxbase when
10788         appropriate.
10789         * profile.c (init_branch_prob): FILENAME has already had ending
10790         stripped.
10791         * final.c (end_final): Likewise.
10792         * toplev.c (aux_base_name): New global.
10793         (compile_file): Pass aux_base_name to init init_branch_prob and
10794         end_final.
10795         (independent_decode_option, case 'a'): New auxinfo options.
10796         (case 'd'): Protect against mising basename.
10797         (do_compile): Initialize aux_base_name.
10798         * toplev.h (aux_base_name): New global.
10799         * doc/invoke.texi: Adjust documentation.
10800
10801 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10802
10803         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
10804         of TARGET_ALIGN_DOUBLE.
10805
10806 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
10807
10808         * diagnostic.c (inform): New function.
10809         * diagnostic.h (inform): Declare.
10810
10811 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
10812
10813         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
10814         (movhi_internal): Same.
10815         (movqi_internal): Same.
10816         (movdi_internal64): Same.
10817
10818         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
10819
10820         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
10821         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
10822         (COMMON_ASM_OP): Define.
10823         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
10824         Use ALIGN parameter.
10825         (LOCAL_COMMON_ASM_OP): Define.
10826         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
10827
10828 2002-08-03  Roger Sayle  <roger@eyesopen.com>
10829
10830         * builtins.def: Define new builtin functions exp, expf, expl,
10831         log, logf and logl (and their __builtin_* variants).
10832         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
10833         Define exp_optab and log_optab.
10834         * optabs.c (init_optans): Initialize exp_optab and log_optab.
10835         * genopinit.c (optabs): Implement exp_optab and log_optab
10836         using exp?f2 and log?f2 patterns.
10837         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
10838         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
10839         (expand_builtin): Ignore the new builtins (and all cos and
10840         sin variants) when not optimizing.  Expand new builtins via
10841         expand_builtin_mathfn when flag_unsafe_math_optimizations.
10842
10843         * doc/extend.texi: Document new exp and log builtins.
10844         * doc/md.texi: Document new exp?f2 and log?f2 patterns
10845         (and previously undocumented cos?f2 and sin?f2 patterns).
10846
10847 2002-08-03  Jason Merrill  <jason@redhat.com>
10848
10849         * explow.c (int_expr_size): New fn.
10850         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
10851         * expr.h: Declare it.
10852
10853 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
10854
10855         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
10856         gengtype-* dependencies.
10857
10858 2002-08-02  Eric Christopher  <echristo@redhat.com>
10859
10860         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
10861         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
10862         #ifndef to #undef.
10863         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
10864
10865 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
10866
10867         PR optimize/7067
10868         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
10869         small if optimizing for size.
10870
10871 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
10872
10873         * configure.in (FORBUILD): Use $build_alias.
10874         * configure: Regenerated.
10875
10876 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
10877
10878         * config.gcc: Don't include mips/abi64.h in $tm_file.
10879         * hard-reg-set.h (call_really_used_regs): Declare.
10880         * config/mips/abi64.h: Remove file.
10881         * config/mips/linux.h,
10882         * config/mips/iris6.h: Don't include it.
10883         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
10884         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
10885         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
10886         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
10887         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
10888         Bring across definitions from abi64.h.
10889         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
10890         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
10891         (struct mips_args): Use it.
10892         * config/mips/mips.c (mips_conditional_register_usage): Define.
10893
10894 2002-08-02  Jason Merrill  <jason@redhat.com>
10895
10896         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
10897         * langhooks.c (lhd_expr_size): Define default.
10898         * langhooks.h (struct lang_hooks): Add expr_size.
10899         * explow.c (expr_size): Call it.
10900         * expr.c (store_expr): Don't copy an expression of size zero.
10901         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
10902         to store.
10903         * Makefile.in (builtins.o): Depend on langhooks.h.
10904
10905 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10906
10907         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
10908         * ra-debug.c: Include "tm_p.h".
10909         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
10910
10911 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
10912
10913         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
10914         when not honoring signalling NaNs.
10915         (simplify_ternary_operation): a == b has a definite value
10916         when not honoring NaNs.
10917
10918 2002-08-02  Jason Merrill  <jason@redhat.com>
10919
10920         * gdbinit.in (pct): New macro.
10921
10922 2002-08-01  Stan Shebs  <shebs@apple.com>
10923             Andreas Tobler  <toa@pop.agri.ch>
10924
10925         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
10926         plays nice with Darwin headers.
10927         (_BSD_RUNE_T_DEFINED_): Likewise.
10928
10929 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
10930
10931         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
10932         * cppinit.c (cpp_post_options): Likewise.
10933
10934         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
10935         warning about 'LL' suffix (but not 'ULL' etc) when
10936         -Wno-long-long is in effect.
10937
10938         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
10939         Check for failing time()/localtime(), issue a warning, and
10940         make __TIME__ and __DATE__ expand to fallback strings.
10941
10942         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
10943         and __TIME__ when the date and time cannot be determined.
10944
10945 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
10946
10947         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
10948
10949 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
10950
10951         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
10952
10953 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
10954
10955         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
10956         (mipsisa64sb1el-*-elf*): Likewise.
10957         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
10958         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
10959         (TARGET_SB1, TUNE_SB1): New macros.
10960         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
10961         -mtune flags.
10962
10963 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
10964
10965         * varasm.c (asm_emit_uninitialized): Return false if global BSS
10966         and ASM_EMIT_BSS not supported by target.
10967         (assemble_variable): Do not duplicate uninitialized logic.
10968         Fall through if asm_emit_uninitialized failed.
10969
10970 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
10971
10972         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
10973
10974 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
10975
10976         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
10977         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
10978
10979         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
10980         HOST_BITS_PER_WIDE_INT == 64.
10981
10982 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10983
10984         * df.c (df_insn_table_realloc): Change parameter to unsigned.
10985         * optabs.c (expand_binop): Make variable unsigned.
10986         * simplify-rtx.c (simplify_subreg): Likewise.
10987         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
10988
10989 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10990
10991         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
10992
10993 2002-08-01  Richard Henderson  <rth@redhat.com>
10994
10995         * toplev.c (parse_options_and_default_flags): Don't set
10996         flag_reorder_blocks for -Os.
10997
10998         * config/avr/avr.c (avr_optimization_options): Remove.
10999         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
11000         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
11001         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
11002
11003 2002-08-01  H.J. Lu <hjl@gnu.org>
11004             Richard Henderson  <rth@redhat.com>
11005
11006         * output.h (DECL_READONLY_SECTION): Remove.
11007         (decl_readonly_section): Declare.
11008         * varasm.c (decl_readonly_section): New.
11009         (default_section_type_flags, default_select_section): Use it.
11010         * config/arm/pe.c (arm_pe_unique_section): Likewise.
11011         * config/i386/interix.c (i386_pe_unique_section): Likewise.
11012         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
11013         * config/mcore/mcore.c (mcore_unique_section): Likewise.
11014         * config/mips/mips.c (mips_unique_section): Likewise.
11015
11016 2002-08-01  Richard Henderson  <rth@redhat.com>
11017
11018         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
11019         refers to a subroutine parameter.
11020
11021 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
11022
11023         * varasm.c (assemble_visibility): Strip name encoding.
11024
11025 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
11026
11027         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
11028         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
11029         when there is no frame pointer.
11030         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
11031         registers properly.
11032         * config/ns32k/__unorddf2.c: New file.
11033         * config/ns32k/__unordsf2.c: New file.
11034         * config/ns32k/t-ns32k: New file.
11035         * config.gcc (ns32k-*-netbsd*): Use it.
11036
11037 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
11038
11039         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
11040
11041 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11042
11043         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
11044
11045 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
11046
11047         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
11048
11049 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
11050
11051         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
11052
11053 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11054
11055         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
11056         n_sets): Removed.
11057         (expr_hash_table, set_hash_table): Type changed to ...
11058         (struct hash_table): New type.
11059         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
11060         insert_expr_in_table, insert_set_in_table, compute_hash_table,
11061         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
11062         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
11063         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
11064         (alloc_hash_table): New.
11065         (free_set_hash_table, free_expr_hash_table): Merged to ...
11066         (free_hash_table): New.
11067         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
11068         (compute_hash_table_work): New.
11069         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
11070         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
11071         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
11072         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
11073         hoist_code, one_code_hoisting_pass,
11074         trim_ld_motion_mems): Altered due to changed type of hash tables.
11075
11076 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
11077
11078         * final.c (output_alternate_entry_point):
11079         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
11080
11081 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11082
11083         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
11084         avoid ISO C style function definition.
11085
11086         * expr.c (expand_assignment): Delete unused variable.
11087
11088 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
11089
11090         * c-common.c (cb_register_builtins): Set
11091         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
11092         is given, and to 0 otherwise.
11093         * combine.c (simplify_if_then_else): HONOR_NANS
11094         implies FLOAT_MODE_P.
11095
11096 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11097
11098         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
11099         (cpp_handle_option): Don't handle it.
11100         (print_help): Update.
11101         * doc/cppopts.texi: Update.
11102
11103 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11104
11105         * c-common.c (cb_register_builtins): If C++, define
11106         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
11107         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
11108 cp:
11109         * lang-specs.h: Simplify in accordance with new code in
11110         c-common.c.
11111
11112 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11113
11114         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
11115         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
11116         * c-decl.c: Move all warning and flag variables to c-common.c.
11117         * c-format.c: Move all warning variables to c-common.c.
11118         * c-tree.h: Move all warning and flag declarations to c-common.h.
11119         * objc/objc-act.c: Move all warning variables to c-common.c.
11120         (flag_warn_protocol): Rename warn_protocol.
11121
11122 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11123
11124         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
11125
11126 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
11127
11128         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
11129         .section prefix.
11130
11131 2002-07-31  Stan Shebs  <shebs@apple.com>
11132
11133         * config.gcc (i[34567]86-*-darwin*): New configuration.
11134         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
11135         defining.
11136         (TARGET_ENCODE_SECTION_INFO): Ditto.
11137         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
11138         * config/darwin.c (machopic_indirect_data_reference): Remove
11139         setting of RTX_UNCHANGING_P.
11140         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
11141         not to be applied to sums.
11142         * config/i386/t-darwin: New file.
11143         * config/i386/darwin.h: New file.
11144         * config/i386/i386.h (TARGET_MACHO): Add default definition.
11145         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
11146         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
11147         label and not the GOT add.
11148         (constant_address_p): For Mach-O, seeing a CONST is enough.
11149         (legitimate_pic_address_disp_p): Add a Mach-O case.
11150         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
11151         (legitimize_pic_address): Use generic Mach-O code to legitimize.
11152         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
11153         if outputting a difference.
11154         (ix86_output_addr_diff_elt): Add Mach-O case.
11155         (ix86_expand_move): Similarly.
11156         (ix86_expand_call): Similarly.
11157         (current_machopic_label_num): New global.
11158         (machopic_output_stub): New function.
11159         (ix86_value_regno): New function.
11160         (ix86_function_value): Use it instead of VALUE_REGNO.
11161         (ix86_libcall_value): Ditto.
11162         * config/i386/unix.h (VALUE_REGNO): Remove.
11163
11164 2002-07-31  Graham Stott  <grahas@btinternet.com>
11165
11166         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
11167         hash for LABEL_REF's.
11168
11169 2002-07-31  Graham Stott  <grahams@btinternet.com>
11170
11171         * config/rs6000/rs6000.c (spe_init_builtins,
11172         altivec_init_builtins, rs6000_common_init_builtins):
11173         Replace ANSI with K&R function def.
11174
11175 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
11176
11177         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
11178         for CCFPmode.
11179
11180 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
11181
11182         * config/mips/crtn.asm: Don't use __mips16 to determine the
11183         return-address offset.  Define RA to a suitable temporary
11184         register for the return address.
11185
11186 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
11187
11188         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
11189         constraints to 'd'.
11190
11191 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
11192
11193         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
11194         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
11195         patch on 2002-07-29.)
11196         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11197
11198 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11199
11200         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
11201         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
11202         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
11203         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
11204         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
11205         (ASM_GLOBALIZE_LABEL): Delete.
11206         (GLOBAL_ASM_OP): Define.
11207
11208         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
11209
11210         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
11211         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
11212
11213 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
11214
11215         * doc/extend.texi (Hints implementation): Document that GCC
11216         mostly ignores `register'.
11217
11218 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
11219
11220         * flags.h: Declare flag_finite_math_only.
11221         Use it in definition of HONOR_NANS and
11222         HONOR_INFINITIES.
11223         * c-common.c (cb_register_builtins): Emit
11224         __FINITE_MATH_ONLY__ when flag_finite_math_only
11225         is set.
11226         * combine.c (simplify_if_then_else): If
11227         flag_finite_math_only is set, a == b has a
11228         definite value.
11229         * toplev.c: Initialize flag_finite_math_only.
11230         (set_flags_fast_math): Set it on -ffast-math.
11231         (flag_fast_math_set_p): Test it.
11232         * doc/invoke.texi: Document -ffinite-math-only.
11233
11234 2002-07-30  Richard Henderson  <rth@redhat.com>
11235
11236         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
11237         (noce_process_if_block): Likewise.
11238
11239 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
11240
11241         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
11242         Bail out early if false_expr is NULL and we'd crash due to this.
11243         * genemit.c (gen_expand): Recognize return insns even if the return
11244         appears in a parallel.
11245         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
11246         * config/fp-bit.c: Likewise.
11247         * doc/tm.texi: Document it.
11248
11249 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
11250             Zack Weinberg  <zack@codesourcery.com>
11251
11252         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
11253         CODE_FOR_nothing.  Change switch to if.
11254         (rs6000_expand_binop_builtin): Same.
11255         (rs6000_expand_builtin): Expand builtin if target support enabled.
11256         (rs6000_init_builtins): Init builtin if target support enabled.
11257         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
11258
11259 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11260
11261         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
11262
11263 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
11264
11265         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
11266
11267 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
11268
11269         * sh.md (cond_delay_slot): New attribute.
11270         (cbranch delay): Use it for anulled-true case.
11271         (stuff_delay_slot): New pattern.
11272         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
11273         delay slot insn.
11274         (gen_far_branch): Emit stuff_delay_slot pattern.
11275
11276 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
11277
11278         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
11279
11280 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
11281
11282         * fold-const.c: Fix comment typos.
11283         * gcse.c: Likewise.
11284         * reload1.c: Likewise.
11285
11286 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11287
11288         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
11289         for TARGET_SPE.
11290
11291 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11292
11293         * c-pretty-print.h (pp_c_statement): Declare.
11294         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
11295         (pp_c_statement): Define.
11296
11297 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11298
11299         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
11300         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
11301         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
11302         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
11303         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
11304         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
11305
11306         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
11307         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
11308
11309 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11310
11311         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
11312         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
11313         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
11314         (pp_c_expression): Update.
11315
11316 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11317
11318         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
11319         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
11320         * alpha/vms-ld.c (main): Likewise.
11321         * dsp16xx.c (double_reg_to_memory): Likewise.
11322         * mcore.c (mcore_expand_prolog): Likewise.
11323         * cppfiles.c (read_name_map): Likewise.
11324         * gensupport.c (process_rtx, identify_predicable_attribute,
11325         alter_test_for_insn): Likewise.
11326         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
11327
11328 2002-07-29  Roger Sayle  <roger@eyesopen.com>
11329
11330         * builtins.c (expand_builtin):  Change the default behavior to
11331         only issue an error if the builtin function doesn't have a
11332         fallback library call.  Remove several cases handled by the
11333         new default.
11334
11335 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
11336
11337         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
11338         floating point format of the target is IEEE.
11339         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
11340         format of the target is DEC.
11341
11342 2002-07-29  Richard Henderson  <rth@redhat.com>
11343
11344         * unroll.c (verify_addresses): Remove.
11345         (find_splittable_givs): Never split DEST_ADDR givs.
11346
11347 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
11348
11349         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
11350         is exhaustive.
11351         (Files): Improve documentation on generated source files.
11352
11353         * doc/extend.texi (Translation implementation): Document what
11354         diagnostics look like.
11355         (Identifiers implementation): Document that there's normally no
11356         limit on identifier names.
11357         (Integers implementation): Document two's complement.
11358         (Hints implementation): Document that GCC honors 'inline', mostly.
11359         (Preprocessing directives implementation): Document that GCC
11360         requires the current time.
11361
11362 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11363
11364         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
11365         (pp_initializer): New macro.
11366         (pp_c_initializer): Declare.
11367         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
11368         (pp_c_initializer): Define.
11369         (pp_c_initializer_list): New function.
11370         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
11371         VECTOR_CST, CONSTRUCTOR.
11372         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
11373         IMAGPART_EXPR.
11374         (pp_c_cast_expression): Handle FLOAT_EXPR.
11375         (pp_c_assignment_expression): Handle INIT_EXPR.
11376         (pp_c_expression): Update.
11377
11378 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
11379
11380         * objc/objc-act.c (objc_init): Return immediately if filename
11381         is NULL.
11382
11383 2002-07-29  Eric Christopher  <echristo@redhat.com>
11384
11385         * config/mips/elf.h: Remove ecoff.h and gofast includes.
11386         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
11387         (SDB_DEBUGGING_INFO): Undefine.
11388         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
11389         (PUT_SDB_SIZE): Remove.
11390         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
11391         (STARTFILE_SPEC): Add isa3264 define.
11392         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
11393         * config/mips/ecoff.h: Remove. and here...
11394         * config/mips/iris3.h: and here...
11395         * config/mips/sni-svr4.h: and here...
11396         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
11397         Add assembler -mmdebug options for non-dwarf debugging.
11398         * config/mips/r3900.h: Remove debug info defines.
11399         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
11400         * config/mips/isa3264.h: Ditto.
11401         * config/mips/t-isa3264: Fix up for file removal and gofast configure
11402         change.
11403         * config/mips/t-elf: Ditto.
11404         * config/mips/t-ecoff: Ditto.
11405         * config/mips/t-r3900: Ditto.
11406         * config/mips/t-iris5-6: Ditto.
11407         * config/mips/t-isa3264: Ditto.
11408         * config/mips/t-linux: Remove.
11409         * config/mips/t-netbsd: Remove.
11410         * config/mips/t-mips: New file.
11411         * config/mips/t-gofast: Ditto.
11412         * config/mips/netbsd.h: Remove unnecessary undefines.
11413         * config/mips/linux.h: Remove #include of mips.h.
11414         * config.gcc: Add mips.h include for elf targets. Remove tm_file
11415         for ecoff. Add gofast configure option for mips.
11416
11417 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
11418
11419         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
11420         linker scripts use STARTUP directives consistently.
11421         * configure: Regenerate.
11422         * config.in: Regenerate.
11423         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
11424         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
11425         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11426         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
11427         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
11428         will be the same.
11429
11430 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11431
11432         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
11433
11434 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11435
11436         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
11437
11438 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
11439
11440         * config/rs6000/rs6000.md: Move altivec patterns from here...
11441
11442         * config/rs6000/altivec.md: ...to here.
11443
11444 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11445
11446         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
11447
11448 2002-07-29  Richard Henderson  <rth@redhat.com>
11449
11450         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
11451         set_mem_attributes and add BITPOS argument.  Subtract it from
11452         OFFSET when same is adjusted.
11453         (set_mem_attributes): New wrapper function.
11454         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
11455         remove offset adjustment hack.
11456         * expr.h (set_mem_attributes_minus_bitpos): Declare.
11457
11458 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
11459
11460         * Makefile.in (C_OBJS): Include c-pretty-print.o
11461         (c-pretty-print.o): Add depency rule.
11462         * pretty-print.h: Add more macros.
11463         * c-pretty-print.c: New file.
11464         * c-pretty-print.h: Likewise.
11465
11466 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11467
11468         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
11469         constants to __ev64_s32__.
11470         (__internal_ev_mwhgsmian): Same.
11471         (__internal_ev_mwhgsmfan): Same.
11472         (__internal_ev_mwhgssfan): Same.
11473         (__internal_ev_mwhgumiaa): Same.
11474         (__internal_ev_mwhgsmiaa): Same.
11475         (__internal_ev_mwhgsmfaa): Same.
11476         (__internal_ev_mwhgssfaa): Same.
11477
11478 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
11479
11480         * varasm.c (assemble_variable): Narrow test for uninitialized
11481         without BSS target support.
11482
11483 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
11484
11485         * profile.c: Add file comment describing the overall algorithm and
11486         structures.
11487         (struct edge_info): Add comments.
11488         (struct bb_info): Add comments.
11489         * basic-block.h (EDGE_*): Add comments.
11490         * doc/gcov.texi (Gcov Data Files): Document bit flags.
11491
11492 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
11493
11494         * config/xtensa/elf.h, config/xtensa/linux.h
11495         (TARGET_OS_CPP_BUILTINS): Define.
11496         (CPP_PREDEFINES): Remove.
11497         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
11498         (CPP_SPEC): Remove.
11499
11500 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
11501
11502         * gensupport.c: Include hashtab.h.
11503         (insn_elision, condition_table, hash_c_test, cmp_c_test,
11504         maybe_eval_c_test): New routines and data structures to
11505         support insn elision.
11506         (init_md_reader): Read and initialize the condition_table.
11507         (read_md_rtx): Discard insn patterns whose C test is provably
11508         always false.
11509         * gensupport.h: Declare new functions and data structures.
11510
11511         * genconditions.c, dummy-conditions.c: New files.
11512         * Makefile.in: Build genconditions; run it to construct
11513         insn-conditions.c; build that and link it into most gen*
11514         programs.
11515         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
11516         (GEN): Delete, unused.
11517         (STAGESTUFF): Update.
11518
11519         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
11520         CODE_FOR_nothing for all elided patterns.
11521         (main): Tweaked to support this.
11522         * genflags.c (gen_proto): Emit a static inline generator
11523         function here for all elided patterns, which simply returns
11524         NULL_RTX.
11525         (gen_insn): Do not define HAVE_xxx for elided patterns.
11526         (main): Tweaked to support this.  No need to forward-declare
11527         struct rtx_def.
11528         * genrecog.c: Do not bother emitting the C test if it's known
11529         to be true at compile time.
11530
11531 2002-07-29  Mike Stump  <mrs@apple.com>
11532
11533         * config.gcc (target_gtfiles): Initialize, as otherwise cross
11534         compilers hosted on powerpc-apple-darwin6.0 won't even build.
11535
11536 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
11537
11538         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
11539         remove clobber of LR.
11540         (sibcall_insn, sibcall_value_insn): Update accordingly.
11541         (sibcall_epilogue): Remove debugging comment from assembler stream.
11542
11543 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
11544
11545         * pretty-print.h: Define more macros.
11546         * diagnostic.h (output_formatted_integer): Moved from...
11547         * diagnostic.c: ... here.
11548
11549 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11550
11551         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
11552
11553 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
11554
11555         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
11556         arguments.  Always use ".-symbol" as expression argument.
11557         * doc/tm.texi: Update to match.  Document requirement for
11558         ".size symbol, .-symbol" to be acceptable to assembler.
11559
11560         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
11561         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
11562         config/i386/freebsd-aout.h, config/i386/sco5.h,
11563         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
11564         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
11565
11566 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11567
11568         * Makefile.in (gengtype-lex.c): Fix error in last change.
11569
11570         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
11571         backslash.
11572
11573         * Makefile.in (vmsdbgout.o): Depend on function.h.
11574
11575         * vmsdbgout.c: Include function.h.
11576
11577 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
11578
11579         * prefix.c (update_path): Don't strip single `.' path components
11580         unless stripping a later `..' component.  Exit loop as soon as
11581         a valid path is found.
11582
11583 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11584
11585         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
11586         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
11587         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
11588         floating point unordered comparisons (e.g. __builtin_isgreater)
11589         as const, and leave the remaining GCC_BUILTINs unchanged.
11590
11591         * c-decl.c (builtin_function): No need to explicitly mark
11592         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
11593
11594 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11595
11596         * Makefile.in: rtlanal.o now depends upon real.h.
11597
11598         * flags.h [flag_signaling_nans]: New flag.
11599         [HONOR_SNANS]: New macro.
11600
11601         * toplev.c [flag_signaling_nans]: Initialize to false.
11602         (f_options): Add processing for "-fsignaling-nans".
11603         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
11604         (process_options): flag_signaling_nans implies flag_trapping_math.
11605
11606         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
11607         when -fsignaling-nans.  First step to implementing WG14's N965.
11608
11609         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
11610         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
11611         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
11612
11613         * simplify-rtx.c (simplify_relational_operation): Conditionalize
11614         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
11615
11616         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
11617         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
11618         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
11619         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
11620         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
11621
11622         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
11623
11624 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11625
11626         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
11627         * gengtype-lex.l (YY_USE_PROTOS): Undef.
11628         (YY_DECL): Define.
11629
11630 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11631
11632         * doc/invoke.texi: Document that both -fno-builtin-foo and
11633         -fno-builtin are supported by the g++ front-end.
11634
11635 2002-07-27  Stan Shebs  <shebs@apple.com>
11636
11637         * configure.in: Rename config_gtfiles to target_gtfiles.
11638         * configure: Regenerate.
11639         * doc/gty.texi: Update reference.
11640         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
11641         instead of appending to it.
11642
11643 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
11644
11645         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
11646         vectors are split into two registers.
11647         (function_arg): Same.
11648
11649 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
11650
11651         * pa.md (extv): Check predicates before emitting extv_32.
11652
11653 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
11654
11655         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
11656         (rs6000_traceback): New var.
11657         (rs6000_override_options): Set rs6000_traceback.
11658         (rs6000_output_function_epilogue): Implement traceback options.
11659         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
11660         (rs6000_traceback_name): Declare.
11661
11662         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
11663         label reference when NO_PROFILE_COUNTERS.
11664
11665 2002-07-26  Jason Merrill  <jason@redhat.com>
11666
11667         * function.c (assign_parms): Handle frontend-directed pass by
11668         invisible reference.
11669
11670 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11671
11672         * doc/cppopts.texi: Update.
11673
11674 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11675
11676         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
11677         warnings on assertions.
11678
11679 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11680
11681         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
11682         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
11683         RID_COMPL): Remove.
11684         * c-parse.in (rid_to_yy): Similarly.
11685
11686 2002-07-26  Jason Merrill  <jason@redhat.com>
11687
11688         * c-dump.c: Resurrect.
11689         * tree-dump.c: Move C-specific stuff to c-dump.c.
11690         * c-common.h: Declare c_dump_tree.
11691         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
11692         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
11693         (c-dump.o): New rule.
11694
11695 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
11696
11697         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
11698         PowerPC64.  Replace "T" and "S" constraints with "n" when the
11699         predicate will do.  Formatting fixes.
11700         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
11701         as for extzvsi_internal1.
11702
11703 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11704
11705         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
11706         DERIV_END_LABEL_FMT): Remove.
11707         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
11708
11709 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11710
11711         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
11712         Remove.
11713
11714 2002-07-25  Stan Shebs  <shebs@apple.com>
11715
11716         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
11717         local var dwarfp.
11718         (output_compiler_stub): Remove unused locals.
11719         (output_call): Always initialize line number.
11720
11721 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
11722
11723         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
11724         * sh.md (truncdiqi2, movqi_media): Likewise.
11725
11726 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11727
11728         * gcse.c (obstack_chunk_alloc): Remove.
11729         (gcse_alloc): Fix to count allocated bytes.
11730         * collect2.c (SYMBOL__MAIN): Remove.
11731
11732 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11733
11734         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
11735         HAVE_TARGET_EXECUTABLE_SUFFIX.
11736
11737 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
11738
11739         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
11740         SIZE, EXPR and OFFSET.
11741
11742 2002-07-25  Richard Henderson  <rth@redhat.com>
11743
11744         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
11745         in ARRAY_REF of DECL_P case.
11746
11747 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
11748
11749         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
11750         description.  Document -mips32, -mips64, and the associated -march
11751         values.  Describe the "mipsN" arguments to -march.  Say that the
11752         -mipsN options are equivalent to -march.  Reword the description
11753         of default type sizes.
11754         * toplev.h (target_flags_explicit): Declare.
11755         * toplev.c (target_flags_explicit): New var.
11756         (set_target_switch): Update target_flags_explicit.
11757         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
11758         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
11759         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
11760         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
11761         * config/mips/mips.h (mips_cpu_info): New struct.
11762         (mips_cpu_string, mips_explicit_type_size_string): Remove.
11763         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
11764         (MIPS_CPP_SET_PROCESSOR): New macro.
11765         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
11766         Define _MIPS_ARCH and _MIPS_TUNE.
11767         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
11768         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
11769         MIPS_ISA_DEFAULT were already defined.
11770         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
11771         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
11772         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
11773         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
11774         (ABI_GAS_ASM_SPEC): Remove.
11775         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
11776         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
11777         Invoke %(asm_abi_default_spec) if no ABI was specified.
11778         (CC1_SPEC): Remove ISA -> register-size rules.
11779         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
11780         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
11781         (mips_cpu_string, mips_explicit_type_size_string): Remove.
11782         (mips_cpu_info_table): New array.
11783         (mips_set_architecture, mips_set_tune): New fns.
11784         (override_options): Rework to make -mipsN equivalent to -march.
11785         Detect more erroneous cases, including those removed from CC1_SPEC.
11786         Don't change the ABI based on architecture, or vice versa.
11787         Unify logic with GAS.
11788         (mips_asm_file_start): Get architecture name from mips_arch_info.
11789         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
11790         (mips_parse_cpu): Take the name of the option as argument.  Handle
11791         'from-abi'.  Raise an error if the option is wrong.
11792         (mips_cpu_info_from_isa): New fn.
11793
11794 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
11795
11796         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
11797         (tablejump_mips162): Likewise.
11798
11799 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
11800
11801         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
11802         int_mode_for_mode.
11803
11804 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
11805
11806         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
11807         complaining.
11808         * c-common.h (c_sizeof): Adjust definition.
11809         (c_alignof): Likewise.
11810         * c-tree.h (c_sizeof_nowarn): Now macro.
11811         * c-typeck.c (c_sizeof_nowarn): Remove definition.
11812
11813 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11814
11815         * c-decl.c (c_decode_option): No need to handle switches
11816         cpplib handles.
11817
11818 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
11819
11820         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
11821         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
11822         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
11823         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
11824
11825         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
11826         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
11827         config/cris/aout.h, config/i386/freebsd-aout.h,
11828         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
11829         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
11830         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
11831         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
11832         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
11833         config/xtensa/elf.h, config/xtensa/linux.h:
11834         Use the new macros.
11835         Where possible, remove redundant definitions of SIZE_ASM_OP,
11836         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
11837
11838 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
11839
11840         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
11841         TARGET_ISEL, and TARGET_FPRS.
11842
11843         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
11844         -mabi=spe, -mabi=no-spe, and -misel=.
11845
11846         * config/rs6000/rs6000-protos.h: Add output_isel.
11847         Move vrsave_operation prototype here.
11848
11849         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
11850         (smaxsi3): Same.
11851         (uminsi3): Same.
11852         (umaxsi3): Same.
11853         (abssi2_nopower): Disallow when TARGET_ISEL.
11854         (*ne0): Same.
11855         (negsf2): Change to expand and rename old pattern to *negsf2.
11856         (abssf2): Change to expand and rename old pattern to *abssf2.
11857
11858         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
11859         fixunssfsi2.
11860
11861         Change patterns that check for TARGET_HARD_FLOAT or
11862         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
11863
11864         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
11865         rs6000_isel, rs6000_fprs, rs6000_isel_string.
11866         (rs6000_override_options): Add 8540 case to
11867         processor_target_table.
11868         Set rs6000_isel for the 8540.
11869         Call rs6000_parse_isel_option.
11870         (enable_mask_for_builtins): New.
11871         (rs6000_parse_isel_option): New.
11872         (rs6000_parse_abi_options): Add spe and no-spe.
11873         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
11874         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
11875         for TARGET_HARD_FLOAT.
11876         Add case for SPE_VECTOR_MODE.
11877         (rs6000_legitimize_reload_address): Handle SPE vector modes.
11878         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
11879         vector modes.
11880         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
11881         (rs6000_emit_move): Check for TARGET_FPRS.
11882         Add cases for SPE vector modes.
11883         (function_arg_boundary): Return 64 for SPE vector modes.
11884         (function_arg_advance): Check for TARGET_FPRS and
11885         Handle SPE vectors.
11886         (function_arg): Same.
11887         (setup_incoming_varargs): Check for TARGET_FPRS.
11888         (rs6000_va_arg): Same.
11889         (struct builtin_description): Un-constify mask field.  Move up in
11890         file.
11891         (bdesc_2arg): Un-constify and add SPE builtins.
11892         (bdesc_1arg): Same.
11893         (bdesc_spe_predicates): New.
11894         (bdesc_spe_evsel): New.
11895         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
11896         (rs6000_expand_binop_builtin): Same.
11897         (bdesc_2arg_spe): New.
11898         (spe_expand_builtin): New.
11899         (spe_expand_predicate_builtin): New.
11900         (spe_expand_evsel_builtin): New.
11901         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
11902         (rs6000_init_builtins): Initialize SPE builtins.  Call
11903         rs6000_common_init_builtins.
11904         (altivec_init_builtins): Move all non-altivec builtin code to...
11905         (rs6000_common_init_builtins): ...here.  New function.
11906         (branch_positive_comparison_operator): Allow NE code for SPE.
11907         (ccr_bit): Return correct ccr bit for SPE fp.
11908         (print_operand): Emit crnor in 'D' case for SPE.
11909         New case 't'.
11910         Add SPE code for 'y' case.
11911         (rs6000_generate_compare): Generate rtl for SPE fp.
11912         (output_cbranch): Handle SPE hard floats.
11913         (rs6000_emit_cmove): Handle isel.
11914         (rs6000_emit_int_cmove): New.
11915         (output_isel): New.
11916         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
11917         64-bits for SPE.
11918         (debug_stack_info): Add SPE info.
11919         (gen_frame_mem_offset): New.
11920         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
11921         Change mode of frame pointer, when saving it, to Pmode.
11922         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
11923         Misc cleanups and use gen_frame_mem_offset when appropriate.
11924
11925         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
11926         (TARGET_SPE_ABI): New.
11927         (TARGET_SPE): New.
11928         (TARGET_ISEL): New.
11929         (TARGET_FPRS): New.
11930         (FIXED_SCRATCH): New.
11931         (RTX_COSTS): Add PROCESSOR_PPC8540.
11932         (ASM_CPU_SPEC): Add case for 8540.
11933         (TARGET_OPTIONS): Add isel= case.
11934         (rs6000_spe_abi): New.
11935         (rs6000_isel): New.
11936         (rs6000_fprs): New.
11937         (rs6000_isel_string): New.
11938         (UNITS_PER_SPE_WORD): New.
11939         (LOCAL_ALIGNMENT): Adjust for SPE.
11940         (HARD_REGNO_MODE_OK): Same.
11941         (DATA_ALIGNMENT): Same.
11942         (MEMBER_TYPE_FORCES_BLK): New.
11943         (FIRST_PSEUDO_REGISTER): Set to 113.
11944         (FIXED_REGISTERS): Add SPE registers.
11945         (reg_class): Same.
11946         (REG_CLASS_NAMES): Same.
11947         (REG_CLASS_CONTENTS): Same.
11948         (REGNO_REG_CLASS): Same.
11949         (REGISTER_NAMES): Same.
11950         (DEBUG_REGISTER_NAMES): Same.
11951         (ADDITIONAL_REGISTER_NAMES): Same.
11952         (CALL_USED_REGISTERS): Same.
11953         (CALL_REALLY_USED_REGISTERS): Same.
11954         (SPE_ACC_REGNO): New.
11955         (SPEFSCR_REGNO): New.
11956         (SPE_SIMD_REGNO_P): New.
11957         (HARD_REGNO_NREGS): Adjust for SPE.
11958         (VECTOR_MODE_SUPPORTED_P): Same.
11959         (REGNO_REG_CLASS): Same.
11960         (FUNCTION_VALUE): Same.
11961         (LIBCALL_VALUE): Same.
11962         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
11963         (SPE_VECTOR_MODE): New.
11964         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
11965         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
11966         (rs6000_stack): Add spe_gp_size, spe_padding_size,
11967         spe_gp_save_offset.
11968         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
11969         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
11970         (SPE_CONST_OFFSET_OK): New.
11971         (rs6000_builtins): Add SPE builtins.
11972
11973         * testsuite/gcc.dg/ppc-spe.c: New.
11974
11975         * config/rs6000/eabispe.h: New.
11976
11977         * config/rs6000/spe.h: New.
11978
11979         * config/rs600/spe.md: New.
11980
11981         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
11982         __SIMD__ for TARGET_SPE.
11983
11984         * config.gcc: Add powerpc-*-eabispe* case.
11985         Add spe.h to user headers for powerpc.
11986
11987 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
11988
11989         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
11990         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11991         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
11992
11993 2002-07-24  Richard Henderson  <rth@redhat.com>
11994
11995         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
11996         form when not optimizing.
11997
11998 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
11999
12000         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
12001         thread_pointer_rtx as unchanging.
12002
12003 2002-07-24  Michael Matz  <matz@suse.de>
12004
12005         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
12006         (free_reg): Use it.
12007
12008 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
12009
12010         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
12011         pattern.
12012         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
12013         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
12014
12015 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
12016
12017         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
12018         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
12019         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
12020
12021 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
12022
12023         * toplev.c (rest_of_compilation): Dump loops before clobbering
12024         the structure.
12025
12026 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
12027
12028         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
12029
12030 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
12031
12032         PR optimization/7291
12033         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
12034         problem on x86_64.
12035
12036 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
12037
12038         * pretty-print.h: Add macros from cp/error.c
12039
12040 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
12041
12042         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
12043         (mask64_2_operand): Declare.
12044         (build_mask64_2_operands): Declare.
12045         (and64_2_operand): Declare.
12046         (extract_MB): Declare.
12047         (extract_ME): Declare.
12048         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
12049         CONST_DOUBLE code.
12050         (mask_operand_wrap): New insn predicate.
12051         (mask64_2_operand): Likewise.
12052         (and64_2_operand): Likewise.
12053         (build_mask64_2_operands): New function.
12054         (extract_MB): New function.
12055         (extract_ME): New function.
12056         (print_operand <case m,M>): Use extract_MB and extract_ME.
12057         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
12058         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
12059         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
12060         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
12061         * config/rs6000/rs6000.md (andsi3_internal3): New
12062         (andsi3_internal3+1): Enable split for powerpc64.
12063         (andsi3_internal3+2): New split.
12064         (andsi3_internal4): Renamed old andsi3_internal3.
12065         (andsi3_internal5): New.
12066         (andsi3_internal5+1): Enable split for powerpc64.
12067         (andsi3_internal5+2): New split.
12068         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
12069         (anddi3): Handle 't' constraint.
12070         (anddi3+1): New split.
12071         (anddi3_internal2): Handle 't' constraint.
12072         (anddi3_internal2+1): New split.
12073         (anddi3_internal3): Handle 't' constraint.
12074         (anddi3_internal3+1): New split.
12075
12076 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
12077
12078         * config/rs6000/rs6000.md: Remove scratch reg on insns using
12079         addze and similar (plus (comparison r1 r2) r3) insns.  Add
12080         missing scratch reg in one case.  Formatting fixes.
12081
12082 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
12083
12084         * cppexp.c (parse_defined): Mark macro used.
12085         * cpphash.h (struct cpp_macro): New member "used".
12086         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
12087         (struct cpp_reader): New member.
12088         * cppinit.c (cpp_finish_options): Set first_unused_line.
12089         (cpp_finish): Warn of unused macros if requested.
12090         (OPT_TABLE): New switches.
12091         (cpp_handle_option): Handle them.
12092         * cpplib.c (do_undef): Warn if macro unused.
12093         (do_ifdef, do_ifndef): Mark macro used.
12094         * cpplib.h (struct cpp_options): New member.
12095         * cppmacro.c (_cpp_warn_if_unused_macro): New.
12096         (enter_macro_context): Mark macro used.
12097         (_cpp_create_definition): Mark macro unused; warn if unused
12098         when redefined.
12099         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
12100         Mark macros used.
12101         * doc/cppopts.texi: Update.
12102
12103 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12104
12105         * dwarf2out.c (SECTION_ASM_OP,
12106         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
12107         * system.h (SECTION_ASM_OP): Poison.
12108         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
12109         * config/alpha/alpha-interix.h, config/mips/linux.h
12110         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
12111         * config/mmix/mmix-protos.h, config/mmix/mmix.c
12112         (mmix_asm_output_define_label_difference_symbol): Remove.
12113         * config/mmix/mmix.h
12114         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
12115         * doc/tm.texi: Remove documentation.
12116
12117 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
12118
12119         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
12120         (constrain_operands): Likewise.
12121         * regclass.c (record_reg_classes): Likewise.
12122         * reload.c (find_reloads): Likewise.
12123         * doc/md.texi: Likewise.
12124
12125         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
12126         * simplify-rtx.c (simplify_subreg): When converting to a non-int
12127         mode, try to convert to an integer mode of matching size first.
12128
12129         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
12130         from individual subregs, check that each subreg has been generated
12131         sucessfully.
12132
12133 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12134
12135         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
12136         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
12137         FOR_EACH_BB_IN_SBITMAP): Remove.
12138         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
12139         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
12140         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
12141         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
12142         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
12143         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
12144
12145 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
12146
12147         * pretty-print.h: New file.
12148
12149 2002-07-23      Paul Koning     <pkoning@equallogic.com>
12150
12151         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
12152         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
12153         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
12154         (TARGET_G_FLOAT): Default to 0 if not defined.
12155         (ieeetoe): New, common routine to convert target format floats
12156         to internal form.
12157         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
12158         vs. others.
12159         (e113toe): Change to use ieeetoe.
12160
12161 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12162
12163         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
12164         IBM.
12165         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
12166         (e64toe): Remove special cases for DEC and IBM. Remove support for
12167         ARM_EXTENDED_IEEE_FORMAT.
12168         (e24toe): Remove special cases for DEC.
12169         (significand_size): Simplify. Indent.
12170         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
12171         (etoieee, toieee): New.
12172         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
12173         etoieee and toieee for IEEE arithmetic.
12174
12175 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
12176
12177         * doc/extend.texi: Say ISO C90, not ISO C89.
12178         * doc/invoke.texi: Likewise.
12179         * doc/standards.texi: Likewise.
12180
12181 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
12182
12183         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
12184         Fix permutation of conversion and plus/mult.
12185         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
12186         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
12187         (expand_builtin_strncpy) Ditto.
12188         (expand_builtin_memset) Ditto.
12189
12190 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
12191
12192         Fix PR/7363:
12193         * c-common.c (c_sizeof_or_alignof_type): New function.
12194         (c_alignof): Remove definition.
12195         * c-common.h (c_sizeof, c_alignof): Define as macros.
12196         (c_sizeof_or_alignof_type): Declare.
12197         (my_friendly_assert): Moved from cp/cp-tree.h
12198         * c-typeck.c (c_sizeof): Remove definition.
12199
12200 2002-07-23  Jan Hubicka  <jh@suse.cz>
12201
12202         * gcse.c (try_replace_reg): Use num_changes_pending.
12203         * recog.c (num_changes_pending): New function.
12204         (validate_replace_src): Use validate_repalce_src_group.
12205         (validate_replace_src_group): New.
12206         * recog.h (validate_repalce_src_group): New.
12207         (num_changes_pending): Likewise.
12208
12209 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
12210
12211         * calls.c (emit_library_call_value_1): If
12212         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
12213         libcall, const call nor pure call.
12214
12215 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12216
12217         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
12218
12219 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12220
12221         * vmsdbgout.c (SECTION_ASM_OP): Remove.
12222
12223 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12224
12225         * config/i386/i386.c (AT_BP): Remove.
12226
12227 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12228
12229         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
12230         Default definition.
12231         * gcse.c: Don't define obstack_chunk_free.
12232         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
12233         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
12234         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
12235         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
12236         Don't define obstack macros.
12237
12238 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
12239
12240         PR target/6744
12241         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
12242         ASM_OPERANDS instructions.
12243
12244 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
12245
12246         PR target/7361
12247         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
12248         constant addresses only on 68HC12.
12249
12250 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
12251
12252         * cppfiles.c (stack_include_file): Correct test of whether
12253         a dependency should be output.
12254
12255 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
12256
12257         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
12258
12259 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
12260
12261         * arm.md (movqi): If optimizing and we can create pseudos, use
12262         a ZERO_EXTEND to load from memory, then copy the result into the
12263         target.
12264         (movhi): Likewise, but only for ARMv4.
12265
12266 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
12267
12268         * ssa-ccp.c (PHI_PARMS): Remove.
12269
12270 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
12271
12272         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
12273         on big-endian targets.
12274
12275 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12276
12277         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
12278         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
12279         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
12280         New formatting macros.
12281
12282         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
12283
12284 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12285
12286         * rtlanal.c (subreg_regno_offset): Return correct offset for
12287         big endian paradoxical subregs.
12288
12289         * optabs.c (expand_vector_unop): Don't expand using sub_optab
12290         if we got the wrong mode.
12291
12292         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
12293         * genrecog.c (write_switch, write_cond): Use it.
12294         * genemit.c (gen_exp): Likewise.
12295
12296 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
12297
12298         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
12299
12300 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
12301
12302         * c-decl.c (build_compound_literal): Defer compound literal decls
12303         until until file end to emit them only if they are actually used.
12304
12305 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12306
12307         * ra-build.c (check_conflict_numbers): Hide unused function.
12308         (livethrough_conflicts_bb): Avoid automatic aggregate
12309         initialization.
12310         (parts_to_webs_1): Avoid `U' integer constant modifier.
12311         (conflicts_between_webs): Wrap a variable in the macro controlling
12312         its usage.
12313         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
12314         (dump_igraph, dump_graph_cost): Avoid string concatenation
12315         (dump_static_insn_cost): Avoid automatic aggregate
12316         initialization.
12317         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
12318         initialization.
12319         (dump_cost): Avoid string concatenation
12320
12321 2002-07-21  Richard Henderson  <rth@redhat.com>
12322
12323         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
12324         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
12325
12326 2002-07-21  Richard Henderson  <rth@redhat.com>
12327
12328         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
12329         that are not unrolled completely.
12330
12331 2002-07-21  Richard Henderson  <rth@redhat.com>
12332
12333         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
12334         * loop.c (strength_reduce): Update.
12335         * toplev.c (rest_of_compilation): Do unrolling in the first
12336         loop pass, not the second.
12337
12338 2002-07-21  Richard Henderson  <rth@redhat.com>
12339
12340         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
12341         when flag_argument_noalias == 2.
12342         * alias.c (nonoverlapping_memrefs_p): Handle that.
12343         * print-rtl.c (print_mem_expr): Likewise.
12344
12345 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
12346
12347         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
12348         instead of __negdi2 directly.
12349
12350 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12351
12352         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
12353         * function.c (SYMBOL__MAIN): Remove definition.
12354         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
12355         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
12356         * profile.c (GCOV_INDEX_TO_BB): Remove.
12357         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
12358         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
12359
12360 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12361
12362         * c-lex.c (GET_ENVIRONMENT): Remove.
12363         * collect2.c (GET_ENV_PATH_LIST): Remove.
12364         (prefix_from_env): Use GET_ENVIRONMENT.
12365         * cppinit.c (GET_ENV_PATH_LIST): Remove.
12366         (init_standard_includes): Use GET_ENVIRONMENT.
12367         * defaults.h (GET_ENVIRONMENT): Define here if not already.
12368         * gcc.c (GET_ENV_PATH_LIST): Remove.
12369         (make_relative_prefix, process_command): Update.
12370         * protoize.c (GET_ENV_PATH_LIST): Remove.
12371         (do_processing): Update.
12372
12373 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
12374
12375         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
12376         (grokdeclarator): Likewise.
12377         * c-format.c (C_STD_NAME): Likewise.
12378         * c-lex.c (interpret_integer): Likewise.
12379         * c-typeck.c (build_array_ref): Likewise.
12380         * cpplex.c (_cpp_lex_direct): Likewise.
12381         * toplev.c (documented_lang_options): Likewise.
12382
12383 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12384
12385         * c-format.c (T99_I, T99_UI): Remove.
12386
12387 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12388
12389         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
12390
12391 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
12392
12393         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
12394         do_local_cprop.
12395
12396 2002-07-21  Andreas Jaeger  <aj@suse.de>
12397
12398         * reload1.c (fixup_abnormal_edges): Remove unused variable.
12399
12400 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
12401
12402         Improvements for the ifcvt pass from Michael Meissner, with patches
12403         by Richard Sandiford <rsandifo@redhat.com>
12404         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
12405         * ifcvt.c (cond_exec_changed_p): New static variable.
12406         (last_active_insn): New function, renamed from last_active_insn_p
12407         and changed to return the last active insn in a basic block. All
12408         callers updated.
12409         (block_fallthru): New function.
12410         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
12411         IFCVT_MODIFY_INSN.  All callers updated.
12412         Return false if START or END are NULL.
12413         Handle case where we're processing an insn that is already
12414         conditional.
12415
12416         (noce_process_if_block): CE_INFO argument rather than
12417         multiple args containing the involved basic blocks.  All callers
12418         changed.
12419         (process_if_block, merge_if_block, find_if_block,
12420         cond_exec_process_if_block): Likewise.
12421
12422         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
12423         changed.
12424         Use new function last_active_insn to simplify some code.
12425         New code to handle multiple tests.
12426         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
12427         cond_exec_changed_p to TRUE.
12428
12429         (process_if_block): New code to handle multiple tests.
12430         (merge_if_block): Likewise.
12431         (find_if_header): New arg PASS.  Changed to return the currently
12432         processed basic block or NULL instead of true/false. All callers
12433         changed.
12434         Call IFCVT_INIT_EXTRA_FIELDS.
12435         (block_jumps_and_fallthru_p): New function.
12436         (find_if_block): Discover opportunities to convert multiple tests.
12437         Add additional debugging output.
12438         Update the ce_info structure before returning.
12439
12440         (if_convert): Run multiple passes of if-conversion.
12441         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
12442         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
12443         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
12444         these macros.
12445
12446 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
12447
12448         * gcse.c: Include cselib.h
12449         (constptop_register): Break out from ...
12450         (cprop_insn): ... here; kill basic_block argument.
12451         (do_local_cprop, local_cprop_pass): New functions.
12452         (one_cprop_pass): Call local_cprop_pass.
12453
12454 2002-07-20  Roger Sayle  <roger@eyesopen.com>
12455
12456         * simplify-rtx.c (simplify_relational_operation): Optimize
12457         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
12458
12459 2002-07-20  Michae Matz  <matz@suse.de>
12460
12461         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
12462
12463 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
12464
12465         * cppexp.c (struct op): Add token pointer.
12466         (check_promotion, CHECK_PROMOTION): New.
12467         (optab): Update.
12468         (_cpp_parse_expr): Update, use token pointer of struct op.
12469         (reduce): Warn about change of sign owing to promotion.
12470         * cppinit.c (cpp_handle_option): New warning if -Wall.
12471         * cpplib.h (struct cpp_options): New member.
12472
12473 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
12474
12475         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
12476         fpu list.  Separate Power4 compare and delayed_compare.  Correct
12477         Power4 fpcompare.
12478         (fix_truncdfsi2_internal): Restore FPR preference.
12479         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
12480         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
12481
12482 2002-07-19  Momchil Velikov <velco@fadata.bg>
12483
12484         * reload1.c (reload_as_needed): Duplicate oldpat.
12485
12486 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
12487
12488         PR optimization/7130
12489         * loop.h (struct loop_info): Add "preconditioned".
12490         * unroll.c (unroll_loop): Set it.
12491         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
12492
12493 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
12494
12495         * rtl.def (CODE_LABEL): Remove slot 8.
12496         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
12497         (LABEL_ALTERNATE_NAME): Delete.
12498         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
12499         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
12500
12501         * final.c (output_alternate_entry_point): New.
12502         (final_scan_insn): Use it instead of
12503         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
12504         of a case label being an alternate entry point.
12505
12506         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
12507         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
12508         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
12509         (field deleted).
12510         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
12511
12512         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
12513         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
12514         * doc/tm.texi: Delete documentation of
12515         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
12516
12517 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12518
12519         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
12520         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
12521         (LINK_SPEC): Define.
12522         (STARTFILE_SPEC): Define.
12523         (ENDFILE_SPEC): Define.
12524
12525         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
12526         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
12527
12528         * config/mips/iris6-o32-gas.h: New file.
12529         * config.gcc (mips-sgi-irix6*o32): Use it.
12530
12531         * config/mips/t-iris5-gas: New file.
12532         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
12533
12534 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
12535
12536         * cppexp.c (ALWAYS_EVAL): Remove.
12537         (optab, reduce): Always evaluate.
12538         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
12539         only if not skipping evaluation.
12540
12541 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12542
12543         * config/avr/avr.c (debug_hard_reg_set): Remove.
12544
12545 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
12546
12547         * gcc.c (cpp_options): Include "%1" (cc1_spec).
12548
12549 2002-07-19  Richard Henderson  <rth@redhat.com>
12550
12551         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
12552
12553 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
12554
12555         * prefix.c (update_path): Don't zap single `.' path components
12556         unless followed by another `.' and fix typo last patch.
12557
12558 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
12559
12560         * cppexp.c (cpp_num_mul): Remove unused parameter.
12561         (UNARY, BINARY, OTHER, binary_handler): Remove.
12562         (ALWAYS_EVAL): New.
12563         (optab): Update.
12564         (reduce): Refactor to a large switch, don't use a function
12565         pointer.
12566
12567 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
12568
12569         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
12570
12571 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
12572
12573         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
12574         (sh_expand_binop_v2sf): Likewise.
12575         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
12576         (int_gpr_dest, trunc_hi_operand): New functions.
12577         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
12578         trunc_hi_operand.
12579         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
12580         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
12581         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
12582         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
12583         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
12584         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
12585         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
12586         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
12587         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
12588         (movsf_ie+1): Likewise.
12589         (loaddi_trunc): Use int_gpr_dest predicate.
12590         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
12591         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
12592         (casesi_worker_0+[12], casesi_worker): Likewise.
12593         (shcompact_preserve_incoming_args): Likewise.
12594         (mov_nop): Use any_register_operand predicate.
12595         (mperm_w0): Use trunc_hi_operand predicate.
12596
12597 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12598
12599         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
12600         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
12601         numbering.
12602
12603 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12604
12605         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
12606
12607 2002-07-18  Richard Henderson  <rth@redhat.com>
12608
12609         PR optimization/7147
12610         * ifcvt.c (noce_get_condition): Make certain that the condition
12611         is valid at JUMP.
12612
12613 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
12614
12615         * sh.c (barrier_align, push): Shut up compiler warnings.
12616         (initial_elimination_offset,sh_media_init_builtins): Likewise.
12617         (reg_no_subreg_operand): Delete.
12618
12619 2002-07-17  Bo Thorsen  <bo@suse.de>
12620
12621         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
12622         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
12623         (STARTFILE_SPEC): Remove hardcoded library paths.
12624         (ENDFILE_SPEC): Likewise.
12625
12626 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
12627
12628         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
12629
12630         * gcse.c (try_replace_reg): Do not return false positives.
12631
12632 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
12633
12634         * prefix.c: (update_path): Strip ".." components when prior dir
12635         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
12636
12637         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
12638         (ASM_OUTPUT_REG_POP): Likewise.
12639
12640 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
12641
12642         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
12643         adjustments to first_reg for profiling case.
12644         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
12645         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
12646         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
12647         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
12648         (ASM_OUTPUT_REG_POP): Define.
12649         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
12650         (ASM_OUTPUT_REG_POP): Undef.
12651
12652 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
12653
12654         * cpplib.c (do_sccs): Handle #sccs on all systems.
12655         * system.h (SCCS_DIRECTIVE): Poison.
12656         * config/darwin.h, config/freebsd.h, config/netbsd.h,
12657         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
12658         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
12659         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
12660         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
12661         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
12662         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
12663         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
12664         Remove all references to SCCS_DIRECTIVE.
12665         * doc/cpp.texi, doc/tm.texi: Update.
12666
12667 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
12668
12669         * regrename.c (maybe_mode_change): New function.
12670         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
12671
12672 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
12673
12674         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
12675         suppress addition when either ct or cf are zero.
12676
12677 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
12678             Glen Nakamura <glen@imodulo.com>
12679
12680         PR optimization/6713
12681         * loop.c (loop_givs_rescan): Explicitly delete the insn that
12682         sets a non-replaceable giv after issuing the new one.
12683
12684 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
12685
12686         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
12687         eval_token): Clarify and correct use of "bool" variables.
12688         * cpplib.h (struct cpp_options): Similarly.
12689         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
12690         * cpptrad.c (recursive_macro): Similarly.
12691
12692 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
12693
12694         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
12695         SHmedia code.
12696
12697         * sh.md (cmpgtudi_media): Remove spurious @.
12698
12699         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
12700         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
12701
12702         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
12703         * sh-protos.h (sh_initialize_trampoline): Declare.
12704         * sh.c (sh_initialize_trampoline): New function.
12705         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
12706         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
12707         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
12708         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
12709         * sh.md (initialize_trampoline, double_shori): New patterns.
12710         (initialize_trampoline_compact): Likewise.
12711         (shmedia32_initialize_trampoline_big): Remove.
12712         (shmedia32_initialize_trampoline_little): Likewise.
12713
12714         * sh-protos.h (binary_float_operator): Remove declaration.
12715         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
12716         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
12717         (unary_float_operator, sh_expand_unop_v2sf): New functions.
12718         (sh_expand_binop_v2sf): Likewise.
12719         (zero_vec_operand): Delete.
12720         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
12721         all non-shared ones.
12722         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
12723         Enable nsb and byterev.
12724         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
12725         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
12726         in general regs.
12727         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
12728         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
12729         immediate operands.
12730         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
12731         Add DF_HI_REGS.
12732         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
12733         lowpart fp regs - only for big endian for now.
12734         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
12735         when FPU is in use.
12736         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
12737         (LOAD_EXTEND_OP): NIL for SImode.
12738         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
12739         general and fp registers is 4.
12740         PREDICATE_CODES: Amend binary_float_operator entry.
12741         Remove zero_vec_operand.  Add unary_float_operator.
12742         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
12743         subreg SET_DEST.
12744         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
12745         (truncdiqi2): Do sign extension.
12746         (movsi_media, movdi_media): Allow to use r63 to an fp register.
12747         (movdf_media, movsf_media): Likewise.
12748         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
12749         Collapse to one define_insn_and_split.  Allow immediate sources.
12750         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
12751         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
12752         (movv4sf): Allow immediate sources.
12753         (movsf_media_nofpu+1): Don't split moves to FP registers.
12754         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
12755         (movv8qi_i+3): Check against CONST0_RTX.
12756         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
12757         for input and output operands.  Fix argument 3 to gen_mextr_rl.
12758         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
12759         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
12760         (mshf0_w, fipr, ftrv): Likewise.
12761         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
12762
12763 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
12764
12765         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
12766         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
12767         * arm.c: Similarly.
12768
12769 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
12770
12771         * config/mips/mips-protos.h (mips_sign_extend): Declare.
12772         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
12773         (TARGET_SWITCHES): Remove debugh.
12774         (ISA_HAS_TRUNC_W): New macro.
12775         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
12776         (PREDICATE_CODES): Remove se_nonimmediate_operand.
12777         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
12778         any SImode move_operand.
12779         (se_nonimmediate_operand): Remove.
12780         (mips_sign_extend): New.
12781         (mips_move_2words): Use it for sign-extended source operands.
12782         (override_options): Allow integers to be put into single FPRs.
12783         (mips_secondary_reload_class): Handle integers in float registers.
12784         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
12785         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
12786         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
12787         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
12788         (fix_truncdfdi2): Provide only a single alternative, in which the
12789         integer is in a float register.  Depend on TARGET_FLOAT64 rather
12790         than TARGET_64BIT.
12791         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
12792         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
12793         (movdi_internal2): Don't allow the source operand to be sign-extended.
12794         Add alternatives for float registers.
12795         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
12796         allows sign-extension.
12797         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
12798         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
12799         float registers.  Remove TARGET_DEBUG_H_MODE test.
12800         (movhi_internal1): Rename to movhi_internal.  Don't check
12801         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
12802         (movqi_internal1): Rename to movqi_internal and remove
12803         TARGET_DEBUG_H_MODE dependency.
12804         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
12805
12806 2002-07-16  Jim Wilson  <wilson@redhat.com>
12807
12808         * toplev.c (lang_dependent_init): Create function context for
12809         init_expr_once.
12810
12811 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
12812
12813         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
12814         --gc-sections if -r.
12815         * config/cris/cris.h: Ditto.
12816
12817 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
12818
12819         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
12820         the comparison directly gives a mask suppress addition when cf is
12821         zero by complementing the mask.
12822
12823 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
12824
12825         * Makefile.in: Delete references to enquire.
12826         * enquire.c: Move to contrib.
12827
12828 2002-07-16  Stan Shebs  <shebs@apple.com>
12829
12830         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
12831         config/rs6000/darwin.h.
12832         (ASM_OUTPUT_SKIP): Ditto.
12833         (TEXT_SECTION_ASM_OP): Ditto.
12834         (DATA_SECTION_ASM_OP): Ditto.
12835         (ASM_APP_ON): Define.
12836         (ASM_APP_OFF): Define.
12837         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
12838         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
12839
12840         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
12841         (machopic_function_base_name): Declare result to be const.
12842         (machopic_non_lazy_ptr_name): Ditto.
12843         (machopic_stub_name): Ditto.
12844         * config/darwin-protos.h: Ditto for the prototypes.
12845
12846 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
12847
12848         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
12849
12850 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
12851
12852         * i386.md (prefetch): Fix for 64bit mode.
12853         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
12854
12855 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12856
12857         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
12858         * i386.c (x86_machine_dependent_reorg): New function.
12859         * i386-protos.h (x86_machine_dependent_reorg): Declare.
12860
12861 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
12862
12863         * builtins.c (std_expand_builtin_va_start): Remove unused
12864         first argument.
12865         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
12866         std_expand_builtin_va_start with just two arguments.
12867         * expr.h: Update prototypes.
12868
12869         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
12870         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
12871         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
12872         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
12873         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
12874         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
12875         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
12876         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
12877         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
12878         argument from all implementations of EXPAND_BUILTIN_VA_START
12879         and all uses of std_expand_builtin_va_start.
12880
12881 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
12882
12883         * regrename.c (copy_value): Don't record high part copies.
12884
12885 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
12886
12887         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
12888         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
12889         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
12890
12891 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
12892
12893         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
12894
12895         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
12896         into addsi3 using register class "x" and "y".
12897
12898         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
12899         "earlyclobber" constraint modifier for some alternative.
12900
12901         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
12902         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
12903         unordered.
12904         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
12905
12906         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
12907         (TARGET_SWITCHES): Add -mieee-compare option.
12908         (OVERRIDE_OPTIONS): 32332 is a subset of
12909         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
12910         (TARGET_SWITCHES): Fix description of bitfield option.
12911         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
12912         -mieee-compare option. Remove 32332 flag.
12913
12914 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
12915
12916         * explow.c (convert_memory_address): Remove special handling
12917         when POINTERS_EXTEND_UNSIGNED < 0.
12918         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
12919         (movedi_symbolic): Fix typo.
12920         (load_fptr): Remove mode restriction so it works for SI and DI.
12921         (load_fptr_internal1): Ditto.
12922         (load_gprel): Ditto.
12923         (load_symptr_internal1): Ditto.
12924         (call_pic): Ditto.
12925         * config/ia64.c (call_operand): Modify mode check.
12926         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
12927         (ia64_expand_move): Ditto.
12928         (ia64_assemble_integer): Handle SImode function pointers.
12929         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
12930         (ia64_expand_op_and_fetch): Ditto.
12931         (ia64_expand_compare_and_swap): Ditto.
12932         (ia64_expand_lock_test_and_set): Ditto.
12933         (ia64_expand_lock_release): Ditto.
12934
12935 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
12936
12937         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
12938
12939 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
12940             Richard Earnshaw  <rearnsha@arm.com>
12941
12942         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
12943         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
12944
12945 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
12946
12947         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
12948         understands to be a memory clobber.
12949         * arm.c (arm_expand_prologue): Use it.
12950
12951 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
12952
12953         * ra-rewrite.c: #include reload.h, insn-config.h
12954         * ra-build.c: #include reload.h
12955         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
12956         depend on reload.h, insn-config.h.
12957
12958 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
12959
12960         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
12961         the same size as a word.
12962
12963         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
12964         BYTES_BIG_ENDIAN into account.
12965
12966 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
12967
12968         * i386.md (prefetch): Fix for 64bit mode.
12969         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
12970
12971         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
12972
12973 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12974
12975         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
12976
12977 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
12978
12979         * ginclude/varargs.h: Replace with stub which issues #error.
12980         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
12981         __builtin_va_start.
12982
12983         * builtins.def (BUILT_IN_VARARGS_START): Delete.
12984         (BUILT_IN_VA_START): New.
12985         * builtins.c (expand_builtin_va_start): Eliminate first
12986         argument and code to implement pre-ISO varargs.
12987         (std_expand_builtin_va_start): Ignore first argument; it is
12988         always 1.
12989         (expand_builtin): Handle BUILT_IN_VA_START and
12990         BUILT_IN_STDARG_START identically.  Delete
12991         BUILT_IN_VARARGS_START case.
12992
12993         * function.c (assign_parms): Delete hide_last_arg and all
12994         its uses.
12995         (mark_varargs): Delete function.
12996         * function.h (struct function): Delete 'varargs' bit.
12997         (current_function_varargs): Delete macro.
12998         * tree.h: Don't declare mark_varargs.
12999
13000         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
13001         (c_expand_body): Don't call mark_varargs.
13002         * c-objc-common.c: Handle BUILT_IN_VA_START and
13003         BUILT_IN_STDARG_START identically.  Delete
13004         BUILT_IN_VARARGS_START case.
13005         * c-tree.h: Don't declare c_mark_varargs.
13006         * c-parse.in: Remove grammar rules for '&...' (which has been
13007         commented out since before 2.7.2) and for '...' in K+R
13008         argument declarations.
13009
13010         * builtins.c, function.c, integrate.c, sibcall.c,
13011         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
13012         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
13013         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
13014         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
13015         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
13016         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
13017         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
13018         config/stormy16/stormy16.c: Delete all references to
13019         current_function_varargs, and code predicated on that flag.
13020
13021         * config/alpha/alpha.c (alpha_va_start),
13022         config/arc/arc.c (arc_va_start),
13023         config/i386/i386.c (ix86_va_start),
13024         config/mips/mips.c (mips_va_start),
13025         config/mn10300/mn10300.c (mn10300_va_start),
13026         config/rs6000/rs6000.c (rs6000_va_start),
13027         config/s390/s390.c (s390_va_start),
13028         config/sh/sh.c (sh_va_start),
13029         Ignore first argument; it is always 1.
13030
13031         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
13032         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
13033         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
13034         Delete m68hc11_va_start.
13035         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
13036         No need to define EXPAND_BUILTIN_VA_START.
13037
13038         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
13039         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
13040
13041 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
13042
13043         PR optimization/7153
13044         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
13045         dies in more than one insn.
13046
13047 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
13048
13049         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
13050
13051 2002-07-15  Michael Matz  <matz@suse.de>,
13052             Daniel Berlin  <dberlin@dberlin.org>,
13053             Denis Chertykov  <denisc@overta.ru>
13054
13055         Add a new register allocator.
13056
13057         * ra.c: New file.
13058         * ra.h: New file.
13059         * ra-build.c: New file.
13060         * ra-colorize.c: New file.
13061         * ra-debug.c: New file.
13062         * ra-rewrite.c: New file.
13063
13064         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
13065         (ra-rewrite.o): New .o files for libbackend.a.
13066         (GTFILES): Add basic-block.h.
13067
13068         * toplev.c (flag_new_regalloc): New.
13069         (f_options): New option "new-ra".
13070         (rest_of_compilation): Call initialize_uninitialized_subregs()
13071         only for the old allocator.  If flag_new_regalloc is set, call
13072         new allocator, instead of local_alloc(), global_alloc() and
13073         friends.
13074
13075         * doc/invoke.texi: Document -fnew-ra.
13076         * basic-block.h (FOR_ALL_BB): New.
13077         * config/rs6000/rs6000.c (print_operand): Write small constants
13078         as @l+80.
13079
13080         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
13081         (df_reg_table_realloc): Make size at least as large as max_reg_num().
13082         (df_insn_table_realloc): Size argument now is absolute, not relative.
13083         Changed all callers.
13084
13085         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
13086         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
13087
13088         2002-06-20  Michael Matz  <matz@suse.de>
13089
13090         * df.h (struct ref.id): Make unsigned.
13091         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
13092
13093         2002-06-13  Michael Matz  <matz@suse.de>
13094
13095         * df.h (DF_REF_MODE_CHANGE): New flag.
13096         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
13097         involving subregs with invalid mode changes, when
13098         CLASS_CANNOT_CHANGE_MODE is defined.
13099
13100         2002-05-07  Michael Matz  <matz@suse.de>
13101
13102         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
13103
13104         2002-05-03  Michael Matz  <matz@suse.de>
13105
13106         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
13107
13108         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
13109
13110         * regclass.c (regclass): Work with all regs which have sets or
13111         refs.
13112         (reg_scan_mark_refs): Count regs inside (clobber ...).
13113
13114         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
13115
13116         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
13117         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
13118         add new refs.
13119         (df_bb_refs_update): Don't clear insns_modified here, ...
13120         (df_analyse): ... but here.
13121
13122         * sbitmap.c (dump_sbitmap_file): New.
13123         (debug_sbitmap): Use it.
13124
13125         * sbitmap.h (dump_sbitmap_file): Add prototype.
13126
13127         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
13128
13129         * df.c (df_insn_modify): Grow the UID table if necessary, rather
13130         than assume all emits go through df_insns_modify.
13131
13132         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
13133
13134         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
13135         increase REG_N_REFS (like flow does), so that regclass doesn't
13136         think a reg is useless, and thus, not calculate a class, when it
13137         really should have.
13138
13139         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
13140
13141         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
13142         dataflow analysis.
13143
13144 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
13145
13146         PR middle-end/7245
13147         * config/i386/i386.c (const_int_1_31_operand): New.
13148         * config/i386/i386.h (PREDICATE_CODES): Add it.
13149         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
13150         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
13151         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
13152
13153 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
13154
13155         PR target/7282
13156         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
13157         (floatunssidf2): Likewise.
13158         (floatsidf_ppc64): New insn_and_split.
13159         (floatunssidf_ppc64): Likewise.
13160
13161 2002-07-14  Andreas Jaeger  <aj@suse.de>
13162
13163         * config.gcc (sh64): Remove unused
13164         target_requires_64bit_host_wide_int.
13165
13166 2002-07-12  Roger Sayle  <roger@eyesopen.com>
13167
13168         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
13169         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
13170         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
13171         whether clear_by_pieces should be used to clear storage.
13172         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
13173
13174         * doc/tm.texi: Document these two new target macros.
13175
13176 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
13177
13178         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
13179         the scratch register.
13180         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
13181         of it, forbid reload to use it.
13182
13183 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13184
13185         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
13186         usage on 64-bit hosts, return value was truncated to 32 bits.
13187
13188 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
13189
13190         * simplify-rtx.c (simplify_subreg): Handle floating point
13191         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
13192         the element mode is requested, compute a subreg with an
13193         integer mode of the same size as the element mode first.
13194
13195 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
13196
13197         * combine.c (try_combine): When converting a paradoxical subreg
13198         to an extension, take LOAD_EXTEND_OP into account.
13199
13200 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13201
13202         * config.gcc (mips-sgi-irix6*o32): New configuration.
13203
13204         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
13205         configurations.
13206         * configure: Regenerate.
13207
13208         * config/mips/iris6-o32-as.h: New file.
13209         * config/mips/iris6-o32.h: New file.
13210
13211         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
13212         (NM_FLAGS): Define.
13213         (HAVE_AS_SHF_MERGE): Undefine.
13214
13215         * config/mips/t-iris5-as: New file.
13216         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
13217
13218         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
13219         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
13220         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
13221         dp-bit.c, fp-bit.c): Move ...
13222         * config/mips/t-iris5-6: ... here.
13223         New file, shared by IRIX 5 and IRIX 6.
13224         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
13225         mips-sgi-irix5*): Use it.
13226
13227         * config/mips/iris6.h: Remove duplicate comment.
13228
13229         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
13230         !TARGET_IRIX6]: Define.
13231         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
13232
13233         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
13234
13235 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13236
13237         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
13238         and delete code to force constant to register.
13239         * pa-protos.h (adddi3_operand): Add prototype.
13240         * pa.c (adddi3_operand): New function.
13241
13242 2002-07-11  Roger Sayle  <roger@eyesopen.com>
13243
13244         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
13245         non-ANSI builtin functions.
13246
13247 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
13248
13249         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
13250         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
13251         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
13252         (gen_const_vector_0): Use it.
13253
13254 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13255
13256         * pa.md (adddi3): For 32-bit targets, force constants to a register
13257         if they don't fit in an 11-bit immediate.  Change insn predicate to
13258         arith11_operand.  Remove comment.
13259         * pa.c (cint_ok_for_move): Fix comment.
13260         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
13261         targets.
13262
13263 2002-07-11  Tim Josling  <tej@melbpc.org.au>
13264
13265         Remove front end hard coding from gengtype.c.
13266
13267         * Makefile.in
13268         (STAGESTUFF): add gtyp-gen.h
13269         (GTFILES): Remove front end specific files.
13270         (GTFILES_FILES_LANGS): New, from configure..
13271         (GTFILES_FILES_FILES): Likewise.
13272         (GTFILES_LANG_DIR_NAMES): Likewise.
13273         (GTFILES_SRCDIR): Likewise.
13274         (gtyp-gen.h): Build from configure information.
13275         (s-gtype): Remove command line parameters from gengtype.
13276         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
13277         (mostlyclean): Delete files generated by and for gengtype.
13278
13279         * c-config-lang.in: New file.
13280
13281         * configure.in (all_gtfiles_files_langs): New. Accumulate files
13282         for each language.
13283         (all_gtfiles_files_files): New. Accumulate language for each file
13284         accumulated.
13285         (gtfiles): Pick up value for C.
13286         (srcdir): AC-SUBST this variable.
13287         (all_gtfiles_files_langs): AC-SUBST this variable.
13288         (all_gtfiles_files_files): AC-SUBST this variable.
13289
13290         * configure: Regenerate.
13291
13292         * gengtype-lex.l (parse_file): Make parameter const.
13293
13294         * gengtype.c (toplevel): include gtyp-gen.h.
13295         (BASE_FILE_<language> unnamed enum): Delete.
13296         (lang_names): Delete (replaced by gtyp-gen.h)
13297         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
13298         all references.
13299         (NUM_GT_FILES): New.
13300         (NUM_LANG_FILES): New.
13301         (srcdir_len): New.
13302         (NUM_BASE_FILES): Change calculation.
13303         (open_base_files): Change prototype to avoid warning.
13304         (startswith): Delete.
13305         (get_file_basename): Iterate through generated language list not
13306         hard coded list.
13307         (get_base_file_bitmap): Use generated list of files and languages.
13308         (close_output_files): Add prototype to rmove warning.
13309         (main): Iterate through list of generated files from gtyp-gen.h
13310         rather than command line paramaters.  Ignore duplicated file
13311         names.
13312
13313         * gengtype.h (parse_file): Amend prototype for const parameter.
13314
13315         * doc/sourcebuild.texi: Document gtfiles variable.
13316
13317         * doc/gty.texi: Document changes to gtfiles variable for front
13318         ends.
13319
13320         * objc/config-lang.in (gtfiles): Add files needed for objc front
13321         end.
13322
13323 2002-07-10  Roger Sayle  <roger@eyesopen.com>
13324
13325         PR c/2454
13326         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
13327         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
13328
13329 2002-07-10  Roger Sayle  <roger@eyesopen.com>
13330             Zack Weinberg <zack@codesourcery.com>
13331
13332         * builtins.def: Make the argument types of abort and exit
13333         independent of the front-end.
13334
13335 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
13336
13337         * config/rs6000/linux64.h (ASM_SPEC): Define.
13338
13339 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
13340
13341         * config/rs6000/rs6000.c (emit_frame_save): New.
13342         (rs6000_frame_related): Replace reg2 before reg.
13343         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
13344         and eh_return registers.
13345
13346 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
13347
13348         Revert all patches for optimization of Complex .op. Real.
13349         * complex_part_zero_p: Remove
13350         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
13351         with x.
13352         * expand_cmplxdiv_wide: Ditto.
13353         * expand_binop: Ditto.
13354
13355 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13356
13357         * config/avr/avr.md: Fix two 0x80000000 constants to make them
13358         negative also on 64-bit hosts.
13359
13360         Default to -fno-reorder-blocks when optimizing for size.
13361         * config/avr/avr-protos.h (avr_optimization_options): Declare.
13362         * config/avr/avr.c (avr_optimization_options): New function.
13363         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
13364
13365         Optimize returning from simple functions.
13366         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
13367         * config/avr/avr.c (avr_simple_epilogue): New function.
13368         * config/avr/avr.md (return): New insn.
13369
13370 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
13371
13372         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
13373         HAS_INIT_SECTION to protection.
13374
13375 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
13376
13377         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
13378         deprecated.
13379
13380 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
13381
13382         * combine.c (gen_lowpart_for_combine): Handle vector modes.
13383         Supply non-VOID mode to simplify_gen_subreg.
13384
13385 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
13386
13387         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
13388
13389 2002-07-10  Jeffrey A Law  <law@redhat.com>
13390
13391         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
13392         as appropriate.
13393
13394         * mn10200.c (expand_epilogue): Fix test to determine which scratch
13395         register to use.
13396
13397 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
13398
13399         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
13400         Get mode from dest.
13401         If simplify_gen_subreg fails, try next equivalent.
13402
13403 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
13404
13405         * diagnostic.h: #include location.h
13406         (location_t): Move definition to..
13407         * location.h: ... here.  New file.
13408         * tree.h: #include location.h
13409         (DECL_SOURCE_LOCATION): New macro.
13410         (DECL_SOURCE_FILE): Use.
13411         (DECL_SOURCE_LINE): Likewise.
13412         (struct tree_decl): REplace filename and linenum with locus.
13413         * Makefile.in (TREE_H): add location.h
13414         (diagnostic.o): Depends on gt-location.h
13415         (gt-location.h): Depends on s-gtype
13416
13417 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
13418
13419         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
13420         TARGET_OS_CPP_BUILTINS.
13421         * config/rs6000/aix31.h: Likewise.
13422         * config/rs6000/aix41.h: Likewise.
13423         * config/rs6000/aix43.h: Likewise.
13424         * config/rs6000/aix51.h: Likewise.
13425         * config/rs6000/beos.h: Likewise.
13426         * config/rs6000/darwin.h: Likewise.
13427         * config/rs6000/eabi.h: Likewise.
13428         * config/rs6000/eabisim.h: Likewise.
13429         * config/rs6000/linux.h: Likewise.
13430         * config/rs6000/linux64.h: Likewise.
13431         * config/rs6000/lynx.h: Likewise.
13432         * config/rs6000/mach.h: Likewise.
13433         * config/rs6000/rtems.h: Likewise.
13434         * config/rs6000/sysv4.h: Likewise.
13435         * config/rs6000/vxppc.h: Likewise.
13436
13437 2002-07-09 Devang Patel <dpatel@apple.com>
13438         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
13439         Do not allow ObjC objects as a parameter type for Objective-C methods.
13440         My previous patch restricted  'struct' also.
13441
13442 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
13443
13444         * cpperror.c (cpp_error): Default to directive_line within
13445         directives here.
13446         * cppexp.c (cpp_interpret_integer): Only use traditional
13447         number semantics in directives.
13448         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
13449         (do_include_common): Similarly.
13450         * cpptrad.c (scan_out_logical_line): Implement accurate
13451         quoting of <> in #include.
13452         * doc/cpp.texi: Update.
13453
13454 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
13455                           J"orn Rennecke <joern.rennecke@superh.com>
13456
13457         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
13458         * sh.md (attribute issues): Replace with:
13459         (attribute pipe_model).  All users changed.
13460         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
13461         All users changed.
13462         (function units sh5issue, sh5fds): New.
13463         (attribute is_mac_media): New.
13464         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
13465         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
13466         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
13467         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
13468         (call_media, call_value_media, sibcall_media): Likewise.
13469         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
13470         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
13471         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
13472         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
13473         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
13474         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
13475         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
13476         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
13477         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
13478         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
13479         (truncdfsf2_media): Likewise.
13480         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
13481         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
13482
13483 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
13484
13485         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
13486         * sh.c (general_extend_operand, inqhi_operand): New functions.
13487         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
13488         alternatives using 'N' modifier.  Add type.
13489         (adddi3z_media): Likewise.  Enable generator function generation.
13490         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
13491         exact predicates / constraints.  Add type.
13492         (subsi3): Allow 0 for SHMEDIA.
13493         (udivsi3_i4_media): Use match_operand for input values
13494         rather than hard registers.
13495         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
13496         unnecessarily through hard registers.  Keep copies of pseudo
13497         registers outside of the libcall sequence.
13498         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
13499         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
13500         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
13501         (extendhidi2, extendqidi2): Likewise.
13502         (andsi3_compact): Name.
13503         (andcdi3): Enable generator function generation.
13504         (zero_extendhisi2, zero_extendqisi2): Rename to
13505         (zero_extendhisi2_compact, zero_extendqisi2_compact).
13506         (extendhisi2, extendqisi2): Rename to
13507         (extendhisi2_compact, extendqisi2_compact).
13508         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
13509         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
13510         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
13511         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
13512         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
13513         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
13514         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
13515         (shmedia32_initialize_trampoline_big): Likewise.
13516         (shmedia32_initialize_trampoline_little): Likewise.
13517         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
13518         (negdi2): Remove spurious T clobber.
13519         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
13520         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
13521         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
13522         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
13523         (ic_invalidate_line_media): Write back data cache before invalidating
13524         instruction cache.  Add type.
13525         (movsf_media): Sign-extend when the destination is a general
13526         purpose register.  Add type.
13527         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
13528         (casesi_worker_0+1): Only increment ref count for proper label.
13529         (casesi_worker_0+2): Likewise.
13530
13531 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
13532
13533         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
13534
13535 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
13536
13537         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
13538         from Pmode to ptr_mode.
13539         (get_exception_pointer): Ditto.
13540         (connect_post_landing_pads): Ditto.
13541         (dw2_build_landing_pads): Ditto.
13542
13543 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
13544         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
13545         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
13546         (handle_pragma_redefine_extname): Change to use new function.
13547
13548 2002-07-08  Roger Sayle  <roger@eyesopen.com>
13549
13550         * combine.c (combine_simplify_rtx): Add an explicit cast
13551         to avoid signed/unsigned comparison warning.
13552         (simplify_if_then_else): Likewise.
13553         (extended_count): Likewise.
13554         (simplify_shift_const): Likewise.
13555         (simplify_comparison): Likewise.
13556
13557 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
13558
13559         * config/mips/mips.md: Add imadd type.  Update scheduler description
13560         to use imadd as well as imul.
13561         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
13562         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
13563         (*mul_sub_si): Likewise for first alternative.  Change second
13564         alternative from imul to multi.
13565
13566 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
13567
13568         * c-common.c (c_common_post_options): Update prototype;
13569         don't init backends if preprocessing only.
13570         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
13571         * langhooks.h (struct lang_hooks): Update post_options to
13572         return a boolean.
13573         * toplev.c (parse_options_and_default_flags, do_compile,
13574         lang_independent_init): Update prototypes.  Allow the
13575         front end to specify that there is no need to initialize
13576         the back end.
13577         (general_init): Move call to hex_init here...
13578         (toplev_main): ...from here.  Pass flag for back end init
13579         suppression.
13580
13581 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
13582
13583         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
13584         (PREDICATE_CODES): Add entries for equality_comparison_operator,
13585         greater_comparison_operator and less_comparison_operator.
13586         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
13587         more operators.
13588         (equality_comparison_operator): New function.
13589         (greater_comparison_operator, less_comparison_operator): Likewise.
13590         * sh.md (beq_media_i): Disable generator function generation.
13591         Use match_operator to handle a whole class of comparisons.  Add
13592         modifier in output template to provide branch prediction.  Add type.
13593         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
13594         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
13595         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
13596         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
13597
13598 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
13599
13600         Emit MMIX function prologue and epilogue as rtl.
13601         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
13602         not unprototyped get_hard_reg_initial_val.
13603         ("call_value", "nonlocal_goto_receiver"): Ditto.
13604         ("return"): Make define_expand.  Move real insn to...
13605         ("*expanded_return"): New pattern.
13606         ("prologue", "epilogue"): New define_expands.
13607         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
13608         (struct machine_function): New member in_prologue.
13609         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
13610         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
13611         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
13612         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
13613         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
13614         (LOCAL_REGNO): Define.  Adjust comment.
13615         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
13616         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
13617         leaf_function_p.
13618         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
13619         the prologue.
13620         (mmix_target_asm_function_prologue): Make static.  Just mark that
13621         the prologue is being emitted.  Move guts to...
13622         (mmix_expand_prologue): New function.  Adjust for emitting
13623         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
13624         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
13625         \n.  Move guts to...
13626         (mmix_expand_epilogue): New function.  Adjust for emitting
13627         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
13628         (mmix_target_asm_function_end_prologue): Mark that the prologue
13629         has ended.
13630         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
13631         (mmix_conditional_register_usage): Improve comments.
13632         (mmix_local_regno): New function.
13633         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
13634         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
13635         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
13636         (mmix_get_hard_reg_initial_val): Ditto.
13637
13638 2002-07-06  Andreas Jaeger  <aj@suse.de>
13639
13640         * toplev.c (set_fast_math_flags): Don't use ISO C style function
13641         definitions.
13642         * gengtype.c (open_base_files): Likewise.
13643         (close_output_files): Likewise.
13644         * tracer.c (find_best_predecessor): Likewise.
13645         (find_best_successor): Likewise.
13646         (ignore_bb_p): Likewise.
13647
13648 2002-07-05  Roger Sayle  <roger@eyesopen.com>
13649
13650         PR c++/7099
13651         * builtin-attrs.def: Define new attribute lists for use in
13652         builtins.def.
13653         * builtins.def [DEF_BUILTIN]: Modify to take an additional
13654         ATTRS argument, an enumerated value defined in builtin-attrs.def
13655         that represents the attribute list for the builtins.  Modify
13656         all builtin functions to pass an appropriate attribute list.
13657         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
13658         their required noreturn attributes.
13659         * tree.h (enum_builtin_function): Ignore the additional parameter
13660         to DEF_BUILTIN.
13661         * builtins.c (built_in_names): Likewise.
13662         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
13663         argument with a tree representing the functions attribute list.
13664         Pass this "attrs" argument to builtin_function.  No longer handle
13665         the noreturn_p processing manually.
13666         (built_in_attributes): Move the definitions from builtin-attrs.def
13667         before c_common_nodes_and_builtins.
13668         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
13669         DEF_BUILTIN, passing it to both builtin_function and the changed
13670         builtin_function_2.
13671
13672         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
13673         __builtin__exit and __builtin__Exit.
13674
13675 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13676
13677         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
13678         QI mode registers in soft registers.
13679         ("zero_extendqihi2"): Do not take into account soft registers
13680         for register allocation (use '*' constraint).
13681
13682 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13683
13684         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
13685         it is dead.
13686         ("*ashrsi3"): Likewise.
13687         ("*lshrsi3"): Likewise.
13688
13689 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
13690
13691         * genautomata.c (output_max_insn_queue_index_def): Take latencies
13692         into account.
13693
13694 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13695
13696         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
13697         address computation and memory moves.
13698
13699 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
13700
13701         PR c++/6706
13702         * dwarfout.c (output_reg_number): Fix warning message.
13703         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
13704         before using it.
13705
13706 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13707
13708         * gcc/gcc.c (asm_debug): Move initialization ...
13709         (init_spec): ... here.
13710
13711 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
13712
13713         * c-parse.in (extdef): Append ';'.
13714         (old_style_parm_decls): Append ';'.
13715
13716 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
13717
13718         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
13719         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
13720         to gcc_cv_as_gstabs_flag.
13721         * configure: Rebuilt.
13722
13723 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
13724
13725         * ggc.h (ggc_add_root): Document as obsolete.
13726
13727 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
13728
13729         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
13730         (mshflo_w): Likewise.
13731
13732 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
13733
13734         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
13735         vector mode subregs of constants to finding integer mode
13736         subregs of constants.
13737         * cse.c (cse_insn): Use simplify_gen_subreg.
13738         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
13739         From a vector mode expression of different size than the
13740         target mode.
13741
13742 2002-07-03  Eric Christopher  <echristo@redhat.com>
13743
13744         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
13745         * config/mips/mips.h: Remove deprecated -m<processor> options
13746         and cc1_cpu_spec associated.
13747         (CONSTANT_ADDRESS_P): Fix last patch.
13748         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
13749         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
13750         sunge_sf): Remove.
13751
13752 2002-07-03  Stan Shebs  <shebs@apple.com>
13753
13754         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
13755         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
13756         (CPP_SPEC): Remove insertion of APPLE_CC definition.
13757
13758 2002-07-03  Roger Sayle  <roger@eyesopen.com>
13759
13760         * combine.c (struct_undo): Change types of recorded substitutions
13761         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
13762         (do_SUBST_INT): Change types of the substitution from unsigned int
13763         to int, to avoid compilation warning from SUBST_INT's only caller.
13764
13765         (make_extraction): Add cast to avoid compilation warning.
13766         (force_to_mode): Remove cast to avoid compilation warning.
13767
13768 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
13769             Jeff Law  <law@redhat.com>
13770
13771         * i386.md (length_immediate attribute): Fix typo.
13772         (length_address attribute): Likewise.
13773         (modrm attribute): Set it to 0 for immediate call instructions.
13774         (jcc_1 pattern): Set modrm attribute to 0.
13775         (jcc_2 pattern ): Likewise.
13776         (jump pattern): Likewise.
13777         (doloop_end_internal pattern): Explicitly set length.
13778         (leave pattern): Fix typo.
13779         (leave_rex64 pattern): Likewise.
13780
13781 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
13782
13783         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
13784         in FPR as preference.
13785         (fctiwz): Same.
13786         (floatdidf2, fix_truncdfdi2): Same.
13787         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
13788         (floatditf2): Same.
13789         (floatsitf2, fix_trunctfsi2): SImode in GPR.
13790         (ctrdi): Remove FPR alternative and splitter.
13791
13792 2002-07-03  Will Cohen  <wcohen@redhat.com>
13793
13794         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
13795
13796 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
13797
13798         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
13799         than UNITS_PER_WORD, unless this is little endian and the first unit
13800         in this word.  Let extract_bit_field decide how to load an element.
13801         Force arguments to matching mode.
13802         (expand_vector_unop): Likewise.
13803
13804         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
13805         consist of word_mode elements.
13806         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
13807         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
13808         (build_unary_op): Allow vector types for BIT_NOT_EPR.
13809         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
13810         CONST_VECTOR.
13811         * optabs.c (expand_vector_binop): Try to perform operation in
13812         smaller vector modes with same inner size.  Add handling of AND, IOR
13813         and XOR.  Reject expansion to inner-mode sized scalars when using
13814         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
13815         (expand_vector_unop): Try to perform operation in smaller vector
13816         modes with same inner size.  Add handling of one's complement.
13817         When there is no vector negate operation, try a vector subtract
13818         operation.  Use simplify_gen_subreg on constants.
13819         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
13820         constants into smaller vectors with same inner mode, and to
13821         integer CONST_DOUBLEs.
13822
13823 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13824
13825         * c-parse.in (parsing_iso_function_signature): New variable.
13826         (extdef_1): New, copied from...
13827         (extdef): ... here.  Reset parsing_iso_function_signature.
13828         (old_style_parm_decls):  Reset parsing_iso_function_signature.
13829         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
13830         Warn about ISO C style function definitions.
13831         (nested_function, notype_nested_function): Reset
13832         parsing_iso_function_signature.
13833         (parmlist_2): Set parsing_iso_function_signature.
13834
13835         * doc/invoke.texi (-Wtraditional): Document new behavior.
13836
13837 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
13838
13839         * config.gcc (mips*el-*-*): Use tm_defines to set
13840         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
13841         * config/mips/little.h: Remove.
13842
13843 2002-07-02 Devang Patel <dpatel@apple.com>
13844
13845         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
13846         object as parameter. Prevent something like 'NSObject' to be
13847         used as the type for a method argument.
13848
13849 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
13850
13851         * cpptrad.c: Update comment.
13852
13853 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
13854
13855         * doc/cpp.texi: Update for traditional preprocessing changes.
13856         * goc/cppopts.texi: Similarly.
13857
13858 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
13859
13860         * c-parse.in (designator): Enable designated initializers if ObjC.
13861         (objcmessageexpr): Remove references to objc_receiver_context.
13862         * objc/objc-act.h (objc_receiver_context): Remove decl.
13863         * objc/objc-act.c (objc_receiver_context): Remove.
13864         (lookup_objc_ivar): Test objc_method_context instead of
13865         objc_receiver_context.
13866
13867 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
13868
13869         * sh.c (print_operand, case 'N'): Allow zero vector.
13870         (arith_reg_or_0_operand): Likewise.
13871         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
13872         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
13873         IOR, XOR, PLUS and SET and take their respective constant
13874         ranges into account.
13875         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
13876         * sh.md (subdi3, subdi3_media): Allow zero operand.
13877         (movv8qi_i+3): Only vector that is not split is the zero vector.
13878         Fix operand 3 to simplify_subreg.
13879         (movv2si_i): Split alternative 1.
13880         (mshfhi_l_di_rev+1): New splitter.
13881
13882 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
13883
13884         PR preprocessor/7029
13885         * cppinit.c (cpp_handle_option):  Suppress warnings with an
13886         implicit "-w" for "-M" and "-MM".
13887         * doc/cppopts.texi: Update.
13888
13889 2002-07-01  Roger Sayle  <roger@eyesopen.com>
13890
13891         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
13892         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
13893         builtin_function.
13894
13895 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
13896
13897         * README.Portability: Fix typos.
13898
13899 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
13900
13901         PR target/7177
13902         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
13903         of indirections for register inside sign-extended mem part.
13904
13905 2002-07-01  Roger Sayle  <roger@eyesopen.com>
13906
13907         * tree.h:  Modify builtin_function interface to take an extra
13908         argument ATTRS, which is a tree representing an attribute list.
13909
13910         * c-decl.c (builtin_function): Accept additional parameter.
13911         * objc/objc-act.c (builtin_function): Likewise.
13912         * f/com.c (builtin_function): Likewise.
13913         * java/decl.c (builtin_function): Likewise.
13914         * ada/utils.c (builtin_function): Likewise.
13915         * cp/decl.c (builtin_function): Likewise.
13916         (builtin_function_1): Likewise.
13917
13918         * c-common.c (c_common_nodes_and_builtins): Pass an additional
13919         NULL_TREE argument to builtin_function.  (builtin_function_2):
13920         Likewise.
13921         * cp/call.c (build_java_interface_fn_ref): Likewise.
13922         * objc/objc-act.c (synth_module_prologue): Likewise.
13923         * java/decl.c (java_init_decl_processing): Likewise.
13924         * f/com.c (ffe_com_init_0): Likewise.
13925
13926         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
13927         NULL_TREE argument to builtin_function.
13928         * config/arm/arm.c (def_builtin): Likewise.
13929         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
13930         * config/i386/i386.c (def_builtin): Likewise.
13931         * config/ia64/ia64.c (def_builtin): Likewise.
13932         * config/rs6000/rs6000.c (def_builtin): Likewise.
13933
13934 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
13935
13936         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
13937         * config/mips/t-isa3264: Likewise.
13938         * config/mmix/t-mmix: Likewise.
13939
13940 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13941
13942         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
13943
13944 2002-07-01  Roger Sayle  <roger@eyesopen.com>
13945
13946         PR opt/4046
13947         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
13948         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
13949         B are truth values.
13950
13951 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
13952
13953         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
13954
13955 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
13956
13957         * README.Portability (Function prototypes): Give an example of
13958         declaring and defining a function with no arguments.
13959
13960         * README.Portability (Function prototypes): Document new
13961         variable-argument function macros.
13962
13963 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
13964
13965         * sh.c (langhooks.h): Include.
13966         (sh_init_builtins, sh_media_init_builtins): New functions.
13967         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
13968         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
13969         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
13970         (builtin_description): New struct tag.
13971         (signature_args, bdesc): New arrays.
13972         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
13973         (print_operand): Add 'N' modifier.
13974         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
13975         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
13976         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
13977         (CONST_COSTS): Add special case for SHmedia AND.
13978         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
13979         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
13980         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
13981         target_operand can also be const or unspec.
13982         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
13983         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
13984         (attribute type): Add new types.
13985         (anddi3): Add splitter.
13986         (movdi_const_16bit+1): Add code to handle vector constants and
13987         bitmasks efficiently.
13988         (shori_media): Have generator function made.
13989         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
13990         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
13991         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
13992         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
13993         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
13994         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
13995         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
13996         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
13997         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
13998         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
13999         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
14000         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
14001         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
14002         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
14003         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
14004         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
14005         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
14006         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
14007         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
14008         (ftrv): Likewise.
14009
14010         (fpu_switch+1, fpu_switch+2): Remove constraint.
14011
14012 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
14013
14014         * tree.c (build_function_type_list): Update function comment.
14015         Rename first argument to return_type.
14016
14017 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
14018
14019         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
14020         tradcif.y and related files.
14021
14022 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
14023
14024         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
14025
14026 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14027
14028         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
14029
14030 See ChangeLog.7 for earlier changes.