OSDN Git Service

* config/ia64/elf.h: Remove CPP_PREDEFINES.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
2
3         * config/ia64/elf.h: Remove CPP_PREDEFINES.
4
5 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
6
7         Fix PR/7014 and related objc bugs:
8         * c-typeck.c (comp_target_types): Added a reflexive argument.
9         Pass it to ObjC when/if calling objc_comptypes().  Updated all
10         callers to provide the appropriate reflexive argument.
11         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
12         typechecking for all cases of comparisons and assignments,
13         particularly the obscure and less common ones involving protocols.
14
15 2002-09-17  Nick Clifton  <nickc@redhat.com>
16
17         * machmode.def (V1DImode): New mode.  A single element vector.
18         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
19         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
20         * tree.c (build_common_tree_nodes_2): Build
21         unsigned_V1DI_type_node and V1D1_type_node.
22         * c-common.c (c_common_type_for_mode): Return
23         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
24         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
25
26 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
27
28         * doc/objc.texi (Constant string objects): Extended documentation
29         to make clear that the constant string class ivar layout is
30         completely fixed.
31         
32 2002-09-17  Roger Sayle  <roger@eyesopen.com>
33
34         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
35         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
36
37 2002-09-16  Richard Henderson  <rth@redhat.com>
38
39         * expr.c (emit_block_move): Set memory block size as appropriate
40         for the copy.
41
42 2002-09-16  Richard Henderson  <rth@redhat.com>
43
44         PR fortran/3924
45         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
46
47 2002-09-16  Richard Henderson  <rth@redhat.com>
48
49         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
50         as well as OFFSET for BITPOS.
51
52 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
53
54         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
55         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
56         winchip2 and c3.
57         * doc/invoke.texi: Mention new aliases.
58
59 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
60
61         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
62         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
63         downward.
64         * function.c (pad_below):  Always compile.
65         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
66         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
67         Pad below when the argument is not in a register and the padding
68         direction is downward.
69
70         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
71         (PAD_VARARGS_DOWN): Define.
72         * pa.c (function_arg_padding): Revise padding directions to make them
73         compatible with the 32 and 64-bit runtime architecture documentation.
74         (hppa_va_arg):  Add code to handle variable and size zero arguments
75         passed by reference on TARGET_64BIT.  Reformat.
76         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
77         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
78         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
79         Add comments.
80         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
81         (RETURN_IN_MEMORY): Return size zero types in memory.
82         (FUNCTION_VALUE): Return TFmode in general registers.
83         (MUST_PASS_IN_STACK): Define.
84         (FUNCTION_ARG_BOUNDARY): Simplify.
85         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
86         by reference.
87         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
88
89 2002-09-16  Richard Henderson  <rth@redhat.com>
90
91         * real.c (do_fix_trunc): New.
92         (real_arithmetic): Call it.
93         * simplify-rtx.c (simplify_unary_operation): Handle FIX
94         with a floating-point result mode.
95
96 2002-09-16  Richard Henderson  <rth@redhat.com>
97
98         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
99         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
100         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
101         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
102         * builtins.c (fold_builtin_nan): New.
103         (fold_builtin): Call it.
104         * real.c (real_nan): Parse a non-empty string.
105         (round_for_format): Fix NaN significand truncation.
106         * real.h (real_nan): Return bool.
107         * doc/extend.texi: Document new builtins.
108
109 2002-09-16  Jason Merrill  <jason@redhat.com>
110             Danny Smith  <dannysmith@users.sourceforge.net>
111
112         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
113         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
114         (i386_pe_mark_dllimport): Not here.
115
116 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
117
118         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
119
120 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
121
122         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
123         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
124         < 64.
125         (rs6000_emit_cmove): Use real_isinf not target_isinf.
126
127 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
128
129         * calls.c (emit_library_call_value_1): Don't refer to
130         hard_libcall_value.
131         * optabs.c (prepare_float_lib_cmp): Likewise.
132
133 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
134
135         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
136         mangling.
137
138         The following changes are merged from pch-branch:
139
140         * doc/gty.texi (GTY Options): Document %a.
141         * gengtype.c (do_scalar_typedef): New function.
142         (process_gc_options): Handle `length' option.
143         (set_gc_used_type): A pointer to an array of structures doesn't
144         qualify as a pointer to a structure.
145         (output_escaped_param): Add `%a' escape.
146         (write_gc_structure_fields): Allow 'desc' on array of unions.
147         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
148         do_scalar_typedef.
149
150         * gengtype.c (enum rtx_code): Make global.
151         (rtx_format): Make global.
152         (rtx_next): New.
153         (gen_rtx_next): New.
154         (write_rtx_next): New.
155         (adjust_field_rtx_def): Skip fields marked by chain_next.
156         (open_base_files): Delete redundant prototype.
157         (write_enum_defn): New.
158         (output_mangled_typename): Correct abort call.
159         (write_gc_marker_routine_for_structure): Handle chain_next and
160         chain_prev options.
161         (finish_root_table): Don't output redundant \n.
162         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
163         * c-tree.h (union lang_tree_node): Add chain_next option.
164
165         * gengtype.h (NUM_PARAM): New definition.
166         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
167         * gengtype.c (find_param_structure): New.
168         (adjust_field_type): Handle param<n>_is option.
169         (process_gc_options): Detect use_params option.  Update callers.
170         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
171         'use_params' option.
172         (open_base_files): Add splay-tree.h to list of files included.
173         (output_mangled_typename): New.
174         (write_gc_structure_fields): Update 'param' parameter to support
175         multiple parameters.  Change name mangling.  Allow parameterized
176         fields to have an apparent scalar type.  Handle param<n>_is options,
177         use_param option.
178         (write_gc_marker_routine_for_structure): Update for change to name
179         mangling.  Better guess the output file for parameterized types.
180         (write_gc_types): Update for change to name mangling.
181         (write_gc_root): Update for change to name mangling.  Handle (ignore)
182         param<n>_is options.
183         * doc/gty.texi (GTY Options): Add description of param<n>_is
184         options, use_params option.
185         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
186         * gengtype-lex.l: Produce token for param<n>_is.
187         * gengtype-yacc.y: Parse param<n>_is.
188
189         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
190
191         * rtl.c: Update comment describing rtx_format.
192         * rtl.h (union rtunion): Separate definition and typedef.
193         (struct rtx_def): Use gengtype to mark.
194         * Makefile.in (gengtype.o): Also depend on rtl.def.
195         * ggc.h (ggc_mark_rtx_children): Delete prototype.
196         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
197         * ggc-common.c (ggc_mark_rtx_children): Delete.
198         (ggc_mark_rtx_children_1): Delete.
199         (gt_ggc_m_rtx_def): Delete.
200         * gengtype.c (adjust_field_rtx_def): New.
201         (adjust_field_type): Call adjust_field_rtx_def.
202         (write_gc_structure_fields): Add 'default' case to switch if none
203         is specified; remove unused code.
204
205         * tree.h (struct tree_exp): Update for change to meaning
206         of special.
207         * gengtype.c (adjust_field_tree_exp): New function.
208         (adjust_field_type): Handle `tree_exp' special here.
209         (write_gc_structure_fields): Don't handle `tree_exp' special here.
210         Handle new `dot' option.
211
212         * gengtype.h: Make `info' a pointer-to-const.
213         * gengtype-yacc.y (yacc_ids): Use xasprintf.
214
215         * gengtype.c (write_gc_structure_fields): Remove implementation
216         of `always' option, add `default' option.
217         * doc/gty.texi (GTY Options): Remove documentation of `always',
218         add `default'.
219
220 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
221
222         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
223
224 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
225
226         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
227
228         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
229         instead of the *-protos.h file directly.
230         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
231         * darwin.c (machopic_output_stub): Move prototype ...
232         * darwin-protos.h (machopic_output_stub): ... here.
233         * rs6000-protos.h (machopic_output_stub): Don't declare.
234
235 2002-09-16  Richard Henderson  <rth@redhat.com>
236
237         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
238
239 2002-09-16  Richard Henderson  <rth@redhat.com>
240
241         * real.c, real.h: Rewrite from scratch.
242
243         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
244         (paranoia): New target.
245         * builtins.c (fold_builtin_inf): Use new real.h interface.
246         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
247         * c-lex.c (interpret_float): Likewise.
248         * emit-rtl.c (gen_lowpart_common): Likewise.
249         * optabs.c (expand_float): Use real_2expN.
250         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
251         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
252         (FLOAT_WORDS_BIG_ENDIAN): New.
253         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
254         directly to REAL_VALUE_NEGATIVE.
255         * loop.c (canonicalize_condition): Likewise.
256         * simplify-rtx.c: Include tree.h.
257         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
258         with floating-point result modes.
259         * toplev.c (backend_init): Call init_real_once.
260
261         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
262         * tree.c (build_real): Likewise.
263         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
264         float_values, inited_float_values, check_float_value): Remove.
265         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
266         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
267         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
268         (VAX_HALFWORD_ORDER): Remove.
269
270 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
271
272         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
273         (s390_load_address): ... this new function.
274         (s390_decompose_address): Allow the argument pointer and all
275         virtual registers as 'pointer' registers.
276         (s390_expand_plus_operand): Use s390_load_address.
277         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
278         ("force_la_31"): New insn pattern.
279         config/s390/s390-protos.h (legitimize_la_operand): Remove.
280         (s390_load_address): Add prototype.
281
282         * config/s390/s390.c: Include "optabs.h".
283         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
284         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr, 
285         s390_expand_cmpstr): Add prototypes.
286         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
287         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
288         for operands 0 and 1 to "memory_operand".  Add type attribute.
289         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
290         for operands 0 and 1 to "memory_operand".  Add type attribute.
291         ("movstrdi_long", "movstrsi_long"): Remove.
292         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
293         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
294         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
295         ("clrstrsico"): Remove, replace by ...
296         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
297         ("clrstrsi_64"): Rename to "clrstr_long_64".
298         ("clrstrsi_31"): Rename to "clrstr_long_31".
299         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
300         ("cmpstr_const"): Remove, replace by ...
301         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
302         ("cmpstr_64"): Rename to "cmpstr_long_64".
303         ("cmpstr_31"): Rename to "cmpstr_long_31".
304
305 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
306
307         * ABOUT-NLS: Follow spelling conventions.
308         * ChangeLog: Likewise.
309         * ChangeLog.1: Likewise.
310         * ChangeLog.2: Likewise.
311         * ChangeLog.3: Likewise.
312         * ChangeLog.4: Likewise.
313         * ChangeLog.5: Likewise.
314         * ChangeLog.6: Likewise.
315         * FSFChangeLog.10: Likewise.
316         * FSFChangeLog.11: Likewise.
317         * c-common.c: Likewise.
318         * c-lex.c: Likewise.
319         * c-objc-common.c: Likewise.
320         * cppexp.c: Likewise.
321         * cppinit.c: Likewise.
322         * cpplex.c: Likewise.
323         * doloop.c: Likewise.
324         * flow.c: Likewise.
325         * function.c: Likewise.
326         * integrate.c: Likewise.
327         * loop.c: Likewise.
328         * reg-stack.c: Likewise.
329         * reload.h: Likewise.
330         * ssa.c: Likewise.
331
332 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
333
334         * ChangeLog: Follow spelling conventions.
335         * ChangeLog.0: Likewise.
336         * ChangeLog.1: Likewise.
337         * ChangeLog.2: Likewise.
338         * ChangeLog.4: Likewise.
339         * ChangeLog.6: Likewise.
340         * config.gcc: Likewise.
341         * dwarfout.c: Likewise.
342         * reload1.c: Likewise.
343         * simplify-rtx.c: Likewise.
344         * unwind-sjlj.c: Likewise.
345         * config/avr/avr.h: Likewise.
346         * config/d30v/d30v.h: Likewise.
347         * config/frv/frv.c: Likewise.
348         * config/frv/frv.h: Likewise.
349         * config/ip2k/ip2k.h: Likewise.
350         * config/m88k/m88k-move.sh: Likewise.
351         * config/stormy16/stormy16.c: Likewise.
352         * config/stormy16/stormy16.h: Likewise.
353         * doc/extend.texi: Likewise.
354         * doc/interface.texi: Likewise.
355         * doc/invoke.texi: Likewise.
356         * doc/md.texi: Likewise.
357         * doc/rtl.texi: Likewise.
358         * doc/tm.texi: Likewise.
359         * doc/trouble.texi: Likewise.
360         * ginclude/float.h: Likewise.
361         * treelang/treelang.texi: Likewise.
362
363 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
364
365         * i386-protos.h (i386_pe_dllexport_name_p,
366         i386_pe_dllimport_name_p, i386_pe_unique_section,
367         i386_pe_declare_function_type, i386_pe_record_external_function,
368         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
369         prototype.
370         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
371         * i386/t-interix (winnt.o): Likewise.
372
373         * v850-protos.h (v850_output_addr_const_extra): Prototype.
374
375 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
376
377         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
378         MIPS ABI CPP macros.
379         (TARGET_CPU_CPP_BUILTINS): Redefine.
380         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
381         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
382
383 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
384
385         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
386
387 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
388
389         * ChangeLog: Follow spelling conventions.
390         * ChangeLog.0: Likewise.
391         * ChangeLog.1: Likewise.
392         * ChangeLog.2: Likewise.
393         * ChangeLog.3: Likewise.
394         * ChangeLog.4: Likewise.
395         * ChangeLog.5: Likewise.
396         * ChangeLog.6: Likewise.
397         * FSFChangeLog.10: Likewise.
398         * FSFChangeLog.11: Likewise.
399         * c-common.c: Likewise.
400         * c-common.h: Likewise.
401         * c-format.c: Likewise.
402         * c-opts.c: Likewise.
403         * cpplib.c: Likewise.
404         * langhooks.h: Likewise.
405         * real.c: Likewise.
406         * reg-stack.c: Likewise.
407         * toplev.c: Likewise.
408         * config/arm/arm.c: Likewise.
409         * config/arm/arm.md: Likewise.
410         * config/arm/linux-gas.h: Likewise.
411         * config/arm/netbsd.h: Likewise.
412         * config/c4x/c4x.c: Likewise.
413         * config/c4x/c4x.h: Likewise.
414         * config/c4x/c4x.md: Likewise.
415         * config/c4x/libgcc.S: Likewise.
416         * config/fr30/fr30.md: Likewise.
417         * config/frv/frv.md: Likewise.
418         * config/ia64/ia64.md: Likewise.
419         * config/mips/mips.h: Likewise.
420         * config/mn10300/mn10300.c: Likewise.
421         * config/stormy16/stormy16.c: Likewise.
422         * config/v850/v850.md: Likewise.
423         * doc/extend.texi: Likewise.
424         * doc/invoke.texi: Likewise.
425         * doc/md.texi: Likewise.
426
427 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
428
429         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
430         library if -pthread is specified.
431
432 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
433
434         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
435         for --enable-threads=yes and --enable-threads=posix.
436
437 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
438
439         * config/sparc/cypress.md: Replace Sparc with SPARC.
440         * config/sparc/freebsd.h: Likewise.
441         * config/sparc/gmon-sol2.c: Likewise.
442         * config/sparc/hypersparc.md: Likewise.
443         * config/sparc/lb1spc.asm: Likewise.
444         * config/sparc/lb1spl.asm: Likewise.
445         * config/sparc/linux.h: Likewise.
446         * config/sparc/linux64.h: Likewise.
447         * config/sparc/lynx.h: Likewise.
448         * config/sparc/sol2.h: Likewise.
449         * config/sparc/sparc-modes.def: Likewise.
450         * config/sparc/sparc.c: Likewise.
451         * config/sparc/sparc.h: Likewise.
452         * config/sparc/sparc.md: Likewise.
453         * config/sparc/sparclet.md: Likewise.
454         * config/sparc/supersparc.md: Likewise.
455         * config/sparc/sysv4.h: Likewise.
456         * config/sparc/vxsim.h: Likewise.
457         * config/sparc/vxsparc64.h: Likewise.
458
459 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
460
461         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
462
463 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
464
465         * ChangeLog: Follow spelling conventions.
466         * ChangeLog.0: Likewise.
467         * ChangeLog.2: Likewise.
468         * ChangeLog.3: Likewise.
469         * ChangeLog.4: Likewise.
470         * ChangeLog.5: Likewise.
471         * ChangeLog.6: Likewise.
472         * cppfiles.c: Likewise.
473         * cppinit.c: Likewise.
474         * cpplib.h: Likewise.
475         * cse.c: Likewise.
476         * debug.h: Likewise.
477         * df.c: Likewise.
478         * dominance.c: Likewise.
479         * hashtable.c: Likewise.
480         * hashtable.h: Likewise.
481         * loop.c: Likewise.
482         * config/arm/README-interworking: Likewise.
483         * config/arm/arm.c: Likewise.
484         * config/arm/arm.h: Likewise.
485         * config/arm/arm.md: Likewise.
486         * config/dsp16xx/dsp16xx.h: Likewise.
487         * config/frv/frv.c: Likewise.
488         * config/frv/frv.h: Likewise.
489         * config/ip2k/ip2k.h: Likewise.
490         * config/rs6000/rs6000.c: Likewise.
491         * config/stormy16/stormy-abi: Likewise.
492         * config/stormy16/stormy16.h: Likewise.
493         * config/v850/v850.c: Likewise.
494
495 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
496
497         * loop.c: Fix a comment typo.
498
499 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
500
501         * config/fr30/fr30.h: Fix comment typos.
502         * config/frv/frv.c: Likewise.
503         * config/i386/xmmintrin.h: Likewise.
504         * config/mips/mips.c: Likewise.
505         * config/sh/sh.c: Likewise.
506
507 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
508
509         * haifa-sched.c: Follow spelling conventions.
510         * regclass.c: Likewise.
511         * regrename.c: Likewise.
512         * config/fp-bit.c: Likewise.
513         * config/frv/frv.h: Likewise.
514         * config/m88k/m88k.c: Likewise.
515         * config/mcore/mcore.c: Likewise.
516         * config/rs6000/darwin.h: Likewise.
517         * config/rs6000/gnu.h: Likewise.
518         * config/rs6000/linux.h: Likewise.
519         * config/rs6000/linux64.h: Likewise.
520         * config/rs6000/rs6000.c: Likewise.
521         * config/rs6000/rs6000.h: Likewise.
522         * config/sh/sh.c: Likewise.
523         * config/sparc/sparc.c: Likewise.
524         * config/sparc/ultra1_2.md: Likewise.
525
526 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
527
528         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
529         memory operand when source is 0 (K constraint).
530         ("movsi_internal"): Likewise.
531         ("movdf_internal"): Likewise.
532         ("movsf_internal"): Likewise.
533
534 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
535
536         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
537         targetm.binds_local_p to set SYMBOL_REF_FLAG.
538         (rs6000_xcoff_encode_section_info): Likewise.
539         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
540
541 2002-09-10  Theodore A. Roth  <troth@verinet.com>
542
543         * gcc/config/avr/avr.h: Set default options for C++ for avr.
544
545 2002-09-13  Richard Henderson  <rth@redhat.com>
546
547         * Makefile.in (toplev.o): Depend on real.h.
548         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
549
550 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
551
552         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
553         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
554         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
555
556 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
557
558         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
559
560 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
561
562         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
563         ia64*-*-linux*): Set extra_parts.
564         * config/ia64/t-aix (EXTRA_PARTS): Remove.
565         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
566
567 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
568
569         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
570         * config/h8300/h8300.c: Likewise.
571         * config/h8300/h8300.h: Likewise.
572         * config/h8300/h8300.md: Likewise.
573         * doc/invoke.texi: Likewise.
574
575 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
576
577         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
578
579 2002-09-13  Matt Austern  <austern@apple.com>
580
581         * cp/cp-tree.h, cp/tree.c: New function non_cast_lvalue_p.
582         * cp/call.c: Change call-by-const-reference mechanism to use
583         non_cast_lvalue_p when deciding whether the create a temporary.
584         We need a temporary when passing, e.g. (long) x by const ref.
585         * testsuite/g++.dg/other/constref[12].C: New, regression tests for
586         passing a cast expression to a function by const reference.
587         
588 2002-09-13  Richard Henderson  <rth@redhat.com>
589
590         * config/alpha/alpha.md (attr type): Add callpal.
591         (imb, trap, load_tp, set_tp): Use it.
592         * config/alpha/ev4.md (ev4_callpal): New.
593         * config/alpha/ev5.md (ev5_callpal): New.
594         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
595         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
596         (alphaev5_insn_pipe): Likewise.
597
598 2002-09-13  Andreas Jaeger  <aj@suse.de>
599
600         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
601
602 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
603
604         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
605         LIB2ADDEH): New, set to NULL.
606         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
607
608 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
609
610         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
611         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
612         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
613         Add declarations.
614         (_U_Qfneg): Remove.
615
616 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
617
618         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
619         for H8/300, H8S aa:8 mode.
620         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
621         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
622         for H8/300 aa:8 mode.
623
624 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
625
626         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
627         insns.
628
629 2002-09-12  Richard Henderson  <rth@redhat.com>
630
631         * Makefile.in (HOST_PRINT): Use print-rtl1.o
632         (print-rtl.o): Don't define GENERATOR_FILE.
633         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
634         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
635         unless GENERATOR_FILE.
636
637 2002-09-12  Stan Shebs  <shebs@apple.com>
638
639         * config/darwin.h (USER_LABEL_PREFIX): Define here...
640         * config/i386/darwin.h: ... instead of here.
641
642         * target.h (struct gcc_target): New field
643         terminate_dw2_eh_frame_info.
644         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
645         (TARGET_INITIALIZER): Add it.
646         * dwarf2out.c (output_call_frame_info): Use target hook.
647         * dwarf2asm.c (dw2_asm_output_delta): Use macro
648         ASM_OUTPUT_DWARF_DELTA if defined.
649         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
650         (ASM_OUTPUT_DWARF_DELTA): Ditto.
651         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
652         (ASM_OUTPUT_DWARF_PCREL): Ditto.
653         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
654         (powerpc-*-darwin*): Ditto.
655         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
656         to work correctly for Darwin.
657         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
658         (STARTFILE_SPEC): Add crtbegin.o.
659         (ENDFILE_SPEC): Define.
660         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
661         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
662         (ASM_OUTPUT_DWARF_DELTA): Define.
663         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
664         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
665
666 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
667
668         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
669         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
670         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
671
672 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
673
674         * toplev.c: Move default definition of USER_LABEL_PREFIX...
675         * defaults.h: ... here.
676
677 2002-09-12  Richard Henderson  <rth@redhat.com>
678
679         * vax.c: Include tree.h earlier.
680
681 2002-09-12  Stan Shebs  <shebs@apple.com>
682
683         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
684         (machopic_operand_p): Ditto.
685
686 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
687
688         * config/arm/arm.c (arm_compute_initial_elimination_offset):
689         Fix a comment typo.
690
691 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
692
693         * toplev.c (do_abort): Fix a comment typo.
694
695 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
696
697         * cselib.c: Fix comment formatting.
698         * gengtype.c: Likewise.
699
700 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
701
702         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
703         (udivmodhi4): Likewise.
704
705 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
706             Roger Sayle  <roger@eyesopen.com>
707
708         * i386.c (any_fp_register_operand, fp_register_operand,
709         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
710         New predicate functions.
711         * i386-protos.h:  Add their prototypes.
712         * i386.h: Add them to PREDICATE_CODES.
713         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
714         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
715         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
716         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
717         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
718         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
719         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
720         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
721         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
722         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
723         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
724         Use these new predicates to simplify and correct the use of
725         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
726
727 2002-09-12  Jason Merrill  <jason@redhat.com>
728
729         * diagnostic.c (output_add_identifier): New fn.
730         * diagnostic.h: Declare it.
731
732         * calls.c (store_one_arg): Use size_in_bytes to determine the
733         amount of space to push.
734
735 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
736
737         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
738
739 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
740
741         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
742         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
743         (s390_select_ccmode): Likewise.
744         (s390_branch_condition_mask): Likewise.
745         (optimization_options): Do not set flag_branch_on_count.
746         (s390_split_branches): Handle doloop branches.
747         (s390_chunkify_pool): Likewise.
748         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
749         ("doloop_end"): New expander.
750         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
751         associated splitters): New.
752
753 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
754
755         * fold-const.c (make_range): Only narrow to signed range if
756         the signed range is smaller than the unsigned range.
757
758 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
759
760         * emit-rtl.c (set_mem_size): New function.
761         * expr.h (set_mem_size): Declare.
762         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
763         (expand_block_move): Instead, use adjust_address and
764         replace_equiv_address to generate proper aliasing info.
765         Move common code out of conditionals.  Localize vars.
766
767 2002-09-09  Eric Botcazou  ebotcazou@libertysurf.fr
768
769         * optabs.c (expand_binop): Minor cleanup.
770         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
771
772 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
773
774         * print-tree.c (print_node): Print the restrict qualifier.
775
776 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
777
778         * doc/install.texi: Fix typos.
779
780 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
781
782         * Makefile.in: Remove all references to s-under and underscore.c.
783         * collect2.c, tlink.c: Change all uses of prepends_underscore
784         to look directly at USER_LABEL_PREFIX.
785
786 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
787
788         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
789         alignment to csect.
790         (rs6000_xcoff_unique_section): Only set section name for public
791         data.
792         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
793         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
794         duplicate definition.
795
796 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
797
798         * pa.md (extzv): Check predicates before emitting extzv_32.
799         (insv): Likewise.
800
801 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
802
803         * config/s390/s390.h (MOVE_MAX): Define to correct value.
804         (MAX_MOVE_MAX): Define.
805         (MOVE_BY_PIECES_P): Define.
806         (CLEAR_BY_PIECES_P): Define.
807
808 2002-09-10  Denis Chertykov  <denisc@overta.ru>
809
810         * config/avr/avr.md (movstrhi): Use right operands for conversion.
811
812 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
813
814         PR c/7873
815         * arm.md (insv): Use reg_or_int_operand for operand[3].
816
817 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
818
819         * rs6000.c (rs6000_assemble_visibility): Protect declaration
820         inside macro.  Correct function definition typo.
821         (rs6000_xcoff_section_type_flags): New function.
822         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
823         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
824         with appropriate PIC test.
825         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
826         determine readonly.
827         (rs6000_binds_local_p): Combine PIC flags.
828         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
829         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
830
831 2002-09-09  Per Bothner  <per@bothner.com>
832
833         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
834         characters, and only print TREE_STRING_LENGTH chars.
835
836 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
837
838         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
839         (ASM_FILE_END) New.
840         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
841         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
842         * config/ia64/ia64.c (ia64_asm_output_external): Create list
843         of external functions if TARGET_HPUX_LD is true.
844         (ia64_hpux_add_extern_decl): New, routine to put names on
845         list of external functions.
846         (ia64_hpux_asm_file_end): Put out declarations for external
847         functions if and only if they are used.
848
849 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
850
851         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
852         on TARGET_64BIT before pic register restore.
853
854 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
855
856         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
857         (TARGET_HAVE_TLS): New description.
858
859 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
860
861         * doc/extend.texi (Statement Exprs): Fix broken link.
862
863 2002-09-09  Denis Chertykov  <denisc@overta.ru>
864
865         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
866         right conversion of operands[1].
867
868 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
869
870         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
871         commutative.  Use "nonimmediate_operand" instead of "register_operand"
872         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
873
874         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
875         as commutative.
876
877         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
878         mark as commutative.  Use "nonimmediate_operand" instead of
879         "register_operand" as predicate for operand 1.
880
881         ("movstrictsi"): Fix typo in insn name.
882
883 2002-09-09  Jan Hubicka  <jh@suse.cz>
884
885         * i386.c (index_register_operand): New.
886         * i386.h (predicate_codes): Add new predicate.
887         * i386.md (lea_general_*): Use index_regsiter_operand
888         (ashift to lea splitter): Do not produce invalid leas
889         (ashift to mov+ashift split): New.
890
891 2002-09-09  Nick Clifton  <nickc@redhat.com>
892
893         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
894         Fix folding marks.
895
896 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
897             J"orn Rennecke <joern.rennecke@superh.com>
898
899         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
900
901 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
902
903         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
904         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
905         attributes.
906
907 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
908
909         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
910
911 2002-09-08  Richard Henderson  <rth@redhat.com>
912
913         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
914         (DW_OP_GNU_push_tls_address): New.
915         (DW_OP_lo_user): Fix.
916         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
917         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
918         (size_of_loc_descr): Likewise.
919         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
920         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
921         (loc_descriptor_from_tree): Handle TLS variables.
922         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
923         (add_location_or_const_value_attribute): ... not here.  Defer
924         to loc_descriptor_from_tree for TLS variables.
925
926         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
927         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
928         * config/i386/i386-protos.h: Update.
929
930 2002-09-08  Roger Sayle  <roger@eyesopen.com>
931
932         PR optimization/6405
933         * unroll.c (loop_iterations): last_loop_insn should be the previous
934         non-note instruction before loop->end.
935         * loop.c (strength_reduce): The conditional jump is the last
936         non-note instruction before loop->end (as above).
937
938 2002-09-08  Roger Sayle  <roger@eyesopen.com>
939
940         * combine.c (try_combine): Handle the case that undobuf.other_insn
941         has been turned into a return or unconditional jump, by inserting
942         a BARRIER if necessary.
943         (simplify_set):  Test if a condition code setter has a constant
944         comparison at compile time, if so convert this insn to a no-op move
945         and update/simplify the condition code user (undobuf.other_insn).
946
947 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
948
949         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
950         (CLEAR_INSN_CACHE): Define.
951
952 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
953
954         * basic-block.h: Fix comment formatting.
955         * c-common.c: Likewise.
956         * c-common.h: Likewise.
957         * c-lex.c: Likewise.
958         * c-pretty-print.c: Likewise.
959         * cfglayout.c: Likewise.
960         * cfgloop.c: Likewise.
961         * defaults.h: Likewise.
962         * et-forest.c: Likewise.
963         * explow.c: Likewise.
964         * function.h: Likewise.
965         * gcov.c: Likewise.
966         * genattrtab.c: Likewise.
967         * gengtype.c: Likewise.
968         * ifcvt.c: Likewise.
969         * libgcc2.c: Likewise.
970         * loop.c: Likewise.
971         * profile.c: Likewise.
972         * ra-build.c: Likewise.
973         * real.c: Likewise.
974         * rtl.h: Likewise.
975         * tracer.c: Likewise.
976         * tree-inline.c: Likewise.
977         * varasm.c: Likewise.
978
979 2002-09-08  Jan Hubicka  <jh@suse.cz>
980
981         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
982         handling.
983
984         * loop.c (loop_gics_reduce):  Emit addition after.
985
986 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
987
988         * varasm.c (default_assemble_visibility): Rename from
989         assemble_visibility.
990         * output.h: Here too.
991         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
992         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
993
994 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
995
996         * reload.c (find_reloads <p constraint>): Pass operand_mode to
997         find_reloads_address.
998
999 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
1000
1001         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
1002         (anonymous pattern): Likewise.
1003
1004 2002-09-07  Scott Snyder  <snyder@fnal.gov>
1005
1006         PR target/7374
1007         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
1008
1009 2002-09-07  Roger Sayle  <roger@eyesopen.com>
1010
1011         * basic-block.h (struct loop): Remove unused cont_dominator field.
1012
1013 2002-09-07  Igor Shevlyakov <igor@microunity.com>
1014
1015         * varasm.c (decode_rtx_const): Don't check undefined field for
1016         CONST_VECTOR.
1017
1018 2002-09-07  Glen Nakamura  <glen@imodulo.com>
1019
1020         PR opt/7814
1021         * sched-deps.c (sched_analyze_insn): Make sure to add insn
1022         to reg_last->sets after flushing the dependency lists to guarantee
1023         that subsequent clobbers will be dependent on it.
1024
1025 2002-09-07  Igor Shevlyakov <igor@microunity.com>
1026
1027         * combine.c (simplify_shift_const): Calculate rotate count
1028         correctly for vector operands.
1029
1030 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
1031
1032         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
1033         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
1034         tree_expr_nonnegative_p.
1035         (build_conditional_expr): Likewise.
1036         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
1037
1038 2002-09-07  Richard Henderson  <rth@redhat.com>
1039
1040         * builtins.def (inf, inff, infl): Mark const.
1041         (huge_val, huge_valf, huge_vall): Likewise.
1042         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
1043
1044         * real.c (ereal_inf): Clear E before use.
1045
1046 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
1047
1048         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
1049         an expander and an anonymous pattern.  Zero out the upper half
1050         of the dividend in the expander.
1051         (udivmodqi4): Likewise.
1052
1053 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
1054
1055         * config/h8300/h8300.c: Fix formatting.
1056         * config/h8300/h8300.h: Likewise.
1057         * config/h8300/h8300.md: Likewise.
1058
1059 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1060
1061         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
1062         information.
1063
1064 2002-09-07  Graham Stott  <graham.stott@btinternet.con>
1065
1066        * rtlanal.c (dead_or_set_regno_p): Fix typo.
1067
1068 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
1069
1070         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1071
1072         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
1073         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
1074         (TARGET_ASM_OUT): Add the above here.
1075         * target.h (struct gcc_target): Add "visibility" field.
1076         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
1077         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
1078         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
1079         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
1080
1081 2002-09-06  Ziemowit Laski <zlaski@apple.com>
1082
1083         * c-lang.c (objc_is_id): New stub.
1084         * c-tree.h (objc_is_id): New forward declaration.
1085         * c-typeck.c (build_c_cast): Do not strip protocol
1086         qualifiers from 'id' type.
1087         * objc/objc-act.c (objc_comptypes): Correct handling
1088         of protocol qualifiers.
1089         (objc_is_id): New.
1090
1091 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
1092
1093         * pentium.md (pentium-firstvboth): Fix typo.
1094
1095 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
1096
1097         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
1098         (enum shift_type, enum h8_cpu): Likewise.
1099         (INL, ROT, LOP, SPC macros): Likewise.
1100         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
1101         const designator.
1102         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
1103         space efficient algorithms when optimize for codesize.
1104
1105 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
1106
1107         Fix PR/1727 and long-standing failing testcase
1108         objc/formal-protocol-6.m.
1109         * objc-act.c (build_protocol_expr): If compiling for the GNU
1110         runtime, create a list of Protocol statically allocated instances
1111         if it doesn't exist, then add the Protocol object to this same
1112         list.
1113         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
1114         instead of TREE_CHAIN.
1115
1116 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
1117
1118         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
1119         10k.  Fixed category dumping - print out category names with the
1120         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
1121         interface.
1122         (finish_objc): Fixed the -gen-decls option.  It was printing out
1123         only the last class.  Dump an interface declaration of all classes
1124         being compiled instead.
1125
1126 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
1127
1128         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
1129         prototype.
1130         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
1131         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
1132         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
1133         rather than GEN_INT.
1134         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
1135         (return_addr_mask, *check_arch2): New.
1136
1137 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
1138
1139         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
1140         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
1141         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
1142         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
1143         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
1144         "adddf3", "*adddf3", "*adddf3_ibm",
1145         "addsf3", "*addsf3", "*addsf3_ibm",
1146         "muldi3", "mulsi3", "mulsidi3",
1147         "muldf3", "*muldf3", "*muldf3_ibm",
1148         "mulsf3", "*mulsf3", "*mulsf3_ibm",
1149         "*anddi3_cc", "*anddi3_cconly", "anddi3",
1150         "*andsi3_cc", "*andsi3_cconly", "andsi3",
1151         "*iordi3_cc", "*iordi3_cconly", "iordi3",
1152         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
1153         "*xordi3_cc", "*xordi3_cconly", "xordi3",
1154         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
1155         instead of "register_operand" as predicate for "%0" operand.
1156
1157 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
1158
1159         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
1160         unconditionally when gcc_cv_as_flags64 checks are gone.
1161         * configure: Rebuilt.
1162
1163 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
1164
1165         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
1166         2002-07-26 change.  Comment.
1167
1168 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1169
1170         * frv.c (frv_unique_section, frv_select_section,
1171         frv_select_rtx_section): Delete.
1172         (frv_in_small_data_p): New.
1173         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
1174         TARGET_ASM_SELECT_RTX_SECTION): Delete.
1175         (TARGET_IN_SMALL_DATA_P): Define.
1176
1177 2002-09-05  Dale Johannesen  <dalej@apple.com>
1178
1179         * reload1.c (reload):  Retain only those memory clobbers
1180         added for variable-array handling.
1181
1182 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
1183
1184         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
1185         return-in-memory rules.
1186         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
1187
1188 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
1189
1190         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
1191         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
1192
1193 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
1194
1195         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
1196         not a compile-time constant for the non-IBM case.
1197         * config/arm/arm-protos.h (arm_float_words_big_endian): New
1198         prototype.
1199         * config/arm/arm.c (arm_float_words_big_endian): New function.
1200         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
1201         if TARGET_VFP  and not TARGET_HARD_FLOAT.
1202         (ARM_FLAG_VFP, TARGET_VFP): Define.
1203         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
1204
1205 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
1206
1207         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
1208         URLs.  Fix AIX wording.
1209
1210 2002-09-05  Stan Shebs  <shebs@apple.com>
1211
1212         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
1213         -fPIC equivalent on Darwin.
1214
1215 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
1216
1217         * sh.c (sh_expand_builtin): Return early if encountering an
1218         error_mark for a type.
1219
1220 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
1221
1222         * config/s390/s390.c (s390_expand_plus_operand): Do not require
1223         double-word scratch register.
1224         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
1225
1226         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
1227         "*cli"): Replace s_operand by memory_operand.
1228         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
1229
1230 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
1231
1232         * config/h8300/h8300.c (asm_file_start): Add a missing
1233         semicolon.
1234
1235 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
1236
1237         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
1238         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
1239         (ix86_output_addr_diff_elt) Likewise.
1240         (x86_output_mi_thunk) Likewise.
1241         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
1242
1243 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1244
1245         * frv.c (frv_encode_section_info): Fix error in last change.
1246
1247 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
1248
1249         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
1250         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
1251         (TARGET_BINDS_LOCAL_P): Define.
1252         (rs6000_override_options): Save original flag_pic value.
1253         (rs6000_elf_select_section): Call default_elf_select_section_1.
1254         (rs6000_elf_unique_section): Call default_unique_section_1.
1255         (rs6000_elf_in_small_data_p): New function.
1256         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
1257         (rs6000_xcoff_select_section): Update based on defaults.
1258         (rs6000_xcoff_unique_section): Set to basic name if not common.
1259         (rs6000_binds_local_p): New function.
1260         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
1261         targetm.have_srodata_section if SDATA_EABI.
1262         (TARGET_IN_SMALL_DATA_P): Define.
1263
1264 2002-09-04  Dale Johannesen  <dalej@apple.com>
1265
1266         * varasm.c (struct rtx_const, decode_rtx_const):
1267         Make veclo and vechi fields not share storage.
1268
1269 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
1270
1271         * loop.c (scan_loop): Don't mark separate insns out of a libcall
1272         for moving.
1273         (move_movables): Abort if we see the first insn of a libcall.
1274
1275 2002-09-04  Richard Henderson  <rth@redhat.com>
1276
1277         * builtin-types.def (BT_FN_FLOAT): New.
1278         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
1279         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
1280         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
1281         * builtins.c (fold_builtin_inf): New.
1282         (fold_builtin): Call it.
1283         * real.c (ereal_inf): New.
1284         * real.h: Declare it.
1285         * doc/extend.texi: Document new builtins.
1286
1287 2002-09-04  Richard Henderson  <rth@redhat.com>
1288
1289         * cse.c (cse_insn): Avoid subreg games if the equivalence
1290         is already in the proper mode.
1291
1292 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
1293
1294         PR c/7102
1295         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
1296
1297 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1298
1299         * pa.md (setccfp0, setccfp1): New patterns.
1300
1301 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1302
1303         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
1304         frv_select_section, frv_select_rtx_section,
1305         frv_encode_section_info, frv_unique_section): Delete.
1306         * frv.c: Update for target hooks.
1307         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
1308         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
1309         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
1310
1311 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1312
1313         * ip2k-protos.h (function_prologue, function_epilogue,
1314         encode_section_info): Update to match target hook specification.
1315         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
1316         (function_prologue, function_epilogue, encode_section_info):
1317         Update to match target hook specification.
1318         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
1319         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
1320         (NOTICE_UPDATE_CC): Cast to void.
1321         * ip2k.md: Add defaults in switch statements.
1322
1323 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
1324
1325         * doc/trouble.texi (Interoperation): Update information about C++ ABI
1326         issues.
1327
1328 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
1329
1330         * config/sparc/t-netbsd64: Disable multilib for now.
1331
1332 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
1333
1334         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
1335         * target.h (gcc_target): Add have_srodata_section member.
1336         * varasm.c (section_category): Add SECCAT_SRODATA.
1337         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
1338         READONLY_SDATA_SECTION defined.
1339         (decl_readonly_section_1): True for SECCAT_SRODATA also.
1340         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
1341         (default_unique_section_1): Likewise.
1342
1343 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1344
1345         * expr.c (emit_group_load): Revise to allow splitting TCmode source
1346         into DImode pieces.
1347
1348         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
1349         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
1350         for floating-point register class.
1351         * pa.c (function_arg): Fix handling of modes wider than one word for
1352         TARGET_64BIT.
1353
1354 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
1355
1356         * combine.c (make_compound_operation): Don't generate zero / sign
1357         extensions in floating point modes.
1358
1359 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
1360
1361         * doc/c-tree.texi: Fix overfull hboxes.
1362         * doc/cppopts.texi: Ditto.
1363         * doc/extend.texi: Ditto.
1364         * doc/gty.texi: Ditto.
1365         * doc/invoke.texi: Ditto.
1366         * doc/makefile.texi: Ditto.
1367         * doc/rtl.texi: Ditto.
1368         * doc/standards.texi: Ditto.
1369         * doc/tm.texi: Ditto.
1370
1371 2002-09-04  Richard Henderson  <rth@redhat.com>
1372
1373         * c-common.c (builtin_define_with_hex_fp_value): New.
1374         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
1375
1376 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
1377
1378         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
1379         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
1380         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
1381         Warn that these options can break ABI compatibility.
1382
1383 2002-09-04  Richard Henderson  <rth@redhat.com>
1384
1385         * real.c (ereal_to_decimal): Add digits parameter.
1386         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
1387         * c-pretty-print.c (pp_c_real_literal): Update call.
1388         * print-rtl.c (print_rtx): Likewise.
1389         * print-tree.c (print_node_brief, print_node): Likewise.
1390         * sched-vis.c (print_value): Likewise.
1391         * config/arc/arc.c (arc_print_operand): Likewise.
1392         * config/c4x/c4x.c (c4x_print_operand): Likewise.
1393         * config/i370/i370.h (PRINT_OPERAND): Likewise.
1394         * config/i386/i386.c (print_operand): Likewise.
1395         * config/i960/i960.c (i960_print_operand): Likewise.
1396         * config/ip2k/ip2k.c (asm_output_float): Likewise.
1397         * config/m32r/m32r.c (m32r_print_operand): Likewise.
1398         * config/m68hc11/m68hc11.c (print_operand): Likewise.
1399         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
1400         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
1401         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
1402         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
1403         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
1404         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
1405         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
1406         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
1407         * config/mips/mips.c (print_operand): Likewise.
1408         * config/ns32k/ns32k.c (print_operand): Likewise.
1409         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
1410         * config/vax/vax.h (PRINT_OPERAND): Likewise.
1411         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
1412
1413 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
1414
1415         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
1416         xtensa_multibss_section_type_flags.
1417         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
1418
1419 2002-09-04  Richard Henderson  <rth@redhat.com>
1420
1421         * doc/install-old.texi: Don't mention enquire.
1422         * doc/sourcebuild.texi: Update float.h description.
1423
1424 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
1425
1426         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
1427
1428 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
1429
1430         * varasm.c (default_section_type_flags): Append _1 to name with
1431         shlib parameter.  Use original name to call new function with
1432         implicit flag_pic.
1433         (decl_readonly_section): Likewise.
1434         (default_elf_select_section): Likewise.
1435         (default_unique_section): Likewise.
1436         (default_bind_local_p): Likewise.
1437         (categorize_decl_for_section): Add shlib parameter to use in place
1438         of implicit flag_pic.
1439         * output.h: Declare new functions with _1 and shlib argument.
1440
1441 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
1442
1443         * doc/install.texi: Fix typos, formatting problems, and obvious
1444         overfull/underfull boxes.
1445
1446         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
1447         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
1448         include its file, compat.texi.
1449         * doc/compat.texi: New file with new chapter, Binary Compatibility.
1450
1451 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
1452
1453         Debian BTS Bug #157416
1454         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
1455         * cpplib.c (destringize_and_run): Kludge around getting
1456         tokens from in-progress macros.
1457         (_cpp_do__Pragma): Simplify.
1458
1459 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
1460
1461         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
1462         (CPP_CPU_SPEC): Remove.
1463         (TARGET_CPU_CPP_BUILTINS): New.
1464         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
1465         (CPP_SPEC): Remove.
1466         (TARGET_OS_CPP_BUILTINS): New.
1467         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
1468         (TARGET_OS_CPP_BUILTINS): New.
1469         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
1470         TARGET_OS_CPP_BUILTINS.
1471         (CPP_PREDEFINES): Remove.
1472         (CPLUSPLUS_CPP_SPEC): Remove.
1473         (TARGET_OS_CPP_BUILTINS): New.
1474
1475 2002-09-03  Richard Henderson  <rth@redhat.com>
1476
1477         * Makefile.in (USER_H): Add ginclude/float.h.
1478         (FLOAT_H): Remove.
1479         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
1480         (mostlyclean): Don't remove float.h intermediate files.
1481         (distclean): Don't remove float.h.
1482         * config.gcc: Remove all float_format references.
1483         * configure.in (float_format, float_h_file): Remove.
1484
1485         * c-common.c: Include tree-inline.h.
1486         (builtin_define_with_int_value): New.
1487         (builtin_define_type_precision): Use it.
1488         (builtin_define_float_constants): New.
1489         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
1490         __FLT_EVAL_METHOD__.
1491         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
1492         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
1493         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
1494         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
1495         (TARGET_FLT_EVAL_METHOD): New.
1496
1497         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
1498         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
1499         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
1500         * ginclude/float.h: New.
1501
1502 2002-09-03  Stan Shebs  <shebs@apple.com>
1503
1504         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
1505         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
1506         (PREFERRED_DEBUGGING_TYPE): Ditto.
1507         (ASM_OUTPUT_IDENT): Remove empty definition.
1508
1509 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
1510
1511         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
1512         cxx_target.
1513         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
1514         handling routine for builtin pragma.
1515         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
1516         Registered pragma handling routine.
1517         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
1518         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
1519         If builtin pragma seen for math routine and C89 conformance is
1520         requested use different math function in order to set errno.
1521         * t-ia64 (ia64-c.o): Add new rule for new file.
1522
1523 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
1524
1525         * config/s390/s390.md ("movti"): Add Q->Q alternative.
1526         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
1527         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
1528
1529         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
1530         "*movsf_ss"): Remove.
1531
1532 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1533
1534         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
1535         Delete macros.
1536
1537 2002-09-03   Arati Dikey  <aratid@kpit.com>
1538
1539         * h8300.c (asm_file_start): Corrected optimization comment.
1540
1541 2002-09-03  Stan Shebs  <shebs@apple.com>
1542
1543         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
1544         * c-tree.h (recognize_objc_keyword): Remove decl.
1545         * c-typeck.c (comp_target_types): Update a comment.
1546
1547 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
1548
1549         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
1550         and register validity checks.
1551         (general_s_operand): Adapt to s390_decompose_address interface change.
1552         (q_constraint): Likewise.
1553         (s390_expand_plus_operand): Likewise.
1554         (legitimiate_address_p): Likewise.
1555         (legitimate_la_operand_p): Likewise.
1556         (legitimize_la_operand): Likewise.
1557         (print_operand_address): Likewise.
1558         (print_operand): Likewise.
1559
1560 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
1561
1562         PR objc/5956:
1563         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
1564         was causing the new selector never to match the existing ones
1565         (Patch by Alexander Malmberg <alexander@malmberg.org>).
1566
1567 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
1568
1569         * config/i386/i386.md ("femms"): Add "memory" attr "none".
1570
1571 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
1572
1573         * expr.c (expand_expr): Remove extraneous comment and code.
1574
1575 2002-08-31  Richard Henderson  <rth@redhat.com>
1576
1577         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
1578
1579 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1580
1581         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
1582
1583 2002-08-30  Richard Henderson  <rth@redhat.com>
1584
1585         PR opt/7515
1586         * c-objc-common.c: Include target.h.
1587         (c_cannot_inline_tree_fn): Don't auto-inline functions that
1588         don't bind locally.  Factor setting DECL_UNINLINABLE.
1589         * Makefile.in (c-objc-common.o): Update.
1590
1591 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
1592
1593         * doc/install.texi (Configuration, Building): Fix a typo and
1594         some formatting directives.
1595
1596 2002-08-30  Paul Koning <pkoning@equallogic.com>
1597
1598         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
1599         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
1600         implemented" note.
1601         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
1602         for alphabetic order.
1603         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
1604         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
1605         (VAX_HALFWORD_ORDER): Document.
1606         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
1607         IEEE float format.
1608         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
1609         (ASM_OUTPUT_LABEL_REF): Fix font.
1610         (CASE_VECTOR_SHORTEN_MODE): Ditto.
1611
1612 2002-08-30  Denis Chertykov  <denisc@overta.ru>
1613
1614         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
1615         stuff.
1616         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
1617         CONST_DOUBLE constants.
1618
1619 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
1620
1621         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
1622         related defines to...
1623         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
1624         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
1625         as a no-op.
1626
1627 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
1628
1629         * config/arm/arm.c (arm_asm_output_labelref): New function.
1630         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
1631         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
1632
1633 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
1634
1635         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
1636         memory exhausted" workarounds.
1637
1638 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1639
1640         * diagnostic.c (fancy_abort): Don't repeat "internal error".
1641         * toplev.c (crash_signal): Likewise.
1642
1643 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
1644
1645         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
1646         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
1647         Extended, updated documentation.
1648         (-Wundeclared-selector): Documented.
1649
1650 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
1651
1652         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
1653         the value 1.  Do not undef before defining.
1654         * config/darwin.h: Likewise.
1655         * config/dbx.h: Likewise.
1656         * config/dbxcoff.h: Likewise.
1657         * config/dbxelf.h: Likewise.
1658         * config/elfos.h: Likewise.
1659         * config/interix.h: Likewise.
1660         * config/lynx-ng.h: Likewise.
1661         * config/lynx.h: Likewise.
1662         * config/netware.h: Likewise.
1663         * config/psos.h: Likewise.
1664         * config/svr3.h: Likewise.
1665         * config/alpha/alpha.h: Likewise.
1666         * config/alpha/elf.h: Likewise.
1667         * config/alpha/vms.h: Likewise.
1668         * config/arc/arc.h: Likewise.
1669         * config/arm/aout.h: Likewise.
1670         * config/arm/coff.h: Likewise.
1671         * config/c4x/c4x.h: Likewise.
1672         * config/h8300/h8300.h: Likewise.
1673         * config/i386/cygwin.h: Likewise.
1674         * config/i386/djgpp.h: Likewise.
1675         * config/i386/gas.h: Likewise.
1676         * config/i386/gstabs.h: Likewise.
1677         * config/i386/i386-coff.h: Likewise.
1678         * config/i386/i386-interix.h: Likewise.
1679         * config/i386/sco5.h: Likewise.
1680         * config/i386/svr3dbx.h: Likewise.
1681         * config/i386/sysv3.h: Likewise.
1682         * config/i386/win32.h: Likewise.
1683         * config/i386/x86-64.h: Likewise.
1684         * config/i960/i960.h: Likewise.
1685         * config/ia64/ia64.h: Likewise.
1686         * config/ip2k/ip2k.h: Likewise.
1687         * config/m32r/m32r.h: Likewise.
1688         * config/m68k/3b1.h: Likewise.
1689         * config/m68k/3b1g.h: Likewise.
1690         * config/m68k/ccur-GAS.h: Likewise.
1691         * config/m68k/coff.h: Likewise.
1692         * config/m68k/hp2bsd.h: Likewise.
1693         * config/m68k/hp310g.h: Likewise.
1694         * config/m68k/hp320g.h: Likewise.
1695         * config/m68k/hp3bsd.h: Likewise.
1696         * config/m68k/hp3bsd44.h: Likewise.
1697         * config/m68k/linux-aout.h: Likewise.
1698         * config/m68k/m68k-aout.h: Likewise.
1699         * config/m68k/mot3300.h: Likewise.
1700         * config/m68k/netbsd.h: Likewise.
1701         * config/m68k/openbsd.h: Likewise.
1702         * config/m68k/pbb.h: Likewise.
1703         * config/m68k/plexus.h: Likewise.
1704         * config/m68k/sun2.h: Likewise.
1705         * config/m68k/sun3.h: Likewise.
1706         * config/m68k/tower-as.h: Likewise.
1707         * config/m68k/vxm68k.h: Likewise.
1708         * config/m88k/aout-dbx.h: Likewise.
1709         * config/m88k/m88k-aout.h: Likewise.
1710         * config/mcore/mcore-elf.h: Likewise.
1711         * config/mcore/mcore-pe.h: Likewise.
1712         * config/mips/elf.h: Likewise.
1713         * config/mips/elf64.h: Likewise.
1714         * config/mips/iris5gas.h: Likewise.
1715         * config/mips/iris6.h: Likewise.
1716         * config/mips/mips.h: Likewise.
1717         * config/mips/sni-gas.h: Likewise.
1718         * config/mmix/mmix.h: Likewise.
1719         * config/ns32k/netbsd.h: Likewise.
1720         * config/pa/pa64-hpux.h: Likewise.
1721         * config/romp/romp.h: Likewise.
1722         * config/rs6000/sysv4.h: Likewise.
1723         * config/rs6000/xcoff.h: Likewise.
1724         * config/sh/coff.h: Likewise.
1725         * config/sh/elf.h: Likewise.
1726         * config/sparc/linux64.h: Likewise.
1727         * config/sparc/liteelf.h: Likewise.
1728         * config/sparc/netbsd.h: Likewise.
1729         * config/sparc/openbsd.h: Likewise.
1730         * config/sparc/pbd.h: Likewise.
1731         * config/sparc/sp64-elf.h: Likewise.
1732         * config/sparc/sp86x-elf.h: Likewise.
1733         * config/sparc/sparc.h: Likewise.
1734         * config/vax/vax.h: Likewise.
1735         * config/vax/vaxv.h: Likewise.
1736
1737 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
1738
1739         * h8300.c (shift_alg_hi): Various tweaks to improve performance
1740         of HImode shifts.
1741         (get_shift_alg): Corresponding changes.
1742
1743 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1744
1745         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
1746
1747 2002-08-29  Richard Henderson  <rth@redhat.com>
1748
1749         * expr.h (enum block_op_methods): New.
1750         (emit_block_move): Update prototype.
1751         * expr.c (block_move_libcall_safe_for_call_parm): New.
1752         (emit_block_move_via_loop): New.
1753         (emit_block_move): Use them.  New argument METHOD.
1754         (emit_push_insn): Always respect the given alignment.
1755         (expand_assignment): Update call to emit_block_move.
1756         (store_expr, store_field, expand_expr): Likewise.
1757         * builtins.c (expand_builtin_apply): Likewise.
1758         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
1759         * function.c (expand_function_end): Likewise.
1760         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
1761         * config/sparc/sparc.c (sparc_va_arg): Likewise.
1762         * calls.c (expand_call, emit_library_call_value_1): Likewise.
1763         (save_fixed_argument_area): Use emit_block_move with
1764         BLOCK_OP_CALL_PARM instead of move_by_pieces.
1765         (restore_fixed_argument_area): Likewise.
1766         (store_one_arg): Fix alignment parameter to emit_push_insn.
1767
1768 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1769
1770         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
1771
1772 2002-08-29  Catherine Moore  <clm@redhat.com>
1773
1774         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
1775         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
1776         (PREDICATE_CODES): Include new predicates.
1777         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
1778         (TARGET_SWITCHES):  Add strict-align.
1779         (TARGET_STRICT_ALIGN): New.
1780         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
1781         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
1782         Define.
1783         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
1784         v850_muldi3.
1785         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
1786         L_callt_save_r2_r31, L_return_r2_r31,
1787         L_save_all_interrupt): Change addi to add.
1788         (L_save_interrupt, L_return_interrupt): Rework.
1789         (__return_r31):  Correct .size directive.
1790         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
1791         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
1792         New routines.
1793         * config/v850/v850.c (expand_prologue): Call
1794         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
1795         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
1796         (reg_or_int9_operand): New predicate.
1797         (reg_or_const_operand): New routine.
1798         * config/v850/v850.md (return_interrupt): Changed from
1799         restore_interrupt.
1800         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
1801         (callt_save_interrupt): Change save sequence.
1802         (callt_return_interrupt): New.
1803         (save_interrupt): Don't use runtime function for LONG_CALLS
1804         and TARGET_PROLOG_FUNCTION.
1805         (save_all_interrupt): Likewise.
1806         (mulsi3): Use new predicate.
1807         (moviscc): Disallow some combination of constants.
1808         Fix define_split for sasf insns, so that it will not generate bad
1809         code if operand0 and operand5 are the same.
1810         * config/v850/v850-protos.h: Prototype new predicates.
1811
1812 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1813
1814         * c-common.c (builtin_define_type_precision): New function.
1815         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
1816         wchar_t is unsigned in C++.
1817         * doc/cpp.texi (Common Predefined Macros): Document
1818         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
1819         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
1820         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
1821
1822 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
1823
1824         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
1825         section.  Mention that it is enabled by -Wall.
1826         (-Wall): Mention that there can be language-specific warnings as well.
1827         (-Wctor-dtor-privacy): Mention that it is enabled by default.
1828         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
1829
1830 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
1831
1832         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
1833         if it is ever live.
1834
1835         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
1836         attribute for SHCOMPACT.
1837
1838         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
1839         appropriately.
1840         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
1841         by the ABI.
1842
1843         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
1844
1845 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
1846
1847         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
1848         "MASK_GAS|MASK_ABICALLS".
1849         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
1850         (TARGET_DEFAULT): Remove.
1851         (MACHINE_TYPE): Undefine before defining.
1852         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
1853
1854 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
1855
1856         * c-common.c (warn_abi): New variable.
1857         * c-common.h (warn_abi): Likewise.
1858         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
1859         (c_common_decode_option): Handle it.
1860         * doc/invoke.texi: Document -Wabi.
1861
1862 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
1863
1864         * c-common.c (warn_undeclared_selector): New variable.
1865         * c-common.h (warn_undeclared_selector): Idem.
1866         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
1867         to on when -Wundeclared-selector is found.
1868         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
1869         * objc/objc-act.c (build_selector_expr): If
1870         warn_undeclared_selector is set, check that the selector has
1871         already been defined, and emit a warning if not.
1872
1873 2002-08-27  Nick Clifton  <nickc@redhat.com>
1874             Catherine Moore  <clm@redhat.com>
1875             Jim Wilson  <wilson@cygnus.com>
1876
1877         * config.gcc: Add v850e-*-* target.
1878         Add --with-cpu= support for v850.
1879         * config/v850/lib1funcs.asm: Add v850e callt functions.
1880         * config/v850/v850.h: Add support for v850e target.
1881         * config/v850/v850.c: Add functions to support v850e target.
1882         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
1883         * config/v850/v850.md: Add patterns for v850e instructions.
1884         * doc/invoke.texi: Document new v850e command line switches.
1885
1886 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
1887                           Aldy Hernandez <aldyh at redhat dot com>
1888
1889         * doc/tm.texi: Applied numerous fixes to the automaton based
1890         scheduler descrition.
1891
1892 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
1893
1894         * i386.c (classify_argument): Handle variable sized objects.
1895
1896 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
1897
1898         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
1899
1900 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
1901
1902         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
1903
1904 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
1905
1906         * i386.c (classify_argument): Properly compute word size of the analyzed object.
1907
1908 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
1909
1910         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
1911         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
1912         accordingly.
1913         (attribute insn_class): Provide default definitions based on type.
1914         Remove all insn-specific settings.
1915         (various function units): Remove old SH4 scheduling.
1916         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
1917         New attributes.  Set them where appropriate.
1918         (cpu unit FS): Don't define / use.
1919         (F3, load_store): New cpu units.
1920         (F01): New reservation.
1921         (all insn_reservations): Make dependent on sh4 pipeline model.
1922         Fix latencies.
1923         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
1924         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
1925         (mt insn_reservation): Use type mt_group.
1926         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
1927         sh4_fload and sh4_store.
1928         (insn_reservation branch_zero and branch): Replace with sh4_branch.
1929         (insn_reservation branch_far): Replace with sh4_return.
1930         (insn_reservation return_from_exp): Rename to:
1931         (sh4_return_from_exp).  Change to be just d_lock*5.
1932         (insn_reservation lds_to_pr): Rename to:
1933         (sh4_lds_to_pr).  Change to be just d_lock*2.
1934         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
1935         d_lock*2.
1936         (insn_reservation prload_mem): Rename to:
1937         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
1938         (insn_reservation fpscr_store): Rename to:
1939         (fpscr_load).  Change to d_lock,nothing,F1*3.
1940         (insn_reservation fpscr_store_mem): Rename to:
1941         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
1942         (insn_reservation multi): Change to
1943         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
1944         (insn_reservation fp_arith): Change to issue,F01,F2.
1945         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
1946         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
1947         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
1948         (insn_reservation fp_double_cmp): Change to
1949         d_lock,(d_lock+F01),F1+F2,F2.
1950         (insn_reservation dp_div): Change to
1951         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
1952         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
1953         (sh_adjust_cost, SHcompact): Differentiate between different
1954         kinds of dependencies.  Drop factor of ten for superscalar.
1955         Use new instruction types.  Add new exception rules.
1956
1957         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
1958
1959         * sh.md (mperm_w): Add DONE.
1960
1961 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
1962
1963         * longlong.h: Import current PowerPC defintion from GMP-4.1.
1964
1965         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
1966
1967         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
1968
1969 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
1970
1971         * sh.h (MAX_FIXED_MODE_SIZE): Define.
1972
1973 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
1974
1975         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
1976         delimiter.
1977
1978 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1979
1980         * c-common.c (cpp_define_data_format): New function.
1981         (cb_register_builtins): Call it.
1982
1983         * doc/cpp.texi (Common Predefined Macros): Document
1984         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
1985         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
1986         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
1987         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
1988         __TARGET_USES_VAX_H_FLOAT__.
1989
1990 2002-08-26  Ziemowit Laski <zlaski@apple.com>
1991
1992         * objc/objc-act.c (get_super_receiver): If inside a class method
1993         of a category, cast the receiver to 'id' before accessing the 'isa'
1994         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
1995
1996 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
1997
1998         * config/s390/s390-protos.h (s390_function_prologue,
1999         s390_function_epilogue): Remove.
2000         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
2001         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
2002
2003         config/s390/s390.c (s390_machine_dependent_recorg): New function.
2004         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
2005         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
2006         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
2007         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
2008
2009         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
2010         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
2011         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
2012         function is not a leaf function.  Use save_gprs and restore_gprs.
2013         (s390_emit_epilogue): Likewise.
2014         (save_gprs, restore_gprs): New functions.
2015         (struct s390_frame): Remove return_reg_saved_p member.
2016         (save_fprs_p): Remove.
2017         (s390_optimize_prolog): New function.
2018         (s390_legitimate_reload_constant): Remove now unnecessary check.
2019
2020         (s390_function_count): Remove.
2021         (s390_output_symbolic_const): Replace s390_function_count by
2022         current_function_funcdef_no.
2023         (s390_output_constant_pool): Likewise.
2024
2025         (legitimize_pic_address): Use regs_ever_live to track PIC register
2026         instead of current_function_uses_pic_offset_table.
2027         (s390_emit_prologue): Likewise.
2028         config/s390/s390.md ("call", "call_value"): Likewise.
2029
2030 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
2031
2032         * c-opts.c (find_opt): Don't complain about wrong languages
2033         here.  Return exact matches even for wrong language.
2034         (c_common_decode_option): Complain about wrong languages
2035         here.
2036
2037 2002-08-24  Stuart Hastings  <stuart@apple.com>
2038
2039         * function.h (struct function): Add flag
2040         all_throwers_are_sibcalls.
2041         * except.c (set_nothrow_function_flags): Replaces
2042         nothrow_function_p. Set new flag.
2043         * except.h (set_nothrow_function_flags): Replaces
2044         nothrow_function_p.
2045         * dwarf2out.c (struct dw_fde_struct): Add flag
2046         all_throwers_are_sibcalls.
2047         (output_call_frame_info): Test it.
2048         (dwarf2out_begin_prologue) Propagate it from cfun to
2049         dw_fde_struct.
2050         * toplev.c (rest_of_compilation): Update calls to
2051         nothrow_function_p.
2052
2053 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
2054
2055         * ggc-page.c (compute_inverse): Short circuit calculation for
2056         object sizes larger than half a page.
2057
2058 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
2059
2060         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
2061         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
2062         default.
2063         (rs6000_elf_unique_section): Likewise.
2064
2065 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2066
2067         * ns32k.c (ns32k_globalize_label): Delete.
2068         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
2069
2070 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
2071
2072         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
2073         for loading delta with num_insns_constant_wide.  Calculate
2074         delta_low, delta_high without using a conditional.
2075
2076 2002-08-22  Jason Merrill  <jason@redhat.com>
2077
2078         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
2079         * c-common.def: Adjust.
2080         * c-dump.c (c_dump_tree): Adjust.
2081         * c-semantics.c (genrtl_return_stmt): Adjust.
2082         * c-pretty-print.c (pp_c_statement): Adjust.
2083         * tree-inline.c (copy_body_r): Adjust.
2084
2085 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
2086
2087         * ggc-page.c: Avoid division in ggc_set_mark.
2088         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
2089         compute_inverse): New.
2090         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
2091         (init_ggc): Initialize inverse_table.
2092
2093 2002-08-22  Tom Tromey  <tromey@redhat.com>
2094
2095         * doc/install.texi (Configuration): Document --datadir.
2096
2097 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
2098
2099         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
2100
2101 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
2102
2103         * gengtype-lex.l (ID): Allow underscore as first character.
2104
2105 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
2106
2107         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
2108         function.
2109         (rs6000_xcoff_asm_named_section): Rename.
2110         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
2111
2112 2002-08-21  Tom Tromey  <tromey@redhat.com>
2113
2114         For PR java/6005 and PR java/7611:
2115         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
2116         (fold): Likewise.
2117         * langhooks.c (lhd_can_use_bit_fields_p): New function.
2118         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
2119         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
2120         (LANG_HOOKS_INITIALIZER): Use it.
2121         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
2122         field.
2123
2124 2002-08-21  Stan Shebs  <shebs@apple.com>
2125
2126         * tree.c (finish_vector_type): Fix a typo in a comment.
2127         * Makefile.in: Fix "the the" stutters in comments.
2128         * genautomata.c: Ditto.
2129         * ifcvt.c: Ditto.
2130         * regrename.c: Ditto.
2131         * config/alpha/alpha.c: Ditto.
2132         * config/alpha/vms-crt0-64.c: Ditto.
2133         * config/alpha/vms-crt0.c: Ditto.
2134         * config/alpha/vms-psxcrt0-64.c: Ditto.
2135         * config/alpha/vms-psxcrt0.c: Ditto.
2136         * config/d30v/d30v.h: Ditto.
2137         * config/fr30/fr30.h: Ditto.
2138         * config/rs6000/rs6000.c: Ditto.
2139         * config/stormy16/stormy16.h: Ditto.
2140         * doc/md.texi: Ditto.
2141
2142 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2143
2144         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
2145
2146 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
2147
2148         * c-decl.c (grokdeclarator): Make invalid combinations with long,
2149         short, signed or unsigned into hard errors.  Fixes PR c/4319.
2150         Also make duplicate modifiers such as "short short" into hard
2151         errors.
2152
2153 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
2154             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2155
2156         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
2157         to the actual end.  Add '@end table' and '@table @code'.
2158
2159 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
2160
2161         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
2162
2163         * unroll.c (biv_total_increment): Don't try to compute the total
2164         increment for FP BIVs.
2165
2166 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2167
2168         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
2169         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
2170         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
2171         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
2172         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
2173         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
2174         (GLOBAL_ASM_OP): Define.
2175         * arm.c (aof_globalize_label): New function.
2176         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
2177         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
2178         * c4x.c (c4x_globalize_label): New function.
2179         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
2180         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
2181         (GLOBAL_ASM_OP): Define.
2182         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
2183         * darwin-protos.h (darwin_globalize_label): Declare.
2184         * darwin.c (darwin_globalize_label): New function.
2185         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
2186         (ASM_GLOBALIZE_LABEL): Delete.
2187         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
2188         * dsp16xx.c (asm_output_common): Use target hook.
2189         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
2190         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
2191         (GLOBAL_ASM_OP): Define.
2192         * i370.c (i370_globalize_label): New function.
2193         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
2194         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
2195         * i386.c (ix86_asm_file_end): Use target hook.
2196         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
2197         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
2198         * ia64.c (ia64_asm_output_external): Likewise.
2199         * ia64/sysv4.h: Update comment.
2200         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
2201         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
2202         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
2203         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
2204         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
2205         * mmix-protos.h (mmix_asm_globalize_label): Delete.
2206         * mmix.c (mmix_asm_globalize_label): Likewise.
2207         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
2208         (GLOBAL_ASM_OP): Define.
2209         * ns32k.c (ns32k_globalize_label): New function.
2210         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
2211         (ASM_GLOBALIZE_LABEL): Delete.
2212         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
2213         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
2214         * pa.c (pa_globalize_label): New function.
2215         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
2216         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
2217         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
2218         (GLOBAL_ASM_OP): Define.
2219         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
2220         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
2221         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
2222         (GLOBAL_ASM_OP): Define.
2223         * v850.c (v850_output_aligned_bss): Use target hook.
2224         * vax.c (vms_globalize_label): New function.
2225         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
2226         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
2227         (GLOBAL_ASM_OP): Define.
2228         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
2229         * doc/tm.texi: Update docs.
2230         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
2231         target hook.
2232         * final.c (output_alternate_entry_point): Likewise.
2233         * hooks.c (hook_FILEptr_constcharptr_void): New function.
2234         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
2235         * output.h (assemble_global): Delete.
2236         (default_globalize_label): Declare.
2237         * system.h (ASM_GLOBALIZE_LABEL): Poison.
2238         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
2239         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
2240         * target.h (gcc_target): Add globalize_label member.
2241         * varasm.c (asm_output_bss, asm_output_aligned_bss,
2242         globalize_decl): Use target hook.
2243         (assemble_global): Delete.
2244         (default_globalize_label): New function.
2245
2246 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2247
2248         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
2249
2250 2002-08-20  Devang Patel  <dpatel@apple.com>
2251         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
2252
2253 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2254
2255         * arc.c (output_shift): Use stdio instead of asm_fprintf.
2256         * arm.c (thumb_output_function_prologue): Likewise.
2257         * avr.c (print_operand): Likewise.
2258         * c4x.c (c4x_print_operand): Likewise.
2259         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
2260         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
2261         * cris.c (cris_target_asm_function_prologue,
2262         cris_asm_output_mi_thunk): Likewise.
2263         * h8300.c (print_operand): Likewise.
2264         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
2265         * ip2k.c (print_operand): Likewise.  Fix format specifier.
2266         * m68hc11.c (asm_print_register, print_operand,
2267         print_operand_address): Use stdio instead of asm_fprintf.
2268         (print_operand_address): Fix format specifier.
2269         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
2270         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
2271         asm_fprintf.
2272         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
2273         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
2274         * m68k.c (m68k_output_function_prologue,
2275         m68k_output_function_epilogue, print_operand): Likewise.
2276         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
2277         Likewise.  Fix format specifier.
2278         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
2279         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
2280         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
2281
2282 2002-08-15  Eric Christopher  <echristo@redhat.com>
2283             Jeff Knaggs  <jknaggs@redhat.com>
2284
2285         * config.gcc (mipsisa64sr71k-elf): New target.
2286         * config/mips/sr71k.md: New file.
2287         * config/mips/mips.md: Use it.
2288         (rot*): Add sr71k specifics.
2289         * config/mips/t-sr71k: New file.
2290         * config/mips/mips.h (sr71k): New cpu.
2291         (TARGET_SR71K): Use it.
2292         (TUNE_SR71K): Ditto.
2293         (GENERATE_BRANCHLIKELY): Ditto.
2294         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
2295         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
2296         * config/mips/mips.c (sr71k): New cpu.
2297         (mips_use_dfa_pipeline_interface): Use.
2298
2299 2002-08-15  Eric Christopher  <echristo@redhat.com>
2300             Richard Sandiford <rsandifo@redhat.com>
2301             Aldy Hernandez  <aldyh@redhat.com>
2302             Graham Stott    <grahams@redhat.com>
2303             Michael Meissner  <meissner@redhat.com>
2304             Gavin Romig-Koch  <gavin@redhat.com>
2305             Ken Raeburn  <raeburn@cygnus.com>
2306             Alexandre Oliva <aoliva@redhat.com>
2307
2308         * config.gcc (mips64vr-elf): New target.
2309         * config/mips/5400.md: New file.
2310         * config/mips/5500.md: Ditto.
2311         * config/mips/mips.md: Use them.
2312         (frsqrt): New.
2313         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
2314         cpus.
2315         (mips_issue_rate): Use them.
2316         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
2317         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
2318         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
2319         cpus.
2320         (TARGET_MIPSx): Use them.
2321         (TUNE_MIPSx): Ditto.
2322         (GETNATE_MULT3_SI): Ditto.
2323         (ISA_HAS_BRANCHLIKELY): Ditto.
2324         (ISA_HAS_CONDMOVE): Ditto.
2325         (ISA_HAS_NMADD_NMSUB): Ditto.
2326         (ISA_HAS_MULHI): New. Ditto.
2327         (ISA_HAS_MULS): Ditto.
2328         (ISA_HAS_MSAC): Ditto.
2329         (ISA_HAS_MACC): Ditto.
2330         (ISA_HAS_ROTR_SI): Ditto.
2331         (ISA_HAS_ROTR_DI): Ditto.
2332         (RTX_COSTS): Use.
2333
2334 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2335
2336         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
2337         at head.
2338         (remove_dup_nonsys_dirs): New function.
2339         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
2340         (merge_include_chains): Remove non-system include directories from
2341         quote and bracket include chains when they duplicate equivalent system
2342         directories.
2343         * doc/cpp.texi (-I): Update.
2344         * doc/cppopts.texi (-I): Update.
2345         * doc/install.texi (--with-local-prefix): Further document usage of
2346         this option.
2347         * doc/invoke.texi (-I): Update.
2348
2349 2002-08-20  Richard Henderson  <rth@redhat.com>
2350
2351         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
2352         (emit_block_move): Split out subroutines.
2353         (emit_block_move_via_movstr): New.
2354         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
2355         (emit_block_move_libcall_fn): New.  Construct function prototype for
2356         bcopy as well.
2357         (clear_storage): Split out subroutines.
2358         (clear_storage_via_clrstr): New.
2359         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
2360         (clear_storage_libcall_fn): New.  Construct function prototype for
2361         bzero as well.
2362         (emit_push_insn): Use emit_block_move.
2363         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
2364         (store_constructor): Likewise.
2365
2366 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
2367
2368         * objc/objc-act.c (building_objc_message_expr): Rename to
2369         current_objc_message_selector.
2370
2371 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
2372
2373         * objc/objc-act.c (build_ivar_chain): Remove.
2374         (objc_copy_list): Likewise.
2375         (get_class_ivars): Inline call to removed build_ivar_chain
2376         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
2377         slot; use that slot (rather than CLASS_IVARS) when accessing
2378         ivars for base classes.  Call copy_list and chainon instead of
2379         objc_copy_list.
2380         (build_private_template): Call get_class_ivars instead of
2381         build_ivar_chain.
2382         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
2383         (continue_class): Call get_class_ivars instead of
2384         build_ivar_chain.
2385         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
2386         of DECL_BIT_FIELD (which may have been cleared).
2387         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
2388
2389 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2390
2391         * genautomata.c (output_translate_vect, output_state_ainsn_table,
2392         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
2393         in output file.
2394         (output_internal_min_issue_delay_func): Initialize variable in
2395         output file.
2396
2397 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
2398
2399         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
2400         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
2401
2402 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
2403             Steve Ellcey  <sje@cup.hp.com>
2404
2405         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
2406         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
2407         * explow.c (trunc_int_for_mode): Abort when the mode is not
2408         a scaler integer mode.
2409         * combine.c (expand_compound_operation): Don't expand Vector
2410         or Complex modes into shifts.
2411         (expand_field_assignment): Don't do bitwise arithmatic and
2412         shifts on Vector or Complex modes.
2413         (simplify_comparison): Don't call trunc_int_for_mode
2414         for VOIDmode.
2415         * recog.c (general_operand): Likewise.
2416         (immediate_operand): Likewise.
2417         (nonmemory_operand): Likewise.
2418
2419 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
2420
2421         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
2422         multi-instruction SImode constant.  Add REG_EQUAL note.
2423         * config/rs6000/rs6000.md (movsi splitter): Use
2424         rs6000_emit_set_const.
2425
2426 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2427
2428         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
2429         the macro test controlling its use.
2430
2431 2002-08-18  H.J. Lu  (hjl@gnu.org)
2432
2433         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
2434         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
2435         gnu_ld=yes.
2436         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
2437         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
2438         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
2439         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
2440         here.
2441         (cris-*-linux*): Remove setting thread_file here.
2442
2443 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
2444
2445         PR preprocessor/7602
2446         * cppinit.c (path_include): Treat the system environment
2447         variables as being cxx_aware.
2448
2449 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
2450
2451         * c-decl.c (flexible_array_type_p): New function.
2452         (grokdeclarator, finish_struct): Use it.
2453         * doc/extend.texi: Document constraints on use of structures with
2454         flexible array members.
2455
2456 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
2457
2458         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
2459         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
2460         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
2461
2462 2002-08-16  Stan Shebs  <shebs@apple.com>
2463
2464         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
2465         for ObjC with -fnext-runtime.
2466         * doc/cpp.texi: Document it.
2467
2468 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
2469
2470         * doc/install.texi (Final installation): Replace links to individual
2471         build status pages with a link to a common page that lists them all.
2472
2473 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
2474
2475         * doc/invoke.texi: Fix typo.
2476
2477 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
2478
2479         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
2480
2481 2002-08-16  Andrew Haley  <aph@redhat.com>
2482
2483         * tree-inline.c: Add includes for Java inliner.
2484         (remap_decl): Don't handle anonymous types for Java.
2485         (remap_block): Add handling for Java trees.
2486         (copy_scope_stmt): Conditionalize for non-Java use only.
2487         (copy_body_r): Handle Java trees.  Add handling for
2488         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
2489         (initialize_inlined_parameters):  Handle Java trees.
2490         (declare_return_variable): Likewise.
2491         (expand_call_inline): Handle Java trees.
2492         (walk_tree): Likewise.
2493         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
2494         (add_stmt_to_compound): New function.
2495
2496 2002-08-15  Richard Henderson  <rth@redhat.com>
2497
2498         * Makefile.in (LOOSE_WARN): Remove -fno-common.
2499         (NOCOMMON_FLAG): New substitution point.
2500         (GCC_WARN_CFLAGS): Include it.
2501         * configure.in (ac_checking): Set nocommon_flag.
2502         (nocommon_flag): New substitution point.
2503
2504 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
2505
2506         * c-tree.h (skip_evaluation): Move declaration...
2507         * c-common.h: ... here.
2508         * c-typeck.c (build_external_ref): Don't assemble_external nor
2509         mark a tree as used if skip_evaluation is set.
2510         * c-parse.in (typeof): New non-terminal to set skip_evaluation
2511         around TYPEOF.
2512         (typespec_nonreserved_nonattr): Use it.
2513
2514 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
2515
2516         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
2517         (xcoff_debug_hooks): Update end_prologue.
2518         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
2519         * debug.h (end_prologue): Add file arg.
2520         (end_epilogue): Add line and file args.
2521         (dwarf2out_end_epilogue): Add line and file args.
2522         (vmsdbgout_after_prologue): Remove.
2523         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
2524         (dwarf2_debug_hooks): Update end_prologue.
2525         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
2526         (dwarfout_end_prologue): Add file arg.
2527         * final.c (vmsdbgout_after_prologue): Remove
2528         (final_end_function): Update end_epilogue call.
2529         (final_scan_insn): Update end_prologue call.
2530         * sdbout.c (sdbout_end_epilogue): Add line and file args.
2531         (sdbout_end_prologue): Add file arg.
2532         (sdb_debug_hooks): Update end_prologue.
2533         (sdb_begin_prologue): Update sdbout_end_prologue call.
2534         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
2535         vmsdbgout_end_function.
2536         (vmsdbgout_end_prologue): New function renamed from
2537         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
2538         (vmsdbgout_end_function): New function.
2539         (vmsdbgout_end_epilogue): Add line and file args. Call
2540         vmsdbgout_source_line.
2541         (write_pclines): Write only valid line numbers.
2542         (write_srccorr): Don't write source correlation records if 0 lines.
2543         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
2544
2545 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
2546
2547         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
2548         (_Unwind_Internal_Ptr): 32 bit version for use in
2549         read_encoded_value_with_base.
2550         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
2551         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
2552         right size.
2553
2554 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2555
2556         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
2557         signed/unsigned warnings.
2558
2559         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
2560         record_reg_classes): Likewise.
2561
2562         * reload.c (reload_inner_reg_of_subreg, push_reload,
2563         find_reloads_address_1): Likewise.
2564
2565 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
2566
2567         * rs6000.c (output_mi_thunk): Return to function section on
2568         TARGET_ELF.
2569
2570         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
2571
2572 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
2573
2574         * config/s390/s390.c (legitimize_address): Optimize loading
2575         of large displacements.
2576
2577 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
2578
2579         * config/alpha/alpha-protos.h: Update.
2580
2581         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
2582         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
2583         (alpha_linkage_symbol_p): New static function.
2584         (print_operand_address): Print linkage operand.
2585
2586         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
2587         variables.
2588         (reloc_kind): New enum.
2589         (struct alpha_funcs): New struct.
2590         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
2591
2592         (alpha_need_linkage): Rewrite.
2593         (alpha_use_linkage): New global function.
2594         (alpha_write_linkage): Rewrite and make static.
2595         (alpha_write_one_linkage): Rewrite
2596
2597         (alpha_start_function): Remove procedure descriptor output.
2598         (alpha_end_function): Write linkages at end of each function.
2599
2600         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
2601         (call_vms_1, call_value_vms_1): Rewrite.
2602
2603         * config/alpha/vms.h (ASM_FILE_END): Remove.
2604
2605 2002-08-14  Richard Henderson  <rth@redhat.com>
2606
2607         * ggc-page.c (RTL_SIZE): New.
2608         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
2609         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
2610
2611 2002-08-14  Richard Henderson  <rth@redhat.com>
2612
2613         * calls.c: Include target.h.
2614         * Makefile.in (calls.o): Update.
2615
2616         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
2617         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
2618
2619 2002-08-14  Richard Henderson  <rth@redhat.com>
2620
2621         * Makefile.in (LOOSE_WARN): Add -fno-common.
2622         * c-common.h (constant_string_class_name): Add missing extern.
2623
2624 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
2625
2626         PR preprocessor/7358
2627         * c-opts.c (check_deps_environment_vars): Ignore main file
2628         for SUNPRO_DEPENDENCIES.
2629         * cppfiles.c (stack_include_file): Ignore main file if
2630         appropriate.
2631         * cpplib.h (struct cpp_options): New member in deps.
2632         * doc/cppenv.texi: Update.
2633
2634 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
2635
2636         PR preprocessor/7526
2637         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
2638
2639 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
2640
2641         * doc/invoke.texi (-a): Remove documentation.
2642         (-fprofile-arcs): Remove reference to -a, -ax options.
2643         * doc/gcov.texi (Gcov Data Files): Data might be merged.
2644
2645 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
2646
2647         Fix PR/7566
2648         * c-semantics.c (genrtl_case_label): Don't (mis)use
2649         warning_with_decl.
2650
2651 2002-08-14  Dale Johannesen  <dalej@apple.com>
2652
2653         * explow.c (emit_stack_restore):  Emit memory clobbers
2654         preceding the stack pop, to prevent the scheduler from
2655         moving refs to variable arrays below this pop.
2656         * reload1.c (reload):  Preserve these clobbers for sched2.
2657         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
2658
2659 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
2660
2661         * c-opts.c (c_common_post_options): Correct test.
2662
2663 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2664
2665         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
2666         order in call to fprintf.
2667
2668 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2669
2670         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
2671
2672 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
2673
2674         * reload.c (find_reloads): Handle constraint letters marked by
2675         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
2676         (alternative_allows_memconst): Likewise.
2677         * reload1.c (maybe_fix_stack_asms): Likewise.
2678         * recog.c (asm_operand_ok, preprocess_constraints,
2679         constrain_operands): Likewise.
2680         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
2681         * local-alloc.c (block_alloc, requires_inout): Likewise.
2682         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
2683
2684         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
2685         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
2686         * doc/tm.texi: Document these two new target macros.
2687
2688         * config/s390/s390.c (s390_expand_plus_operand): Accept already
2689         valid operands.
2690         (q_constraint): New function.
2691         config/s390/s390-protos.h (q_constraint): Declare it.
2692         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
2693         (EXTRA_MEMORY_CONSTRAINT): New macro.
2694
2695         * config/s390/s390.md: Throughout the machine description,
2696         replace all instances of the constraint combinations 'Qo'
2697         or 'oQ' with simply 'Q'.
2698
2699 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
2700
2701         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
2702         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
2703         (LIBGCC2_CFLAGS): Compile with -mrelax.
2704
2705 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
2706
2707         * doc/invoke.texi: Document -minmax for 68HC12.
2708
2709         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
2710         ("uminqi3"): Likewise.
2711         ("uminhi3", "umaxhi3"): Likewise.
2712
2713         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
2714         (TARGET_MIN_MAX): Define.
2715         (TARGET_SWITCHES): New option -minmax/-mnominmax.
2716
2717 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
2718
2719         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
2720         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
2721
2722         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
2723         (ret, declare, farsym): New gas macros.
2724         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
2725         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
2726         and declare the symbol far when compiled with -mlong-calls.
2727         (__far_trampoline): New for 68HC12 trampoline code to invoke a
2728         far handler using jsr/bsr.
2729
2730         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
2731         (jsr): New macro to transform a 'jsr' into a 'call'.
2732
2733 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
2734
2735         * doc/invoke.texi: Document -mlong-calls for 68HC12.
2736
2737         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
2738         -mlong-calls is specified.
2739         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
2740         assembler directives.
2741         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
2742         (TARGET_SWITCHES): Add -mlong-calls options.
2743         (current_function_far): Declare.
2744
2745         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
2746         into account the page register saved on the stack.
2747         (m68hc11_override_options): Take into account -mlong-calls option.
2748         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
2749
2750         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
2751         if the function is going to be in 68HC12 banked memory (-mlong-calls).
2752         ("*return_16bit"): Likewise.
2753         ("*return_void"): Likewise.
2754         ("call", "call_value"): Use call for a far function call.
2755
2756 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
2757
2758         * toplev.c (parse_options_and_default_flags): Don't call
2759         post_options here.
2760         (general_init): Initialize GC, pools and tree hash here,
2761         instead of lang_independent_init.
2762         (lang_independent_init): Rename backend_init.
2763         (do_compile): Call post_options hook; exit early if there
2764         have been errors after switch processing.
2765         (toplev_main): Update.
2766
2767 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
2768
2769         * c-pretty-print.h: Guard against multiple inclusion.
2770         Robustify macros.
2771         (pp_c_attributes): Declare.
2772         * c-pretty-print.c (pp_c_attributes): New function.
2773
2774 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2775
2776         * m68k.c (m68k_output_function_prologue,
2777         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
2778         and NEWS/MOTOROLA.
2779         * genattrtab.c: Remove dpx2 comment.
2780         * libgcc2.c (__enable_execute_stack): Delete versions for
2781         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
2782         sony_news/SYSTYPE_BSD.
2783         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
2784         __gmicro__, __i860__, __NeXT__ and __pyr__.
2785         * rtl.h: Remove convex comment.
2786         * varasm.c: Likewise.
2787
2788 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2789
2790         * c-opts.c (lang_flags): Const-ify.
2791         * ra-build.c (undef_table): Likewise.
2792         * ra.c (eliminables): Likewise.
2793
2794 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
2795
2796         * tree.h: Guard against multiple inclusion.
2797
2798 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
2799
2800         * reload1.c (reload_cse_simplify): Before checking
2801         REG_FUNCTION_VALUE_P, check REG_P.
2802
2803 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
2804
2805         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
2806
2807 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
2808
2809         * c-opts.c (c_common_init_options): Extra braces needed.
2810
2811 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
2812
2813         * sh.c (sh_init_builtins): Add PARAMS to declaration.
2814         (sh_media_init_builtins, sh_expand_builtin): Likewise.
2815         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
2816         (sh_expand_binop_v2sf): Likewise.
2817         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
2818         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
2819         (sh_initialize_trampoline): Likewise.
2820
2821 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
2822
2823         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
2824         new condition code modes.
2825         s390.c (s390_match_ccmode_set): Handle those new CC modes.
2826         (s390_select_ccmode): Likewise.
2827         (s390_branch_condition_mask): Likewise.
2828
2829         * s390-protos.h (s390_tm_ccmode): Declare.
2830         s390.c (s390_tm_ccmode): New function.
2831         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
2832
2833         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
2834         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
2835         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
2836
2837         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
2838         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
2839         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
2840         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
2841         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
2842
2843         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
2844         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
2845         "*cmpqi_ccs_0"): Remove, replace by ...
2846         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
2847         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
2848         "*tstqi", "*tstqi_cconly"): ... these new patterns.
2849
2850         ("*cmpsidi_ccs"): Remove, replace by ...
2851         ("*cmpsi_ccs_sign"): ... this new pattern.
2852         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
2853
2854         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
2855         ("*cli"): ... this new pattern.
2856
2857         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
2858         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
2859         New patterns.
2860         ("adddi3_64"): Rename to "*adddi3_64".
2861         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
2862         ("adddi3"): Adapt expander.
2863
2864         ("*addsi3_cc"): Allow "general_operand" for operand 2.
2865         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
2866         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
2867
2868         ("addhi3", "addqi3"): Remove, replace by ...
2869         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
2870
2871         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
2872         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
2873         ("subdi3"): Replace by insn and splitter "*subdi3_31".
2874         ("subdi3"): New expander.
2875
2876         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
2877
2878         ("subhi3", "subqi3"): Remove, replace by ...
2879         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
2880
2881         ("*muldi3_sign"): New pattern.
2882         ("muldi3"): Do not clobber CC.
2883         ("mulsi3"): Likewise.
2884         ("mulsi_6432"): Likewise.
2885
2886 2002-08-13  Denis Chertykov  <denisc@overta.ru>
2887
2888         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
2889         which can change CC0.
2890
2891 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
2892
2893         * gcse.c (adjust_libcall_notes): New function.
2894         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
2895
2896 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
2897
2898         * libgcc2.c (L_bb): Remove unneeded #includes.
2899         (__global_counters, __gthreads_active): Remove unused globals.
2900         (__bb_exit_func): Merge counts into files rather than appending.
2901         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
2902         (ALL_CFLAGS): ... to here.
2903
2904 2002-08-13  Denis Chertykov  <denisc@overta.ru>
2905
2906         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
2907         (function_epilogue): Don't calculate function size.
2908         (ip2k_set_compare): Don't use lookup_const_double.
2909         (asm_file_start): Initialization of commands_in_file removed.
2910         (asm_file_end): Output of commands_in_file removed.
2911
2912         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
2913         __INT_MAX__.
2914
2915 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
2916
2917         * c-opts.c (c_common_init_options): Check option array is
2918         sorted if checking enabled.
2919
2920 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
2921
2922         * c-pretty-print.c: #include "c-tree.h".
2923         (pp_c_simple_type_specifier): Tweak.
2924         (pp_c_storage_class_specifier): New.
2925         (pp_c_function_specifier): Likewise.
2926         (pp_c_declaration_specifiers): Likewise.
2927         (pp_c_init_declarator): Likewise.
2928         (pp_c_declaration): Likewise.
2929         (pp_c_direct_declarator): Stub.
2930         (pp_c_declarator): Likewise.
2931         (pp_c_parameter_declaration): Likewise.
2932
2933 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
2934
2935         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
2936         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
2937         struct deferred_opt): New.
2938         (COMMAND_LINE_OPTIONS): Add -M*.
2939         (missing_arg): Update.
2940         (c_common_decode_option): Handle -M*.
2941         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
2942         don't call cpp_post_options.
2943         (c_common_finish, check_deps_environment_vars): Update.
2944         * cppfiles.c (stack_include_file, handle_missing_header): Update.
2945         * cpphash.h (CPP_PRINT_DEPS): Remove.
2946         * cppinit.c: Don't include version.h.
2947         (cpp_create_reader): Don't call deps_init.  Initialize
2948         warn_long_long.
2949         (cpp_read_main_file): Init deps if necessary.
2950         (cpp_destroy): Conditionally free deps.
2951         (cpp_finish): Update.
2952         (no_tgt): Remove.
2953         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
2954         (cpp_post_options): Rename post_options.
2955         * cpplib.h (struct cpp_options): Remove some dependency options;
2956         move others to a new structure.
2957         (cpp_post_options): Remove.
2958         (cpp_finish): Comment.
2959         * fix-header.c (read_scan_file): Don't call cpp_post_options.
2960
2961 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
2962
2963         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
2964         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
2965         MMIX_rR_REGNUM as clobbered.
2966         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
2967
2968 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
2969
2970         * diagnostic.h (output_formatted_scalar): Rename from
2971         output_formatted_integer.
2972         * diagnostic.def: Add DK_DEBUG.
2973         * diagnostic.c (output_decimal): Adjust.
2974         (output_long_decimal): Likewise.
2975         (output_unsigned_decimal): Likewise.
2976         (output_octal): Likewise.
2977         (output_long_octal): Likewise.
2978         (output_hexadecimal): Likewise.
2979         (output_long_hexadecimal): Likewise.
2980         * c-pretty-print.c (pp_c_type_specifier): New function.
2981         (pp_c_specifier_qualifier_list): Likewise.
2982         (pp_c_abstract_declarator): Likewise.
2983         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
2984
2985 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
2986
2987         * doc/trouble.texi (Disappointments): Add static constructor and
2988         destructor dependency information for AIX.
2989
2990 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
2991
2992         * cpphash.h (struct printer): New from cppmain.c.
2993         (cpp_reader): New member.
2994         * cppmain.c (struct printer): Move to cpphash.h.
2995         (options, print): Remove.
2996         (account_for_newlines, print_line, maybe_print_line,
2997         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
2998         scan_translation_unit_trad, cb_line_change, cb_ident,
2999         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
3000         cb_def_pragma): Make reentrant.
3001
3002 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3003
3004         * real.c (ieee_64): Always define.
3005         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
3006         (dec_h): Not used yet, hide it.
3007         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
3008         macro controlling use.
3009         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
3010
3011 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
3012
3013         * i386.md (tablejump): Sign extend the operand.
3014         * i386.c (classify_argument): Fix missed case from previous patch.
3015
3016 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
3017
3018         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
3019         to c-copts.c.
3020         (warn_multichar): Die.
3021         (cb_register_builtins): Export.
3022         * c-common.h (warn_multichar, preprocess_file): Remove.
3023         (cb_register_builtins): New.
3024         * c-lang.c (c_init): Remove.
3025         (LANG_HOOKS_INIT): Use c_objc_common_init.
3026         * c-lex.c (init_c_lex): Don't canonicalize filename.
3027         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
3028         (preprocess_file): Make static.  Update for cpplib.
3029         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
3030         (c_common_post_options): Set some cpp options here.
3031         (c_common_init): Move from c-common.c.
3032         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
3033         * cpplib.h (struct cpp_options): Remove in_fname.
3034         (cpp_preprocess_file): Update.
3035         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
3036
3037 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3038
3039         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
3040
3041 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3042
3043         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
3044         backslash in comment preceeding macro definition.
3045         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
3046         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
3047         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
3048
3049 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
3050
3051         * expr.c (store_expr): In condition for checking if value is
3052         generated in TARGET, move call to expr_size last.
3053
3054 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
3055
3056         * c-common.c (c_common_init): Call preprocess_file instead.
3057         (c_common_finish): Move to c-opts.c.
3058         * c-common.h (preprocess_file): new.
3059         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
3060         check_deps_environment_vars, c_common_finish): New.
3061         (c_common_decode_option): Update for out_fname and dependencies.
3062         * cppinit.c (init_dependency_output, output_deps): Remove.
3063         (cpp_destroy): Update prototype.
3064         (cpp_add_dependency_target): New.
3065         (cpp_read_main_file): Don't overlay a buffer.
3066         (cpp_finish): Take a deps output stream and write deps to it.
3067         Return the error count.
3068         (cpp_post_options): Don't canonicalize out_fname, or do anything
3069         with dependencies.
3070         * cpplib.h (struct cpp_options): Remove out_fname and
3071         preprocess_only.
3072         (cpp_add_dependency_target): New.
3073         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
3074         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
3075         set preprocess_only.  Don't handle the output stream directly.
3076
3077 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3078
3079         * dsp16xx.c (print_operand): Fix format specifier.
3080         * dsp16xx.md: Avoid automatic aggregate initialization.
3081         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
3082         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
3083         integer constant modifier.
3084         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
3085         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
3086         guards.
3087         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
3088         * v850.c (v850_select_section): Mark parameter with
3089         ATTRIBUTE_UNUSED.
3090         * global.c (global_alloc): Const-ify.
3091         * ra-colorize.c (hardregset_to_string): Fix format specifier.
3092
3093 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3094
3095         * darwin-c.c (darwin_pragma_options): Const-ify.
3096         * darwin.c (machopic_non_lazy_ptr_name,
3097         machopic_validate_stub_or_non_lazy_ptr): Likewise.
3098         (machopic_indirect_data_reference): Wrap variables in macros
3099         controlling their use.
3100         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
3101         (machopic_select_section): Use parentheses around && within ||.
3102         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
3103
3104 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3105
3106         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
3107         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
3108         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
3109         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
3110         mdr_try_remove_redundant_insns, track_w_reload,
3111         mdr_try_wreg_elim): Make function static to match prototype.
3112         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
3113         parameter with ATTRIBUTE_UNUSED.
3114
3115 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3116
3117         * arc.c (arc_init): Don't use ISO C style function definitions.
3118         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
3119         arm_get_strip_length, arm_strip_name_encoding): Likewise.
3120         * avr.h (progmem_section): Likewise.
3121         * h8300.c h8300_asm_insn_count): Likewise.
3122         * m32r.c (init_idents): Likewise.
3123         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
3124         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
3125         * xtensa.c (xtensa_build_va_list): Likewise.
3126
3127 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
3128
3129         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
3130         * c-opts.c (parse_option): Rename find_opt.
3131         (set_std_c99): New function.
3132         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
3133         (missing_arg): Remove OPT_std_bad.  Handle -o.
3134         (c_common_decode_option): Handle input and output file names,
3135         -o and -remap.  Clean up -std= handling.
3136         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
3137         (cpp_handle_option): Similarly.  Don't handle filenames.
3138
3139 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
3140
3141         * i386.c (classify_argument): Fix computing of field's offsets.
3142
3143 2002-08-11  Andreas Jaeger  <aj@suse.de>
3144
3145         PR target/7531:
3146         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
3147
3148 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
3149
3150         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
3151         reference to clk_objective_c with flag_objc.
3152         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
3153         Likewise.
3154         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
3155
3156 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
3157
3158         * c-opts.c (set_std_cxx98, set_std_c89): New.
3159         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
3160         (c_common_decode_option): Handle new switches from cppinit.c.
3161         Add -std=gnu++98.
3162         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
3163         (no_arg, no_num): Remove.
3164         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
3165         switches apart from -lang-objc and lang-asm.
3166         (cpp_handle_option): Similarly.
3167         * cpplib.h (cpp_set_lang): New.
3168         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
3169         -std=gnu++98.
3170         * objc/lang-specs.h: Remove -ansi.
3171
3172 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
3173                                Graham Stott
3174
3175         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
3176         errors.
3177
3178 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3179
3180         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
3181         emit_jump_insn): Fix uninitialized variable.
3182         * gcov.c (init_line_info): Likewise.
3183         * genautomata.c (transform_3): Add braces around ambiguous
3184         else.
3185         * ifcvt.c (cond_exec_process_insns): Mark parameter with
3186         ATTRIBUTE_UNUSED.
3187         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
3188         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
3189         variable.
3190
3191         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
3192         warnings in output files.
3193
3194 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
3195
3196         * c-common.c (flag_objc): New.
3197         * c-common.h (c_language_kind): Get rid of clk_objective_c
3198         enum value.
3199         (flag_objc): New extern declaration.
3200         * c-decl.c (implicitly_declare): Call objc_check_decl
3201         instead of maybe_objc_check_decl.
3202         (finish_decl): Likewise.
3203         (grokfield): Likewise.
3204         (finish_struct): Likewise.
3205         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
3206         (maybe_objc_comptypes): Rename to objc_comptypes.
3207         (maybe_building_objc_message_expr): Rename to
3208         objc_message_selector.
3209         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
3210         replace with flag_objc as needed.
3211         * c-opts.c (c_common_init_options): Likewise.
3212         (c_common_decode_option): Likewise.
3213         * c-parse.in (init_reswords): Likewise.
3214         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
3215         (maybe_objc_comptypes): Rename to objc_comptypes.
3216         (maybe_building_objc_message_expr): Rename to
3217         objc_message_selector.
3218         * c-typeck.c (comptypes): Call objc_comptypes instead of
3219         maybe_objc_comptypes, and/or objc_message_selector instead of
3220         maybe_building_objc_message_expr.
3221         (comp_target_types): Likewise.
3222         (convert_for_assignment): Likewise.
3223         (warn_for_assignment): Likewise.
3224         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
3225         independently of those for other languages.
3226         * objc/objc-act.c (maybe_objc_comptypes): Delete.
3227         (maybe_objc_check_decl): Delete.
3228         (maybe_building_objc_message_expr): Rename to
3229         objc_message_selector.
3230         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
3231         clk_objective_c; set flag_objc flag.
3232
3233 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
3234
3235         * ifcvt.c (find_if_case_2): Test correct basic block for size.
3236
3237 2002-08-09  Dale Johannesen  <dalej@apple.com>
3238
3239         * config/rs6000/rs6000.md: Add sibcall patterns.
3240         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
3241         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
3242         Rewritten to handle sibcalls.
3243         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
3244         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
3245
3246 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
3247
3248         * profile.c (da_file_name): New static var.
3249         (init_branch_prob): Initialize it.
3250         (end_branch_prob): Remove da file.
3251
3252         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
3253         * configure.in (coverage_flags): Default to nothing.
3254         * configure: Rebuilt.
3255
3256 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
3257
3258         * Makefile.in (c-opts.o): Update
3259         * c-opts.c: Include intl.h.
3260         (print_help): Move from cppinit.c.  Remove unused options.
3261         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
3262         (missing_arg): Complain for switches without an argument.
3263         (c_common_decode_option): Reject missing joined arguments.
3264         Handle new switches from cppinit.c.
3265         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
3266         (cpp_handle_option): Similarly.
3267         (print_help): Moved to c-opts.c.
3268         * cpplib.h (struct cpp_options): Remove help_only.
3269         * gcc.c (cpp_unique_options): Remove -$.
3270         * doc/cppopts.texi: Undocument -h.
3271
3272 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
3273
3274         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
3275         legitimate constant.
3276         (legitimate_pic_operand_p): Neither pic operand.
3277         (legitimate_address_p): But legitimate address.
3278         (get_thread_pointer): Generate MEM/u instead of CONST around
3279         UNSPEC_TP.
3280         (print_operand): Remove printing of UNSPEC_TP.
3281         (print_operand_address): And print it here.
3282
3283 2002-08-08  Devang Patel  <dpatel@apple.com>
3284
3285         * objc/objc-act.c (build_selector_translation_table): Issue warning,
3286         when  -Wselector is used,if method for which selector is being
3287         created does not exist.
3288
3289 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
3290
3291         * config/sh/sh.c (prepare_move_operands): Only call
3292         target_reg_operand if TARGET_SHMEDIA.
3293
3294 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
3295
3296         * config/rs6000/rs6000.h, config/rs6000/aix.h,
3297         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
3298         two patches.
3299         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
3300
3301 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
3302             Richard Henderson  <rth@redhat.com>
3303
3304         * emit-rtl.c (gen_rtx_REG): After reload, only return
3305         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
3306
3307 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
3308
3309         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
3310         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
3311         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
3312         macro.
3313
3314 2002-08-08  Adam Nemet  <anemet@lnxw.com>
3315
3316         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
3317         register.
3318         (thumb_expand_prologue): Likewise.
3319         (thumb_output_function_prologue): Likewise.
3320         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
3321         the additional push of the PIC register.
3322
3323 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
3324
3325         * configure.in (enable_coverage): New enable switch.
3326         * configure: Rebuilt.
3327         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
3328         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
3329         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
3330         (mostlyclean): Remove coverage files.
3331         * doc/install.texi: Document enable_coverage.
3332
3333         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
3334         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
3335         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
3336         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
3337         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
3338         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
3339         files.
3340
3341 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
3342
3343         * c-opts.c (cpp_opts): New.
3344         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
3345         (c_common_decode_options): Handle cpplib switches.
3346         (c_common_init_options): Set cpp_opts.
3347         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
3348         (cpp_handle_option): Similarly.
3349
3350 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
3351
3352         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
3353         (TARGET_ALTIVEC_ABI): Same.
3354         (TARGET_ALTIVEC_VRSAVE): Same.
3355
3356         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
3357         icode not CODE_FOR_nothing.  Change switch to if.
3358
3359 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
3360
3361         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
3362
3363 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
3364
3365         * stor-layout.c (place_union_field): For bitfields if
3366         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
3367         TYPE_USER_ALIGN.
3368
3369 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3370
3371         * pa.c (struct deferred_plabel): Constify name field.
3372
3373 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
3374
3375         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
3376
3377 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3378
3379         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
3380         local_prefix are the same.
3381         * configure: Rebuilt.
3382
3383 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
3384             Richard Henderson  <rth@redhat.com>
3385
3386         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
3387         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
3388         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
3389         (place_field): Likewise.
3390         * config/i386/i386.c (x86_field_alignment): Don't check
3391         DECL_USER_ALIGN here.
3392         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
3393         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
3394         prototype.
3395         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
3396         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
3397         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
3398         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
3399         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
3400         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
3401
3402 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
3403
3404         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
3405         * c-common.c: Don't include tree-inline.h.
3406         (c_common_init_options, c_common_post_options): Move to c-opts.c.
3407         * c-common.h (c_common_decode_option): New.
3408         * c-decl.c (c_decode_option): Remove.
3409         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
3410         * c-opts.c: New file.
3411         * c-tree.h (c_decode_option): Remove.
3412         * doc/passes.texi: Update.
3413         * objc/objc-act.c (objc_decode_option): Remove.
3414         * objc/objc-act.h (objc_decode_option): Remove.
3415         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
3416         c_common_decode_option.
3417
3418 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
3419
3420         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
3421         dependency on TARGET_DOUBLE_FLOAT.
3422
3423 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
3424
3425         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
3426         overwrite callee-save registers.  Fix comment.
3427
3428 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
3429
3430         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
3431         in target_flags based on ISA, if it was not set on the command
3432         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
3433         support Branch Likely instructions.
3434         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
3435         (TARGET_BRANCHLIKELY): Likewise.
3436         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
3437         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
3438         ISA_HAS_BRANCHLIKELY.
3439         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
3440         * doc/invoke.texi: Document new MIPS -mbranch-likely and
3441         -mno-branch-likely options.
3442
3443 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3444
3445         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
3446
3447         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not<