OSDN Git Service

PR optimization/8750
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
2
3         PR optimization/8750
4         * config/i386/i386.c (ix86_expand_prologue): Don't allow
5         scheduling pass to move insns across __alloca call.
6
7 2003-01-08  Dale Johannesen  <dalej@apple.com>
8
9         * config/rs6000/rs6000.md:  Replace *store_multiple_string
10         with *stmsi[3-8].
11
12 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
13
14         PR target/9210
15         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
16         Set SYMBOL_REF_FLAG on local data sym_ref.
17
18 2003-01-08  Dale Johannesen  <dalej@apple.com>
19  
20         * function.c (assign_parms):  Don't set pretend_args_size if 
21           REG_PARM_STACK_SPACE.
22           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set 
23           pretend_args_size.
24
25 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
26
27         * gcc.hlp: Delete.
28
29 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
30
31         * i386.c  (ix86_expand_int_addcc): Fix thinko.
32
33 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
34
35         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
36         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
37         as hook_bool_tree_hwi_hwi_tree_true.
38         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
39         (rs6000_emit_epilogue): Same.
40         (rs6000_output_mi_thunk): Re-implement as RTL.
41         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
42         xcoffout_declare_function if any debugging enabled.
43
44 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
45
46         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
47         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
48         * config/mips/mips.h (enum processor_type): Rename
49         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
50         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
51         Add PROCESSOR_M4K.
52         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
53         (ISA_MIPS32R2): New define.
54         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
55         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
56         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
57         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
58         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
59         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
60         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
61         compiling MIPS16 code.
62         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
63         comment.
64         (ISA_HAS_SEB_SEH): New define.
65         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
66         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
67         processor_type value renaming.  Add support for MIPS32R2.
68         Clean up comments, and move "sb1" entry with other MIPS64 CPU
69         entries.
70         (override_options): Reimplement -mipsN option handling so that
71         it will work correctly for -mips32r2.  Avoid branch-likely
72         instructions on MIPS32R2.
73         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
74         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
75         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
76         (extendhisi2_hw, extendqisi2_hw): New.
77         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
78         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
79         MIPS32R2, and MIPS64.
80         (LINK_SPEC): Pass -mips32r2 to linker.
81         * config/mips/t-isa3264: Built -mips32r2 multilibs.
82         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
83         for mips32r2 in the -march description.  Alphabetically sort
84         CPU names in the -march description.  Add long-missed -mips32
85         and -mips64 to MIPS option summary.
86
87         * config.gcc: Update copyright years to include 2003.
88         * config/mips/mips.c: Likewise.
89         * config/mips/mips.h: Likewise.
90         * config/mips/mips.md: Likewise.
91         * config/mips/netbsd.h: Likewise.
92         * doc/invoke.texi: Likewise.
93
94 2003-01-08  Andreas Schwab  <schwab@suse.de>
95
96         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
97         variable.
98         * configure: Regenerated.
99
100 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
101
102         * config/h8300/h8300.c (output_logical_op): Replace byte/word
103         extraction of det with b0, b1, w0, w2, etc.
104         (compute_logical_op_length): Likewise.
105         (compute_logical_op_cc): Likewise.
106
107 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
108
109         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
110         HIGH on all variants.
111
112 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
113         
114         * Makefile.in (PARTITION_H): New.
115         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
116         * basic-block.h: Include hard-reg-set.h.
117
118 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
119
120         * arm.h (ENABLE_XF_PATTERNS): Delete.
121         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
122         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
123         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
124         (cmpxf_trap): Delete.
125         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
126
127 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
128
129         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
130         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
131         (add??cc): New expanders.
132         * i386.c (expand_int_addcc): New function.
133         * i386-protos.h (expand_int_addcc): Declare.
134
135         * alias.c (memory_modified_1): New static function.
136         (memory_modified): New static varaible.
137         (memory_modified_in_insn_p): New global function.
138         * rtl.h (memory_modified_in_insn_p): Declare.
139         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
140         references.
141
142         * expr.h (emit_conditional_add): Declare.
143
144 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
145
146         PR other/8947
147         * doc/invoke.texi (-malign-double): Explain that the option breaks
148         binary compatibility.
149
150 2003-01-08  Andreas Schwab  <schwab@suse.de>
151
152         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
153         should come from the generic *-*-linux* entry.
154
155 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
156
157         * cselib.c (cselib_current_insn_in_libcall): New static variable.
158         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
159         we are inside libcall.
160         * cselib.h (elt_loc_list): Add in_libcall.
161         * gcse.c (do_local_cprop): Do not copy propagate using insns
162         in libcalls.
163
164 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
165
166         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
167         not normally affect to issue rate.
168
169 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
170
171         * genopinit.c (optabs): Add addc_optab.
172         * ifcvt.c (noce_try_store_flag): Rename to ...
173         (noce_try_addcc): ... this one; handle generic conditional increment.
174         (noce_process_if_block): Update noce_try_addcc call.
175         * optabs.c (emit_conditional_add): New.
176         (init_obtabs): Initialize addc_optab.
177         * optabs.h (optab_index): Add OTI_addcc.
178         (addcc_optab): New macro.
179         * md.texi: Document addMcc
180
181         PR target/8322
182         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
183         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
184         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
185
186         * reload1.c (delete_output_reload): Avoid repeated attempts
187         to delete insn.
188
189 2003-01-07  Andreas Schwab  <schwab@suse.de>
190
191         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
192         Move --enable-initfini-array check ...
193         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
194         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
195         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
196         * configure: Rebuild.
197
198 2003-01-07  Richard Henderson  <rth@redhat.com>
199
200         * alias.c (find_base_value): Only use new_reg_base_value shortcut
201         if the register is set once.
202
203 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
204   
205         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
206         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
207         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
208
209 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
210             Sunil Davasam  <sunil.k.davasam@intel.com>
211
212         PR libstdc++/9076 
213         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
214         DW_CFA_same_value, read next and ignore.
215
216 2003-01-07  Richard Henderson  <rth@redhat.com>
217
218         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
219
220 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
221
222         * cfg.c: Include alloc-pool.h
223         (edge_pool): New pool.
224         (bb_pool): New pool.
225         (first_deleted_edge): Remove.
226         (first_deleted_block): Remove.
227         (init_flow): Alloc/free the pools.
228         (free_edge): Use pools.
229         (alloc_block): Ditto.
230         (expunge_block): Ditto.
231         (cached_make_edge): Ditto.
232
233         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
234
235 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
236
237         * et-forest.c: Include alloc-pool.h.
238         (struct et_forest): Add node_pool and occur_pool.
239         (et_forest_create): Create the new pools.
240         (et_forest_delete): Delete them.
241         (et_forest_add_node): Allocate and free using pools.
242         (et_forest_add_edge): Ditto.
243         (et_forest_remove_node): Ditto.
244         (et_forest_remove_edge): Ditto.
245
246         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
247
248 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
249
250         * config/h8300/h8300.c (output_logical_op): Simplify and
251         optimize the handling of SImode.
252         * config/h8300/h8300.c (compute_logical_op_length): Update
253         accordingly.
254         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
255
256 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
257
258         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
259         big-endian correction to indirect arguments too.
260
261 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
262
263         Segher Boessenkool  <segher@koffie.nl>
264
265         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
266         (alt_reg_names): Ditto, fix formatting.
267         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
268
269 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
270
271         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
272         (output_logical_op): Constify intval and det.
273         (compute_logical_length): Likewise.
274         (compute_logical_cc): Likewise.
275         (output_a_shift): Constify mask.
276         (h8300_encode_label): Constify len.
277
278 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
279
280         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
281         (h8300_expand_epilogue): Likewise.
282
283 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
284
285         Segher Boessenkool  <segher@koffie.nl>
286
287         * config/rs6000/altivec.md: Remove spaces from assembler
288         instruction argument lists.
289         
290 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
291
292         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
293         c4x_assembler_function_p.
294         (c4x_null_epilogue_p): Complement return value, all uses updated.
295         (c4x_insert_attributes): Add naked.
296         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
297         * doc/extend.texi: Update C4x function attributes.
298
299 2003-01-06  Richard Henderson  <rth@redhat.com>
300
301         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
302         properly when changing "local-ness".
303         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
304
305 2003-01-06  Dale Johannesen  <dalej@apple.com>
306
307         * config/darwin-protos.h:  Add prototypes for new section functions.
308
309 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
310
311         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
312         to EABI.
313
314 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
315
316         * hwint.h: If the current compiler has no 64-bit type at all,
317         make HOST_WIDEST_INT 32 bits.
318
319 2003-01-06  Eric Christopher  <echristo@redhat.com>
320
321         * config/mips/mips.md (movdf_internal2): Fix constraints.
322
323 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
324
325         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
326
327 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
328
329         * config/mips/mips.md (leadi): Use dla rather than la.
330
331 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
332
333         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
334         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
335
336 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
337
338         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
339         redefinition.
340
341 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
342
343         * config/h8300/h8300.md (*extzv_8_23): New.
344
345 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
346
347         * pa64-hpux.h (JCR_SECTION_NAME): Define.
348         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
349         USE_EH_FRAME_REGISTRY when defining.
350
351 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
352
353         * config/h8300/h8300.c (output_a_shift): Do not output a
354         variable shift.
355         * config/h8300/h8300.md (two splitters): New.
356
357 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
358
359         * config/mips/mips.md: Disable the movstrsi define_split.
360
361 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
362
363         * alloc-pool.c: Don't include "libiberty.h".
364         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
365         * convert.c (convert_to_real): Hide unused variable.
366
367 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
368
369         * Makefile.in (gtyp-gen.h): Const-ify.
370         * gcov-dump.c (tag_table): Likewise.
371
372 2003-01-04  Bruce Korb  <bkorb@gnu.org>
373
374         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
375         of *both* the file name and the fix name.
376
377 2002-01-04  John David Anglin  <dave.anglin@nrc.ca>
378
379         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
380         collect2.
381         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
382         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
383         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
384         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
385         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
386         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
387         elfos.h.
388         (EH_FRAME_IN_DATA_SECTION): Delete define.
389         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
390         (STARTFILE_SPEC): Use crtbegin.o.
391         (ENDFILE_SPEC): Use crtend.o.
392         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
393         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
394         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
395         DTOR_LIST_BEGIN): Define.
396         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
397         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
398         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
399
400 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
401
402         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
403         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
404         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
405         Cleanup handling of replacement text.
406         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
407
408 2003-01-04  Bruce Korb  <bkorb@gnu.org>
409
410         * fixinc/tests/base/math.h: removed obsolete results
411         * fixinc/tests/base/stdlib.h: ditto
412         * fixinc/tests/base/sys/param.h: ditto
413         * fixinc/tests/base/sys/stat.h: ditto
414         * fixinc/tests/base/time.h: ditto
415         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
416         * fixinc/tests/base/sys/byteorder.h: ditto
417         * fixinc/inclhack.def: Remove superfluous backslashes
418
419 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
420
421         * config/h8300/h8300-protos.h: Add prototypes for
422         the new functions defined below.
423         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
424         define.
425         (dosize): Emit RTL instead of assembly code.
426         (push): Likewise.
427         (pop): Likewise.
428         (h8300_output_function_prologue): Remove.
429         (h8300_expand_prologue): New.
430         (h8300_expand_epilogue): New.
431         (h8300_output_function_epilogue): Do only the reset of
432         pragma_saveall.
433         * config/h8300/h8300.md (push_h8300): New.
434         (push_h8300hs): Likewise.
435         (pop_h8300): Likewise.
436         (pop_h8300hs): Likewise.
437         (*stm_h8300s_2): Change the name to stm_h8300s_2.
438         (*stm_h8300s_3): Change the name to stm_h8300s_3.
439         (*stm_h8300s_4): Change the name to stm_h8300s_4.
440         (*ldm_h8300s_2): New.
441         (*ldm_h8300s_3): Likewise.
442         (*ldm_h8300s_4): Likewise.
443         (return): Likewise.
444         (*return_1): Likewise.
445         (prologue): Likewise.
446         (epilogue): Likewise.
447         (monitor_prologue): Likewise.
448
449 2003-01-03  Dale Johannesen  <dalej@apple.com>
450
451         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
452           machopic_picsymbol_stub1.
453           (EXTRA_SECTION_FUNCTIONS):  Ditto.
454         * rs6000/rs6000.c:  Update copyright.
455           (machopic_output_stub):  Use them.  Remove an insn from stub code.
456
457 2003-01-02  Jason Merrill  <jason@redhat.com>
458
459         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
460
461         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
462         static/external decls.
463
464         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
465         outermost scope.
466         * c-decl.c (c_make_fname_decl): Push the decls there, too.
467
468 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
469
470         * config/h8300/h8300-protos.h: Add a prototype for
471         h8300_current_function_interrupt_function_p.
472         * config/h8300/h8300.c (interrupt_handler): Remove.
473         (os_task): Likewise.
474         (monitor): Likewise.
475         (pragma_interrupt): New.
476         (WORD_REG_USED): Use
477         h8300_current_function_interrupt_function_p.
478         (dosize): Likewise.
479         (h8300_output_function_prologue): Likewise.
480         Do not set interrupt_handler, os_task, monitor.
481         (h8300_output_function_prologue): Use
482         h8300_current_function_interrupt_function_p.
483         Do not set interrupt_handler, os_task, monitor.
484         (h8300_current_function_interrupt_function_p): New.
485         (h8300_pr_interrupt): Set pragma_interrupt.
486         (h8300_insert_attributes): Reset pragma_interrupt.
487
488 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
489
490         * doc/install.texi (Configuration): Fix markup for reference to
491         gcc/config.gcc.
492
493 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
494
495         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
496         (*iorhi3_two_qi): Likewise.
497         (*iorsi3_zexthi): Likewise.
498         (*xorhi3_zextqi): Likewise.
499         (*xorsi3_zexthi): Likewise.
500         (*xorsi3_zextqi): Likewise.
501
502 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
503
504         * config/h8300/h8300.c (stack_pointer_operand): New.
505         (const_int_gt_2_operand): Likewise.
506         (const_int_ge_8_operand): Likewise.
507         * config/h8300/h8300.md (a splitter): Likewise.
508         (a peephole2): Likewise.
509         * config/h8300/h8300-protos.h: Add prototypes for the new
510         functions above.
511
512 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
513
514         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
515         objc/objc-act.h: Fix copyright years.
516
517 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
518
519         * doc/passes.texi: Fix documentation for -fssa-ccp
520
521 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
522
523         * gccbug.in: Update for new categories.
524
525 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
526
527         * config/h8300/h8300.md: Reorder some patterns.
528
529 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
530
531         * config/h8300/h8300.c (output_logical_op): Fix a warning.
532
533 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
534
535         * config/darwin-protos.h, config/c4x/c4x-protos.h,
536         config/cris/cris-protos.h, config/i370/i370-protos.h,
537         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
538         config/v850/v850-protos.h: Use struct, and don't conditionally
539         compile on GCC_C_PRAGMA_H.
540
541 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
542
543         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
544         * config/h8300/h8300-protos.h: Likewise.
545         * config/sh/sh-protos.h: Likewise.
546
547 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
548
549         * config/arm/arm-protos.h: Use struct cpp_reader instead of
550         cpp_reader.
551         * config/h8300/h8300-protos.h: Likewise.
552         * config/sh/sh-protos.h: Likewise.
553
554 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
555
556         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
557         arm_pr_long_calls_off): Use struct.
558         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
559         : Similarly.
560         Don't include cpplib.h.
561         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
562         sh_pr_nosave_low_regs): Similarly.
563
564 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
565
566         * config/h8300/h8300.c: Include cpplib.h.
567
568 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
569
570         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
571           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
572           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
573           "GCC" in the copyright header.
574
575 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
576
577         * c-pragma.c (c_register_pragma): New.
578         (init_pragma): Use it.
579         * c-pragma.h (cpp_register_pragma): Don't declare.
580         (c_register_pragma): New.
581         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
582         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
583         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
584         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
585         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
586         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
587         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
588         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
589         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
590         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
591         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
592         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
593
594 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
595
596         * config/h8300/h8300-protos.h: Update the prototypes.
597         * config/h8300/h8300.c (const_le_2_operand): Change to
598         const_int_le_2_operand.
599         (const_int_le_6_operand): Change to const_int_le_6_operand.
600         * config/h8300/h8300.md (two peepholes): Update the function
601         names.
602
603 2002-12-31  Tom Tromey  <tromey@redhat.com>
604
605         * doc/install.texi (Testing): Fixed typo.
606
607 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
608
609         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
610         (TRAMPOLINE_SIZE): Support the normal mode.
611         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
612
613 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
614
615         * c-common.h (pending_lang_change): Declare.
616
617 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
618
619         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
620         descriptions.
621
622 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
623
624         * gcc/doc/invoke.texi (Optimization Options): List the options
625         enabled by each -O flag.
626
627 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
628
629         * doc/install.texi (Configuration): Explicitly refer
630         gcc/config.gcc for a list of cpu models.
631
632 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
633
634         * config/h8300/h8300.h: Fix comment typos.
635
636 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
637
638         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
639
640 2002-12-30  Tom Tromey  <tromey@redhat.com>
641
642         * doc/install.texi (Testing): Mention Jacks.
643
644 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
645
646         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
647
648 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
649
650         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
651         cases.
652         (compute_logical_op_length): Update to reflect the change in
653         output_logical_op.
654         (compute_logical_op_cc): Likewise.
655
656 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
657
658         * doc/service.texi: Uncomment and update FAQ link.
659
660 2002-12-30  Andreas Jaeger  <aj@suse.de>
661
662         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
663
664 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
665
666         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
667
668 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
669
670         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
671         are clearing the most significant byte.
672         (compute_logical_op_length): Update to reflect the change in
673         output_logical_op.
674         (compute_logical_op_cc): Likewise.
675
676 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
677
678         * config/h8300/h8300.md: Give internal names to anonymous
679         insns.
680
681 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
682
683         * config/h8300/h8300.md: Reorder some insns.
684
685 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
686
687         * config/h8300/h8300-protos.h: Add prototypes for
688         const_int_qi_operand and const_int_hi_operand.
689         * config/h8300/h8300.c (const_int_qi_operand): New.
690         (const_int_hi_operand): Likewise.
691         * config/h8300/h8300.md (three peepholes): New.
692
693 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
694
695         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
696         Use @copying.
697
698 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
699
700         * configure.in: Increase makeinfo version requirement to 4.[2-9].
701         * configure: Regenerate.
702         * doc/install.texi: Update Texinfo version requirement.
703
704 2002-12-28  Andreas Jaeger  <aj@suse.de>
705
706         * config/i386/i386.c (x86_function_profiler): Mark labelno as
707         possibly unused.
708
709         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
710         correct format.
711
712 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
713
714         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
715         *iorhi_ashift_8.
716         (*iorhi_lshiftrt_8): New.
717
718 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
719
720         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
721
722 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
723
724         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
725
726 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
727
728         * config/h8300/h8300-protos.h: Fix comment typos.
729         Update copyright.
730         * config/h8300/h8300.c: Fix comment typos.
731
732 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
733
734         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
735
736 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
737
738         * config/i386/athlon.md: Fix comment typos.
739         * config/i386/crtdll.h: Likewise.
740         * config/i386/djgpp.h: Likewise.
741         * config/i386/i386-interix.h: Likewise.
742         * config/i386/i386.c: Likewise.
743         * config/i386/i386.h: Likewise.
744         * config/i386/i386.md: Likewise.
745         * config/i386/k6.md: Likewise.
746         * config/i386/mingw32.h: Likewise.
747         * config/i386/pentium.md: Likewise.
748         * config/i386/sco5.h: Likewise.
749         * config/i386/winnt.c: Likewise.
750         * config/i386/xmmintrin.h: Likewise.
751
752 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
753
754         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
755         INSN_P before checking to see if it is dead.
756         (mark_all_insn_unnecessary): Similarly.
757         (ssa_eliminate_dead_code): Similarly.
758         * rtl.h (struct rtx_def): Update comments for in_struct usage
759         in dead code elimination pass.
760         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
761
762 2002-12-26  Andreas Schwab  <schwab@suse.de>
763
764         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
765
766 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
767
768         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
769         tartet_flags_explicit.
770         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
771         Compact target_flags bits.
772         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
773         (TARGET_SWITCHES): Delete references to *_SET flags.
774
775 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
776
777         * i386.md (memory attribute): Fix setcc attribute.
778
779 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
780
781         * output.h: Fix comment typos.
782         * predict.c: Likewise.
783         * print-tree.c: Likewise.
784         * profile.c: Likewise.
785         * ra-build.c: Likewise.
786         * ra-colorize.c: Likewise.
787         * ra-debug.c: Likewise.
788         * ra-rewrite.c: Likewise.
789         * ra.c: Likewise.
790         * ra.h: Likewise.
791         * real.c: Likewise.
792         * recog.c: Likewise.
793         * reg-stack.c: Likewise.
794         * regclass.c: Likewise.
795
796 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
797
798         * config/h8300/h8300.c (print_operand_address): Do not negate
799         a negative number when printing one.
800
801 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
802
803         * config/h8300/h8300-protos.h: Add prototypes for
804         output_plussi, compute_plussi_length, and compute_plussi_cc.
805         * config/h8300/h8300.c (output_plussi): New.
806         (compute_plussi_length): Likewise.
807         (compute_plussi_cc): Likewise.
808         * config/h8300/h8300.md (addsi_h8300h): Call
809         output_plussi, compute_plussi_length, and compute_plussi_cc.
810
811 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
812
813         * config/h8300/h8300.md (two peepholes): Use match_dup instead
814         of match_operand in the new patterns.
815
816 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
817
818         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
819
820 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
821
822         * configure.in (enable-coverage): Add SELF_COVERAGE.
823         * profile.c (end_branch_prob): Use SELF_COVERAGE.
824
825 2002-12-24  Jim Wilson  <wilson@redhat.com>
826
827         * alias.c (record_set): Handle multi-reg hard registers.
828
829 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
830
831         * regmove.c: Fix comment typos.
832         * reload.c: Likewise.
833         * reload1.c: Likewise.
834         * resource.c: Likewise.
835         * rtl.def: Likewise.
836         * rtl.h: Likewise.
837         * rtlanal.c: Likewise.
838         * sched-deps.c: Likewise.
839         * sched-rgn.c: Likewise.
840         * sibcall.c: Likewise.
841         * simplify-rtx.c: Likewise.
842         * ssa-ccp.c: Likewise.
843         * ssa.c: Likewise.
844         * stmt.c: Likewise.
845         * stor-layout.c: Likewise.
846         * system.h: Likewise.
847         * tlink.c: Likewise.
848         * toplev.c: Likewise.
849         * tracer.c: Likewise.
850         * tree-inline.c: Likewise.
851         * tree.c: Likewise.
852         * tree.h: Likewise.
853         * unroll.c: Likewise.
854         * varasm.c: Likewise.
855
856 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
857
858         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
859         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
860         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
861         DG/UX entries.
862         * doc/md.texi: Remove AMD 29K entries.
863         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
864         1.38.1, NewsOS, RT PC, WE32K entries.
865
866 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
867
868         PR/8763
869         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
870         (altivec_vspltisw_v4sf): Name pattern.
871         (altivec_vslw_v4sf): New pattern.
872
873 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
874
875         * doc/include/gcc-common.texi: Define DEVELOPMENT.
876
877 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
878
879         * stor-layout.c (update_alignment_for_field): Correct handling of
880         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
881         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
882         bitfield does not affect alignment.
883
884 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
885
886         * expr.c (expand_assignment): Apply special treatment to
887         ARRAY_TYPE.
888
889 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
890
891         * config/h8300/h8300-protos.h: Update the prototype of
892         expand_a_shift.
893         * config/h8300/h8300.c (expand_a_shift): Change the return
894         type to void.
895         * config/h8300/h8300.md: Update all the uses of
896         expand_a_shift.
897
898 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
899
900         * tree.c (save_expr): Allow either side of a dyadic operand to be
901         constant.
902
903         * doc/portability.texi (portability): Update portability goals.
904
905 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
906
907         * config/h8300/h8300.c (output_a_shift): Remove unused code.
908
909 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
910
911         * stor-layout.c (update_alignment_for_field): Guard use of
912         ADJUST_FIELD_ALIGN with #ifdef.
913
914         * stor-layout.c (update_alignment_for_field): Use
915         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
916         bitfield when PCC_BITFIELD_TYPE_MATTERS.
917
918 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
919
920         * genautomata.c: Fix comment typos.
921
922 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
923
924         * params.def (tracer-min-branch-probability-feedback): Fix default.
925         * final.c (compute_alignments): Use profile to avoid code bloat.
926
927 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
928
929         * config/h8300/h8300.c (get_shift_alg): Make shift insn
930         sequences end with a valid cc0 whenever possible.
931
932 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
933
934         * config/h8300/h8300.md (negsf2): New.
935         (*negsf2_h8300): Likewise.
936         (*negsf2_h8300hs): Likewise.
937
938 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
939
940         * integrate.c (output_inline_function): Don't hold private
941         pointers to 'struct function' over GC calls.
942
943 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
944
945         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
946         NO_FPSCR_VALUES.
947         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
948
949 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
950
951         * config/h8300/h8300.md (zero_extendqisi2): Correct the
952         length.
953
954 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
955
956         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
957         second alternative "#".
958         (*zero_extendqihi2_h8300hs): Likewise.
959         (a define_split): New.
960
961 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
962
963         * config/h8300/h8300-protos.h: Update the prototype for
964         split_adds_subs.
965         Add prototypes for const_le_2_operand and const_le_6_operand.
966         * config/h8300/h8300.c (split_adds_subs): Add an argument to
967         specify whether inc/dec should be used when possible.
968         (const_le_2_operand): New.
969         (const_le_6_operand): Likewise.
970         * config/h8300/h8300.md (two peepholes): New.
971
972 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
973
974         * config/fr30/fr30.md: Fix a comment typo.
975         * config/i386/i386.c: Likewise.
976         * config/ip2k/ip2k.h: Likewise.
977
978 2002-12-20  Jim Wilson  <wilson@redhat.com>
979
980         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
981         (__ev_subw, __ev_subiw): New.
982         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
983         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
984
985 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
986
987         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
988         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
989         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
990         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
991
992 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
993
994         * config/h8300/h8300-protos.h: Add prototypes for
995         incdec_operand and eqne_operator.
996         * config/h8300/h8300.c (incdec_operand): New.
997         (eqne_operator): Likewise.
998         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
999         (CONST_OK_FOR_O): Likewise.
1000         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
1001         CONST_OK_FOR_O.
1002         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
1003         (addhi3_incdec): New.
1004         (addsi3_incdec): Likewise.
1005         (two peepholes): Likewise.
1006
1007 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
1008
1009         * config/h8300/h8300.c (dosize): Remove warnings.
1010         (print_operand): Likewise.
1011
1012 2002-12-20  Richard Henderson  <rth@redhat.com>
1013
1014         * config/alpha/alpha.c (decl_has_samegp): New.
1015         (samegp_function_operand): Use it.  Rename from
1016         current_file_function_operand.
1017         (direct_call_operand): Handle -msmall-text via symbol->jump.
1018         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
1019         (tls_symbolic_operand_type): Likewise.
1020         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
1021         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
1022         (alpha_end_function): Set symbol->jump for functions defined in
1023         the text section.
1024         * config/alpha/alpha-protos.h: Update.
1025         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
1026         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
1027         (PREDICATE_CODES): Update.
1028         * config/alpha/alpha.md (call patterns): Update for
1029         samegp_function_operand rename; use !samegp reloc if
1030         TARGET_EXPLICIT_RELOCS.
1031         * doc/invoke.text: Document -msmall-text and -mlarge-text.
1032
1033 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
1034
1035         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
1036         all registers capable of holding a double float.
1037         (*rcond): change name of "reverse branch" insns to
1038         something more meaningful.
1039         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
1040         comparisons properly.
1041         (*ffs): Change operand 0 from write to read-modify-write.
1042         (*ffsssi2): Drop constraints from define_expand.
1043
1044         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
1045         MOVE_RATIO as default for store operations.
1046
1047         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
1048         LONG_REGS class.
1049         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
1050         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
1051         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
1052
1053         * config/ns32k/STATUS: New File
1054         * config/ns32k/NOTES: New file.
1055
1056 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
1057
1058         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
1059         option for S/390 and zSeries.
1060         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
1061         s390_arch_string): New variables.
1062         (override_options): Checking for options and setting of
1063         appropriate target_flags, cpu and arch flags.
1064         * config/s390/s390.h: (processor_type): New enum.
1065         (TARGET_SWITCHES): New switches -mesa/zarch.
1066         * config/s390/s390.md: New attribute 'cpu'.
1067
1068 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
1069
1070         * c-pretty-print.h: Fix comment typos.
1071         * integrate.c: Likewise.
1072         * varasm.c: Likewise.
1073         * config/c4x/c4x.h: Likewise.
1074         * config/c4x/c4x.md: Likewise.
1075         * config/fr30/fr30.md: Likewise.
1076         * config/frv/frv.c: Likewise.
1077         * config/h8300/h8300.c: Likewise.
1078         * config/i386/i386.c: Likewise.
1079         * config/i386/i386.h: Likewise.
1080         * config/ia64/ia64.c: Likewise.
1081         * config/ia64/ia64.h: Likewise.
1082         * config/ip2k/ip2k.md: Likewise.
1083         * config/m68hc11/m68hc11-crt0.S: Likewise.
1084         * config/m68hc11/m68hc11.h: Likewise.
1085         * config/m68hc11/m68hc11.md: Likewise.
1086         * config/m68hc11/m68hc12.h: Likewise.
1087         * config/mcore/mcore.md: Likewise.
1088         * config/mips/mips.c: Likewise.
1089         * config/mips/mips.md: Likewise.
1090         * config/mmix/mmix-modes.def: Likewise.
1091         * config/pa/pa.c: Likewise.
1092         * config/rs6000/rs6000.c: Likewise.
1093         * config/rs6000/rs6000.h: Likewise.
1094         * config/rs6000/rs6000.md: Likewise.
1095
1096 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
1097
1098         * config/h8300/h8300.md (output_a_shift): Clean up the code to
1099         output shifts using rotation.
1100
1101 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1102
1103         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
1104
1105 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
1106
1107         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
1108         pointer.
1109         (pushqi_h8300hs): Likewise.
1110         (pushhi_h8300): Likewise.
1111         (pushhi_h8300hs): Likewise.
1112
1113 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
1114
1115         * sched-rgn.c (init_regions): Update comment.
1116
1117 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
1118
1119         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
1120         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
1121         attributes.
1122         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
1123         (get_vrsave_internal,set_vrsave_internal): Same.
1124         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
1125         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
1126         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
1127
1128 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
1129             Danny Smith  <dannysmith@users.sourceforge.net>
1130             Eric Kohl  <ekohl@rz-online.de>
1131
1132         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
1133         attributes incompatible with fastcall attribute.
1134         (ix86_handle_regparm_attribute): Likewise.
1135
1136         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
1137         fastcall types.
1138
1139         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
1140         attributes.
1141         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
1142         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
1143         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
1144         i386_pe_output_labelref rather than here.
1145         (gen_fastcall_suffix): New function. Decorates a label name with the
1146         fastcall prefix (@) and the stdcall suffix.
1147         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
1148         has a fastcall attribute.
1149         (i386_pe_output_labelref): New function. Outputs a label reference.
1150         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
1151         valid attribute.
1152         (ix86_return_pops_args): Fastcall functions pop the stack.
1153         (init_cumulative_args): Reserve registers ECX and EDX if function has
1154         fastcall attribute.
1155         (function_arg): Use registers ECX and EDX if function has fastcall
1156         attribute.
1157         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
1158         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
1159         (FASTCALL_PREFIX): Define as '@'.
1160         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
1161         attributes.
1162         * doc/extend.texi: Add documentation of fastcall attribute.
1163
1164 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
1165
1166         * configure.in: FORBUILD when build!=host changed from
1167         ../$build-alias to ../build-$build_alias to match change made
1168         in top directory.
1169         * configure: Regenerated.
1170
1171 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
1172
1173         PR optimization/8988
1174         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
1175         the biv when eliminating.
1176
1177 2002-12-19  Devang Patel  <dpatel@apple.com>
1178         * gcc.c (struct default_compiler): Recognizes input file name with
1179         .CPP extension as C++ source files
1180         * cp/lang-spec.h: Same
1181         * doc/invoke.texi:  Add documentation for .CPP support.
1182
1183 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
1184
1185         PR 8553
1186         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
1187         registers.
1188         ("absv16qi2"): Same.
1189         ("absv4si2"): Same.
1190         ("absv4sf2"): Same.
1191         ("altivec_abss_v16qi"): Same.
1192         ("altivec_abss_v8hi"): Same.
1193         ("altivec_abss_v4si"): Same.
1194
1195 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
1196
1197         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
1198         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
1199
1200 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
1201
1202         PR target/8340
1203         * stmt.c (expand_asm_operands): Produce an error when
1204         the PIC register is clobbered.
1205
1206 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
1207
1208         * Makefile.in (OBJS): Add alloc-pool.o
1209         (alloc-pool.o): New object.
1210
1211         * alloc-pool.c: New file.
1212         * alloc-pool.h: New file.
1213
1214 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
1215
1216         * gcc.c (validate_switches): Robustify against skipping past '\0'.
1217
1218 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
1219
1220         * config.gcc: Set extra_objs in the generic Darwin rule,
1221         not in the machine-specific rules.
1222
1223 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
1224
1225         * ChangeLog: Follow spelling conventions.
1226         * ChangeLog.2: Likewise.
1227         * ChangeLog.4: Likewise.
1228         * ChangeLog.5: Likewise.
1229         * cppexp.c: Likewise.
1230         * df.c: Likewise.
1231         * gcov.c: Likewise.
1232         * gengtype.c: Likewise.
1233         * reload1.c: Likewise.
1234         * sched-rgn.c: Likewise.
1235         * stmt.c: Likewise.
1236         * stor-layout.c: Likewise.
1237         * timevar.c: Likewise.
1238         * toplev.c: Likewise.
1239         * tree.h: Likewise.
1240         * varasm.c: Likewise.
1241         * config/fr30/fr30.md: Likewise.
1242         * config/i386/i386.c: Likewise.
1243         * config/ia64/ia64.c: Likewise.
1244         * config/pa/pa.c: Likewise.
1245
1246 2002-12-18  Roger Sayle  <roger@eyesopen.com>
1247
1248         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
1249
1250 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
1251
1252         PR 8551
1253         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
1254         macro.
1255         (vec_cmplt C++ functions): Reverse arguments.
1256
1257 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
1258
1259         * config/rs6000/t-rs6000: Move contents to t-fprules,
1260         add rules for dependencies of rs6000.o and to build rs6000-c.o
1261         * config/rs6000/t-fprules: New file from t-rs6000.
1262         * config/rs6000/t-beos: Remove soft-fp rules.
1263         * config/rs6000/t-ppccomm: Likewise.
1264         * config/rs6000/t-newas: Likewise.
1265         * config/rs6000/t-rs6000-c-rule: Delete.
1266         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
1267         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
1268         Create generic Darwin rules.
1269
1270         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
1271
1272 2002-12-18  Doug Evans  <dje@sebabeach.org>
1273
1274         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
1275         and LIT_NAME_P.
1276         (move_src_operand): Remove compile-time warning.
1277         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
1278
1279 2002-12-18  Jason Merrill  <jason@redhat.com>
1280
1281         * unwind-dw2-fde.c (frame_downheap): Split out from...
1282         (frame_heapsort): Here.
1283
1284 2002-12-17  Jason Merrill  <jason@redhat.com>
1285
1286         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
1287         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
1288
1289         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
1290
1291         * calls.c (expand_call): Don't try to be clever about expanding
1292         the return slot address.
1293
1294 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
1295
1296         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
1297         Define.
1298
1299 2002-12-17  Jason Merrill  <jason@redhat.com>
1300
1301         * genmultilib: Use 'cd ./foo'.
1302
1303 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
1304
1305         * doc/c-tree.texi: Restore deliberate spelling mistakes.
1306
1307 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
1308
1309         * doc/c-tree.texi: Fix typos and follow spelling conventions.
1310         * doc/cpp.texi: Likewise.
1311         * doc/extend.texi: Likewise.
1312         * doc/gty.texi: Likewise.
1313         * doc/install.texi: Likewise.
1314         * doc/invoke.texi: Likewise.
1315         * doc/md.texi: Likewise.
1316         * doc/passes.texi: Likewise.
1317         * doc/rtl.texi: Likewise.
1318         * doc/sourcebuild.texi: Likewise.
1319         * doc/tm.texi: Likewise.
1320
1321 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
1322
1323         * doc/invoke.texi: Minor spelling and grammar fixes.
1324
1325 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
1326
1327         * config/s390/s390.c (s390_output_constant_pool): Replace
1328         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
1329
1330 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
1331
1332         * convert.c (convert_to_real): Disable function transformation for
1333         now.
1334
1335 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
1336
1337         * gcc.c (handle_braces): Allow '@' as a switch name.
1338
1339 2002-12-16  Jason Merrill  <jason@redhat.com>
1340
1341         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
1342         with special struct-return ABIs.
1343
1344         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
1345         doesn't match the begin SCOPE_STMT in partialness.
1346
1347 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
1348
1349         * genmultilib: Create temporary files in unique subdirectory.
1350
1351         * gcc.c (validate_switches): Allow '@' as a switch name.
1352
1353 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
1354
1355         * Makefile.in (gcov-iov.h): Improve portability.
1356
1357 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
1358
1359         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
1360         gas
1361         * mips.md (tablejump insn): Likewise.
1362
1363 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
1364
1365         * doc/include/gcc-common.texi: Change version number to 3.4.
1366
1367 2002-12-16  Bruce Korb  <bkorb@gnu.org>
1368
1369         * fixinc/fixlib.h: add: #include <signal.h>
1370         * fixinc/fixincl.c: remove: #include <signal.h>
1371
1372 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
1373
1374         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
1375         (EXTRA_CONSTRAINT): Use it.
1376         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
1377
1378 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
1379
1380         * config.gcc (need_64bit_hwint): New variable.
1381         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
1382         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
1383         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
1384         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
1385         Set it.
1386         (powerpc*-*-darwin*): Unset it.
1387         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
1388         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
1389         deleted/nonexistent xm-*.h headers.
1390         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
1391         target set need_64bit_hwint in config.gcc.
1392         * configure, config.in: Regenerate.
1393
1394         * hwint.h: Overhaul.  Don't bother trying int for
1395         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
1396         decision to force 64-bit HOST_WIDE_INT on
1397         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
1398         not visible at this point.  Don't allow prior definition of
1399         any macro defined by this file.
1400
1401         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
1402         HOST_BITS_PER_WIDE_INT.
1403         * config/c4x/c4x.h: Adjust redefinition of
1404         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
1405         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
1406         config/i386/xm-i386-interix.h: Delete file.
1407
1408 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
1409             John David Anglin  <dave@hiauly1.hia.nrc.ca>
1410
1411         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
1412         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
1413
1414 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
1415
1416         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
1417
1418 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
1419
1420         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
1421         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
1422         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
1423         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
1424         config/v850/t-v850:  Correct dependencies and normalize
1425         compilation commands for files that include coretypes.h and tm.h.
1426
1427         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
1428         not config.h and system.h.
1429
1430 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
1431
1432         * i386.c (flags_reg_operand):  New function.
1433         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
1434         * i386.md (cmov splitter, movqicc): Use new predicate.
1435
1436 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
1437
1438         * i386.md (movqicc splitter): Fix template.
1439
1440 2002-12-13  Jason Merrill  <jason@redhat.com>
1441
1442         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
1443         * calls.c (expand_call): Handle it.
1444         * tree-inline.c (struct inline_data): Remove target_exprs field.
1445         (optimize_inline_calls): Don't initialize it.
1446         (expand_call_inline): Don't modify it.  Handle
1447         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
1448         (declare_return_variable): Take return slot addr.
1449         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
1450         to return_slot_addr.
1451         * langhooks-def.h, langhooks.c: Adjust.
1452         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
1453         a decl with no DECL_INITIAL.
1454
1455         * expr.c (expand_expr): Don't discard the target of a call which
1456         returns in memory.
1457
1458 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
1459
1460         * cppinit.c (path_include): Take an environment variable name.
1461         Tidy up.
1462         (init_standard_includes): Simplify environment handling, and
1463         move to ...
1464         (cpp_read_main_file): ...here as -nostdinc should not affect
1465         environment variable paths.
1466
1467 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1468
1469         * pa.c (output_millicode_call): Correct typo.
1470         (output_call): Likewise.
1471
1472 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
1473
1474         * config/mn10300/mn10300.c (print_operand) <case N>: Check
1475         operand's range.  Print value directly, without aid from
1476         output_address.
1477         <case U>: New.
1478         <case S>: Make sure argument to fprintf has the right type.
1479         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
1480         (EXTRA_CONSTRAINT): Adjust.
1481         * config/mn10300/mn10300.md: Add new all-QImode pattern for
1482         bclr.  Use %U for immediate operands of bset and bclr.
1483         (iorqi3): New expand, with insns for AM33 and mn10300.
1484
1485 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
1486
1487         * sh.c (sh_register_operand): New function.
1488         (prepare_move_operands): Use it.
1489         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
1490         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
1491         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
1492         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
1493         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
1494         (movv2si_i): Likewise.
1495
1496 2002-12-13  Jim Wilson  <wilson@redhat.com>
1497
1498         * doc/extend.texi (Complex Numbers): Update info on debug info.
1499
1500 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
1501
1502         * config/h8300/h8300.md (addhi3_h8300): Remove the last
1503         alternative.
1504
1505 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1506
1507         * hooks.h (hook_tree_tree_bool_false): Declare
1508         hook_bool_tree_tree_false instead.
1509
1510 2002-12-12  Devang Patel  <dpatel@apple.com>
1511
1512         * doc/invoke.texi: Document Darwin linker options, -bundle
1513         -bind_at_load, -all_load and -arch_errors_fatal
1514
1515 2002-12-12  Jim Wilson  <wilson@redhat.com>
1516
1517         * dbxout.c (dbxout_fptype_value): New.
1518         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
1519
1520 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
1521
1522         * c-decl.c: Fix a comment typo.
1523         * cfg.c: Likewise.
1524         * cfgcleanup.c: Likewise.
1525         * cfglayout.c: Likewise.
1526         * cfgrtl.c: Likewise.
1527         * c-typeck.c: Likewise.
1528         * dominance.c: Likewise.
1529         * dwarf2asm.c: Likewise.
1530         * dwarfout.c: Likewise.
1531         * expmed.c: Likewise.
1532         * expr.c: Likewise.
1533         * final.c: Likewise.
1534         * flow.c: Likewise.
1535         * function.c: Likewise.
1536         * gcc.c: Likewise.
1537         * genautomata.c: Likewise.
1538         * integrate.c: Likewise.
1539         * loop.c: Likewise.
1540         * loop.h: Likewise.
1541         * output.h: Likewise.
1542         * profile.c: Likewise.
1543         * ra.h: Likewise.
1544         * reload1.c: Likewise.
1545         * reload.c: Likewise.
1546         * sched-rgn.c: Likewise.
1547         * stmt.c: Likewise.
1548         * tree.h: Likewise.
1549         * vmsdbgout.c: Likewise.
1550
1551 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
1552
1553         * config/h8300/h8300.md: Add a new peephole2.
1554
1555 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
1556
1557         * config/h8300/h8300.md (a peephole2): Accept a constant
1558         that's accepted by CONST_OK_FOR_J.
1559
1560 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
1561
1562         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
1563         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
1564         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
1565         (*addhi_h8300hs): Likewise.
1566
1567 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
1568
1569         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
1570         (sh_register_move_cost): Add clause for SImode fp-fp moves.
1571         Increase cost for moves involving multiple general purpose registers.
1572         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
1573         TARGET_FMOVD.
1574         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
1575         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
1576         (enum reg_class reg_class_from_letter): No longer const.
1577         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
1578         REGCLASS_HAS_GENERAL_REG.
1579         Handle SImode moves from/to fp registers.
1580         ! TARGET_SHMEDIA && TARGET_FMOVD.
1581         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
1582         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
1583
1584 2002-12-12  Andreas Schwab  <schwab@suse.de>
1585
1586         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
1587         change and some warnings.
1588
1589 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
1590
1591         * doc/md.texi (pushm): Fix a typo.
1592
1593 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
1594
1595         * config/mips/mips.c (mips_output_conditional_branch): Support
1596         PIC-safe out-of-range branch and branch-likely.
1597         * config/mips/mips.md (attr length): PIC-safe out-of-range
1598         branches are longer.
1599         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
1600         unused code to support indirect jumps.
1601
1602 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
1603
1604         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
1605         $(tm_file_list).
1606
1607 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
1608
1609         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
1610
1611 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
1612
1613         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
1614
1615 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1616
1617         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
1618         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
1619         BIGGEST_ALIGNMENT.
1620         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
1621         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
1622
1623 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
1624
1625         * doc/invoke.texi: Correct dump file names.
1626
1627 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
1628
1629         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
1630         name to globalize_label or assemble_name.
1631
1632 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
1633
1634         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
1635         if not TARGET_SHMEDIA.
1636
1637 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
1638
1639         * sh.h (REG_CLASS_HAS_FP_REG): New.
1640         (REGISTER_MOVE_COST) Use it.  Put body into a function and
1641         move it into:
1642         * sh.c (sh_register_move_cost).
1643         * sh-protos.h (sh_register_move_cost): Declare.
1644
1645         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
1646         (sh_adjust_cost): Always return a value.
1647
1648 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
1649
1650         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
1651         (REGISTER_MOVE_COST): Use it.
1652
1653 2002-12-11  Richard Henderson  <rth@redhat.com>
1654
1655         * tree.h (MODULE_LOCAL_P): Kill.
1656         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
1657
1658 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
1659
1660         * config/h8300/h8300.md (two define_peephole2): New.
1661
1662 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
1663
1664         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
1665         (CONST_OK_FOR_K): Likewise.
1666         (CONST_OK_FOR_M): Likewise.
1667         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
1668
1669 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
1670
1671         * c-common.c (builtin_define_type_max): Handle unsigned
1672         types too.
1673
1674 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
1675
1676         * haifa-sched.c (rank_for_schedule): Correct style.
1677
1678 2002-12-10  Per Bothner  <pbothner@apple.com>
1679
1680         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
1681         directive_index into an unsigned field and a new is_directive field.
1682         * cppinit.c (mark_named_operators):  Update to set new fields.
1683         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
1684         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
1685         No longer need to subtract 1 from directive_index.
1686         (_cpp_init_directives):  No longer need to add 1 to directive_index.
1687         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
1688
1689 2002-12-10  Roger Sayle  <roger@eyesopen.com>
1690
1691         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
1692         check for evaluating sqrt of a constant at compile time.
1693         * simplify-rtx.c (simplify_unary_operation): Likewise.
1694
1695 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
1696
1697         PR other/8882
1698         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
1699
1700 2002-12-10  Devang Patel  <dpatel@appple.com>
1701
1702         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
1703         * doc/invoke.texi: Add new "Darwin Options" section.
1704
1705 2002-12-10  Jim Wilson  <wilson@redhat.com>
1706
1707         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
1708         memory.
1709
1710 2002-12-10  Andrew Haley  <aph@redhat.com>
1711
1712         * cse.c (cse_insn): Don't cse past a basic block boundary.
1713
1714 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
1715
1716         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
1717         -shared.
1718         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
1719         * config/alpha/linux.h (LIB_SPEC): Likewise.
1720         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
1721         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
1722         * config/sparc/linux.h (LIB_SPEC): Likewise.
1723         * config/sparc/linux64.h (LIB_SPEC): Likewise.
1724
1725 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
1726
1727         * doc/invoke.texi: Document UltraSparc III option.
1728
1729 2002-12-09  Richard Henderson  <rth@redhat.com>
1730
1731         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
1732         __tune_pentium2__ and __tune_pentium3__ as necessary.
1733
1734 2002-12-09  Richard Henderson  <rth@redhat.com>
1735
1736         * target.h (gcc_target): Add cannot_force_const_mem.
1737         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
1738         (TARGET_INITIALIZER): Add it.
1739         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
1740         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
1741         * reload1.c (reload): Likewise.
1742         * hooks.c (hook_bool_rtx_false): New.
1743         * hooks.h: Declare it.
1744
1745         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
1746         (TARGET_CANNOT_FORCE_CONST_MEM): New.
1747         (ix86_expand_move): Remove de-const-pooling hack.
1748
1749 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
1750
1751         * toplev.c (dump_file): Fix order to match reality.
1752
1753 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
1754
1755         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
1756         (store_multiple): Likewise.
1757
1758 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1759
1760         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
1761         function pointers in page 0.
1762
1763 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
1764
1765         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
1766         definition
1767         (MEMBER_TYPE_FORCES_BLK): Move.
1768         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
1769         aggregate arguments.
1770         (ia64_function_value): Use PARALLEL to return aggregate values.
1771
1772 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
1773
1774         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
1775         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
1776         * calls.c (store_unaligned_arguments_into_pseudos) Remove
1777         FUNCTION_ARG_REG_LITTLE_ENDIAN.
1778         * stmt.c (expand_return): Ditto.
1779         * expr.c (move_block_from_reg): Ditto.
1780         (copy_blkmode_from_reg): Ditto.
1781         * expmed.c (store_bit_field): Ditto.
1782
1783 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
1784
1785         * config.gcc: Added tic4x-* target as an alias to c4x-*
1786
1787 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
1788
1789         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
1790         constructing insn directly.
1791
1792 2002-12-06  Per Bothner  <pbothner@apple.com>
1793
1794         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
1795         char to an int bit-field, for hosts where char is unsigned.
1796
1797 2002-12-07  Roger Sayle  <roger@eyesopen.com>
1798             Richard Henderson <rth@redhat.com>
1799
1800         * real.c (ieee_extended_motorola_format,
1801         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
1802         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
1803         Provide appropriate values for new signbit field.
1804
1805 2002-12-07  Roger Sayle  <roger@eyesopen.com>
1806
1807         * real.h (real_format): Add signbit field.
1808         * real.c (ieee_single_format, ieee_double_format,
1809         ieee_extended_motorola_format, ieee_extended_intel_96_format,
1810         ieee_extended_intel_128_format, ibm_extended_format,
1811         ieee_quad_format, vax_f_format, vax_d_format,
1812         vax_g_format, i370_single_format, i370_double_format,
1813         c4x_single_format, c4x_extended_format, real_internal_format):
1814         Provide suitable signbit value, or -1 to avoid bit twiddling.
1815
1816         * optabs.c (expand_unop): Try implementing negation of
1817         floating point modes by flipping the sign bit.
1818         (expand_abs): Try implementing abs of floating point modes
1819         by clearing the sign bit.
1820
1821 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1822
1823         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
1824         of constructing insn directly.
1825
1826 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
1827
1828         * config/h8300/h8300.md (*iorhi_shift_8): New.
1829
1830 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
1831
1832         * doc/invoke.texi: Document FRV port options.
1833         * doc/md.texi: Document FRV register classes.
1834
1835 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1836
1837         * doc/install.texi (Configuration): Improve description of cases
1838         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
1839
1840 2002-12-06  Per Bothner  <pbothner@apple.com>
1841
1842         * cpplib.h (NODE_MACRO_ARG):  New flag.
1843         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
1844         Remove value.operator field.  Move arg_index field to value union.
1845         (directive_index):  Make signed, since also used for C++ operators.
1846         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
1847         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
1848         Save node->value, and set node->value.arg_index.
1849         (_cpp_create_definition):  For each paramater, restore node->value.
1850         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
1851         * cpptrad.c (scan_out_logical_line): Likewise.
1852         (scan_out_logical_line): Check for directive > 0.
1853         * cpplib.c (cpp_handle_directive):  Likewise.
1854         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
1855         by negative of directive_index.
1856         * cppinit.c (mark_named_operators):  Likewise.
1857
1858         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
1859
1860 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
1861
1862         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
1863         FPU.
1864         (push): Generate push_fpscr.
1865         (pop): Generate pop_fpscr.
1866         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
1867         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
1868
1869 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
1870
1871         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
1872         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
1873
1874 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
1875
1876         * sh.md (movdi_i): Name.  Remove inappropriate comment.
1877
1878 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
1879         Merged from basic improvements branch (excerpt):
1880
1881         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
1882         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
1883
1884 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
1885
1886         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
1887
1888 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
1889
1890         * i386.md (dimode peep2s): Re-add "&& 1".
1891
1892 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
1893
1894         * i386.c (ix86_expand_prologue):  Add comment, do not use
1895         fast prologues for cold and normal functions.
1896
1897 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
1898
1899         * i386.c (x86_rep_movl_optimal): New variable.
1900         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
1901         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
1902
1903         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
1904         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
1905         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
1906         generate unnecesary subregs.
1907
1908 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1909
1910         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
1911         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
1912
1913 2002-12-05  Dale Johannesen  <dalej@apple.com>
1914
1915         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
1916
1917 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
1918
1919         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
1920         PROFILE_HOOK.
1921         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
1922
1923 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
1924
1925         * config/rs6000/spe.h (__ev_mwlufi): Remove.
1926         (__ev_mwlufia): Remove.
1927         (__ev_mwlumfaaw): Remove.
1928         (__ev_mwlusfaaw): Remove.
1929         (__ev_mwlumfanw): Remove.
1930         (__ev_mwlusfanw): Remove.
1931
1932 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
1933
1934         * config/h8300/h8300.md (*andorsi3_shift_8): New.
1935
1936 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
1937
1938         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
1939         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
1940         (get_shift_alg): Return optimal assembly instructions for the
1941         shifts mentioned above.
1942
1943 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
1944
1945         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
1946         condtiional moves.
1947
1948 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
1949
1950         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
1951         implement ashiftrt:HI by 13 bits on H8S.
1952
1953 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1954
1955         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
1956         * pa.md (canonicalize_funcptr_for_compare): Output library call to
1957         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
1958         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
1959         CTOR_LIST_BEGIN): New defines.
1960         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
1961         (fptr.c): Add make rules.
1962
1963 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
1964
1965         * combine.c (combine_simplify_rtx): Add new canonicalizations.
1966         * doc/md.texi (Insn Canonicalizations): Document new
1967         canonicalizations for multiply/add combinations.
1968         * config/rs6000/rs6000.md: Add and modify floating add/multiply
1969         patterns to ensure they're used whenever they can be.
1970
1971 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
1972
1973         * config/h8300/h8300.c: Update the comments related to shifts.
1974
1975 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
1976
1977         * config/mips/mips.md (get_fnaddr): Correct length attribute.
1978
1979 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
1980
1981         * config/h8300/h8300.md (*extzv_8_8): New.
1982         (*extzv_8_16): Likewise.
1983
1984 2002-12-04  Jason Merrill  <jason@redhat.com>
1985
1986         PR c++/8461, c++/8625
1987         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
1988         references.
1989         * tree-inline.c (initialize_inlined_parameters): Likewise.
1990
1991         * tree.c (variably_modified_type_p): Just return an error_mark_node.
1992
1993 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
1994
1995         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
1996         macro instruction in a branch delay slot, to avoid assembler
1997         warnings.
1998
1999 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
2000
2001         PR c/7622
2002         * c-semantics (genrtl_scope_stmt): Do not output inlined
2003         nested functions that contain no code.
2004
2005 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
2006
2007         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
2008         to be forced into nonfallthru.
2009
2010 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
2011
2012         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
2013
2014 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
2015
2016         * config/rs6000/spe.md (*movv1di_const0): New pattern.
2017
2018 2002-12-03  Richard Henderson  <rth@redhat.com>
2019
2020         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
2021
2022 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
2023
2024         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
2025         Initialize tmp.using_obstack to 0.
2026
2027 2002-12-03  Andreas Schwab  <schwab@suse.de>
2028
2029         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
2030         (EH_RETURN_STACKADJ_RTX): Define.
2031         (EH_RETURN_HANDLER_RTX): Define.
2032         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2033         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
2034         registers and don't save fixed registers.
2035         (m68k_output_function_prologue): Use it.
2036         (use_return_insn): Likewise.
2037         (m68k_output_function_epilogue): Likewise.
2038
2039 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
2040
2041         * config/h8300/h8300.c (single_one_operand): Fix a warning.
2042         (single_zero_operand): Likewise.
2043
2044 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
2045
2046         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
2047         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
2048         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
2049         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
2050         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
2051         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
2052         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
2053         doc/install-old.texi: Replace hconfig.h with bconfig.h.
2054         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
2055
2056 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
2057
2058         * config/rs6000/rs6000.md (ffssi): Convert to expander.
2059         (ffsdi): Likewise.
2060         (cntlzw2, cntlzd2): New patterns.
2061
2062 2002-12-02  H.J. Lu <hjl@gnu.org>
2063
2064         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
2065         (mips*-*-linux*): Remove mips/t-linux.
2066
2067 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
2068
2069         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
2070
2071 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
2072
2073         * config/h8300/h8300.c (dosize): Replace argument op with
2074         sign.
2075         (h8300_output_function_prologue): Update the call to dosize.
2076         (h8300_output_function_epilogue): Likewise.
2077
2078 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
2079
2080         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
2081
2082 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2083
2084         * configure.in: Use "missing" script to generate warning if
2085         flex or bison programs not found, instead of invoking "false".
2086         * configure: Rebuilt.
2087
2088 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
2089
2090         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
2091
2092 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
2093
2094         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
2095
2096 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
2097
2098         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
2099         (push): Likewise.
2100         (pop): Likewise.
2101         (h8300_output_function_prologue): Likewise.
2102         (h8300_output_function_epilogue): Likewise.
2103
2104 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
2105
2106         * expmed.c (store_bit_field): Use int_mode_for_mode to find
2107         corresponding mode of non-integer mode, unless it is VOIDmode.
2108
2109 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
2110
2111         * config/h8300/h8300.md (stm_h8300s_2): New.
2112         (stm_h8300s_3): Likewise.
2113         (stm_h8300s_4): Likewise.
2114         (five define_peephole2): Likewise.
2115
2116 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
2117
2118         * ra-build.c: Fix a comment typo.
2119
2120 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
2121
2122         * i386.c (ix86_expand_int_movcc): fix
2123         reversed BRANCH_COST test; be curefull about infinite recursion.
2124
2125 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
2126
2127         * config/h8300/h8300.c (h8300_output_function_prologue):
2128         Remove variable idx.
2129         (h8300_output_function_epilogue): Likewise.
2130
2131 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
2132
2133         * config/frv/xm-frv.h: Delete, unnecessary.
2134
2135 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
2136
2137         * config/h8300/h8300.md: Add comments for define_peephole2.
2138
2139 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
2140
2141         * builtin-types.def (BT_SIZE): Use size_type_node.
2142         * builtins.c (fold_builtin): Make the builtin strlen returns a
2143         size_t, not a sizetype.
2144         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
2145         c_size_type_node.
2146         (c_alignof_expr): Likewise.
2147         (c_common_nodes_and_builtins): Likewise.
2148         * c-common.h (CTI_C_SIZE_TYPE): Remove.
2149         (c_size_type_node): Likewise.
2150         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
2151         * tree.h (TI_SIZE_TYPE): New enumeral.
2152         (size_type_node): Likewise.
2153
2154 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
2155
2156         * configure.in: Don't put ${tm_file} into host_xm_file,
2157         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
2158         Take location of tm-preds.h into account when calculating
2159         tm_p_file_list.
2160         * configure: Regenerate.
2161         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
2162         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
2163         Remove special case code for tm_p.h and *config.h; add new
2164         special case code for tm.h and tconfig.h. Clean up a bit.
2165
2166         * Makefile.in (tm_file, tm_file_list): New variables set from
2167         @-substitutions.
2168         (GCONFIG_H): Deleted.
2169         (GTM_H, TM_H): New.
2170         (CONFIG_H): Is now just config.h $(host_xm_file_list).
2171         (TM_P_H): Move up with the other mkconfig.sh-generated
2172         headers; don't mention tm-preds.h explicitly.
2173         (tm.h, cs-tm.h): New rule.
2174         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
2175         invocations of mkconfig.sh for changes to that program.
2176         (mostlyclean): Delete print-rtl1.c.
2177         (clean): Delete tm.h.
2178         Update dependencies for the files listed below.
2179
2180         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
2181
2182         * coretypes.h: New file.
2183         * system.h: #define malloc to xmalloc and realloc to xrealloc
2184         when FLEX_SCANNER or YYBISON is defined, independent of the
2185         value of GCC_VERSION.
2186         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
2187         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
2188         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
2189         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
2190         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
2191         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
2192         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
2193         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
2194         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
2195         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
2196         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
2197         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
2198         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
2199         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
2200         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
2201         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
2202         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
2203         genconstants.c, genemit.c, genextract.c, genflags.c,
2204         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
2205         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
2206         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
2207         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
2208         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
2209         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
2210         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
2211         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
2212         print-tree.c, profile.c, protoize.c, ra-build.c,
2213         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
2214         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
2215         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
2216         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
2217         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
2218         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
2219         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
2220         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
2221         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
2222         xcoffout.c, config/darwin-c.c, config/darwin.c,
2223         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
2224         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
2225         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
2226         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
2227         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
2228         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
2229         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
2230         config/i960/i960-c.c, config/i960/i960.c,
2231         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
2232         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
2233         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
2234         config/mips/irix6-libc-compat.c, config/mips/mips.c,
2235         config/mmix/mmix.c, config/mn10200/mn10200.c,
2236         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
2237         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
2238         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
2239         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
2240         config/sparc/sparc.c, config/stormy16/stormy16.c,
2241         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
2242         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
2243         Include coretypes.h and tm.h.
2244
2245         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
2246         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
2247         genrecog.c: Include coretypes.h and tm.h from the file
2248         generated by this program.
2249
2250         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
2251         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
2252         coretypes.h and tm.h, and tsystem.h when not already included.
2253         No need to include stddef.h nor stdlib.h.
2254
2255         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
2256         include auto-host.h or ansidecl.h/
2257         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
2258         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
2259         include auto-host.h, ansidecl.h, or system.h.
2260         * fixinc/server.c: Likewise.  Also, do not include signal.h,
2261         and do not redefine volatile.
2262
2263 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
2264
2265         * i386.md (movdf_integer):  Always enable in 64bit.
2266         (movdf_nointeger): Always disable in 64bit.
2267
2268 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2269
2270         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
2271         pseudo register number plus 1.
2272
2273 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
2274
2275         * expmed.c (store_bit_field): Use int_mode_for_mode to find
2276         corresponding mode of non-integer mode, unless it is VOIDmode.
2277
2278 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
2279
2280         * cpplib.c (_cpp_test_assertion): Default *value to 0.
2281
2282         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
2283
2284 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
2285
2286         * config/s390/t-crtstuff: New target makefile fragment.
2287         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
2288
2289 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
2290
2291         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
2292         alternatives to correct the length when the memory operand is
2293         either pre_dec or post_inc.
2294
2295 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
2296
2297         * config/h8300/h8300.md (an anonymous pattern): Give an
2298         internal name *tst_extzv_bitqi_1_n.
2299         Accept bit_operand instead of bit_memory_operand.
2300         Do not accept bit tests with the MSB.
2301         (*tst_extzv_memqi_1_n): New.
2302
2303 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
2304
2305         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
2306         sharing when operand is SUBREG.
2307
2308 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
2309
2310         * athlon.md (athlon-decodev): New reservation unit.
2311         (athlon-direct0): New reservation.
2312         (athlon-vector): New use athlon-decodev.
2313         (athlon-double, athlon-direct): Better model.
2314         (athlon_imul_k8): Use athlon-direct0.
2315         (athlon_movlpd_load): New insn reservation.
2316
2317 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
2318
2319         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
2320         Fix a comment typo.
2321         (h8300_tiny_constant_address_p): Likewise.
2322
2323 2002-11-28  Michael Matz  <matz@suse.de>
2324
2325         * doc/passes.texi: Mention the other register allocator.
2326
2327 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
2328
2329         * config/h8300/h8300.md (6 new peephole2 patterns): New.
2330
2331 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
2332
2333         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
2334         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
2335         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
2336
2337 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
2338
2339         * config/h8300/h8300.c (h8300_and_costs): New.
2340         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
2341         * config/h8300/h8300-protos.h: Add a prototype for
2342         h8300_and_costs.
2343
2344 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
2345
2346         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
2347         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
2348         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
2349         * i386.md (truncdfsf patterns and splitters): Use
2350         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
2351
2352 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
2353
2354         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
2355         pointer argument in the prototypes of the following builtins
2356         be (const TYPE *) rather than (TYPE *):
2357          + __builtin_altivec_ld_internal_4sf
2358          + __builtin_altivec_ld_internal_4si
2359          + __builtin_altivec_ld_internal_8hi
2360          + __builtin_altivec_ld_internal_16qi
2361          + __builtin_altivec_lvsl
2362          + __builtin_altivec_lvsr
2363          + __builtin_altivec_lvebx
2364          + __builtin_altivec_lvehx
2365          + __builtin_altivec_lvewx
2366          + __builtin_altivec_lvxl
2367          + __builtin_altivec_lvx
2368          + __builtin_altivec_dst
2369          + __builtin_altivec_dstt
2370          + __builtin_altivec_dstst
2371          + __builtin_altivec_dststt
2372
2373 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2374
2375         * except.c (default_exception_section): Move variable into the
2376         scope where it is used.
2377
2378 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
2379
2380         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
2381         correct version.
2382
2383 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
2384
2385         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
2386
2387 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
2388
2389         * config/h8300/h8300.c (h8300_shift_costs): New.
2390         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
2391         * config/h8300/h8300-protos.h: Add a prototype for
2392         h8300_shift_costs.
2393
2394 2002-11-27  Jim Wilson  <wilson@redhat.com>
2395
2396         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
2397         in output template.
2398
2399 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
2400
2401         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
2402         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
2403         DLL_IMPORT_EXPORT_PREFIX, not '@'.
2404         (i386_pe_dllimport_name_p): Likewise.
2405         (i386_pe_mark_dllexport): Likewise.
2406         (i386_pe_mark_dllimport): Likewise.
2407         (i386_pe_encode_section_info): Likewise.
2408         (i386_pe_strip_name_encoding): Likewise.
2409
2410 2002-11-27  Richard Henderson  <rth@redhat.com>
2411
2412         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
2413         (nm && NF == 3): Set sawsymbol true.
2414         (END): Exit if no symbols seen.
2415         (output): Fix map syntax error if no globals for the version.
2416
2417 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
2418
2419         * builtins.def (DEF_C99_BUILTIN): Fix.
2420
2421 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
2422
2423         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
2424         (all): Add .size and .type information.
2425
2426 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
2427
2428         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
2429         partial_reg_stall target.
2430
2431 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
2432
2433         * i386.md (movhicc): Allow general operand.
2434         (movqicc): New expander.
2435         (movqicc_noc): New pattern.
2436         * i386.c (ix86_expand_carry_flag_compare): New function.
2437         (ix86_expand_int_movcc): Optimize harder using sbb; support more
2438         HImode conversion; support QImode conditional moves
2439
2440 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
2441
2442         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
2443         (ix86_expand_prologue): Multiply the count by amount of registers to be
2444         pushed.
2445
2446 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
2447
2448         * i386.c (override_options): Error about wrong -mcpu on x86-64
2449         compilation.
2450
2451 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
2452
2453         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
2454
2455 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
2456
2457         * i386-protos.h (x86_extended_QIreg_mentioned_p,
2458         x86_extended_reg_mentioned_p): Declare.
2459         * i386.c (extended_reg_mentioned_1): New static function.
2460         (x86_extended_QIreg_mentioned_p,
2461         x86_extended_reg_mentioned_p): New global functions.
2462         * i386.h (REX_SSE_REGNO_P): New macro.
2463         * i386.md (prefix_rex): New attribute.
2464         (length attribute): Add rex.
2465
2466 2002-11-26  Andrew Haley  <aph@redhat.com>
2467
2468         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
2469         from_Unwind_Find_Enclosing_Function.
2470         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
2471         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
2472         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
2473         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
2474         * unwind.h (_Unwind_FindEnclosingFunction): Add.
2475
2476 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
2477
2478         * config/s390/s390.c (390_output_constant_pool): Set alignment
2479         before label in 64 bit mode, behind otherwise.
2480
2481 2002-11-26  Richard Henderson  <rth@redhat.com>
2482
2483         * c-common.c (handle_visibility_attribute): Accept "default".
2484         * tree.h (enum symbol_visibility): New.
2485         (decl_visibility): Declare.
2486         * target.h (gcc_target.visibility): Take visibility arg as integer.
2487         * varasm.c (default_assemble_visibility): Likewise.
2488         (decl_visibility): New.
2489         (maybe_assemble_visibility): Use it.
2490         * output.h (default_assemble_visibility): Update prototype.
2491         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
2492         visibility arg as integer.
2493         * doc/extend.texi: Document default visibility.
2494
2495 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
2496
2497         * config/h8300/h8300.c: Adjust spacing.
2498         * config/h8300/h8300.h: Likewise.
2499
2500 2002-11-26  Richard Henderson  <rth@redhat.com>
2501
2502         * hooks.c (hook_bool_void_false, hook_void_tree_int,
2503         hook_void_FILEptr_constcharptr): Rename so that the return
2504         type is first.
2505         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
2506         hook_bool_tree_false): New.
2507         * hooks.h: Update.
2508         * langhooks-def.h: Update for renames.
2509         * target-def.h: Likewise.
2510         * tree.c (default_comp_type_attributes,
2511         default_set_default_type_attributes, default_insert_attributes,
2512         default_function_attribute_inlinable_p,
2513         default_ms_bitfield_layout_p): Remove.
2514         * tree.h: Update.
2515
2516 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2517
2518         * pa-protos.h (function_value): New prototype.
2519         * pa.c (function_value): Use a PARALLEL to return small aggregates on
2520         TARGET_64BIT.
2521         * pa.h (FUNCTION_VALUE): Use function_value.
2522         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
2523         call_value_internal_reg, sibcall_value_internal_symref,
2524         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
2525         value.
2526
2527 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2528
2529         * expr.c (gen_group_rtx, emit_group_move): New functions.
2530         * expr.h (gen_group_rtx, emit_group_move): Prototype.
2531         * function.c (expand_function_start): Use gen_group_rtx to create a
2532         PARALLEL rtx to hold the return value when the real return rtx is a
2533         PARALLEL.
2534         (expand_function_end): Use emit_group_move to move the return value
2535         from a PARALLEL to the real return registers.
2536         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
2537         in PARALLELs.
2538
2539 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
2540
2541         * config/t-libc-ok: Fix typo.
2542
2543 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
2544
2545         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
2546         before AC_PROG_CC.
2547         * configure: Rebuilt.
2548
2549 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
2550
2551         * c-decl.c: (start_struct): Commonize flag setting.
2552
2553 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
2554
2555         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
2556         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
2557         RS6000_CPU_CPP_ENDIAN_BUILTINS.
2558         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
2559
2560 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
2561
2562         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
2563         insns.
2564         * config/s390/s390.c (struct machine_function): Introduction of
2565         struct machine_function.
2566         (s390_output_symbolic_const): Use of cfun.
2567         (s390_optimize_prolog): Likewise.
2568         (s390_fixup_clobbered_return_reg): Likewise.
2569         (s390_frame_info): Likewise.
2570         (s390_emit_prologue, s390_emit_epilogue): Likewise.
2571         (s390_init_machine_status): New function.
2572         (override_options): call s390_init_machine_status.
2573         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
2574         prototype.
2575
2576 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
2577
2578         * varasm.c (output_constant_pool): For pool constants in mergeable
2579         section ensure each constant is padded to multiple of entity size.
2580
2581 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
2582
2583         * varasm.c (default_exception_section): Move to...
2584         * except.c (default_exception_section): ... here. Make
2585         .gcc_except_table read-only if it is not expected to have any
2586         dynamic relocations and linker handles it.
2587         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
2588         if it is not expected to have any dynamic relocations and linker
2589         handles it.
2590         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
2591         when linking read-only and read-write sections together.
2592         * configure, config.in: Rebuilt.
2593         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
2594         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
2595
2596 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
2597
2598         * i386.md (pushsf_rex64): Fix typo.
2599
2600 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
2601
2602         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
2603         new function.
2604         (__ev_create_ufix32_fs): Same.
2605         (__ev_get_sfix32_fs_internal): New.
2606         (__ev_get_sfix32_fs): Define to use function.
2607         (__ev_get_ufix32_fs_internal): New.
2608         (__ev_get_ufix32_fs): Define to use function.
2609         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
2610         (__ev_get_lower_ufix32_fs): Same.
2611         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
2612         (__ev_get_lower_sfix32_fs): Same.
2613         (__ev_set_sfix32_fs_internal): New.
2614         (__ev_set_ufix32_fs_internal): New.
2615         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
2616         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
2617         (__ev_set_upper_sfix32_fs): Call function.
2618         (__ev_set_lower_sfix32_fs): Same.
2619         (__ev_set_upper_ufix32_fs): Same.
2620         (__ev_set_lower_ufix32_fs): Same.
2621
2622 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
2623
2624         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
2625
2626 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
2627
2628         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
2629         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
2630         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
2631         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
2632         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
2633         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
2634         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
2635         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
2636         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
2637         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
2638         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
2639         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
2640         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
2641         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
2642         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
2643         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
2644         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
2645         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
2646         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
2647         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
2648         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
2649         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
2650         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
2651         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
2652         defining.
2653         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
2654         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
2655
2656 2002-11-25  Dave Pitts  <dpitts@cozx.com>
2657
2658         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
2659
2660 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
2661
2662         * config/h8300/h8300.md (an anonymous pattern): New.
2663
2664 2002-11-25  Richard Henderson  <rth@redhat.com>
2665
2666         * alias.c (find_base_value): Use new_reg_base_value if it's live.
2667         (copying_arguments): Make boolean.
2668
2669 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
2670
2671         * gcc.c (static_spec_functions): Add if-exists-else spec
2672         function.
2673         (if_exists_else_spec_function): New function.
2674         * doc/invoke.texi: Document the if-exists-else spec function.
2675
2676         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
2677         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
2678
2679 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
2680
2681         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
2682         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
2683         "${tmake_file} rs6000/t-netbsd".
2684         * config/rs6000/netbsd.h: Rewrite.
2685         * config/rs6000/t-netbsd: New file.
2686
2687 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
2688
2689         * config/h8300/h8300.md (an anonymous pattern): Relax the
2690         condition for the pattern.
2691
2692 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
2693
2694         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
2695         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
2696         evmwlssfanw, evmwlsmfanw.
2697
2698         * config/rs6000/rs6000.c (bdesc_2arg): Same.
2699
2700         * config/rs6000/spe.md: Same for patterns.
2701
2702 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
2703
2704         PR c/8639
2705         * fold-const.c (extract_muldiv): Don't propagate division unless
2706         both arguments are multiples of C.
2707
2708 2002-11-25  Andrew Haley  <aph@redhat.com>
2709
2710         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
2711         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
2712         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
2713         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
2714
2715 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
2716
2717         * i386.c (x86_use_ffreep): New global variable.
2718         * i386.h (x86_use_frfeep): Declare
2719         (TARGET_USE_FFREEP): New macro
2720         * i386.md  (movs?f*): Use freep when asked for.
2721         (push?f): Remove dead code.
2722
2723 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
2724
2725         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
2726         target help message.
2727
2728 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
2729
2730         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
2731         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
2732         crtbeginT.o".
2733         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
2734         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
2735         to "" for a.out configurations.
2736         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
2737
2738 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
2739
2740         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
2741         NETBSD_CPP_SPEC directly.
2742         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
2743         netbsd_endfile_spec.
2744         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
2745
2746 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
2747
2748         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
2749         NETBSD_STARTFILE_SPEC.
2750         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
2751         (ENDFILE_SPEC): Likewise.
2752         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
2753
2754 2002-11-24  Andreas Schwab  <schwab@suse.de>
2755
2756         * Makefile.in (install-driver): Remove versioned link before
2757         trying to create it.
2758
2759         * config/m68k/m68k.c: Fix typo in last change defining
2760         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
2761
2762 2002-11-23  H.J. Lu <hjl@gnu.org>
2763
2764         * aclocal.m4: Include ../config/accross.m4.
2765         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
2766         (gcc_AC_C_COMPILE_ENDIAN): Removed.
2767         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
2768         instead of $ac_cv_c_compile_endian.
2769
2770         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
2771         AC_COMPILE_CHECK_SIZEOF.
2772         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
2773         * configure: Rebuild.
2774
2775 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
2776
2777         * config/h8300/h8300.c (print_operand): Update the use of
2778         h8300_tiny_constant_address_p.
2779         (h8300_adjust_insn_length): Likewise.
2780         (h8300_tiny_constant_address_p): Check if the given rtx is a
2781         variable declared with __attribute__ ((tiny_data)).
2782
2783 2002-11-22  Dale Johannesen  <dalej@apple.com>
2784
2785         * toplev.c (rest_of_compilation):  Fix comments.
2786
2787 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
2788
2789         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
2790         allow mmap from /dev/zero.  Don't make decisions for the host
2791         based on presence or absence of /dev/zero on the build machine.
2792         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
2793         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
2794         * configure: Regenerate.
2795
2796 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
2797
2798         * gcc.c (make_relative_prefix, split_directories)
2799         (free_split_directories): Removed.
2800
2801 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
2802
2803         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
2804         * configure: Regenerated.
2805
2806 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
2807
2808         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
2809         length computation when xor.l is output.
2810
2811 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
2812
2813         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
2814         (call_vms_1, call_value_vms_1): Cleanup syntax.
2815
2816 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
2817
2818         * athlon.md (define_atuomaton): Add athlon_load.
2819         (athlon-double): New reservation.
2820         (athlon-ieu0): New CPU unit.
2821         (athlon-load?): Use athlon_load automaton.
2822         (*_k8 reservations): New.
2823         (other insn revervations): Activate for K8.
2824
2825 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
2826
2827         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
2828
2829 2002-11-21  Jim Wilson  <wilson@redhat.com>
2830
2831         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
2832         vectors to SI.
2833
2834 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
2835
2836         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
2837         * config/xtensa/xtensa.c (struct machine_function): Add
2838         incoming_a7_copied flag.
2839         (xtensa_copy_incoming_a7): Define.
2840         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
2841         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
2842
2843 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
2844
2845         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
2846         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
2847         x86_64_nonmemory_operand, x86_64_movabs_operand,
2848         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
2849         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
2850         (local_symbolic_operand): Do not care the 64bit limits.
2851         (x86_64_sign_extended_value): Remove allow_rip support.
2852         (legitimate_pic_address_disp_p): Handle all cases allowed
2853         with RIP addressing.
2854         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
2855         (legitimize_pic_address): Reorganize.
2856         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
2857
2858 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
2859
2860         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
2861         * config/arm/netbsd-elf.h: New file.
2862
2863 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
2864
2865         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
2866         subtarget_asm_float_spec.
2867         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
2868         defaults from...
2869         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
2870
2871 2002-11-21  Nick Clifton  <nickc@redhat.com>
2872
2873         * config/fr30/fr30.md (movsf_constant_store): Move code to
2874         detect 0.0 into fr30.c.
2875         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
2876         Prototype.
2877         * config/fr30/fr30.c (fr30_const_double_is_zero): New
2878         function.  Return true if the rtx is 0.0.
2879
2880 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
2881
2882         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
2883         if -mlittle-endian is specified.
2884
2885 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
2886
2887         PR optimization/2903
2888         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
2889         (anddi_notsesidi_di): Likewise.
2890
2891 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
2892
2893         * config/h8300/h8300.c (print_operand): Use
2894         h8300_eightbit_constant_address_p and
2895         h8300_tiny_constant_address_p.
2896         (h8300_adjust_insn_length): Likewise.
2897         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
2898         (TINY_CONSTANT_ADDRESS_P): Likewise.
2899         (OK_FOR_U): Use eightbit_constant_address_p.
2900
2901 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
2902
2903         * config/s390/libgcc-libc.ver: Add multilib support.
2904         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
2905         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
2906         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
2907         EXTRA_MULTILIB_PARTS): Define.
2908
2909 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
2910
2911         * arm.c (arm_get_frame_size): A leaf function does not need its
2912         stack padding to an aligned boundary if it has no frame.
2913         (thumb_get_frame_size): Likewise.
2914
2915 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
2916
2917         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
2918         (override_options): Likewise.
2919
2920 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
2921
2922         * config.gcc: Add k8 target alias support
2923         * i386.c (_cost): Declare costs for various variants of divides and
2924         multiplies.
2925         (k8_cost): New.
2926         (m_K8, m_ATHLON_K8): New macros.
2927         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
2928         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
2929         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
2930         x86_integer_DFmode_moves, x86_partial_reg_dependency,
2931         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
2932         x86_prologue_using_move, x86_epilogue_using_move,
2933         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
2934         x86_sse_typeless_stores): Set for K8
2935         (override_options): Add k8 support; fix athlon alignment;
2936         complain about non-x86-64 capable CPU being used in x86-64 compilation.
2937         (ix86_issue_rate): Set for K8.
2938         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
2939         x86_machine_dependent_reorg): Handle K8 like
2940         * i386.h
2941         (x86_costs):  Change mult_init and divide into array.
2942         (TARGET_K8, TARGET_ATHLON): New macros.
2943         (MODE_INDEX): New macro.
2944         (RTX_COST): Use new costs.
2945         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
2946         (TARGET_CPU_DEFAULT_NAMES): Add k8
2947         (TARGET_CPU_DEFAULT_k8): New constant
2948         (enum processor_type): Add PROCESSOR_K8.
2949         * i386.md (cpu attribute): Add k8.
2950
2951         * invoke.texi: Document -march=k8.
2952
2953         * i386.md (type attribute): Add leave
2954         (mode attribute): Remove unknownfp.
2955         (length_immediate, modrm, memory attributes): Handle leave correctly.
2956         (fp comparison patterns): Determine FP mode.
2957         (leave, leave_rex64): Remove special cases.
2958         * ppro.md (ppro_uops, ppro_p2): Add leave
2959         * pentiun.md (pent_pop): Handle leave too.
2960         * k6.md (k6_load): Handle leave.
2961         * athlon.md (athlon_leave, athlon_pop): Fix.
2962         (athlon_decode): Handle leave.
2963
2964 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
2965
2966         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
2967         to component type using GET_MODE_INNER.
2968         * expr.c (emit_move_insn_1): Ditto.
2969         * optabs.c (expand_binop): Ditto.
2970         (expand_unop): Ditto.
2971         (expand_complex_abs): Ditto.
2972
2973 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
2974
2975         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
2976
2977 2002-11-20  DJ Delorie  <dj@redhat.com>
2978
2979         * config/stormy16/stormy16.c (s16builtins,
2980         xstormy16_init_builtins, xstormy16_expand_builtin): New.
2981         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
2982
2983 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
2984
2985         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
2986         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
2987         (executing gencheck, genconfigs, genconditions, genflags,
2988         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
2989         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
2990         gengtype, genprotos): Prepend $(RUN_GEN).
2991         * configure.in: Move host compiler tests before --enable-checking
2992         tests.
2993         (--enable-checking=valgrind): New.
2994         * config.in, configure: Regenerate.
2995         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
2996         Define as empty.
2997         (read_include_file): When doing the mmap+1 trick,
2998         valgrind-annotate the byte after the mmap:ed area as readable.
2999         (purge_cache): Remove above annotation.
3000         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
3001         VALGRIND_PATH -q to each command.
3002
3003         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
3004         Define as empty.
3005         (ggc_realloc): Update valgrind annotations.
3006         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
3007         Define as empty.
3008         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
3009         valgrind-annotate memory.
3010
3011 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
3012
3013         * recog.c (constrain_operands): Prefer exact match over reloadable
3014         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
3015
3016         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
3017         operands in Pmode.
3018
3019 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
3020
3021         PR c/8518
3022         * c-decl.c (duplicate_decls): Outline the second definition
3023         of an extern inline function in all cases.
3024
3025 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
3026
3027         * stor-layout.c (place_field): Update rli->offset as well as
3028         rli->bitpos.
3029
3030 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
3031
3032         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
3033
3034 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
3035
3036         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
3037         into a libcall block.
3038         (divsi3): Likewise divsi3_i4_media.
3039
3040 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
3041
3042         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
3043         out another register.
3044
3045 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
3046
3047         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
3048         (not just mask) are set in C.
3049
3050 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
3051
3052         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
3053
3054 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3055
3056         * profile.c (index_counts_file): Fix obvious mistake.
3057
3058 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3059
3060         * Makefile.in (profile.o): Add hashtab.h dependency.
3061         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
3062         * profile.c: Include hashtab.h.
3063         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
3064         cleanup_counts_index, index_counts_file, struct section_reference,
3065         struct da_index_entry, counts_file_name, counts_file_index): New.
3066         (get_exec_counts, init_branch_prob): Modified.
3067
3068 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
3069
3070         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
3071         to tmake_file. Remove setting gas and gnu_ld here.
3072         * config/sh/libgcc-glibc.ver: New file.
3073         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
3074         (SHLIB_MAPFILES): New.
3075         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
3076         (MD_STARTFILE_PREFIX): Likewise.
3077         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
3078         (DWARF2_UNWIND_INFO): Redefine.
3079         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3080         (LINK_EH_SPEC): Redefine.
3081         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
3082         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
3083         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
3084         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
3085         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
3086         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
3087         SH_DWARF_FRAME_FPSCR): Likewise.
3088         * config/sh/sh-protos.h (sh_set_return_address): Declare.
3089         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
3090         registers if the current function calls EH return.
3091         (sh_expand_epilogue): Handle EH stack adjustments.
3092         (sh_set_return_address): New function.
3093         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
3094         Don't abort even if the number is mapped to -1.
3095         (EH_RETURN_DATA_REGNO): Define.
3096         (EH_RETURN_STACKADJ_RTX): Define.
3097         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
3098         (eh_return): New pattern.
3099         (eh_set_ra_di, eh_set_ra_si): Likewise.
3100         Add splitter to perform EH return after reload.
3101
3102 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
3103
3104         * stor-layout.c (excess_unit_span): New function.
3105         (place_field): Use it.
3106
3107 2002-11-19  Andreas Schwab  <schwab@suse.de>
3108
3109         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
3110         not valid in C++.
3111
3112 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
3113
3114         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
3115         * configure: Regenerate.
3116
3117 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
3118
3119         * convert.c (strip_float_extensions): New function.
3120         (convert_to_real): Optimize some cases.
3121
3122 2002-11-19  Andreas Jaeger  <aj@suse.de>
3123
3124         * loop.c (record_giv): Initialize not_replaceable.
3125         (check_final_value): Likewise.
3126
3127 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
3128
3129         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
3130         MASK_H8300S.
3131
3132 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
3133
3134         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
3135         only if -mh or -ms present.
3136         (h8300_eightbit_constant_address_p): Support the normal mode.
3137         (h8300_tiny_constant_address_p): Likewise.
3138         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
3139         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
3140         (Pmode): Evaluate to HImode for the normal mode.
3141         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
3142         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
3143         (ASM_WORD_OP): Evaluate to word for the normal mode.
3144         * config/h8300/h8300.md (tablejump_normal_mode): New.
3145         (indirect_jump_normal_mode): New.
3146         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
3147         directory.
3148         (MULTILIB_DIRNAMES): Create target dependent directory
3149         'normal'.
3150         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
3151         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
3152
3153 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
3154
3155         * i386.md (length_immediate): Do not refer to insn address.
3156         (jcc*, jmp patterns):  Compute length explicitly.
3157
3158 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
3159
3160         PR c/8588
3161         * optabs.c (expand_binop): Convert CONST_INTs in shift
3162         operations too.
3163
3164 2002-11-19  Roger Sayle  <roger@eyesopen.com>
3165
3166         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
3167
3168 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
3169
3170         * config/h8300/h8300.md (an anonymous pattern): Relax the
3171         condition to accept the same operands and/or subregs.
3172
3173 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
3174
3175         * config/sh/sh.c (gen_shl_and): Revert previous patch.
3176         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
3177         reload_completed.
3178
3179 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
3180
3181         * config/h8300/h8300.c (print_operand): Update the use of
3182         EIGHTBIT_CONSTANT_ADDRESS_P.
3183         (h8300_adjust_insn_length): Likewise.
3184         (h8300_eightbit_constant_address_p): Check if the given rtx is
3185         a variable with __attribute__((eightbit_data)).
3186         * config/h8300/h8300.h (OK_FOR_U): Update the use of
3187         EIGHTBIT_CONSTANT_ADDRESS_P.
3188
3189 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3190
3191         * doc/contrib.texi (Contributors): Add self as second contact in
3192         addition to Jeff Law.
3193
3194 2002-11-19  Andreas Jaeger  <aj@suse.de>
3195
3196         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
3197         find_alloca_call to right place.
3198
3199 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
3200
3201         * cppfiles.c: Fix formatting.
3202
3203 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
3204
3205         * gcc.c (The Specs Language): Document spec functions.
3206         (static_spec_functions, lookup_spec_function)
3207         (eval_spec_function, handle_spec_function)
3208         (if_exists_spec_function, alloc_args): New.
3209         (execute): Abort if processing_spec_function is true.
3210         (do_spec_1): Hand off spec to handle_spec_function if %:
3211         is encountered.  If processing_spec_function is true,
3212         end any pending argument when the end of the string is reached.
3213         (main): Use alloc_args to allocate the initial argument vector.
3214         * gcc.h (struct spec_function): New.
3215         (lang_specific_spec_functions): New extern.
3216
3217         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
3218         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
3219         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
3220
3221         * doc/invoke.texi: Document spec functions.
3222
3223         * cppspec.c (lang_specific_spec_functions): New.
3224         * gccspec.c: Likewise.
3225
3226 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
3227
3228         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
3229         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
3230         (fixunstfsi_libfunc): Change.
3231         (fixunstfdi_libfunc): Change.
3232         (sdiv_optab): Don't zero out SImode handler.
3233         (udiv_optab): Don't zero out SImode handler.
3234         (smod_optab): Don't zero out SImode handler.
3235         (umod_optab): Don't zero out SImode handler.
3236
3237 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
3238
3239         PR preprocessor/8524
3240         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
3241         Add a new one in its place, which hopefully works.
3242         (skip_rest_of_line): Change test for bottom-of-context-stack.
3243
3244 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
3245
3246         * i386.md (addqi_1_slp): Fix output template.
3247         (subqi_1_slp): Fix type.
3248
3249 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
3250
3251         * calls.c (alloca_call_p): New global function.
3252         * tree.h (alloca_call_p): New.
3253         * tree-inline.c (inlinable_function_p):  Do not inline when
3254         function calls alloca.
3255         (find_alloca_call, find_alloca_call_1): New functions.
3256
3257 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
3258
3259         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
3260         bst.  Update the insn length.
3261         (*andorhi3): Likewise.
3262         (*andorsi3): Likewise.
3263
3264 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
3265
3266         * config/sh/sh-protos.h (sh_mark_label): Declare.
3267         * config/sh/sh.c (sh_mark_label): New function, taken from
3268         movdi_const, but fixing the case when the address has an addend.
3269         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
3270
3271 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
3272
3273         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
3274         (add_constant): Set it.
3275         (dump_table): Don't reorder a constant if part_of_sequence_p.
3276         (machine_dependent_reorg): Assume that float constants will
3277         stay in their original order if used as a sequence.
3278
3279 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
3280
3281         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
3282         in compact code.
3283
3284 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
3285
3286         * config/sh/sh.md (initialize_trampoline): Do not force the
3287         trampoline address into R0_REGS here.
3288
3289 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
3290
3291         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
3292         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
3293         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
3294         generate unnecesary subregs.
3295
3296 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
3297
3298         * df.c: Fix formatting.
3299
3300 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
3301
3302         * config/h8300/h8300.md (two anonymous patterns): Fix insn
3303         lengths.
3304
3305 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
3306
3307         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
3308         is not an arith_reg_operand.
3309
3310 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
3311
3312         * real.c (real_to_decimal): Fix buffer overrun when buffer size
3313         is smaller than representation.
3314
3315 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
3316
3317         * builtins.c: Fix formatting.
3318
3319 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
3320
3321         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
3322         floats?dff2_i387):
3323         Work around regclass stupidity.
3324         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
3325
3326 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
3327
3328         * i386.md (fop_df_6): New pattern.
3329         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
3330         (fop_xf_6): Rewrite
3331         (fop_xf_7): Delete.
3332         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
3333         (fop_tf_6): Rewrite
3334         (fop_tf_7): Delete.
3335
3336 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
3337
3338         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
3339
3340 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
3341
3342         * config/h8300/h8300.md: Fix formatting.
3343
3344 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
3345
3346         * config/h8300/h8300.md: Replace spaces with tabs.
3347         * config/h8300/t-h8300: Remove a trailing empty line.
3348
3349 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
3350
3351         * tlink.c: Fix formatting.
3352
3353 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
3354
3355         PR 8362
3356         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
3357         * config/rs6000/rs6000.md (movti_string): Remove output modifier
3358         when scratch register never needed.
3359         (ldmsi[3-8]): New patterns.
3360
3361 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
3362
3363         * hard-reg-set.h: Follow spelling conventions.
3364         * real.c: Likewise.
3365         * target.h: Likewise.
3366
3367 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
3368
3369         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
3370
3371 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
3372
3373         * optabs.c: Fix formatting.
3374
3375 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
3376
3377         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
3378         * i386.md (attribute type): Add type shift1 and rotate1.
3379         (*_slp): Rewrite to have just two operands to avoid reload problems.
3380
3381 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
3382
3383         * config/h8300/h8300.md (4 anonymous patterns): New.
3384
3385 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
3386
3387         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
3388         * doc/invoke.texi: Correct description of what needs to be done to
3389         force collection at every ggc_collect call.
3390
3391 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
3392
3393         * config/s390/s390.c (optimization_options): Set
3394         flag_asynchronous_unwind_tables to 1 by default.
3395
3396 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
3397
3398         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3399
3400 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
3401
3402         * i386-protos.h (x86_function_profiler): New function
3403         * i386.h (MCOUNT_NAME): New.
3404         (PROFILE_COUNT_REGISTER): New.
3405         (FUNCTION_PROFILER): Move offline to ...
3406         * i386.c (x86_function_profiler) ... here; fix 64bit support
3407         * beos-elf.h (FUNCTION_PROFILER): Kill.
3408         (MCOUNT_NAME): New.
3409         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
3410         (MCOUNT_NAME): New.
3411         (PROFILE_COUNT_REGISTER): New.
3412         * linux.h (FUNCTION_PROFILER): Kill.
3413         (MCOUNT_NAME): New.
3414         * x86-64.h (FUNCTION_PROFILER): Kill.
3415         (MCOUNT_NAME): New.
3416         * freebsd.h (FUNCTION_PROFILER): Kill.
3417         (MCOUNT_NAME): New.
3418
3419 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
3420
3421         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
3422         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
3423         * config/arm/arm.c (arm_va_arg,
3424         arm_function_arg_pass_by_reference): New.
3425         * config/arm/arm-protos.h: Add prototypes.
3426
3427 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
3428
3429         * gthr-single.h: Fix formatting.
3430
3431 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
3432
3433         * tree.c (tree_vec_elt_check_failed): New function.
3434         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
3435         (TREE_VEC_ELT): Use it.
3436
3437         * tree-inline.c (optimize_inline_calls): Don't copy a
3438         zero-length vector.
3439
3440 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3441
3442         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
3443
3444 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
3445
3446         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
3447         both operands contain local relocations.
3448         (categorize_decl_for_section): Don't use mergeable sections if
3449         initializer has any relocations.
3450
3451 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
3452
3453         * gthr-vxworks.h: Fix formatting.
3454
3455 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
3456
3457         * doc/install.texi (Testing): Document extra Java testing.
3458         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
3459
3460 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3461
3462         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
3463         beginning of the spec.
3464         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
3465         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
3466         regarding problems with global constructors when using GNU ld.
3467
3468 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
3469
3470         * gthr-solaris.h: Fix formatting.
3471
3472 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
3473
3474         * gthr-posix.h: Fix formatting.
3475
3476 2002-11-12  Devang Patel <dpatel@apple.com>
3477         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
3478         (process_command): Same.
3479         * doc/invoke.texi: Info about these two new options.
3480
3481 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
3482
3483         * config/h8300/h8300.md (*andorsi3): New.
3484
3485 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3486
3487         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
3488
3489 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
3490
3491         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
3492         expressions appropriately.
3493
3494 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
3495
3496         * gthr-win32.h: Fix formatting.
3497
3498 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
3499
3500         * config/h8300/h8300.c (single_one_operand): Correctly compute
3501         mask when mode is SImode.
3502         (single_zero_operand): Likewise.
3503         * config/h8300/h8300.md (two new anonymous insns): New.
3504
3505 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3506
3507         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
3508         to that entire project.
3509
3510 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3511
3512         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
3513         directories.
3514
3515 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
3516
3517         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
3518         * doc/invoke.texi: Document them.
3519
3520         * ggc-page.c: Include params.h.  Remove definitions of
3521         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
3522         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
3523         (init_gcc): Don't set G.allocated_last_gc here.
3524         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
3525         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
3526         perform collection.
3527         * ggc-simple.c: Similarly.
3528         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
3529         dependencies.
3530
3531 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
3532
3533         * gthr-dce.h: Fix formatting.
3534
3535 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3536
3537         PR c/8467
3538         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
3539         mode of DECL_RTL case.
3540
3541 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
3542
3543         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
3544
3545 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
3546
3547         * i386.c (construct_container): Fix handling of SSE_CLASS.
3548
3549 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
3550
3551         * config/m68k/t-crtstuff (crti.o): Use this...
3552         ($(T)crti.o): ... instead.
3553         (crtn.o): Use this...
3554         ($(T)crtn.o): ... instead.
3555
3556 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
3557
3558         PR c/8439
3559         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
3560         if there is something new to be simplified.
3561
3562 2002-11-10  H.J. Lu <hjl@gnu.org>
3563
3564         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
3565         * expr.c (PUSH_ARGS_REVERSED): Likewise.
3566
3567         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
3568
3569 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
3570
3571         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
3572         * config/rs6000/linux.h, config/rs6000/linux64.h,
3573         config/rs6000/windiss.h: ... not here.
3574
3575 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
3576
3577         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
3578         __ABICALLS__ if TARGET_ABICALLS.
3579
3580 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
3581
3582         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
3583
3584 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
3585
3586         * c-decl.c (grokdeclarator): Make error for duplicate type
3587         qualifiers into a pedwarn, disabled for C99.
3588
3589 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
3590
3591         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
3592         as FUNCTION_ARG_PASS_BY_REFERENCE.
3593
3594 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
3595
3596         * doc/install.texi: Add *-*-vxworks* specific installation
3597         instructions.
3598
3599         * config/vxlib.c: Rewrite using generation numbers to identify
3600         valid TSD keys.
3601
3602 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
3603
3604         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
3605
3606 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3607
3608         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
3609
3610         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
3611         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
3612         * pa.c (output_millicode_call): Use symbol difference rather than
3613         $PIC_pcrel$0 when using HP assembler.
3614         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
3615         not elfos.h (i.e., gas) is being used.
3616         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
3617         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
3618         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
3619         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
3620         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
3621         using elfos.h.
3622         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
3623         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
3624         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
3625         using elfos.h.
3626         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
3627         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
3628         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
3629         Don't define when not using elfos.h.
3630         (ASM_DECLARE_RESULT): Don't define.
3631         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
3632         doesn't work on hppa64-hp-hpux11.
3633         (hppa*-hp-hpux11): Update.
3634
3635 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
3636
3637         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
3638         to the assembler if -mno-abicalls was specified.
3639
3640 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3641
3642         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
3643         ASM_OUTPUT_DEF): Delete.
3644
3645 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
3646
3647         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
3648
3649 2002-11-08  Roger Sayle  <roger@eyesopen.com>
3650
3651         * real.c (real_sqrt): Update comment with bibliographic reference.
3652
3653 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
3654
3655         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
3656
3657 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
3658
3659         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
3660
3661 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
3662
3663         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
3664         (expand_builtin): Likewise.
3665         * builtins.def: Add
3666         __builtin_floor, __builtin_floorf, __builtin_floorl
3667         __builtin_ceil, __builtin_ceilf, __builtin_ceill
3668         __builtin_round, __builtin_roundf, __builtin_roundl
3669         __builtin_trunc, __builtin_truncf, __builtin_truncl
3670         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
3671         * genopinit.c (optabs): Initialize the new optabs.
3672         * optab.c (init_optabs): Likewise.
3673         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
3674         OTI_round, OTI_nearbyint.
3675         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
3676         * doc/md.texi: Document new named patterns.
3677         * doc/extend.texi (builtin functions)  Document
3678         floor, floorf, floorl, ceil, ceilf,
3679         ceill, round, roundf, roundl, trunc,
3680         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
3681
3682 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
3683
3684         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
3685
3686 2002-11-08  Dale Johannesen  <dalej@apple.com>
3687
3688         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
3689
3690 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
3691
3692         PR preprocessor/8497
3693         PR preprocessor/8501
3694         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
3695         start a directive.  In assembler, #NUM is not a line directive.
3696
3697 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
3698
3699         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
3700         buffers.
3701
3702 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
3703
3704         * config/h8300/h8300.md (two anonymous test insns): New.
3705
3706 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
3707
3708         * jump.c (mark_jump_label): Handle subregs of label_refs.
3709
3710 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
3711
3712         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
3713         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
3714
3715 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
3716
3717         * config/ia64/crtend.asm: Include "auto-host.h".
3718         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
3719         * config/ia64/crtbegin.asm: Similarly.
3720         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
3721         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
3722
3723         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
3724         * configure.in: Use it if --enable-initfini-array not specified.
3725         * doc/install.texi (Configuration): Document --enable-initfini-array.
3726         * configure, config.in: Rebuild.
3727
3728 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
3729
3730         * config/arm/arm-protos.h (arm_get_frame_size)
3731         (thumb_get_frame_size): New prototypes.
3732         * config/arm/arm.c (arm_get_frame_size)
3733         (thumb_get_frame_size): New functions.
3734         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
3735         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
3736         arm_get_frame_size.
3737         (thumb_expand_prologue, thumb_expand_epilogue): Use
3738         thumb_get_frame_size.
3739         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
3740         (machine_function): Add frame_size member.
3741         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
3742
3743 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
3744
3745         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
3746         Adjust code to use portable unsigned bit manipulation.
3747         (insn_flags, tune_flags): Change type to unsigned.
3748         (struct processors): Make flags unsigned long.
3749         (arm_override_options): Change type of count and current_bit_count
3750         to unsigned.
3751
3752 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
3753
3754         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
3755
3756 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
3757
3758         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
3759
3760 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
3761
3762         * reg-stack.c (compensate_edge): Fix sanity check.
3763
3764 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
3765
3766         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
3767         crt2.o.  Rearrange t-darwin makefiles.
3768         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
3769         * unwind-dw2-fde-darwin.c: New.
3770         * unwind-dw2-fde-glibc.c: Correct comment.
3771         * unwind-dw2-fde.c (__register_frame_info_bases)
3772         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
3773         (classify_object_over_fdes): Use last_fde.
3774         (add_fdes): Likewise.
3775         (linear_search_fdes): Likewise.
3776         * unwind-dw2-fde.h (struct object)
3777         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
3778         (last_fde): New.
3779         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
3780         (ENDFILE_SPEC): No crtend.o.
3781         * config/t-darwin: New.
3782         * config/i386/t-darwin: Delete.
3783         * config/darwin-crt2.c: New.
3784         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
3785         or config/t-darwin.
3786
3787 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
3788
3789         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
3790         MASK_MS_BITFIELD_LAYOUT
3791         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
3792         MS bitfields for Objective-C.
3793         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
3794         defines.
3795
3796         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
3797         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
3798         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
3799
3800         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
3801         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
3802         (TARGET_SWITCHES): Add above mask.
3803
3804         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
3805         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
3806         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
3807         flags for interix.
3808
3809 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
3810
3811         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
3812         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
3813         assembler.
3814         * config/mips/mips.md (tablejump_internal3): Output .cpadd
3815         before jump on ABI_N32 too.
3816         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
3817         length to match.
3818
3819 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
3820
3821         * i386.md (negsf splitter): Accept memory operand in second register.
3822         (abssf/absdf splitters): Simplify
3823         (sse_loadss, sse_loadsd): Turn into expander.
3824
3825 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
3826
3827         PR target/8480
3828         * config/rs6000/rs6000.md (movdi_internal64): Discourage
3829         FPR to FPR moves.
3830
3831 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
3832
3833         * doc/contrib.texi: Merge in the list from the Java web pages.
3834
3835 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
3836
3837         * config/sparc/freebsd: Fix typo.
3838
3839 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3840
3841         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
3842
3843 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
3844
3845         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
3846         non-SImode addresses.
3847
3848 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
3849
3850         * i386.md (float_truncate SSE splitter): Ensure that operand is not
3851         stack register.
3852         (float SSE splitters): Reorder conditional.
3853
3854 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
3855
3856         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
3857
3858 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
3859
3860         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
3861         (STARTFILE_SPEC): Remove p and pg options.
3862
3863 2002-11-05  Andrew Haley  <aph@redhat.com>
3864
3865         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
3866         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
3867
3868 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
3869
3870         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
3871         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
3872
3873 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
3874
3875         * gthr-vxworks.h: Rewritten from scratch.
3876         * config/vxlib.c: New file.
3877         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
3878         * config/rs6000/t-vxworks: Add config/vxlib.c to
3879         LIB2FUNCS_EXTRA here too, because of clash with
3880         config/rs6000/t-ppccomm.
3881
3882 2002-11-04  Dale Johannesen  <dalej@apple.com>
3883
3884         * doloop.c (doloop_modify_runtime):  Fix loop count computation
3885         for unrolled loops.
3886         * loop.c (loop_invariant_p):  Support calling from unroller.
3887
3888 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
3889
3890         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
3891         for comparison.
3892
3893 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
3894
3895         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
3896
3897         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
3898         (CLASS_CANNOT_CHANGE_MODE): Remove.
3899         (CANNOT_CHANGE_MODE_CLASS): New.
3900
3901         * config/alpha/alpha.h: Same.
3902
3903         * config/ia64/ia64.h: Same.
3904
3905         * config/mips/mips.h: Same.
3906
3907         * config/s390/s390.h: Same.
3908
3909         * config/sh/sh.h: Same.
3910
3911         * config/pa/pa64-regs.h: Same.
3912
3913         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
3914
3915         * config/sh/sh.c (sh_cannot_change_mode_class): New.
3916
3917         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
3918         prototype.
3919
3920         * config/mips/mips.c (mips_cannot_change_mode_class): New.
3921
3922         * doc/tm.texi (Register Classes): Remove
3923         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
3924         Document CANNOT_CHANGE_MODE_CLASS.
3925
3926         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
3927         (push_reload): Same.
3928
3929         * simplify-rtx.c (simplify_subreg): Same.
3930
3931         * reload1.c (choose_reload_regs): Same.
3932
3933         * recog.c (register_operand): Same.
3934
3935         * regrename.c (mode_change_ok): Change to use new
3936         CANNOT_CHANGE_MODE_CLASS infrastructure.
3937
3938         * regclass.c (cannot_change_mode_set_regs): New.
3939         Declare subregs_of_mode.
3940         (regclass): Use subregs_of_mode.
3941         Remove references to reg_changes_mode.
3942         (init_reg_sets_1): Remove class_can_change_mode and
3943         reg_changes_mode code.
3944         (invalid_mode_change_p): New.
3945         (dump_regclass): Use invalid_mode_change_p instead of
3946         class_can_change_mode.
3947         (regclass): Same.
3948         (record_operand_costs): Do not set reg_changes_mode.
3949
3950         * local-alloc.c (struct qty): Remove changes_mode field.
3951         (alloc_qty): Remove changes_mode initialization.
3952         (update_qty_class): Remove set of changes_mode.
3953         (find_free_reg): Use subregs_of_mode.
3954
3955         * global.c (find_reg): Use subregs_of_mode info.
3956
3957         * rtl.h (cannot_change_mode_set_regs): New prototype.
3958         (invalid_mode_change_p): Same.
3959         (REG_CANNOT_CHANGE_MODE_P): New macro.
3960
3961         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
3962         REG_CHANGES_MODE.
3963         (life_analysis): Clear subregs_of_mode.
3964
3965         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
3966         Remove use of CLASS_CANNOT_CHANGE_MODE.
3967         (simplify_set): Same.
3968         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
3969         REG_CHANGES_MODE.
3970
3971         * regs.h: Add extern for subregs_of_mode;
3972         Include hard-reg-set and basic-block.
3973         (REG_CHANGES_MODE): Delete.
3974
3975 2002-11-03  Roger Sayle  <roger@eyesopen.com>
3976
3977         * real.c (real_sqrt): New function to calculate square roots.
3978         * real.h (real_sqrt): Add function prototype.
3979         * builtins.c (fold_builtin): Fold sqrt of constant argument.
3980         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
3981         of constant argument.
3982
3983 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3984
3985         * jump.c (never_reached_warning): Don't set contains_insn until the
3986         first line note is seen.
3987
3988 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
3989
3990         * config/rs6000/rs6000.md (movti_string): Use string instructions.
3991
3992 2002-11-03  Roger Sayle  <roger@eyesopen.com>
3993
3994         PR c/7128
3995         * c-typeck.c (c_expand_asm_operands): Defend against
3996         error_mark_nodes in the output argument to avoid ICE.
3997
3998 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
3999
4000         PR middle-end/8408
4001         * genrecog.c (preds): Handle ADDRESSOF.
4002         (validate_pattern): Mark it as an lvalue.
4003
4004 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
4005
4006         * config/rs6000/rs6000.c (rs6000_override_options): Use string
4007         instructions when optimizing for size.
4008
4009 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
4010
4011         * config/h8300/h8300.h: Fix comment typos.
4012         * config/h8300/h8300.md: Likewise.
4013         * config/h8300/lib1funcs.asm: Likewise.
4014
4015 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4016
4017         Revert this change:
4018
4019         *doc/install.texi (Installing GCC: Configuration): Clarify
4020         the only supported ways to configure gcc.
4021
4022 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
4023
4024         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
4025         instead of 'O' for the constraint for the second operand.
4026
4027 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
4028
4029         PR c++/8391
4030         * toplev.c (rest_of_compilation): Do not refuse to output code for
4031         an inline function in a local class.
4032
4033 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
4034
4035         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
4036         (TRANSFER_FROM_TRAMPOLINE): Reformat.
4037         Add comment.
4038
4039 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
4040
4041         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
4042
4043 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
4044
4045         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
4046
4047 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
4048
4049         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
4050         (MASK_INLINE_DIV_THR): Remove.
4051         (TARGET_INLINE_DIV_LAT): Remove.
4052         (TARGET_INLINE_DIV_THR): Remove.
4053         (TARGET_INLINE_DIV): Remove.
4054         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
4055         (MASK_INLINE_FLOAT_DIV_THR): New macro.
4056         (MASK_INLINE_INT_DIV_LAT): New macro.
4057         (MASK_INLINE_INT_DIV_THR): New macro.
4058         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
4059         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
4060         (TARGET_INLINE_INT_DIV_LAT): New macro.
4061         (TARGET_INLINE_INT_DIV_THR): New macro.
4062         (TARGET_INLINE_FLOAT_DIV): New macro.
4063         (TARGET_INLINE_INT_DIV): New macro.
4064         * config/ia64/ia64.md (divsi3): Change to use new macros.
4065         (modsi3): Ditto.
4066         (udivsi3): Ditto.
4067         (umodsi3): Ditto.
4068         (divsi3_internal): Ditto.
4069         (divdi3): Ditto.
4070         (moddi3): Ditto.
4071         (udivdi3): Ditto.
4072         (umoddi3): Ditto.
4073         (divdi3_internal_lat): Ditto.
4074         (divdi3_internal_thr): Ditto.
4075         (divsf3): Ditto.
4076         (divsf3_internal_lat): Ditto.
4077         (divsf3_internal_thr): Ditto.
4078         (divdf3): Ditto.
4079         (divdf3_internal_lat): Ditto.
4080         (divdf3_internal_thr): Ditto.
4081         (divtf3): Ditto.
4082         (divtf3_internal_lat): Ditto.
4083         (divtf3_internal_thr): Ditto.
4084         * config/ia64/ia64.c (ia64_override_options): Change
4085         to check new macros for conflicts in settings.
4086         * doc/invoke.texi (-minline-divide-min-latency): Remove.
4087         (-minline-divide-max-throughput): Remove.
4088         (-minline-float-divide-min-latency): New.
4089         (-minline-float-divide-max-throughput): New.
4090         (-minline-int-divide-min-latency): New.
4091         (-minline-int-divide-max-throughput): New.
4092
4093 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
4094
4095         PR target/7856
4096         * arm.c (use_return_insn): Don't use a return insn if there are
4097         saved integer regs, but LR is not one of them.
4098
4099 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
4100
4101         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
4102         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
4103
4104 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
4105
4106         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
4107         (movps, movpd splitters): Use canonical form.
4108         (movv2di): Fix merge problem.
4109
4110 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
4111
4112         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
4113
4114 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
4115
4116         PR optimization/6162
4117         * doc/md.texi: Document restriction on commutative operand
4118         specification.
4119
4120 2002-10-31  Eric Christopher  <echristo@redhat.com>
4121
4122         * explow.c (convert_memory_address): Use shallow_copy_rtx.
4123
4124 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
4125
4126         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
4127
4128 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
4129
4130         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
4131
4132 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
4133
4134         * config/rs6000/darwin.h:  Correct formatting in previous.
4135
4136 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
4137
4138         * config/rs6000/darwin.h:  Enable -falign-xxx options.
4139
4140 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
4141
4142         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
4143         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
4144         * i386.c (optimization_options): Set flag_omit_frame_pointer,
4145         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
4146         Do not clear -momit-leaf-frame-pointer when profiling.
4147         (ix86_frame_pointer_required): Frame pointer is always required when
4148         profiling.
4149
4150 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
4151
4152         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
4153
4154 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
4155
4156         * sh.h (binary_logical_operator): Declare.
4157         * sh.c (binary_logical_operator): New function.
4158         * sh.md (xordi3+1): New combiner splitter pattern.
4159
4160 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
4161
4162         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
4163         __enable_execute_stack function.
4164
4165 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
4166
4167         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
4168         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
4169         * unwind-sjlj.c (fc_key_dtor): Delete.
4170         (fc_key_init): Adjust __gthread_key_create call to match.
4171
4172 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
4173
4174         * c-common.c: Add GTY to vector_type_node_list.
4175
4176 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
4177
4178         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
4179         * pa-protos.h (attr_length_millicode_call, attr_length_call,
4180         pa_init_machine_status): Declare new global functions.
4181         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
4182         implement new functions.
4183         (attr_length_millicode_call, attr_length_call): Implement.
4184         (total_code_bytes): Change type to long.
4185         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
4186         Reset counter if flag_function_sections.
4187         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
4188         (output_cbranch): Move call to gen_label_rtx.
4189         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
4190         delay slot in all variants, shorten pc-relative calls.
4191         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
4192         slot usage and exposure, various new call variants, and shortened
4193         sequences for some variants on TARGET_PA_20.
4194         Miscellaneous format changes.
4195         * pa.h (total_code_bytes): Change type to long.
4196         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
4197         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
4198         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
4199         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
4200         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
4201         stores on TARGET_ELF32.
4202         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
4203         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
4204         canonicalize_funcptr_for_compare expanders): Calculate attribute length
4205         attr_length_millicode_call().
4206         (call_internal_symref, call_value_internal_symref): Clobber register 1.
4207         Calculate attribute length using attr_length_call().
4208         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
4209         to delay slot.
4210         (sibcall, sibcall_value): Rewrite.
4211         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
4212         register 1.  Use attr_length_call().
4213         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
4214         New patterns.
4215         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
4216         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
4217         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
4218         * doc/invoke.texi (mlong-calls): Document.
4219
4220 2002-10-30  Roger Sayle  <roger@eyesopen.com>
4221
4222         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
4223         handling of cases where one or both branches of the conditional
4224         have void type, i.e. throw an exception or don't return.
4225         (fold): Only apply (and undo) type conversion to the non-void
4226         branches of a COND_EXPR.
4227
4228 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
4229
4230         PR c++/8333
4231         * varasm.c (asm_output_aligned_bss): Do not call
4232         ASM_GLOBALIZE_LABEL.
4233
4234 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
4235             Torbjorn Granlund  <tege@swox.com>
4236
4237         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
4238         for addressibility.
4239         (load_toc_v4_PIC_1b): Same.
4240
4241 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
4242
4243         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
4244         Truncate the addresses for H8/300 using HImode.
4245
4246 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
4247
4248         * i386.md (negdf splitter): Fix construction of the constant.
4249
4250 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
4251
4252         * i386.md (negsf, negdf): Reorganize to use vector modes
4253         for SSE variants.
4254         (abssf, absdf): Use force_reg.
4255         (movv4sf, movv2df): New splitters.
4256         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
4257         * i386.c (zero_extended_scalar_load_operand
4258
4259         * i386-protos.h (ix86_expand_call): Update prototype.
4260         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
4261         (ix86_expand_call): Use r11 for indirect sibcalls.
4262         * i386.md (call, call_value, untyped_call, call_value_pop):
4263         update x86_expand_call call.
4264         (sibcall, sibcall_value): new patterns
4265         (call_rex64, call_value_rex64): Do not accept sibcalls.
4266         (sibcall_rex64, sibcall_value_rex64,
4267         sibcall_rex64_v, sibcall_value_rex64_v): New.
4268
4269 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
4270
4271         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
4272         before final pass.
4273
4274 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
4275
4276         * toplev.c (rest_of_type_compilation): Return early in case of
4277         errors.
4278         (check_global_declarations): Don't call debug_hooks->global_decl
4279         in case of errors.
4280
4281 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
4282
4283         * doc/c-tree.texi (Tree overview): Fix typos.
4284
4285 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
4286
4287         * Makefile.in (gnucompare*):  Only record bad comparisons
4288         if there really was a bad comparison.
4289
4290 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
4291
4292         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
4293         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
4294         * md.texi (machine dependent constraints): Document 'C'
4295
4296         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
4297
4298         * i386.c (ix86_expand_vector_move): Fix.
4299
4300         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
4301         * i386.md (sse2_maskmovdqu_rex64): New pattern
4302
4303         PR target/8322
4304         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
4305         (ix86_init_mmx_sse_builtins): Fix type.
4306
4307 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
4308
4309         * gthr-posix.h: Include <unistd.h> for feature tests.
4310         (sched_get_priority_max, sched_get_priority_min)
4311         (pthread_getschedparam, pthread_setschedparam): Only use
4312         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
4313         (__gthread_objc_thread_set_priority): Don't treat all nonzero
4314         returns from sched_get_priority_max and sched_get_priority_min
4315         as an error.
4316
4317 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
4318
4319         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
4320         MASK_QUICKCALL.
4321
4322 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
4323
4324         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
4325         (h8300_tiny_constant_address_p): Likewise.
4326         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
4327         h8300_eightbit_constant_address_p.
4328         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
4329         * config/h8300/h8300-protos.h: Add the prototypes for the two
4330         new functions.
4331
4332 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
4333
4334         * reload1.c (update_eliminables): Unconditionally check if
4335         frame_pointer_needed has changed.
4336
4337 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
4338
4339         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
4340         before final pass.
4341
4342 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
4343
4344         PR optimization/8334
4345         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
4346         check for zero operands explicitly.
4347
4348 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
4349
4350         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
4351         memory after adjusting to BLKmode.
4352
4353 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
4354
4355         * config/h8300/h8300.h (MASK_*): New.
4356         (TARGET_*): Use MASK_*.
4357
4358 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
4359
4360         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
4361         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
4362         config/rs6000/vxworks.h: New files.
4363         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
4364
4365         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
4366         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
4367         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
4368         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
4369         sparc-*-vxsim*): Delete stanzas.
4370         * gthr-vxworks.h: Rip out all substantive code and just
4371         include gthr-single.h.
4372
4373         * config/alpha/vxworks.h, config/arm/vxarm.h,
4374         config/i386/vxi386.h, config/i960/t-vxworks960,
4375         config/i960/vx960-coff.h, config/i960/vx960.h,
4376         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
4377         config/mips/vxworks.h, config/rs6000/vxppc.h,
4378         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
4379         config/sparc/vxsim.h, config/sparc/vxsparc.h,
4380         config/sparc/vxsparc64.h: Delete files.
4381
4382 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
4383
4384         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
4385         tm_defines if pthreads are enabled.
4386         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
4387         if NETBSD_ENABLE_PTHREADS is defined.
4388
4389 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
4390
4391         * ChangeLog.1: Fix typos.
4392         * cse.c: Fix a comment typo.
4393         * reload1.c: Likewise.
4394
4395 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
4396
4397         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
4398         * fixinc/tests/base/_G_config.h: New file.
4399
4400 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
4401
4402         * combine.c: Fix comment formatting.
4403         * loop.c: Likewise.
4404         * real.c: Likewise.
4405         * regclass.c: Likewise.
4406         * regmove.c: Likewise.
4407         * regrename.c: Likewise.
4408         * reg-stack.c: Likewise.
4409         * reload1.c: Likewise.
4410         * reload.c: Likewise.
4411         * reload.h: Likewise.
4412         * unroll.c: Likewise.
4413
4414 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
4415
4416         * reload1.c (reload): Fix a comment typo.
4417
4418 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
4419
4420         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
4421
4422 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4423
4424         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
4425         * dwarf2out.c: Include hashtab.h.
4426         (is_main_source): New static variable.
4427         (attr_checksum, die_checksum): Modified to handle die references.
4428         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
4429         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
4430         record_comdat_symbol_number): New static functions.
4431         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
4432         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
4433         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
4434         declarations added.
4435
4436 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
4437
4438         * config/h8300/h8300.c (initial_offset): Change to
4439         h8300_initial_elimination_offset.
4440         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
4441         h8300_initial_elimination_offset.
4442         * config/h8300/h8300-protos.h: Update the prototype.
4443
4444 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
4445
4446         * config/mmix/mmix.h (LIBCALL_VALUE): Use
4447         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
4448         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
4449         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
4450         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
4451         and RTX_CODE.
4452         (mmix_function_value_regno_p): Declare.
4453
4454         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
4455         invalid for floating point mode result, with fix.
4456
4457 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
4458
4459         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
4460         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
4461         (stage1_build): Likewise.
4462
4463 2002-10-25  Mike Stump  <mrs@apple.com>
4464
4465         Fixes gcc.dg/warn-1.c.
4466         * c-typeck.c (warn_for_assignment): Don't print argument number,
4467         if zero.
4468
4469 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
4470
4471         * toplev.c (dump_file_index): Add DFI_ce3.
4472         (dump_file_info): Likewise.
4473         (rest_of_compilation): Run first ifcvt pass before tracer.
4474
4475 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
4476
4477         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
4478
4479 2002-10-25  Richard Henderson  <rth@redhat.com>
4480
4481         * real.c (real_to_decimal): If the >1 tens reduction loop results
4482         in a negative exponent, fall into the <1 pten computation.
4483
4484 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
4485
4486         PR middle-end/6994
4487         * c-objc-common.c (inline_forbidden_p): Can not inline
4488         functions containing structures or unions containing VLAs.
4489         * tree-inline.c (walk_tree): For all class 't' nodes, walk
4490         TYPE_SIZE and TYPE_SIZE_UNIT.
4491         (copy_tree_r): Copy types if they are variably modified.
4492
4493 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
4494
4495         * config/s390/s390.md: Remove old-style peepholes.
4496
4497 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
4498
4499         * config/s390/s390.c (s390_decompose_address): Do not range check the
4500         displacement if base or index is the argument pointer register.
4501
4502 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
4503
4504         PR other/3337
4505         PR bootstrap/6763
4506         PR bootstrap/8122
4507         * fixinc/inclhack.def (libc1_G_va_list): New fix.
4508         * fixinc/fixincl.x: Regenerate.
4509         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
4510         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
4511         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
4512         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
4513         * config.in, configure: Regenerate.
4514
4515 2002-10-24  Igor Shevlyakov <igor@microunity.com>
4516
4517         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
4518
4519 2002-10-24  Richard Henderson  <rth@redhat.com>
4520
4521         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
4522
4523 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
4524
4525         * config/h8300/h8300.c (initial_offset): Simplify by using
4526         round_frame_size.
4527
4528 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
4529
4530         * doc/install.texi (avr): Update required binutils version.
4531
4532 2002-10-24  Theodore A. Roth  <troth@openavr.org>
4533
4534         * doc/install.texi: Point avr users at more up-to-date information.
4535
4536 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4537
4538         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
4539         to pull operands out of the literal pool where possible.
4540
4541 2002-10-24  Denis Chertykov  <denisc@overta.ru>
4542
4543         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
4544
4545 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
4546
4547         * expr.c (convert_move): If unsignedp is less then zero there
4548         is no equivalent code.
4549
4550 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
4551
4552         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
4553
4554 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4555
4556         * config/s390/s390.h: Rework comments; re-sort target macro definitions
4557         according to the sequence they are defined in the manual.
4558         (POINTER_BOUNDARY): Remove.
4559
4560 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
4561
4562         * config/h8300/h8300.c (round_frame_size): Replace 8 with
4563         BITS_PER_UNIT.
4564
4565 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
4566
4567         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
4568         64-bit safe.
4569         (TINY_CONSTANT_ADDRESS_P): Likewise.
4570
4571 2002-10-24  Richard Henderson  <rth@redhat.com>
4572
4573         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
4574         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
4575         vcall offset.
4576
4577 2002-10-24  Richard Henderson  <rth@redhat.com>
4578
4579         PR opt/7944
4580         * reload.c (find_reloads_toplev): Mode of X is not important
4581         when simplifying subregs of constants.
4582
4583 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
4584
4585         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
4586         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
4587         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
4588         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
4589         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
4590
4591 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
4592
4593         * optabs.c (expand_binop): Don't reuse the shift target in the
4594         middle of shift sequences.
4595
4596 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
4597
4598         * i386.md (abs splitters): Do not produce nested subregs.
4599
4600 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
4601
4602         * i386.md (movti_rex64): Fix constraints.
4603
4604 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
4605
4606         * i386.md (abssf,absdf): Use vector operands for SSE
4607         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
4608         vector operand.
4609
4610 2002-10-23  Ziemowit Laski <zlaski@apple.com>
4611
4612         * objc/objc-act.c (get_static_reference): Remove unneeded
4613         TYPE_BINFO initialization.
4614         (get_object-reference): Likewise.
4615         (build_constructor): Tighten precondition check.
4616         (finish_message_expr): Likewise.
4617
4618 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
4619
4620         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
4621         after CONST test.
4622
4623 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
4624
4625         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
4626         in HFAs.
4627
4628 2002-10-23  Richard Henderson  <rth@redhat.com>
4629
4630         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
4631         (alpha_output_mi_thunk_osf): Handle vcall_offset.
4632
4633 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
4634
4635         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
4636         var_mod_type_p.
4637         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
4638         hook_tree_bool_false.
4639
4640         * tree.c (variably_modified_type_p): Moved here from
4641         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
4642         language-specific cases.  Due to this, must weaken some 'if
4643         and only if' checks to merely 'if'.
4644         * tree.h: Prototype variably_modified_type_p.
4645
4646         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
4647
4648 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
4649
4650         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
4651         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
4652
4653         * config/s390/s390-protos.h (fp_operand): Remove.
4654         * config/s390/s390.c (fp_operand): Remove.
4655         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
4656         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
4657         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
4658         (movdi_31, movdf_31 splitters): Likewise.
4659
4660         * config/s390/s390.h (IEEE_FLOAT): Remove.
4661         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
4662         (INT_REGNO_P): Rename to ...
4663         (GENERAL_REGNO_P): ... this.
4664         (FLOAT_REGNO_P): Rename to ...
4665         (FP_REGNO_P): ... this.
4666         (ADDR_REGNO_P): New macro.
4667         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
4668         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
4669         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
4670         (HARD_REGNO_NREGS): Adapt to macro renaming.
4671         (HARD_REGNO_MODE_OK): Likewise.
4672
4673 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
4674             Geoff Keating  <geoffk@apple.com>
4675
4676         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
4677         (rs6000_memory_move_cost): New function.
4678         * config/rs6000/rs6000-protos.h: Declare them.
4679         * config/rs6000/rs6000.h: Use them.
4680
4681 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
4682
4683         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
4684         inlining it into other libgcc2 routines.
4685         (__udivmoddi4): Likewise.
4686
4687 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
4688
4689         * doc/sourcebuild.texi (Test Suites): Improve.
4690
4691 2002-10-22  Stan Shebs  <shebs@apple.com>
4692
4693         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
4694         case for Darwin.
4695
4696 2002-10-22  Jim Wilson  <wilson@redhat.com>
4697
4698         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
4699
4700 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
4701
4702         PR other/8289
4703         * xmmintrin.h: Add const to the argument of loads.
4704
4705         * i386.md (pushv2di): New pattern.
4706         PR target/6890
4707         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
4708
4709 2002-10-22  Richard Henderson  <rth@redhat.com>
4710
4711         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
4712         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
4713         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
4714         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
4715         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
4716         (TARGET_ASM_OUT): Update.
4717         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
4718         (hook_bool_tree_hwi_hwi_tree_true): New.
4719         (default_can_output_mi_thunk_no_vcall): New.
4720         * hooks.h: Declare them.
4721         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
4722
4723         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
4724         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
4725         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
4726         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
4727         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
4728         config/stormy16/stormy16.c: Similarly.
4729
4730         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
4731         Handle 64-bit properly.  Streamline.
4732         (x86_output_mi_vcall_thunk): Remove.
4733         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
4734         (x86_can_output_mi_thunk): New.
4735         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
4736         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
4737         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
4738
4739         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
4740         output_mi_thunk; make static; always use function_section.
4741         (TARGET_ASM_OUTPUT_MI_THUNK): New.
4742         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
4743         (rs6000_ra_ever_killed): Test no_new_pseudos not
4744         targetm.asm_out.output_mi_thunk in conjunction with thunks.
4745         * config/rs6000/rs6000-protos.h: Update.
4746         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
4747         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
4748         xcoffout_declare_function when using rs6000_output_mi_thunk.
4749
4750         * config/s390/s390.c (s390_output_mi_thunk): Rename from
4751         s390_output_mi_vcall_thunk.
4752         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
4753         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
4754
4755         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
4756         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
4757         * config/vax/vax-protos.h: Update.
4758         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
4759
4760 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
4761
4762         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
4763         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
4764         * i386.md (movti_internal): Use 'C'
4765
4766         * xmmintrin.h (_mm_cmplt_epi*): New.
4767
4768 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
4769
4770         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
4771         ("*movdf_64"): Likewise.
4772         ("*lshrdi3_64"): Likewise.
4773         ("blockage"): Add length attribute.
4774         ("lit"): Likewise.
4775
4776 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
4777
4778         * i386.md: FIx typo.
4779         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
4780         (sse2_umulv2siv2di3): Fix predicate.
4781         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
4782         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
4783         * xmmintrin.h (_mm_mul_epu16): Rename to...
4784         (_mm_mul_epu32): This one.
4785         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
4786
4787         (contains_128bit_aligned_vector_p): Undo accidental checkin.
4788
4789 2002-10-22  Eric Christopher  <echristo@redhat.com>
4790
4791         * config/sparc/sparc.h: Add #error.
4792
4793 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
4794
4795         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
4796         [s390x-*-linux*]: Likewise.
4797         * config/s390/t-linux: Remove.
4798         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
4799
4800 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
4801
4802         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
4803         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
4804         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
4805         * i386.md (mmx_punpck?dq): Simplify.
4806         (sse2_pubpcklqdq): Fix.
4807         (sse2_pubpckhqdq): New.
4808         * xmmintrin.h (_mm_unpackhi_epi32): New.
4809
4810         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
4811         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
4812
4813 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
4814
4815         PR c++/7209
4816         * fold_const.c (fold_binary_op_with_conditional_arg): Always
4817         build compound_expr if we used save_expr.
4818
4819 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
4820
4821         * output.h (SECTION_NOTYPE): Define.
4822         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
4823         init array sections.
4824         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
4825         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
4826         merge TLS support.
4827
4828 2002-10-21  Richard Henderson  <rth@redhat.com>
4829
4830         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
4831         the function type, not the return type.
4832
4833 2002-10-21  Richard Henderson  <rth@redhat.com>
4834
4835         * real.c (sticky_rshift_significand): Return inexact, don't
4836         or it in immediately.
4837         (sub_significands): Accept incomming carry.
4838         (div_significands, rtd_divmod): Update for sub_significands change.
4839         (round_for_format): Update for sticky_rshift_significand change.
4840         (do_add): Don't involve the inexact bit in addition, do give the
4841         inexact bit as the subtraction carry-in.
4842         (encode_internal, decode_internal, real_internal_format): New.
4843         * real.h (real_internal_format): Declare.
4844
4845 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4846
4847         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
4848         don't define sdiv_qrnnd.
4849
4850 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
4851
4852         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
4853         using IN_RANGE.
4854         (TINY_CONSTANT_ADDRESS_P): Likewise.
4855
4856 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
4857
4858         * i386.c (builtin_description): Add punpcklqdq and movdq2q
4859         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
4860         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
4861         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
4862         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
4863         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
4864         __builtin_ia32_setzero128.
4865         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
4866         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
4867         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
4868         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
4869         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
4870         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
4871         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
4872         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
4873         sse2_movq): New patterns.
4874         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
4875         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
4876         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
4877         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
4878         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
4879         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
4880         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
4881         (_mm_insert_epi16): Fix.
4882
4883 2002-10-21  Dale Johannesen  <dalej@apple.com>
4884
4885         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
4886             unsafe math reversals correctly for RTL generation.
4887           (output_cbranch):  Replace rs6000_reverse_condition call
4888             by its former definition.
4889
4890 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
4891
4892         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
4893         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
4894         from constant pool or LABEL_REFs as sign extended if allow_rip.
4895         Change all +-1GB limits to +-16MB.
4896         (x86_64_general_operand, x86_64_szext_general_operand,
4897         x86_64_nonmemory_operand, x86_64_movabs_operand,
4898         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4899         legitimate_address_p, ix86_expand_int_movcc): Update callers.
4900         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
4901         in CM_SMALL_PIC model.
4902         (legitimate_pic_address_disp_p): Don't check offsets before
4903         calling local_symbolic_operand.
4904         (legitimize_pic_address): Force offsets bigger than +-16MB into
4905         register.
4906         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
4907         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
4908         prototype.
4909
4910         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
4911         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
4912         * configure: Rebuilt.
4913         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
4914         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
4915         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
4916         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
4917         -fpic.
4918         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
4919         non-pic code if TARGET_64BIT.
4920         (legitimize_address): Generate 64-bit TLS sequences.
4921         (output_pic_addr_const): Support x86-64 TLS operators.
4922         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
4923         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
4924         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
4925         (output_addr_const_extra): Support x86-64 TLS operators.
4926         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
4927         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
4928         unconditionally.
4929         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
4930         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
4931         (*tls_global_dynamic_sun): Renamed to...
4932         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
4933         (tls_global_dynamic): Renamed to...
4934         (tls_global_dynamic_32): ... this.
4935         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
4936         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
4937         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
4938         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
4939         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
4940         (tls_local_dynamic_base_dynamic): Renamed to...
4941         (tls_local_dynamic_base_dynamic_32): ... this.
4942         (tls_local_dynamic_base_dynamic_64,
4943         *tls_local_dynamic_base_dynamic_64): New.
4944         (*tls_local_dynamic_once): Renamed to...
4945         (*tls_local_dynamic_32_once): ... this.
4946
4947 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4948
4949         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
4950         __divdi3, __umoddi3, or __moddi3.
4951
4952 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4953
4954         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
4955         instead of just opt_index as switch expression.
4956
4957         * calls.c (store_one_arg): Change type of 'excess_align'
4958         to unsigned int.
4959
4960         * profile.c (output_gcov_string): Change type of 'temp'
4961         to size_t.
4962
4963 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4964
4965         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
4966         (__fixunssfdi, __fixsfdi): Likewise.
4967         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
4968         (s390_single_qi): Likewise.
4969         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
4970         unsigned comparison warning.
4971         (s390_return_addr_rtx): New function.
4972         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
4973         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
4974         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
4975
4976 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4977
4978         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
4979         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
4980         (s390_output_mi_thunk): Remove.
4981         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
4982
4983 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
4984
4985         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
4986
4987 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
4988
4989         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
4990         inverted test in the conditional determining the possibility
4991         of sibcalls in PIC mode.
4992
4993 2002-10-20  Richard Henderson  <rth@redhat.com>
4994
4995         * target.h (struct gcc_target): Line wrap.
4996
4997         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
4998         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
4999         * config/alpha/alpha.h: ... not here.
5000         * config/alpha/alpha-protos.h: Update.
5001
5002         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
5003         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
5004         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
5005         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
5006         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
5007         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
5008         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
5009         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
5010         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
5011         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
5012         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
5013         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
5014         config/sparc/sparc.c, config/sparc/sparc.h,
5015         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
5016         config/stormy16/stormy16.h: Similarly.
5017
5018         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
5019         selection logic from call patterns.
5020
5021 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
5022
5023         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
5024
5025 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5026
5027         PR other/8202
5028         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
5029         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
5030         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
5031         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
5032
5033 2002-10-20  Roger Sayle  <roger@eyesopen.com>
5034
5035         PR c/761
5036         * toplev.c (flag_unsafe_profile_arcs): Remove.
5037         (flag_bounded_pointers): Remove.
5038         (flag_bounds_check): Correct comments.
5039         (lang_independent_options): Remove -funsafe-profile-arcs and
5040         -fbounded-pointers.  Correct -fbounds-check comments.
5041
5042         * flags.h: Correct flag_schedule_interblock comments.
5043         (flag_bounded_pointers): Remove prototype.
5044         (flag_bounds_check): Correct comments.
5045
5046         * c-opts.c (c_common_init_options): No need to mark
5047         flag_bounds_check as unspecified.
5048         (c_common_post_options): And no need to set it from
5049         flag_bounded_pointers if its still unspecified.
5050
5051         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
5052         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
5053         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
5054         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
5055
5056 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
5057         Angela Marie Thomas  <angela@releasedominatrix.com>
5058         Brendan Kehoe  <brendan@zen.org>
5059         Nick Clifton  <nickc@redhat.com>
5060         Andrew Haley  <aph@redhat.com>
5061
5062         * configure.in (--with-sysroot): New.  Don't inhibit libc if
5063         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
5064         and CROSS_SYSTEM_HEADER_DIR.
5065         * configure: Rebuilt.
5066         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
5067         (TARGET_SYSTEM_ROOT): New.
5068         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
5069         CROSS_SYSTEM_HEADER_DIR.
5070         (install-gcc-tooldir): New target.
5071         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
5072         if SYSTEM_HEADER_DIR does not exist and it's not the default
5073         sys-include directory.
5074         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
5075         (install-mkheaders): Likewise.
5076         * gcc.c (target_system_root): New variable.
5077         (add_sysrooted_prefix): New function.
5078         (process_command): Recompute run-time target_system_root from
5079         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
5080         does not exist.
5081         (do_spec_1): Process 'R' spec.
5082         (main): Add md_exec_prefix to exec_prefixes regardless of
5083         startfile_prefix_spec.  Use add_sysrooted_prefix for
5084         startfile_prefixes, and don't skip the default ones when cross
5085         compiling with sysroot enabled.  Removed unused case of
5086         non-absolute standard_startfile_prefix.
5087         * config/interix.h: Remove the only potential, yet disabled,
5088         occurrence of non-absolute (empty) standard_startfile_prefix.
5089         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
5090         linking.
5091         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
5092         * doc/install.texi (--with-sysroot): Document.
5093         (--with-headers, --with-libs): Deprecate.
5094
5095 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5096             Mark Mitchell  <mark@codesourcery.com>
5097
5098         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
5099         match target.h.
5100         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
5101         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
5102         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
5103         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
5104         x86_output_mi_thunk): Likewise.
5105         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
5106         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
5107         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
5108         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
5109         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
5110         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
5111         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
5112         Likewise.
5113         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
5114
5115         * target.h (gcc_target): Update output_mi_thunk and
5116         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
5117         vcall_index.
5118
5119         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
5120         TARGET_ASM_OUTPUT_MI_THUNK in comments.
5121         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
5122         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
5123         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
5124         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
5125         signature.
5126         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
5127         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
5128         TARGET_ASM_OUTPUT_MI_THUNK in comments.
5129         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
5130         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
5131         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
5132         TARGET_ASM_OUTPUT_MI_THUNK in comments.
5133         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
5134         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
5135
5136         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
5137         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
5138
5139 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
5140
5141         * real.c (do_add): Fix 0+0 sign corner case.
5142         (do_divide): Fix Inf/0 corner case.
5143
5144 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
5145
5146         * i386.c (classify_argument): Pass MMX arguments in memory
5147         (ix86_expand_builtin): Expand proper address mode for cflush.
5148         * i386.md (movdqa): Fix typo.
5149         (sse2_cflush): Accept DImode addresses.
5150
5151         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
5152         (_mm_max_sd): Fix pasto.
5153         (_mm_storeh_pd, _mm_storel_pd): Fix.
5154
5155         * i386.c (bdesc_comi): Fix to match specification.
5156         (ix86_expand_sse_comi): Emit the comparison properly.
5157         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
5158         Do not use comparison operator.
5159         (vnmaskcmp): Fix template.
5160
5161         * xmmintrin.h (_mm_cvtps_pi16): Fix.
5162
5163 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
5164
5165         * dependence.c : Removed.
5166         * Makefile.in : Remove dependence.o.
5167
5168 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
5169
5170         * mmintrin.h (__m64): typedef it to v2si.
5171         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
5172         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
5173         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
5174         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
5175         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
5176         * xmmintrin.h (_mm_setzero_si64): Likewise.
5177
5178         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
5179         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
5180
5181         PR target/7693
5182         Patch by Shawn Wagner
5183         * mmintrin.h: Replace pi64 by si64.
5184
5185 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
5186
5187         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
5188         Use length of 4 not *.
5189         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
5190         (movdf_softfloat64): Likewise.
5191         (movdi_internal32): Use length of 4 not *.
5192         (movti_power): Same.
5193         (ctrsi, ctrdi): Same.
5194
5195 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
5196
5197         * c-decl.c (start_decl): Point users of the old initialized-
5198         typedef extension at __typeof__.
5199
5200 2002-10-18  Richard Henderson  <rth@redhat.com>
5201
5202         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
5203         (real_to_decimal): Re-implement using the logic from the
5204         gcc 3.2 etoasc.  Comment heavily.
5205         (div_significands): Simplify loop startup and comparison logic.
5206
5207 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
5208
5209         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
5210         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
5211         (TARGET_ASM_OUT): Add them.
5212         * target.h (asm_out): Add output_mi_thunk and
5213         output_mi_vcall_thunk.
5214         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
5215         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
5216         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
5217         * config/arm/arm.c (arm_output_mi_thunk): Define.
5218         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
5219         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
5220         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
5221         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
5222         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
5223         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
5224         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
5225         prototype.
5226         (x86_output_mi_vcall_thunk): Declare.
5227         * config/i386/i386.c (override_options): Clear
5228         output_mi_vcall_thunk in 64-bit mode.
5229         (ix86_fntype_regparm): New function.
5230         (ix86_return_pops_args): Use it.
5231         (ia32_this_parameter): New function.
5232         (x86_output_mi_vcall_thunk): New function.
5233         (x86_output_mi_thunk): Use it
5234         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
5235         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
5236         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
5237         * config/i960/i960.c (i960_output_mi_thunk): New function.
5238         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
5239         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
5240         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
5241         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
5242         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
5243         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
5244         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
5245         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
5246         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
5247         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
5248         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
5249         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
5250         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
5251         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
5252         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
5253         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
5254         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
5255         * config/s390/s390.c (s390_output_mi_thunk): Define.
5256         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
5257         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
5258         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
5259         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
5260         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
5261         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
5262         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
5263         * config/vax/vax.c (vax_output_mi_thunk): Define.
5264         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
5265         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
5266         * doc/tm.texi: Adjust documentation.
5267
5268 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
5269
5270         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
5271         __enable_execute_stack function.
5272         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
5273         as NETBSD_ENABLE_EXECUTE_STACK.
5274         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
5275         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
5276         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
5277         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
5278         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
5279
5280 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
5281
5282         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
5283         to __enable_execute_stack with the address of the trampoline
5284         if TRANSFER_FROM_TRAMPOLINE is defined.
5285         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
5286         constant if building libgcc2.
5287
5288 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
5289
5290         * i386.c (pentium4_cost): Fix according to Intel recommendations.
5291         (ix86_memory_move_cost): Fix for 64bit compilation.
5292
5293 2002-10-17  Roger Sayle  <roger@eyesopen.com>
5294
5295         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
5296
5297 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
5298
5299         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
5300         in CTR/LR/MQ.
5301         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
5302         to/from CTR/LR/MQ.
5303         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
5304         (movsf_softfloat): Likewise.
5305
5306 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
5307
5308         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
5309
5310 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
5311
5312         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
5313         tramp, not addr, to pass the trampoline address to
5314         __enable_execute_stack.
5315
5316 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
5317
5318         * mmintrin.h: Guard by __MMX__
5319         * xmmintrin.h: Guard by __SSE__
5320
5321         PR other/8062
5322         * xmmintrin.h (_MM_SHUFFLE2): New macro.
5323         (_mm_load*_?d): New functions.
5324         (_mm_set*_?d): New functions.
5325         (_mm_store*_?d): New functions.
5326
5327 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
5328
5329         Really commit patch announced at Oct 14
5330         PR c/7344
5331         * predict.c (can_predict_insn_p): New function.
5332         (estimate_probability): Avoid unnecesary work.
5333         (process_note_prediction): Likewise.
5334         * toplev.c (rest_of_compilation): Account early branch prediction pass
5335         as TV_BRANCH_PROB.
5336
5337         PR other/8048
5338         Found by Ian Ollmann
5339         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
5340         (_mm_load?_pd): Likewise.
5341         (_mm_store?_pd): Likewise.
5342
5343         PR target/7386
5344         * i386.c (builtin_description):Drop cmpg[te]s[sd].
5345         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
5346         swapped alternative.
5347
5348         PR opt/7630
5349         * reload1.c (reload_inner_reg_of_subreg): New argument output;
5350         (push_reload): Update call.
5351
5352 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
5353
5354         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
5355         if using mips/elf.h or mips/elf64.h.
5356         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
5357         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
5358
5359 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
5360
5361         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
5362         SI.
5363
5364 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
5365
5366         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
5367         (LPREFIX): Likewise.
5368         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
5369         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
5370         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
5371         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
5372         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
5373
5374         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
5375         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
5376         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5377         BSS_SECTION_ASM_OP): Move from linux.h.
5378         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5379         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
5380
5381         * config/s390/s390.c (s390_function_profiler): Use
5382         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
5383
5384 2002-10-15  Eric Christopher  <echristo@redhat.com>
5385
5386         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
5387         * java/parse.y (obtain_incomplete_type): Make pointer
5388         ptr_mode.
5389
5390 2002-10-15  Richard Henderson  <rth@redhat.com>
5391
5392         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
5393         as arguments.  Bound DIGITS by the available buffer size.
5394         (real_to_hexadecimal): Likewise.
5395         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
5396         (REAL_VALUE_TO_DECIMAL): Remove.
5397         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
5398         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
5399         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
5400         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
5401         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
5402         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
5403         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
5404         use real_to_decimal directly, and with the proper arguments.
5405         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
5406
5407 2002-10-15  Jim Wilson  <wilson@redhat.com>
5408
5409         * reload1.c (merge_assigned_reloads): After converting overlapping
5410         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
5411
5412         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
5413
5414 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
5415
5416         * expr.c (do_tablejump): Fix typo in my previous commit.
5417
5418 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
5419
5420         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
5421
5422 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
5423
5424         * config/s390/s390.c (s390_split_branches): Add return
5425         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
5426
5427         (find_base_register_in_addr): New function.
5428         (find_base_register_ref): New function.
5429         (replace_base_register_ref): New function.
5430
5431         (struct constant_pool): Add members pool_insn, insns, and anchor.
5432         Remove member last_insn.
5433         (s390_start_pool): Initialize them.
5434         (s390_end_pool): Emit pool placeholder insn.
5435         (s390_add_pool_insn): New function.
5436         (s390_find_pool): Use insns bitmap instead of addresses.
5437         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
5438         Replace unspec 104 by local-pool-relative references.
5439         (s390_output_constant_pool): Output anchor label if required.
5440         (s390_output_symbolic_const): Handle unspec 104 and 105.
5441         (s390_add_pool): Remove, replace by ...
5442         (s390_add_constant, s390_find_constant): ... these new functions.
5443         (s390_add_anchor): New function.
5444
5445         (s390_chunkify_pool): Delete, replace by ...
5446         (s390_chunkify_start, s390_chunkify_finish,
5447         s390_chunkify_cancel): ... these new functions.
5448         (s390_optimize_prolog): Add parameter TEMP_REGNO.
5449         Recompute register live data for special registers.
5450         (s390_fixup_clobbered_return_reg): New function.
5451         (s390_machine_dependent_reorg): Rewrite to use new
5452         s390_chunkify_... routines.
5453
5454         config/s390/s390.md ("reload_base"): Rename to ...
5455         ("reload_base_31"): ... this.
5456         ("reload_base_64"): New insn.
5457         ("reload_base2"): Remove.
5458         ("reload_anchor"): New insn.
5459         ("pool"): New insn.
5460
5461         s390.c (s390_pool_overflow): Remove.
5462         s390.h (s390_pool_overflow): Likewise.
5463         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
5464
5465 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
5466
5467         * sh.md (movv8qi_i+2): Don't split if source is -1.
5468
5469 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
5470
5471         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
5472
5473 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
5474
5475         PR opt/7409
5476         * loop.c (loop_regs_scan): Mark registers used for function
5477         argument passing as MAY_NOT_OPTIMIZE.
5478
5479 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
5480
5481         * gcov-io.h (gcov_info): Fix type.
5482         * profile.c (create_profiler): Fix type mismatch.
5483
5484 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
5485
5486         * i386.md (movv2di_internal): New pattern.
5487         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
5488         (movv2di): New expander.
5489         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
5490
5491         * i386.c (ix86_expand_timode_binop_builtin): Delete.
5492         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
5493         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
5494         (ix86_expand_builtin): Likewise.
5495         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
5496         sse_andti3,
5497         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
5498         sse_andnti3,
5499         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
5500         sse_orti3,
5501         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
5502         sse_xorti3): Kill.
5503         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
5504          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
5505         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
5506          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
5507         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
5508          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
5509
5510         * xmmintrin.h (__m128i): Define as __v2di.
5511
5512         PR c++/6419
5513         (expand_expr): Use DECL_RTL_SET_P.
5514
5515 2002-10-14  Roger Sayle  <roger@eyesopen.com>
5516
5517         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
5518
5519 2002-10-14  Roger Sayle  <roger@eyesopen.com>
5520             Zack Weinberg <zack@codesourcery.com>
5521
5522         * config/i386/i386.c (k6_cost): Correct typo.
5523
5524 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
5525
5526         PR optimization/6631
5527         * alias.c (objects_must_conflict_p): Check honor_readonly when
5528         examining TYPE_READONLY.
5529         * function.c (assign_stack_temp_for_type): Likewise.
5530
5531 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
5532
5533         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
5534         Swap zero extension arguments.
5535         (umaxhi3): Fix instruction class.
5536         PR target/7211
5537         (prefetch): Fix prefetch instructions.
5538         PR target/7238
5539         (pkwb): Fix output constraint.
5540
5541 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
5542
5543         * config/mips/mips.c (print_operand): Increase buffer size for
5544         real numbers.
5545
5546 2002-10-14  Richard Henderson  <rth@redhat.com>
5547
5548         PR opt/8165
5549         * gcse.c (adjust_libcall_notes): Revert last change.
5550         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
5551
5552 2002-10-14  Andrew Haley  <aph@redhat.com>
5553
5554         * tree-inline.c (remap_block): All local class initialization
5555         flags go in the outermost scope.
5556         (expand_call_inline): Call java_inlining_map_static_initializers.
5557         (expand_call_inline): Call java_inlining_merge_static_initializers.
5558         * java/lang.c (merge_init_test_initialization): New.
5559         (java_inlining_merge_static_initializers): New.
5560         (inline_init_test_initialization): New.
5561         (java_inlining_map_static_initializers): New.
5562
5563         * tree-inline.c (expand_call_inline): Convert retvar to expected
5564         type.
5565
5566 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
5567
5568         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
5569
5570 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
5571
5572         * stmt.c: Fix typo in comment.
5573
5574 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
5575
5576         * c-common.c (c_common_type_for_mode): Add V2HImode case.
5577         * tree.c (build_common_tree_nodes_2): Initialize
5578         unsigned_V2HI_type_node and V2HI_type_node.
5579         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
5580         (unsigned_V2HI_type_node, V2HI_type_node): Define.
5581
5582 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
5583
5584         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
5585         Handle TARGET_64BIT.
5586
5587 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
5588
5589         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
5590         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
5591         (MULTILIB_DIRNAMES): Remove long32.
5592         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
5593         (MULTILIB_REDUNDANT_DIRS): Remove.
5594
5595 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
5596
5597         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
5598         * gcc.c (driver_self_specs): New variable.
5599         (do_self_spec): New function.
5600         (main): Use it to process driver_self_specs.
5601
5602 2002-10-13  Richard Henderson  <rth@redhat.com>
5603
5604         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
5605         indirect sibcalls when regparm >= 3.
5606
5607         * config/i386/i386.c (sibcall_insn_operand): New.
5608         * config/i386/i386.h (PREDICATE_CODES): Update.
5609         * config/i386/i386-protos.h: Update.
5610         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
5611
5612         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
5613
5614 2002-10-12  Roger Sayle  <roger@eyesopen.com>
5615
5616         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
5617         arithmetic right shifts of ~0 during RTL simplifications.
5618
5619 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
5620
5621         PR preprocessor/7862
5622         PR preprocessor/8190
5623         * gcc.c (cpp_unique_options): Don't delete .d files.
5624         Remove stray whitespace.
5625
5626 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
5627
5628         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
5629         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
5630         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
5631         (pdp11_output_function_epilogue, output_ascii): Likewise.
5632         (output_addr_const_pdp11): Likewise.
5633         * pdp11.md (movdi): Use offsetable memory for floating store.
5634         (lshrsi3, negsi2): Delete irrelevant comment.
5635
5636 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
5637
5638         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
5639         indirect calls to be sibcall optimized.
5640         * config/i386/i386.md (sibcall_1): New.
5641         (call_1): Add no-sibcalls condition.
5642         (sibcall_value_1): New.
5643         (call_value_1): Add no-sibcalls condition.
5644
5645 2002-10-11  Eric Christopher  <echristo@redhat.com>
5646
5647        * output.h (default_valid_pointer_mode): Declare.
5648        * varasm.c (default_valid_pointer_mode): Define.
5649        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
5650        * target.h: Ditto.
5651        * tree.c (build_pointer_type_for_mode): New function.
5652        (build_pointer_type): Use.
5653        (build_reference_type_for_mode): New function.
5654        (build_reference_type): Use.
5655        * tree.h: Declare new functions.
5656        * c-common.c (handle_mode_attribute): Use new functions, check
5657        for type.
5658        * stor-layout.c (layout_type): Depend on machine mode for
5659        REFERENCE_TYPE and POINTER_TYPE.
5660        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
5661        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
5662        and REFERENCE_TYPE.
5663        * config/mips/mips.c (mips_valid_pointer_mode): New function.
5664        (TARGET_VALID_POINTER_MODE): Use and define.
5665        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
5666
5667 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
5668
5669         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
5670         not the address of the REG.
5671         (struct cse_reg_info): Make subreg_ticked unsigned.
5672
5673 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
5674
5675         * doc/compat.texi: Add info about C++ libraries.
5676
5677 2002-10-11  Richard Henderson  <rth@redhat.com>
5678
5679         PR opt/8165
5680         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
5681
5682 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5683
5684         * cfganal.c (dfs_enumerate_from): Use PARAMS.
5685         * genautomata.c (output_insn_code_cases): Likewise.
5686         * real.c (real_format): Likewise.
5687         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
5688         ensure value is promoted before doing subtraction.
5689
5690 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
5691
5692         * calls.c (expand_call): Simplify noreturn call.
5693
5694         PR c/7344
5695         * cfgbuild.c (make_edges): Create edge cache when we do have
5696         large jumptable.
5697         * expr.c (do_tablejump): Note size of maximal jumptable.
5698         * function.c (prepare_function_start): Zero out size.
5699         * function.h (function): Add max_jumptable_ents.
5700
5701         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
5702
5703 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
5704
5705         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
5706         register for mperm_w operation.
5707
5708 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
5709
5710         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
5711         an integer, use simplify_gen_subreg.
5712
5713 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
5714
5715         * calls.c (flags_from_decl_or_type): Make extern.
5716         (ECF_*): Move ...
5717         * rtl.h (ECF_*): ... here.
5718         (flags_from_decl_or_type): Declare.
5719
5720 2002-10-10  Roger Sayle  <roger@eyesopen.com>
5721             Nathan Sidwell <nathan@codesourcery.com>
5722
5723         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
5724         shifts of the form -1 >> x.
5725
5726 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
5727
5728         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
5729
5730 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
5731
5732         * extend.texi (Vector Extensions): Remove comment about single
5733         element vectors.
5734
5735 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5736
5737         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
5738         * function.c (insns_for_mem_hash): Likewise.
5739         * varasm.c (STRHASH): Likewise.
5740
5741 2002-10-10  Stuart Hastings  <stuart@apple.com>
5742
5743         * cse.c (struct cse_reg_info): Add subreg_ticked.
5744         (SUBREG_TICKED): New.
5745         (get_cse_reg_info): Initialize SUBREG_TICKED.
5746         (mention_regs): Use it.
5747         (invalidate): Set SUBREG_TICKED.
5748         (invalidate_for_call): Likewise.
5749         (addr_affects_sp_p): Likewise.
5750
5751 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
5752
5753         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
5754         into proper operand.
5755
5756 2002-10-10  Denis Chertykov  <denisc@overta.ru>
5757
5758         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
5759         deallocation.
5760         * config/ip2k/libgcc.S: Combine routines used by function
5761         epilogue.
5762
5763 2002-10-10  Jim Wilson  <wilson@redhat.com>
5764
5765         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
5766         UDIV.
5767
5768 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
5769
5770         * config/rs6000/aix52.h: New file.
5771         * config/rs6000/t-aix52: New File.
5772         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
5773         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
5774
5775 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
5776
5777         PR target/5610
5778         * invoke.texi (-msse-math): Kill
5779         (-msse): Add note to mfpmath=sse.
5780
5781 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
5782
5783         PR target/7723
5784         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
5785
5786 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
5787
5788         PR preprocessor/8179
5789         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
5790         as cc1_options.
5791         (default_compilers): Pass debug options when preprocessing
5792         stdin.
5793
5794 2002-10-06  Richard Henderson  <rth@redhat.com>
5795
5796         * toplev.c (rest_of_compilation): Revert opt/2960 change.
5797
5798 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
5799
5800         * i386.c (*_cost): Add branch costs.
5801         (override_options): set ix86_branch_cost.
5802         (ix86_expand_int_movcc): Use BRANCH_COST.
5803         * i386.h (costs): Add branch_cost.
5804
5805 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
5806
5807         PR c/7353
5808         * c-decl.c (start_decl): Unconditionally issue error for
5809         'typedef foo = bar'.
5810         (finish_decl): Remove special case for TYPE_DECL with initializer.
5811
5812         * doc/extend.texi: Delete "Naming Types" section.  Change all
5813         cross-references to that section to refer to "Typeof" instead.
5814         Add the useful safe-max()-macro example from "Naming Types" to
5815         "Typeof", rewritten using that extension.  Add some compatibility
5816         notes to "Typeof."
5817
5818 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5819
5820         * loop.c: Revert 2002-08-15 change.
5821         (LOOP_REGNO_NREGS): Ensure type is int.
5822
5823 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
5824
5825         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
5826         which copies first FPR and clears second.
5827         (extendsftf2): Same.
5828         (floatditf2): Fix typo.
5829         (floatsitf2): Same.
5830         (fix_trunctfdi2): Same.
5831         (fix_trunctfsi2): Same.
5832
5833 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5834
5835         * conflict.c (arc_hash): Change return type to hashval_t.
5836         * cselib.c (get_value_hash): Likewise.
5837         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
5838         state_hash, automata_list_hash): Likewise.
5839         * read-rtl.c (def_hash): Likewise.
5840         * tree.c (type_hash_hash): Likewise.
5841
5842 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
5843
5844         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
5845         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
5846
5847 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
5848
5849         * sh.md (ffssi2): Fix emitted code.
5850
5851 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
5852
5853         * cse.c (insn_live_p): Pass insn pattern, not full insn
5854         to may_trap_p.
5855
5856 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
5857
5858         * cppmacro.c (paste_tokens): Only allow / to paste with =.
5859
5860 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
5861
5862         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
5863         64-bit hosts.
5864         (movtf_internal): Reference correct displacement for second value
5865         in memory.
5866         (movtf splitter): Correct generation of constants in 64-bit mode.
5867
5868 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
5869
5870         * libgcc2.c (__floatdisf): Properly cure double rounding.
5871
5872 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5873
5874         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
5875         * doc/cpp.texi (Common Predefined Macros): Document.
5876
5877 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5878
5879         PR doc/7484
5880         * doc/invoke.texi (Option Summary): List
5881         -Wmissing-declarations as a C only option.
5882
5883 2002-10-08  Roger Sayle  <roger@eyesopen.com>
5884
5885         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
5886         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
5887         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
5888
5889 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
5890
5891         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
5892         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
5893         variables.
5894         (safe_vector_operand): Update sse_clrv4sf call.
5895         (ix86_expand_buildin): Likewise
5896         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
5897         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
5898         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
5899         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
5900         macros.
5901         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
5902         movv4si):  Obey the new flags.
5903         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
5904         reformating penalty.
5905         (anddf, cmov patterns): Avoid reformating by first converting.
5906         (sse_cvtsd2ss): Fix predicate.
5907         (sse2_clrti): Fix mode,
5908         (sse_clrv4sf): Avoid unspec.
5909
5910 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
5911
5912         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
5913         mno-app-regs|mcmodel=medany.
5914         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
5915         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
5916         (CRTSTUFF_T_CFLAGS): Define.
5917
5918 2002-10-08  Roger Sayle  <roger@eyesopen.com>
5919
5920         PR target/8087
5921         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
5922         pool references that are constructed using LO_SUM.
5923
5924 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
5925
5926         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
5927         -Wall.
5928         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
5929         message.
5930         * flags.h (warn_strict_aliasing): Declare.
5931         * toplev.c (warn_strict_aliasing): Define.
5932         (lang_independent_options): Add it.
5933         * doc/invoke.texi (-Wstrict-aliasing): Document it.
5934
5935 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
5936
5937         * system.h (GCCBUGURL): Delete.
5938         * version.c (bug_report_url): New.  Add commentary about
5939         modifying both these strings in modified distributions.
5940         * version.h: Declare bug_report_url.
5941
5942         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
5943         bug_report_url.
5944
5945 2002-10-08  Nick Clifton  <nickc@redhat.com>
5946
5947         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
5948         convert uint64_t into __ev64_opaque__.
5949         (__ev_set_acc_s64): Likewise, but using signed types.
5950
5951 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
5952
5953         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
5954         ("*doloop_di_long"): Likewise.
5955
5956 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
5957
5958         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
5959
5960 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
5961
5962         * config/mips/mips.md (define_attr cpu): Add r4111.
5963
5964 2002-10-08  Anthony Green  <green@redhat.com>
5965
5966         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
5967
5968 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5969
5970         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
5971         for REAL_VALUE_TO_DECIMAL output.
5972
5973 2002-10-07  Richard Henderson  <rth@redhat.com>
5974
5975         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
5976         function; cleanup PLUS case by using recursion.  Update all users.
5977         (NONZERO_BASE_PLUS_P): Remove.
5978         (find_comparison_args): Use rtx_addr_can_trap_p instead.
5979         (fold_rtx): Use nonzero_address_p.
5980         * rtl.h (nonzero_address_p): Declare.
5981         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
5982         (rtx_addr_can_trap_p): Likewise.
5983         (nonzero_address_p): New.
5984         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
5985         (simplify_relational_operation): Use nonzero_address_p.
5986
5987 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
5988
5989         * config/rs6000/rs6000.c (rs6000_override_options): Set
5990         real_format_for_mode for IBM extended format, if enabled.
5991         (easy_fp_constant): Add TFmode.
5992         (rs6000_legitimize_address): Add TFmode.
5993         (rs6000_legitimate_address): Same.
5994         (function_arg_advance): TFmode uses two FPRs.
5995         (rs6000_emit_prologue): Fix warning.
5996         (rs6000_output_function_epilogue): Add TFmode.
5997         (output_toc): Add TFmode.
5998         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
5999         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
6000         * rs6000.md (movtf splitter): Load TFmode constant.
6001
6002 2002-10-07  Dale Johannesen  <dalej@apple.com>
6003
6004         * rtl.h:  Add NOTE_PRECONDITIONED.
6005         * unroll.c:  Set it.
6006         * loop.c:  Set loop_info->preconditioned from it.
6007         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
6008
6009 2002-10-07  Richard Henderson  <rth@redhat.com>
6010
6011         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
6012         new rtx for comparing the argument pointer against zero.
6013         (i960_va_start): Similarly.
6014
6015 2002-10-07  Richard Henderson  <rth@redhat.com>
6016
6017         * config/i960/i960.md (*): Use TFmode, not XFmode.
6018         * config/i960/i960.c (*): Likewise.
6019         (i960_arg_size_and_align): Remove XFmode alignment hack.
6020         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
6021         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
6022         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
6023         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
6024
6025 2002-10-07  Richard Henderson  <rth@redhat.com>
6026
6027         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
6028         entry points; use void return value and argument list.
6029
6030 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
6031
6032         * calls.c (expand_call): Fix function-is-volatile check.
6033
6034 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
6035
6036         * t-pdp11: Add MULTILIB support for msoft-float.
6037         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
6038
6039         * t-pdp11: Add LIB2FUNCS_EXTRA.
6040         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
6041         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
6042         'fldd' to 'ldd', rename 'fstd' to 'std'.
6043         (pdp11_output_function_epilogue): Likewise.
6044         (output_move_quad): Make the comment gas compatible.
6045         (output_ascii): Add preceding 0 to the octal constant.
6046         (print_operand_address): Add pre_modify, post_modify.
6047         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
6048         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
6049         with the indication of Paul Koning.
6050         (PRINT_OPERAND): Fix floating constant.
6051         * pdp11.md (movdi): Restrict matching pattern.
6052         (movqi): Generalize the matching pattern.
6053         (movdf): Restrict matching pattern.
6054         (zero_extendqihi2): Change constant representation.
6055         (floatsidf2): Fix wrong operands.
6056         (addqi3): Fix wrong instruction name.
6057         (subqi3): Fix wrong instruction name.
6058         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
6059         (xorsi3): Fix wrong insn.
6060         (one_cmplqi2): Add two operand pattern.
6061         (lsrsi3): New.
6062         (negsi2): New.
6063         (call): Add register indirect case.
6064         (mod): Fix wrong subreg.
6065
6066 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
6067             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
6068
6069         PR c/7411
6070         * expr.c (expand_expr) [PLUS]: Simplify after the operands
6071         have been expanded in EXPAND_NORMAL mode.
6072
6073 2002-10-06  Richard Henderson  <rth@redhat.com>
6074
6075         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
6076
6077 2002-10-06  Richard Henderson  <rth@redhat.com>
6078
6079         PR optimization/2960
6080         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
6081         optimize_size.
6082
6083 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
6084
6085         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
6086         previously definitions.
6087
6088 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
6089
6090         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
6091         * c-opts.c (find_opt): Similarly.
6092
6093 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
6094
6095         * athlon.md: rewrite to DFA.
6096         * i386 (ix86_adjust_cost): Drop memory latency code.
6097         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
6098
6099 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
6100
6101         * gcc.c (set_multilib_dir): Don't access *end.
6102         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
6103         (print_multilib_info): Don't show paths starting with ".:".
6104         * genmultilib: Add new option, "yes" if multilibs are enabled.
6105         Update comments.  If multilibs not enabled, print .:${osdirout}
6106         for each directory.  If multilibs are enabled, always print
6107         ${dirout}:${osdirout}, even if the two are the same.
6108         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
6109         Pass all MULTILIB_* variables to genmultilib even if
6110         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
6111
6112 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
6113
6114         * gcc.c (process_command): Set .validated for -pipe.  Correct
6115         grammar in comment.
6116
6117 2002-10-04  Bruce Korb  <bkorb@gnu.org>
6118
6119         * fixinc/inclhack.def(hpux11_abs):  use format fix
6120         * fixinc/fixincl.x: regenerate
6121         * fixinc/tests/base/stdlib.h: accommodate new fix test
6122
6123 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
6124
6125         * c-common.c (cb_register_builtins):  Use really_no_inline.
6126
6127 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
6128
6129         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
6130         copied instruction if the note is not loop invariant.
6131
6132 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
6133
6134         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
6135
6136 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
6137
6138         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
6139         and -mhp-ld options to list of options.  Add -mgnu-ld
6140         and -mhp-ld option descriptions.
6141
6142 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
6143
6144         * fixinc/inclhack.def (hpux11_abs):  New.
6145         (stdio_va_list): change __va_list__ to __gnuc_va_list.
6146         * fixinc/fixincl.x: Rebuild.
6147
6148 2002-10-04  Roger Sayle  <roger@eyesopen.com>
6149
6150         * config/i386/i386.h (processor_costs): Add new fields fadd,
6151         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
6152         (RTX_COSTS): Use these fields to determine the RTX costs
6153         of floating point addition/subtraction, multiplication,
6154         division, fabs, negation and square root respectively.
6155         * config/i386/i386.c (size_cost): Provide instruction sizes
6156         for these new fields.
6157         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
6158         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
6159         counts for these new fields for all x86 processor variants.
6160
6161 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6162
6163         * mips.c (mips_const_double_ok): Delete unused variable.
6164
6165         * gengtype.c (rtx_next): Change type to int.
6166
6167 2002-10-04  Andreas Jaeger  <aj@suse.de>
6168
6169         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
6170
6171 2002-10-04  Richard Henderson  <rth@redhat.com>
6172
6173         * real.h (SIGNIFICAND_BITS): Add one more word.
6174         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
6175         * real.c (times_pten): New.
6176         (real_to_decimal, real_from_string): Use it.
6177         (sticky_rshift_significand): Use & to find modulus.
6178         (rshift_significand, lshift_significand): Likewise.
6179         (do_divide): Apply sticky bit after normalization.
6180         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
6181
6182 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
6183
6184         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
6185         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
6186
6187 2002-10-03  Andreas Jaeger  <aj@suse.de>
6188
6189         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
6190         to unsigned long, adjust printf format string.
6191         (output_mangled_typename): Likewise.
6192
6193 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
6194
6195         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
6196         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
6197         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
6198         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
6199         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
6200         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
6201         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
6202         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
6203
6204 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
6205
6206         * doc/invoke.texi (-Wabi): Document mangling bug.
6207
6208 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
6209
6210         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
6211         name for the tbtab label that depends on the function asm name.
6212         Don't output tbtab label unless optional_tbtab.
6213         (output_mi_thunk): Formatting.
6214
6215 2002-10-03  Richard Henderson  <rth@redhat.com>
6216
6217         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
6218         * config/m68k/m68k.c (override_options): ... here.
6219         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
6220         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
6221         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
6222         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
6223
6224 2002-10-03  Richard Henderson  <rth@redhat.com>
6225
6226         * real.h (struct real_value): Use ENUM_BITFIELD.
6227
6228 2002-10-03  Richard Henderson  <rth@redhat.com>
6229
6230         * config/i960/i960.md (call, call_value): Use emit_call_insn.
6231
6232 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
6233
6234         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
6235
6236 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
6237
6238         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
6239         * config/pa/pa.h (MASK_GNU_LD): New.
6240         (TARGET_GNU_LD): New.
6241         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
6242         on gnu-ld and MASK_GNU_LD.
6243         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
6244
6245 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
6246
6247         * i386.c (athlon_cost): Fix the move costs.
6248
6249 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
6250
6251         * final.c (final): Use symbol name as function name for profiling.
6252         * profile.c (get_exec_counts): Likewise.
6253         (branch_prob): Likewise.
6254
6255 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
6256
6257         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
6258
6259 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
6260
6261         * gcc.c (print_multi_os_directory): New variable.
6262         (option_map): Support --print-multi-os-directory.
6263         (struct prefix_list): Add os_multilib field.
6264         (multilib_os_dir): New variable.
6265         (static_specs): Add multilib_options.
6266         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
6267         subdirs if nonzero.
6268         (read_specs, execute): Update callers.
6269         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
6270         pass 1 as multilib option.
6271         (display_help): Include --print-multi-os-directory.
6272         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
6273         (process_command): Update callers.  Handle --print-multi-os-directory.
6274         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
6275         set.
6276         (main): Update find_a_file and add_prefix callers.
6277         Handle print_multi_os_directory.
6278         (struct mdswitchstr): New.
6279         (mdswitches, n_mdswitches): New variables.
6280         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
6281         present on the command line nor their mutually incompatible
6282         switches.
6283         (default_arg): Optimize.
6284         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
6285         array.
6286         (print_multilib_info): Only print GCC multilib dir name, not OS
6287         multilib dirname.
6288         * genmultilib: Add osdirnames parameter.  Output multilib_options
6289         variable.  If osdirnames is specified, output dirnames as
6290         dirname:osdirname.
6291         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
6292         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
6293         to compute libgcc_s soname and install path.
6294         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
6295         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
6296         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
6297         argument.
6298
6299         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
6300         (SHLIB_SLIBDIR_SUFFIXES): Remove.
6301         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
6302         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
6303         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
6304         and -m64.
6305         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
6306         (SHLIB_SLIBDIR_SUFFIXES): Remove.
6307         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
6308         (STARTFILE_ARCH_SPEC): Remove.
6309         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
6310         (SHLIB_SLIBDIR_SUFFIXES): Remove.
6311         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
6312         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
6313         (SHLIB_SLIBDIR_SUFFIXES): Remove.
6314
6315 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
6316
6317         * predict.c (choose_function_section): Avoid choice for linkonce functions.
6318
6319 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
6320
6321         * i386.md (lea to mul peep2): Fix condition.
6322
6323 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6324
6325         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
6326         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
6327
6328 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
6329
6330         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
6331         attribute "unused".
6332
6333         * config/t-libunwind: Mention unwind-sjlj.c.
6334         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
6335         to #ifndef __USING_SJLJ_EXCEPTIONS__.
6336
6337         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
6338         before inclusion of config.gcc, but after configuring the compiler etc.
6339         Determine default value for --enable-libunwind-exceptions based on
6340         whether the host has a libunwind library (not guaranteed to be correct,
6341         but it's a reasonable first guess and can always be overridden with an
6342         explicit --enable/disable-libunwind-exceptions.
6343         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
6344         tmake_file when $use_libunwind_exceptions is enabled.
6345         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
6346         ia64 (e.g., config/t-linux also updates it).
6347         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
6348         along with the shared version of libgcc since the latter requires
6349         the former.
6350         * unwind-libunwind.c: New file.
6351         * config/t-libunwind: Ditto.
6352
6353 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
6354
6355         * config.gcc: Remove support for vax-*-vms*.
6356         * config/vax/vms.h: Remove.
6357         * config/vax/xm-vms.h: Remove.
6358         * config/vax/vax-protos.h: Remove VMS-specific code.
6359         * config/vax/vax.c: Remove VMS-specific code.
6360
6361 2002-10-02  Richard Henderson  <rth@redhat.com>
6362
6363         PR opt/7124
6364         * config/i386/i386.c (ix86_register_move_cost): Increase cost
6365         for secondary_memory_needed pairs.
6366
6367 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
6368
6369         * doc/vms.texi: Blow away false include file section.
6370
6371 2002-10-02  Roger Sayle  <roger@eyesopen.com>
6372
6373         PR optimization/6627
6374         * toplev.c (force_align_functions_log): New global variable.
6375         * flags.h (force_align_functions_log): Add extern prototype.
6376         * varasm.c (assemble_start_function): Use it to force minimum
6377         function alignment.
6378         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
6379         minimum function alignment to one byte.
6380         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
6381         the least significant bit of vtable member function pointers.
6382         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
6383         here from cp/cp-tree.h.
6384
6385 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
6386
6387         * i386.c (print_operand_address): Use RIP addressing for offsetted
6388         label refs too.
6389
6390 2002-09-30  David S. Miller  <davem@redhat.com>
6391
6392         PR middle-end/7151
6393         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
6394         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
6395
6396 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
6397
6398         * calls.c (expand_call): Remove the `no indirect check'
6399         for sibcall optimization; use function_ok_for_sibcall
6400         target hook; refine check for `function is volatile'.
6401         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
6402         * hooks.c (hook_tree_tree_bool_false): New.
6403         * hooks.h (hook_tree_tree_bool_false): Declare.
6404         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
6405         (TARGET_INITIALIZER): Add it.
6406         * target.h (struct gcc_target): Add function_ok_for_sibcall.
6407         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
6408         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
6409         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
6410         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
6411         Remove function declaration.
6412         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
6413         function static and accept another argument of type `tree'.
6414         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
6415         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
6416         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
6417         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
6418         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
6419         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
6420         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
6421         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
6422         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
6423         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
6424         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
6425         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
6426         Remove function declaration.
6427         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
6428         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
6429         rename first argument to `decl'; accept another argument
6430         of type `tree'; make static.
6431         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
6432         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
6433         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
6434         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
6435         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
6436         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
6437         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
6438         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
6439         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
6440
6441 2002-10-01  Roger Sayle  <roger@eyesopen.com>
6442
6443         * unroll.c (loop_iterations): Revert 2002-09-08 change.
6444
6445 2002-10-01  Richard Henderson  <rth@redhat.com>
6446
6447         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
6448         (real_to_hexadecimal): Likewise.
6449         * print-rtl.c (print_rtx): If we are linked with real.c, don't
6450         dump the XWINT fields of a floating point CONST_DOUBLE.
6451
6452 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
6453
6454         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
6455
6456 2002-10-01  Richard Henderson  <rth@redhat.com>
6457
6458         * calls.c (precompute_register_parameters): Force non-legitimate
6459         constants into pseudos.
6460
6461 2002-10-01  Nick Clifton  <nickc@redhat.com>
6462
6463         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
6464         to assembler template.
6465
6466 2002-10-01  Richard Henderson  <rth@redhat.com>
6467
6468         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
6469         for TLS debug info to !DECL_EXTERNAL.
6470
6471 2002-10-01  Matt Thomas  <matt@3am-software.com>
6472             Jason Thorpe  <thorpej@wasabisystems.com>
6473
6474         * config.gcc (vax-*-netbsdelf*): Enable configuration.
6475         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
6476         if not already defined.
6477         * config/vax/elf.h: New file.
6478         * config/vax/netbsd-elf.h: New file.
6479         * config/vax/vax.c: Include "debug.h".
6480         (vax_output_function_prologue): Add dwarf2 support.  Use
6481         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
6482         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
6483         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
6484         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
6485         (VAX_ISTREAM_SYNC): Remove.
6486         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
6487         (JUMP_TABLES_IN_TEXT_SECTION): Define.
6488         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
6489         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
6490         and assemble_name.
6491         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
6492         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
6493         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
6494         (INCOMING_RETURN_ADDR_RTX): Define.
6495         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
6496         (VUNSPEC_SYNC_ISTREAM): Define.
6497         (blockage): Use VUNSPEC_BLOCKAGE.
6498         (sync_istream): New insn.
6499
6500 2002-10-01  Richard Henderson  <rth@redhat.com>
6501
6502         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
6503         (*call_value_pop, call, call_value): Add dwarf2 EH support.
6504         (*call): New insn.
6505
6506 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
6507
6508         PR c/8083
6509         * c-typeck.c (build_c_cast): Warn about type punning which breaks
6510         type based aliasing.
6511
6512 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
6513
6514         * stor-layout.c (update_alignment_for_field): New function.
6515         (place_union_field): Use it.
6516         (place_field): Likewise.
6517
6518 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
6519
6520         PR other/8077
6521         * gcc.c (cc1_options): Add space on -auxbase-strip.
6522
6523 2002-10-01  Jim Wilson  <wilson@redhat.com>
6524
6525         * config/v850/v850.h (EPILOGUE_USES): Define.
6526
6527 2002-09-30  Andrew Haley  <aph@redhat.com>
6528
6529         * flow.c (insn_dead_p): When using non-call-exceptions, don't
6530         eliminate insns that may trap.
6531         * cse.c (insn_live_p): Likewise.
6532
6533 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
6534
6535         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
6536         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
6537         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
6538         * config/mips/mips.md: Apply same renaming here.
6539
6540 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
6541
6542         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
6543         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
6544         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
6545         * config/mips/mips.md (define_attr cpu): Remove r4320.
6546         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
6547
6548 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
6549
6550         * config/mips/mips.c (mips16_strings): New variable.
6551         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
6552         symbol in mips16_strings.  Free the list.
6553         (mips_encode_section_info): Keep track of local strings.
6554
6555 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
6556
6557         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
6558         (sordered_df, sordered_sf): Remove.
6559         * config/mips/mips.c (get_float_compare_codes): New fn.
6560         (gen_int_relational, gen_conditional_move): Use it.
6561
6562 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
6563
6564         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
6565         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
6566         * config/mips/mips.c (fcc_register_operand): New function.
6567         (mips_emit_fcc_reload): New function, extracted from reload_incc.
6568         (override_options): Allow TFmode values in float registers
6569         if ISA_HAS_8CC.
6570         * cnfig/mips/mips.md (reload_incc): Change destination prediate
6571         to fcc_register_operand.  Remove misleading source constraint.
6572         Use mips_emit_fcc_reload.
6573         (reload_outcc): Duplicate reload_incc.
6574
6575 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
6576
6577         * gcc.c (validate_switches): Handle all new forms of spec
6578         syntax introduced recently.  Now returns a char *.
6579         (validate_all_switches): Repetitive logic broken out to...
6580         (validate_switches_from_spec): ...here.
6581         * mklibgcc.in: Don't @-flag commands to generate .oS files.
6582
6583 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
6584
6585         * longlong.h: Partially synchronize with GMP-4.1 version:
6586         Use i370 definitions also for s390.
6587         Add generic definition of umul_ppmm in terms of smul_ppmm.
6588         [s390] (umul_ppmm): Remove.
6589         [s390] (smul_ppmm): Fix incorrect assembler constraints.
6590         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
6591
6592 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
6593
6594         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
6595         Add new RL_REGS register class.
6596         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
6597         Call xtensa_preferred_reload_class for both input and output reloads.
6598         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
6599         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
6600         instead of either AR_REGS or GR_REGS classes.
6601         (xtensa_secondary_reload_class): Use new RL_REGS class.
6602         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
6603
6604 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6605
6606         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
6607         (pa_strip_name_encoding): Strip '@' and '*', in that order.
6608         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
6609         there is a '*' prefix in NAME.
6610
6611 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
6612
6613         * reload.c (push_reload): Handle subregs and secondary memory.
6614         * reload1.c (gen_reload): Likewise.
6615
6616         * jump.c (reg_or_subregno): New function.
6617         * rtl.h (reg_or_subregno): Declare
6618         * unroll.c (find_splittable_givs): Handle subregs.
6619
6620 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
6621
6622         * store-layout.c (finish_record_layout): Add free_p parameter.
6623         (layout_type): Pass it.
6624         * tree.h (finish_record_layout): Update prototype.
6625
6626 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
6627
6628         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
6629
6630         * gcse.c (cprop_jump): Check that the register has not
6631         been modified
6632         (cprop_jump): Likewise.
6633
6634 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
6635
6636         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
6637         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
6638         that we have a SImode access, and only then if reload hasn't completed;
6639         for all other cases, use LO_REGS.
6640
6641 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6642
6643         * openbsd.h: Fix typo in last change.
6644
6645 2002-09-29  Richard Henderson  <rth@redhat.com>
6646
6647         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
6648
6649 2002-09-29  Richard Henderson  <rth@redhat.com>
6650
6651         PR c/8002
6652         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
6653         for CONST_INT.
6654
6655 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
6656
6657         * real.h (ibm_extended_format): Declare.
6658         * real.c (encode_ibm_extended, decode_ibm_extended): New
6659         functions.
6660
6661 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6662
6663         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
6664
6665         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
6666
6667 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6668
6669         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
6670
6671 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
6672
6673         * builtins.def: Fix comment formatting.
6674         * c-common.def: Likewise.
6675         * cfgcleanup.c: Likewise.
6676         * combine.c: Likewise.
6677         * gengtype.c: Likewise.
6678         * params.def: Likewise.
6679         * predict.def: Likewise.
6680         * rtl.def: Likewise.
6681         * stab.def: Likewise.
6682         * stor-layout.c: Likewise.
6683         * tree.def: Likewise.
6684         * config/darwin.c: Likewise.
6685         * config/darwin.h: Likewise.
6686         * config/dbxcoff.h: Likewise.
6687         * config/elfos.h: Likewise.
6688         * config/fp-bit.c: Likewise.
6689         * config/freebsd-spec.h: Likewise.
6690         * config/interix.h: Likewise.
6691         * config/libgloss.h: Likewise.
6692         * config/linux-aout.h: Likewise.
6693         * config/linux.h: Likewise.
6694         * config/lynx-ng.h: Likewise.
6695         * config/lynx.h: Likewise.
6696         * config/netbsd-aout.h: Likewise.
6697         * config/netbsd.h: Likewise.
6698         * config/netware.h: Likewise.
6699         * config/psos.h: Likewise.
6700         * config/ptx4.h: Likewise.
6701
6702 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
6703
6704         * ChangeLog.4: Fix typos.
6705         * ChangeLog.6: Likewise.
6706         * FSFChangeLog.10: Likewise.
6707         * genattrtab.c: Fix comment typos.
6708         * haifa-sched.c: Likewise.
6709         * real.c: Likewise.
6710         * tree.h: Likewise.
6711         * config/arm/arm.c: Likewise.
6712         * config/arm/crti.asm: Likewise.
6713         * config/arm/crtn.asm: Likewise.
6714         * config/frv/frv.c: Likewise.
6715         * config/frv/frv.md: Likewise.
6716         * config/h8300/h8300.md: Likewise.
6717         * config/i386/rtemself.h: Likewise.
6718         * config/ia64/unwind-ia64.c: Likewise.
6719         * config/ip2k/ip2k.h: Likewise.
6720         * config/m88k/m88k.c: Likewise.
6721         * config/m88k/m88k.md: Likewise.
6722         * config/mips/sr71k.md: Likewise.
6723         * config/mmix/mmix.c: Likewise.
6724         * config/rs6000/rs6000.c: Likewise.
6725         * config/sh/sh.md: Likewise.
6726
6727 2002-09-26  Theodore A. Roth  <troth@verinet.com>
6728
6729         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
6730         * config/avr/avr.md: Ditto.
6731
6732 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
6733
6734         PR preprocessor/8055
6735         * cppmacro.c (stringify_arg): Do not overflow the buffer
6736         with the terminating NUL when the argument to be stringified
6737         has no tokens.
6738
6739 2002-09-27  Richard Henderson  <rth@redhat.com>
6740
6741         * unroll.c (simplify_cmp_and_jump_insns): New.
6742         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
6743         instead of expand_simple_foo.
6744
6745 2002-09-27  Richard Henderson  <rth@redhat.com>
6746
6747         PR optimization/7520
6748         * cfganal.c (flow_active_insn_p): New.
6749         (forwarder_block_p): Use it.
6750
6751 2002-09-27  Richard Henderson  <rth@redhat.com>
6752
6753         * emit-rtl.c (active_insn_p): Revert last change.
6754
6755 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
6756
6757         * doc/extend.texi (tls_model): Document.
6758         * varasm.c (decl_tls_model): New.
6759         * c-common.c (handle_tls_model_attribute): New.
6760         (c_common_attribute_table): Add tls_model.
6761         * config/alpha/alpha.c (alpha_encode_section_info): Use
6762         decl_tls_model.
6763         * flags.h (enum tls_model, flag_tls_default): Move...
6764         * tree.h (enum tls_model, flag_tls_default): ...here.
6765         (decl_tls_model): New prototype.
6766         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
6767         * config/i386/i386.c (ix86_encode_section_info): Likewise.
6768         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
6769         Allow !flag_pic.
6770
6771 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
6772
6773         * LANGUAGES: Follow spelling conventions.
6774         * rtl.def: Likewise.
6775         * sbitmap.c: Likewise.
6776         * sched-int.h: Likewise.
6777         * sched-rgn.c: Likewise.
6778         * sibcall.c: Likewise.
6779         * simplify-rtx.c: Likewise.
6780         * ssa.c: Likewise.
6781         * stab.def: Likewise.
6782         * stmt.c: Likewise.
6783         * stor-layout.c: Likewise.
6784         * target.h: Likewise.
6785         * timevar.c: Likewise.
6786         * toplev.c: Likewise.
6787         * tree-dump.c: Likewise.
6788         * tree-inline.c: Likewise.
6789         * tree.c: Likewise.
6790         * tree.def: Likewise.
6791         * tree.h: Likewise.
6792         * unroll.c: Likewise.
6793         * varasm.c: Likewise.
6794         * vmsdbgout.c: Likewise.
6795         * treelang/treelang.texi: Likewise.
6796         * treelang/treetree.c: Likewise.
6797
6798 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
6799
6800         * config/h8300/h8300.c (compute_saved_regs): Use a macro
6801         instead of a hard register number.
6802         (get_shift_alg): Use an enumerated type instead of numbers.
6803         (h8300_shift_needs_scratch_p): Likewise.
6804
6805 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
6806
6807         * varasm.c (force_data_section): Remove.
6808         (assemble_constant_align): Likewise.
6809         * output.h: Remove corresponding prototypes.
6810
6811 2002-09-26  Roger Sayle  <roger@eyesopen.com>
6812
6813         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
6814         jump, if the loop to exit is the top of the current nesting stack.
6815
6816 2002-09-26  Torbjorn Granlund  <tege@swox.com>
6817
6818         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
6819         arithmetic.
6820
6821 2002-09-26  David S. Miller  <davem@redhat.com>
6822
6823         PR optimization/7335
6824         * calls.c (emit_library_call_value_1): Passing args by reference
6825         converts a CONST function into a PURE one.
6826
6827 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
6828
6829         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
6830         text_section.
6831         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
6832         text section.
6833         * config/rs6000/rs6000.c (rs6000_override_options): Allow
6834         function-sections and data-sections functionality on AIX.
6835
6836 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
6837             Dale Johannesen  <dalej@apple.com>
6838
6839         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
6840         in RTL for sub-word loads from memory.
6841
6842 2002-09-26  Richard Henderson  <rth@redhat.com>
6843
6844         PR c/7160
6845         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
6846         on call insns.
6847
6848 2002-09-26  Richard Henderson  <rth@redhat.com>
6849
6850         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
6851
6852 2002-09-26  Chris Lattner  <sabre@nondot.org>
6853
6854         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
6855         handling undefined values.
6856
6857 2002-09-26  Richard Henderson  <rth@redhat.com>
6858
6859         PR opt/7520
6860         * emit-rtl.c (active_insn_p): Consider a clobber of the
6861         function return value to be active even after reload.
6862
6863 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
6864
6865         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
6866         by absolute loop increment, not loop increment.
6867
6868 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
6869
6870         * c-common.h: Follow spelling conventions.
6871         * cpplex.c: Likewise.
6872         * cpplib.h: Likewise.
6873         * gthr-dce.h: Likewise.
6874         * gthr-posix.h: Likewise.
6875         * optabs.c: Likewise.
6876         * output.h: Likewise.
6877         * profile.c: Likewise.
6878         * protoize.c: Likewise.
6879         * ra-rewrite.c: Likewise.
6880         * real.c: Likewise.
6881         * recog.c: Likewise.
6882         * reg-stack.c: Likewise.
6883         * regclass.c: Likewise.
6884         * regmove.c: Likewise.
6885         * reload.c: Likewise.
6886         * reload.h: Likewise.
6887         * reload1.c: Likewise.
6888         * reorg.c: Likewise.
6889         * resource.c: Likewise.
6890         * rtl.h: Likewise.
6891         * rtlanal.c: Likewise.
6892
6893 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
6894
6895         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
6896         for symbol address.
6897
6898 2002-09-24  Eric Christopher  <echristo@redhat.com>
6899
6900         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
6901         * config/mips/elf64.h: Ditto.
6902
6903 2002-09-24  Eric Christopher  <echristo@redhat.com>
6904
6905         * except.c (expand_builtin_extract_return_address): Handle case
6906         where Pmode != ptr_mode.
6907
6908 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
6909
6910         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
6911
6912 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
6913
6914         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
6915
6916 2002-09-26  Igor Shevlyakov <igor@microunity.com>
6917
6918         * combine.c (simplify_set): Don't call to force_to_mode if size
6919         of integer type is larger than HOST_BITS_PER_WIDE_INT.
6920
6921 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
6922
6923         * Makefile.in (qmtest-g++): Fix file path.
6924
6925 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
6926
6927         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
6928         A + (-const) on RTX level, even for unsigned types.
6929
6930 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
6931
6932         * reload.c (dup_replacements): New function.
6933         (find_reloads): Use it to duplicate replacements at the top level
6934         of match_dup operands.
6935
6936 2002-09-26  Miles Bader  <miles@gnu.org>
6937
6938         * v850.md ("length"): Change default value to 4.
6939
6940 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
6941
6942         * ChangeLog.1: Follow spelling conventions.
6943         * ChangeLog.4: Likewise.
6944         * ChangeLog.6: Likewise.
6945         * FSFChangeLog.11: Likewise.
6946         * doc/cpp.texi: Likewise.
6947         * doc/invoke.texi: Likewise.
6948         * doc/tm.texi: Likewise.
6949
6950 2002-09-26  Nick Clifton  <nickc@redhat.com>
6951
6952         * config.gcc: Add x prefix to v850e case for handling
6953         --with-cpu=v850e.
6954
6955 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
6956
6957         * gcc.c (input_suffix_matches, switch_matches,
6958         mark_matching_switches, process_marked_switches,
6959         process_brace_body): New functions - split from handle_braces.
6960         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
6961         and ignore whitespace in more places.
6962         (specs documentation comment): Document %{S:X;T:Y;:D}.
6963         Clarify other %{...} docs.
6964         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
6965         %{...} docs.
6966
6967         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
6968         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
6969
6970 2002-09-25  David S. Miller  <davem@redhat.com>
6971
6972         PR target/7842
6973         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
6974         extend.
6975
6976 2002-09-25  Richard Henderson  <rth@redhat.com>
6977
6978         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
6979         fp CONST_DOUBLE; use real_identical.
6980
6981 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
6982
6983         * doc/invoke.texi: Add more -Wabi examples.
6984
6985 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
6986
6987         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
6988
6989 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
6990
6991         * profile.c (end_branch_prob): Only look for __gcov_init on
6992         weak-enabled native compilers.
6993
6994 2002-09-24  Denis Chertykov  <denisc@overta.ru>
6995
6996         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
6997         cases of optimizing "add sp,w" to "inc sp".
6998
6999 2002-09-24  Adam Nemet  <anemet@lnxw.com>
7000
7001         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
7002         epilogue for naked functions.
7003
7004 2002-09-24  Adam Nemet  <anemet@lnxw.com>
7005             Nick Clifton  <nickc@redhat.com>
7006
7007         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
7008         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
7009         is defined.
7010
7011 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
7012
7013         * config/s390/s390.c (preferred_la_operand_p): New function.
7014         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
7015         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
7016         ("*la_64_cc", "*la_31_cc", splitters): ... these.
7017         ("*la_31"): Deactivate for TARGET_64BIT.
7018         ("*la_31_and", "*la_31_and_cc"): New.
7019
7020 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7021
7022         * real.h (real_value): Make `exp' explicitly signed.
7023
7024 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
7025
7026         * config/elfos.h: Follow spelling conventions.
7027         * config/alpha/alpha.h: Likewise.
7028         * config/arc/arc.h: Likewise.
7029         * config/arm/arm.md: Likewise.
7030         * config/avr/avr.h: Likewise.
7031         * config/cris/cris.md: Likewise.
7032         * config/d30v/d30v.h: Likewise.
7033         * config/frv/frv.c: Likewise.
7034         * config/frv/frv.h: Likewise.
7035         * config/h8300/h8300.c: Likewise.
7036         * config/h8300/h8300.h: Likewise.
7037         * config/h8300/h8300.md: Likewise.
7038         * config/i386/cygwin.h: Likewise.
7039         * config/i386/i386.h: Likewise.
7040         * config/i386/sysv3.h: Likewise.
7041         * config/i960/i960.h: Likewise.
7042         * config/ia64/ia64.h: Likewise.
7043         * config/ia64/ia64.md: Likewise.
7044         * config/ip2k/ip2k.h: Likewise.
7045         * config/m32r/m32r.h: Likewise.
7046         * config/m68k/m68k.h: Likewise.
7047         * config/m88k/m88k.h: Likewise.
7048         * config/mcore/mcore.c: Likewise.
7049         * config/mcore/mcore.h: Likewise.
7050         * config/mcore/mcore.md: Likewise.
7051         * config/mips/mips.h: Likewise.
7052         * config/mmix/mmix.h: Likewise.
7053         * config/mmix/mmix.md: Likewise.
7054         * config/ns32k/netbsd.h: Likewise.
7055         * config/ns32k/ns32k.h: Likewise.
7056         * config/ns32k/ns32k.md: Likewise.
7057         * config/pa/pa.h: Likewise.
7058         * config/romp/romp.h: Likewise.
7059         * config/rs6000/rs6000.h: Likewise.
7060         * config/rs6000/rs6000.md: Likewise.
7061         * config/sparc/sparc.h: Likewise.
7062         * config/stormy16/stormy-abi: Likewise.
7063         * config/stormy16/stormy16.h: Likewise.
7064         * config/vax/vax.h: Likewise.
7065
7066 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
7067
7068         * config/alpha/alpha.h: Remove commented-out macro
7069         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
7070         * config/avr/avr.h: Likewise.
7071         * config/d30v/d30v.h: Likewise.
7072         * config/dsp16xx/dsp16xx.h: Likewise.
7073         * config/i370/i370.h: Likewise.
7074         * config/i386/i386.h: Likewise.
7075         * config/i960/i960.h: Likewise.
7076         * config/m68k/m68k.h: Likewise.
7077         * config/m88k/m88k.h: Likewise.
7078         * config/mips/mips.h: Likewise.
7079         * config/ns32k/ns32k.h: Likewise.
7080         * config/pdp11/pdp11.h: Likewise.
7081         * config/romp/romp.h: Likewise.
7082         * config/rs6000/rs6000.h: Likewise.
7083         * config/s390/s390.h: Likewise.
7084         * config/sh/sh.h: Likewise.
7085         * config/sparc/sparc.h: Likewise.
7086         * config/stormy16/stormy16.h: Likewise.
7087         * config/vax/vax.h: Likewise.
7088
7089 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
7090
7091         * function.c (push_temp_slots_for_block): Remove.
7092         (push_temp_slots_for_target): Likewise.
7093         (get_target_temp_slot_level): Likewise.
7094         (set_target_temp_slot_level): Likewise.
7095         (get_first_block_beg): Likewise.
7096         * function.h: Remove corresponding prototypes.
7097
7098 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
7099
7100         * version.c (version_string): Now const char[].
7101         * version.h: Update to match.
7102
7103 2002-09-23  Richard Henderson  <rth@redhat.com>
7104
7105         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
7106         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
7107         (TARGET_SWITCHES): Don't reference them.
7108         * config/i386/i386.c (override_options): Use target_flags_explicit
7109         to examine bits set by the user.
7110
7111 2002-09-23  Dale Johannesen  <dalej@apple.com>
7112
7113         * dbxout.c (dbxout_parms):  Set current_sym_code for params
7114         passed on stack by invisible reference.
7115
7116 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
7117
7118         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
7119         at least one byte of space.
7120
7121 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
7122
7123         * c-common.h (flag_abi_version): Fix typo in comment.
7124         * doc/invoke.texi (flag_abi_version): Document default value.
7125
7126 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
7127
7128         * doc/extend.texi (Extended Asm): Clarify that overlap between
7129         asm-declared register variables used in an asm and the asm clobber
7130         list is not allowed.
7131         * stmt.c (decl_conflicts_with_clobbers_p): New function.
7132         (expand_asm_operands): Keep track of clobbered registers.  Call
7133         decl_conflicts_with_clobbers_p for each input and output operand.
7134         If no conflicts found before, also do conflict sanity check when
7135         emitting clobbers.
7136
7137 2002-09-23  Richard Henderson  <rth@redhat.com>
7138
7139         * c-common.c (cpp_define_data_format): Remove.
7140         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
7141         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
7142         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
7143         * doc/cpp.texi: Don't document them either.
7144         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
7145         __LONG_LONG_MAX__): Document.
7146         (__TARGET_FLOAT_FORMAT__): Remove.
7147
7148 2002-09-23  Richard Henderson  <rth@redhat.com>
7149
7150         * real.c (do_multiply): Normalize U before addition.
7151
7152 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
7153
7154         * c-common.c (flag_abi_version): New variable.
7155         * c-common.h (flag_abi_version): Declare it.
7156         * c-opts.c (missing_arg): Add -fabi-version.
7157         (c_common_decode_option): Process -fabi-version.
7158         * doc/invoke.texi (-fabi-version): Document it.
7159         (-Wabi): Add information about bit-fields in unions.
7160
7161 2002-09-22  Roger Sayle  <roger@eyesopen.com>
7162
7163         * expr.c (STORE_BY_PIECES_P): New target macro.
7164         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
7165         instead of MOVE_BY_PIECES_P.
7166         * doc/tm.texi: Document this new macro.
7167
7168 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
7169
7170         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
7171         unless -fno-pic or -fno-PIC is specified.
7172
7173 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7174
7175         * c-common.c (preprocessing_trad_p): Define.
7176         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
7177         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
7178         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
7179         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
7180         * pa-linux.h (CPP_PREDEFINES): Delete.
7181         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
7182         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
7183         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
7184         (TARGET_OS_CPP_BUILTINS): Define.
7185         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
7186         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
7187         (SUBTARGET_SWITCHES): Provide default definition.
7188         (TARGET_OPTIONS): Reformat.  Use N_() macro.
7189         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
7190         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
7191         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
7192         (TARGET_CPU_CPP_BUILTINS): Define.
7193         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
7194         * doc/invoke.texi (msio, mwsio): Document new hppa options.
7195         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
7196         preprocessing_trad_p().
7197
7198 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
7199
7200         * doc/install.texi: Document behavior of --with-headers and
7201         --with-libs when arguments are omitted.
7202
7203 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
7204
7205         * dbxout.c: Follow spelling conventions.
7206         * defaults.h: Likewise.
7207         * df.c: Likewise.
7208         * diagnostic.h: Likewise.
7209         * doloop.c: Likewise.
7210         * dwarf2out.c: Likewise.
7211         * dwarfout.c: Likewise.
7212         * emit-rtl.c: Likewise.
7213         * except.c: Likewise.
7214         * explow.c: Likewise.
7215         * expmed.c: Likewise.
7216         * expr.c: Likewise.
7217         * expr.h: Likewise.
7218         * flags.h: Likewise.
7219         * flow.c: Likewise.
7220         * fold-const.c: Likewise.
7221         * function.c: Likewise.
7222         * function.h: Likewise.
7223         * gcc.c: Likewise.
7224         * gcov-io.h: Likewise.
7225         * gcov.c: Likewise.
7226         * gcse.c: Likewise.
7227         * genattrtab.c: Likewise.
7228         * genconfig.c: Likewise.
7229         * genrecog.c: Likewise.
7230         * ggc-page.c: Likewise.
7231         * ggc.h: Likewise.
7232         * global.c: Likewise.
7233         * gthr-win32.h: Likewise.
7234         * integrate.c: Likewise.
7235         * jump.c: Likewise.
7236         * langhooks.c: Likewise.
7237         * langhooks.h: Likewise.
7238         * line-map.h: Likewise.
7239         * local-alloc.c: Likewise.
7240         * longlong.h: Likewise.
7241         * loop.c: Likewise.
7242         * loop.h: Likewise.
7243
7244 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
7245
7246         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
7247
7248 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
7249
7250         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
7251         for -Os/TARGET_64BIT too.
7252
7253 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
7254
7255         * ChangeLog: Follow spelling conventions.
7256         * ChangeLog.0: Likewise.
7257         * ChangeLog.1: Likewise.
7258         * ChangeLog.2: Likewise.
7259         * ChangeLog.3: Likewise.
7260         * ChangeLog.4: Likewise.
7261         * ChangeLog.5: Likewise.
7262         * ChangeLog.6: Likewise.
7263         * FSFChangeLog.10: Likewise.
7264         * FSFChangeLog.11: Likewise.
7265         * alias.c: Likewise.
7266         * basic-block.h: Likewise.
7267         * c-aux-info.c: Likewise.
7268         * c-common.c: Likewise.
7269         * c-common.h: Likewise.
7270         * c-decl.c: Likewise.
7271         * c-format.c: Likewise.
7272         * c-semantics.c: Likewise.
7273         * c-typeck.c: Likewise.
7274         * calls.c: Likewise.
7275         * cfganal.c: Likewise.
7276         * cfgloop.c: Likewise.
7277         * collect2.c: Likewise.
7278         * combine.c: Likewise.
7279         * conflict.c: Likewise.
7280         * cppexp.c: Likewise.
7281         * cppfiles.c: Likewise.
7282         * cpphash.h: Likewise.
7283         * cppinit.c: Likewise.
7284         * cpplex.c: Likewise.
7285         * cpplib.c: Likewise.
7286         * cpplib.h: Likewise.
7287         * cppmacro.c: Likewise.
7288         * cse.c: Likewise.
7289
7290 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
7291
7292         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
7293         LINK_SPEC.
7294         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
7295         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
7296         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
7297
7298 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
7299
7300         PR opt/7930
7301         * cse.c (fold_rtx): Calculate old_cost before we fold each
7302         operand.
7303
7304 2002-09-21  Richard Henderson  <rth@redhat.com>
7305
7306         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
7307         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
7308         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
7309         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
7310         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
7311         * doc/cpp.texi: Don't document them.
7312
7313 2002-09-21  Richard Henderson  <rth@redhat.com>
7314
7315         * c-common.c (builtin_define_float_constants): Use real_format
7316         to get the floating-point parameters.
7317
7318 2002-09-21  Richard Henderson  <rth@redhat.com>
7319
7320         * real.c (struct real_format): Move to real.h.
7321         (real_format_for_mode): Rename from fmt_for_mode; update all users;
7322         initialize with ieee defaults.
7323         (real_to_target_fmt, real_from_target_fmt): New.
7324         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
7325         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
7326         ieee_quad_format, i370_single_format, i370_double_format,
7327         c4x_single_format, c4x_extended_format): Rename from s/_format//.
7328         (ieee_quad_format): Fix emin.
7329         (format_for_size, init_real_once): Remove.
7330         * real.h (struct real_format): Move from real.c.
7331         (real_format_for_mode): Declare.
7332         (real_to_target_fmt, real_from_target_fmt): Declare.
7333         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
7334         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
7335         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
7336         i370_single_format, i370_double_format, c4x_single_format,
7337         c4x_extended_format): Declare.
7338         * toplev.c (do_compile): Don't call init_real_once.
7339
7340         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
7341         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
7342
7343         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
7344         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
7345         * config/alpha/alpha.c (override_options): Set real_format_for_mode
7346         for VAX, if enabled.
7347
7348         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
7349         for C4X.
7350
7351         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
7352         * config/i370/i370.c (override_options): New.
7353         * config/i370/i370-protos.h: Update.
7354
7355         * config/i386/i386.c (override_options): Set real_format_for_mode
7356         for Intel 80-bit extended.
7357         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
7358
7359         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
7360         (OVERRIDE_OPTIONS): Move code...
7361         * config/i960/i960.c (i960_initialize): ... here.  Set
7362         real_format_for_mode for Intel 80-bit extended.
7363
7364         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
7365         for Intel 80-bit extended, if enabled.
7366
7367         * config/m68k/m68k.c (override_options): Set real_format_for_mode
7368         for Motorola 96-bit extended.
7369
7370         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
7371         * config/vax/vax.c (override_options): New.
7372         * config/vax/vax-protos.h: Update.
7373
7374 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
7375
7376         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
7377         #if TARGET_MACHO.
7378
7379         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
7380         insns.  Supply missing clobber of scratch reg.
7381
7382 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
7383
7384         * config/m32r/m32r.c: Follow spelling conventions.
7385         * config/m32r/m32r.h: Likewise.
7386         * config/m32r/m32r.md: Likewise.
7387         * config/m68k/m68k.c: Likewise.
7388         * config/m88k/m88k.c: Likewise.
7389         * config/mcore/mcore.c: Likewise.
7390         * config/mips/mips.c: Likewise.
7391         * config/mips/mips.h: Likewise.
7392         * config/mmix/mmix.c: Likewise.
7393         * config/mn10200/mn10200.c: Likewise.
7394         * config/ns32k/ns32k.h: Likewise.
7395         * config/pa/pa.c: Likewise.
7396         * config/pa/pa64-linux.h: Likewise.
7397         * config/pdp11/pdp11.h: Likewise.
7398         * config/romp/romp.c: Likewise.
7399         * config/romp/romp.h: Likewise.
7400         * config/rs6000/eabi.asm: Likewise.
7401         * config/rs6000/linux64.h: Likewise.
7402         * config/rs6000/rs6000.c: Likewise.
7403         * config/rs6000/rs6000.h: Likewise.
7404         * config/rs6000/rs6000.md: Likewise.
7405         * config/rs6000/sysv4.h: Likewise.
7406         * config/rs6000/xcoff.h: Likewise.
7407
7408 2002-09-20  Jim Wilson  <wilson@redhat.com>
7409
7410         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
7411
7412 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
7413
7414         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
7415         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
7416         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
7417         (legitimate_address_p): Likewise.
7418         (legitimize_address): Use @gotntpoff and @indntpoff.
7419         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
7420         (output_addr_const_extra): Likewise.
7421
7422 2002-09-20  Jim Wilson  <wilson@redhat.com>
7423
7424         * combine.c (try_combine): When split an instruction pair, where the
7425         first has a sign_extend src, verify that the src and dest modes match.
7426
7427 2002-09-20  Richard Henderson  <rth@redhat.com>
7428
7429         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
7430         (override_options): Do not initialize them.
7431         (mips_const_double_ok): Allow no fp constants except zero,
7432         and not even that for mips16.
7433         (const_float_1_operand): Use dconst1.
7434         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
7435         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
7436         Don't allow arbitrary constants; fix predicates and C constraint.
7437
7438 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
7439
7440         * cppmacro.c: Don't warn about function-like macros without
7441         '(' during pre-expansion.
7442
7443 2002-09-20  Jim Wilson  <wilson@redhat.com>
7444
7445         * config/v850/v850.c (current_function_anonymous_args): Delete.
7446         (expand_prologue): Use current_function_args_info.anonymous_args.
7447         (expand_epilogue): Delete use of current_function_anonymous_args.
7448         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
7449         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
7450         (current_function_anonymous_args): Delete extern declaration.
7451         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
7452
7453 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
7454
7455         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
7456         to load_macho_picbase.
7457         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
7458         (load_macho_picbase): Take the symbol to use as a parameter.
7459         (macho_correct_pic): New insn.
7460         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
7461
7462         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
7463         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
7464         (CAN_ELIMINATE): Likewise.
7465         (INITIAL_ELIMINATION_OFFSET): Likewise.
7466         (TOC_REGISTER): Likewise.
7467
7468 2002-09-20  Richard Henderson  <rth@redhat.com>
7469
7470         * real.c (real_hash): New.
7471         * real.h: Declare it.
7472         * cse.c (canon_hash): Use it.
7473         * cselib.c (hash_rtx): Likewise.
7474         * emit-rtl.c (const_double_htab_hash): Likewise.
7475         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
7476         * varasm.c (struct rtx_const): Reduce vector size; separate
7477         integer and fp vectors.
7478         (HASHBITS): Remove.
7479         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
7480         take modulus MAX_HASH_TABLE.
7481         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
7482         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
7483         (SYMHASH): Don't use HASHBITS.
7484         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
7485         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
7486         (simplify_subtraction): Fix kind comparison.
7487         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
7488         Use a union to pun integer array.
7489         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
7490         only hash two words of integral CONST_DOUBLE.
7491
7492 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
7493
7494         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
7495         (STARTFILE_PREFIX_SPEC): New.
7496         (LINK_SPEC): Modify.
7497         (LIB_SPEC): Modify.
7498         (LIBGCC_SPEC): New.
7499
7500 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
7501
7502         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
7503         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
7504
7505 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
7506
7507         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
7508         Add clobber of the condition code register.
7509
7510 2002-09-20  Richard Henderson  <rth@redhat.com>
7511
7512         * real.c (do_fix_trunc): Static.
7513         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
7514         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
7515         encode_i370_single, encode_i370_double, encode_c4x_single,
7516         encode_c4x_extended): Add default abort case.
7517
7518 2002-09-20  Richard Henderson  <rth@redhat.com>
7519
7520         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
7521         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
7522         (struct realvaluetype): Remove.
7523         (REAL_VALUE_TYPE): Use struct real_value.
7524         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
7525         (test_real_width): New.
7526         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
7527         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
7528         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
7529         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
7530         real_to_integer, real_to_integer2, real_to_decimal,
7531         real_to_hexadecimal, real_from_string, real_from_integer,
7532         real_inf, real_nan, real_2expN, real_convert, real_to_target,
7533         real_from_target): Likewise.
7534         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
7535         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
7536
7537 2002-09-20  Richard Henderson  <rth@redhat.com>
7538
7539         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
7540         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
7541         * defaults.h: ... here.
7542         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
7543         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
7544         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
7545         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
7546
7547 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
7548
7549         * config/mmix/mmix.md ("negdf2"): Rewrite.
7550         ("*expanded_negdf2"): New.
7551
7552 2002-09-19  Jim Wilson  <wilson@redhat.com>
7553
7554         * combine.c (simplify_set): When optimizing a subreg src with a
7555         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
7556
7557 2002-09-19  Dale Johannesen <dalej@apple.com>
7558         * combine.c (make_extraction): Don't create
7559         invalid subreg.
7560
7561 2002-09-19  Roger Sayle  <roger@eyesopen.com>
7562
7563         * tree.c (integer_nonzerop): New predicate for nonzero integers.
7564         * tree.h (integer_nonzerop): Add function prototype.
7565         * stmt.c (expand_end_loop):  Don't rotate the loop when there
7566         are no instructions in the test, i.e. the loop is unconditional.
7567         (expand_exit_loop_if_false):  Optimize RTL generation of loop
7568         tests when the condition is always true or always false.
7569         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
7570         do-loops when the condition is always true.
7571         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
7572         the for-expression is empty.
7573
7574 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
7575
7576         * gcc.c (use_pipes): New flag.
7577         (process_command): Set it.  Adjust check for -pipe conflicting
7578         with -time or -save-temps.
7579         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
7580         %<SWITCH.  Drop %| (without a SUFFIX).
7581         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
7582         (give_switch): Third argument eliminated.
7583         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
7584         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
7585         (specs documentation comment): Update.
7586
7587         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
7588         config/svr4.h, config/i386/freebsd-aout.h,
7589         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
7590         config/m68k/openbsd.h, config/mips/openbsd.h,
7591         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
7592         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
7593         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
7594         * config/cris/cris.h: Update comment.
7595
7596         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
7597         error messages.  Don't use %{^SWITCH}.
7598         * ada/misc.c (gnat_decode_option): Handle -I with a
7599         separate argument.
7600
7601         * f/lang-specs.h: Use %| and %m.
7602         * java/jvspec.c: Use %m and %(invoke_as).  Change all
7603         uses of %{<SWITCH} to %<SWITCH.
7604
7605         * doc/invoke.texi: Update documentation of specs.
7606         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
7607
7608 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
7609
7610         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
7611         and STRICT_LOW_PART within SET_DEST.
7612         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
7613         splitters, replacing pre-reload splitters.
7614         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
7615         "*zero_extendqihi2_31"): New insns.
7616         ("*zero_extendqihi2_64"): Do not clobber CC.
7617
7618 2002-09-18  Devang Patel  <dpatel@apple.com>
7619
7620         * cp/cp-tree.h: New prototype for walk_vtables().
7621         * cp/decl.c (walk_vtables_r): New function.
7622         (struct cp_binding_level): Add new members, namespaces,
7623         names_size and vtables.
7624         (add_decl_to_level): Add decl in namespaces or vtables
7625         chain, if conditions match.
7626         (walk_vtables): New function.
7627         (walk_namespaces_r): Travers separate namespace chain
7628         for namespace decls.
7629         (wrapup_globals_for_namespace): Use names_size instead
7630         of list_length().
7631         * cp/decl2.c (finish_file): Use walk_vtables() instead of
7632         walk_globals() to walk vtable decls.
7633
7634 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
7635
7636         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
7637         (DTORS_SECTION_ASM_OP): Ditto.
7638         (READONLY_DATA_SECTION_ASM_OP): Moved.
7639         (DATA_SECTION_ASM_OP): New.
7640         (SDATA_SECTION_ASM_OP): New.
7641         (BSS_SECTION_ASM_OP): New.
7642         (SBSS_SECTION_ASM_OP): New.
7643         (TEXT_SECTION_ASM_OP): New.
7644
7645 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
7646
7647         * config/fp-bit.c: Follow spelling conventions.
7648         * config/d30v/d30v.c: Likewise.
7649         * config/d30v/d30v.h: Likewise.
7650         * config/fr30/fr30.c: Likewise.
7651         * config/fr30/fr30.h: Likewise.
7652         * config/fr30/fr30.md: Likewise.
7653         * config/frv/frv.c: Likewise.
7654         * config/frv/frv.h: Likewise.
7655         * config/h8300/h8300.c: Likewise.
7656         * config/h8300/lib1funcs.asm: Likewise.
7657         * config/i370/i370.c: Likewise.
7658         * config/i386/i386.h: Likewise.
7659         * config/i386/i386.md: Likewise.
7660         * config/i386/pentium.md: Likewise.
7661         * config/i386/winnt.c: Likewise.
7662         * config/i960/i960.c: Likewise.
7663         * config/ia64/ia64.h: Likewise.
7664         * config/ip2k/ip2k.c: Likewise.
7665         * config/ip2k/ip2k.h: Likewise.
7666         * config/ip2k/ip2k.md: Likewise.
7667         * config/ip2k/libgcc.S: Likewise.
7668
7669 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
7670
7671         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
7672         (GOTOFF_P): Extend to allow gotoff plus constant.
7673
7674 2002-09-18  Richard Henderson  <rth@redhat.com>
7675
7676         * ifcvt.c (noce_process_if_block): Correctly detect X modified
7677         with INSN_B before COND_EARLIEST.  Don't check A and B for
7678         modification in condition range.  Reorder INSN_B for A==B properly.
7679         (if_convert): Iterate until no matches for a block.
7680
7681 2002-09-18  Richard Henderson  <rth@redhat.com>
7682
7683         * calls.c (store_one_arg): Rename default_align to parm_align;
7684         always adjust parm_align for downward padding.
7685
7686 2002-09-18  Richard Henderson  <rth@redhat.com>
7687
7688         * toplev.c (backend_init): Move init_real_once invocation ...
7689         (do_compile): ... here.
7690
7691 2002-09-18  Richard Henderson  <rth@redhat.com>
7692
7693         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
7694         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
7695
7696 2002-09-18  Richard Henderson  <rth@redhat.com>
7697
7698         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
7699
7700 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
7701
7702         * config/rs6000/rs6000.md: (floatdisf2): Rename to
7703         floatdisf2_internal1.
7704         (floatdisf2): New define_expand.
7705         (floatdisf2_internal2): Likewise.
7706
7707 2002-09-18  Richard Henderson  <rth@redhat.com>
7708
7709         * real.c (sticky_rshift_significand): Collect sticky as
7710         unsigned long, not bool.
7711
7712 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
7713
7714         * config/s390/s390.c (s390_address_cost): New function.
7715         config/s390/s390-protos.h (s390_address_cost): Add prototype.
7716         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
7717         (RTX_COST): Use COSTS_N_INSNS.
7718
7719 2002-09-18  Douglas Rupp  <rupp@gnat.com>
7720             Donn Terry  <donnte@microsoft.com>
7721
7722         * stor-layout.c (place_field): Handle alignment of whole
7723         structures when MSVC compatible bitfields are involved.
7724         Change method of computing location of MS bitfields to
7725         be compatible with #pragma pack(n).
7726
7727         * tree.h (record_layout_info): Add new field
7728         remaining_in_alignment.
7729
7730         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
7731         (pragma pack): Add paragraph on MSVC bitfield packing.
7732
7733 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
7734
7735         PR optimization/7967
7736         * arm.md (ne_zeroextractsi): Add clobber of the condition code
7737         register.
7738
7739 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
7740
7741         * config/s390/s390.c: Follow spelling conventions.
7742         * config/sh/lib1funcs.asm: Likewise.
7743         * config/sh/sh.c: Likewise.
7744         * config/sh/sh.h: Likewise.
7745         * config/sparc/sparc.c: Likewise.
7746         * config/sparc/sparc.h: Likewise.
7747         * config/sparc/sparc.md: Likewise.
7748         * config/stormy16/stormy16.c: Likewise.
7749         * config/stormy16/stormy16.h: Likewise.
7750         * config/v850/v850.c: Likewise.
7751         * config/v850/v850.h: Likewise.
7752         * config/vax/vax.c: Likewise.
7753         * config/vax/vax.h: Likewise.
7754
7755 2002-09-18  Nick Clifton  <nickc@redhat.com>
7756
7757         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
7758         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
7759         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
7760
7761 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
7762
7763         * function.c (max_parm_reg_num): Remove.
7764         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
7765         drop_through_at_end_p, move_cleanups_up,
7766         expand_end_case_dummy, case_index_expr_type): Likewise.
7767         * stor-layout.c (pos_from_byte): Likewise.
7768         * tree.c (chain_member_value, chain_member_purpose, listify,
7769         tree_int_cst_msb, index_type_equal): Likewise.
7770         * tree.h: Remove prototypes for unused functions.
7771
7772 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
7773
7774         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
7775         statement that the only translation is to en_UK.
7776
7777 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
7778
7779         * config/alpha/alpha.c: Follow spelling conventions.
7780         * config/alpha/alpha.h: Likewise.
7781         * config/alpha/alpha.md: Likewise.
7782         * config/arc/arc.h: Likewise.
7783         * config/arm/arm.c: Likewise.
7784         * config/arm/arm.h: Likewise.
7785         * config/arm/arm.md: Likewise.
7786         * config/arm/pe.c: Likewise.
7787         * config/arm/unknown-elf.h: Likewise.
7788         * config/avr/avr.c: Likewise.
7789         * config/avr/avr.h: Likewise.
7790         * config/c4x/c4x.c: Likewise.
7791         * config/cris/cris.c: Likewise.
7792         * config/cris/cris.h: Likewise.
7793
7794 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
7795
7796         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
7797         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
7798         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
7799
7800 2002-09-17  Dale Johannesen  <dalej@apple.com>
7801
7802         * cfgcleanup.c (try_forward_edges):  Do not forward a
7803         branch to just after a loop exit before loop optimization;
7804         this interfered with doloop detection.
7805
7806 2002-09-17  Nick Clifton  <nickc@redhat.com>
7807
7808         * config/arm/arm.c (output_return_instruction): Do not
7809         writeback the stack pointer when it is being loaded.
7810         (arm_output_epilogue): Likewise.
7811
7812 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
7813
7814         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
7815         generate a pseudo reg that receives the result of a libcall.
7816         (prepare_float_lib_cmp): Likewise.
7817
7818 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
7819
7820         * config/ia64/elf.h: Remove CPP_PREDEFINES.
7821
7822 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
7823
7824         Fix PR/7014 and related objc bugs:
7825         * c-typeck.c (comp_target_types): Added a reflexive argument.
7826         Pass it to ObjC when/if calling objc_comptypes().  Updated all
7827         callers to provide the appropriate reflexive argument.
7828         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
7829         typechecking for all cases of comparisons and assignments,
7830         particularly the obscure and less common ones involving protocols.
7831
7832 2002-09-17  Nick Clifton  <nickc@redhat.com>
7833
7834         * machmode.def (V1DImode): New mode.  A single element vector.
7835         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
7836         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
7837         * tree.c (build_common_tree_nodes_2): Build
7838         unsigned_V1DI_type_node and V1D1_type_node.
7839         * c-common.c (c_common_type_for_mode): Return
7840         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
7841         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
7842
7843 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
7844
7845         * doc/objc.texi (Constant string objects): Extended documentation
7846         to make clear that the constant string class ivar layout is
7847         completely fixed.
7848
7849 2002-09-17  Roger Sayle  <roger@eyesopen.com>
7850
7851         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
7852         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
7853
7854 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7855
7856         * config/mips/mips.c (save_restore_insns): Remove unused variable.
7857         * gcc.c (make_relative_prefix): Likewise.
7858         * loop.c (check_final_value): Likewise.
7859         * jump.c (init_label_info): Remove return value.
7860         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
7861
7862 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7863
7864         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
7865         (ASM_PN_FORMAT): Define.
7866
7867 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7868
7869         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
7870         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
7871         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
7872         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
7873         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
7874         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
7875         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
7876         Delete.
7877         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
7878         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
7879         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
7880
7881         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
7882         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
7883
7884 2002-09-16  Richard Henderson  <rth@redhat.com>
7885
7886         * expr.c (emit_block_move): Set memory block size as appropriate
7887         for the copy.
7888
7889 2002-09-16  Richard Henderson  <rth@redhat.com>
7890
7891         PR fortran/3924
7892         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
7893
7894 2002-09-16  Richard Henderson  <rth@redhat.com>
7895
7896         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
7897         as well as OFFSET for BITPOS.
7898
7899 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
7900
7901         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
7902         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
7903         winchip2 and c3.
7904         * doc/invoke.texi: Mention new aliases.
7905
7906 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7907
7908         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
7909         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
7910         downward.
7911         * function.c (pad_below):  Always compile.
7912         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
7913         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
7914         Pad below when the argument is not in a register and the padding
7915         direction is downward.
7916
7917         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
7918         (PAD_VARARGS_DOWN): Define.
7919         * pa.c (function_arg_padding): Revise padding directions to make them
7920         compatible with the 32 and 64-bit runtime architecture documentation.
7921         (hppa_va_arg):  Add code to handle variable and size zero arguments
7922         passed by reference on TARGET_64BIT.  Reformat.
7923         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
7924         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
7925         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
7926         Add comments.
7927         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
7928         (RETURN_IN_MEMORY): Return size zero types in memory.
7929         (FUNCTION_VALUE): Return TFmode in general registers.
7930         (MUST_PASS_IN_STACK): Define.
7931         (FUNCTION_ARG_BOUNDARY): Simplify.
7932         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
7933         by reference.
7934         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
7935
7936 2002-09-16  Richard Henderson  <rth@redhat.com>
7937
7938         * real.c (do_fix_trunc): New.
7939         (real_arithmetic): Call it.
7940         * simplify-rtx.c (simplify_unary_operation): Handle FIX
7941         with a floating-point result mode.
7942
7943 2002-09-16  Richard Henderson  <rth@redhat.com>
7944
7945         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
7946         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
7947         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
7948         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
7949         * builtins.c (fold_builtin_nan): New.
7950         (fold_builtin): Call it.
7951         * real.c (real_nan): Parse a non-empty string.
7952         (round_for_format): Fix NaN significand truncation.
7953         * real.h (real_nan): Return bool.
7954         * doc/extend.texi: Document new builtins.
7955
7956 2002-09-16  Jason Merrill  <jason@redhat.com>
7957             Danny Smith  <dannysmith@users.sourceforge.net>
7958
7959         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
7960         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
7961         (i386_pe_mark_dllimport): Not here.
7962
7963 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
7964
7965         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
7966
7967 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
7968
7969         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
7970         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
7971         < 64.
7972         (rs6000_emit_cmove): Use real_isinf not target_isinf.
7973
7974 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
7975
7976         * calls.c (emit_library_call_value_1): Don't refer to
7977         hard_libcall_value.
7978         * optabs.c (prepare_float_lib_cmp): Likewise.
7979
7980 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
7981
7982         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
7983         mangling.
7984
7985         The following changes are merged from pch-branch:
7986
7987         * doc/gty.texi (GTY Options): Document %a.
7988         * gengtype.c (do_scalar_typedef): New function.
7989         (process_gc_options): Handle `length' option.
7990         (set_gc_used_type): A pointer to an array of structures doesn't
7991         qualify as a pointer to a structure.
7992         (output_escaped_param): Add `%a' escape.
7993         (write_gc_structure_fields): Allow 'desc' on array of unions.
7994         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
7995         do_scalar_typedef.
7996
7997         * gengtype.c (enum rtx_code): Make global.
7998         (rtx_format): Make global.
7999         (rtx_next): New.
8000         (gen_rtx_next): New.
8001         (write_rtx_next): New.
8002         (adjust_field_rtx_def): Skip fields marked by chain_next.
8003         (open_base_files): Delete redundant prototype.
8004         (write_enum_defn): New.
8005         (output_mangled_typename): Correct abort call.
8006         (write_gc_marker_routine_for_structure): Handle chain_next and
8007         chain_prev options.
8008         (finish_root_table): Don't output redundant \n.
8009         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
8010         * c-tree.h (union lang_tree_node): Add chain_next option.
8011
8012         * gengtype.h (NUM_PARAM): New definition.
8013         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
8014         * gengtype.c (find_param_structure): New.
8015         (adjust_field_type): Handle param<n>_is option.
8016         (process_gc_options): Detect use_params option.  Update callers.
8017         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
8018         'use_params' option.
8019         (open_base_files): Add splay-tree.h to list of files included.
8020         (output_mangled_typename): New.
8021         (write_gc_structure_fields): Update 'param' parameter to support
8022         multiple parameters.  Change name mangling.  Allow parameterized
8023         fields to have an apparent scalar type.  Handle param<n>_is options,
8024         use_param option.
8025         (write_gc_marker_routine_for_structure): Update for change to name
8026         mangling.  Better guess the output file for parameterized types.
8027         (write_gc_types): Update for change to name mangling.
8028         (write_gc_root): Update for change to name mangling.  Handle (ignore)
8029         param<n>_is options.
8030         * doc/gty.texi (GTY Options): Add description of param<n>_is
8031         options, use_params option.
8032         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
8033         * gengtype-lex.l: Produce token for param<n>_is.
8034         * gengtype-yacc.y: Parse param<n>_is.
8035
8036         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
8037
8038         * rtl.c: Update comment describing rtx_format.
8039         * rtl.h (union rtunion): Separate definition and typedef.
8040         (struct rtx_def): Use gengtype to mark.
8041         * Makefile.in (gengtype.o): Also depend on rtl.def.
8042         * ggc.h (ggc_mark_rtx_children): Delete prototype.
8043         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
8044         * ggc-common.c (ggc_mark_rtx_children): Delete.
8045         (ggc_mark_rtx_children_1): Delete.
8046         (gt_ggc_m_rtx_def): Delete.
8047         * gengtype.c (adjust_field_rtx_def): New.
8048         (adjust_field_type): Call adjust_field_rtx_def.
8049         (write_gc_structure_fields): Add 'default' case to switch if none
8050         is specified; remove unused code.
8051
8052         * tree.h (struct tree_exp): Update for change to meaning
8053         of special.
8054         * gengtype.c (adjust_field_tree_exp): New function.
8055         (adjust_field_type): Handle `tree_exp' special here.
8056         (write_gc_structure_fields): Don't handle `tree_exp' special here.
8057         Handle new `dot' option.
8058
8059         * gengtype.h: Make `info' a pointer-to-const.
8060         * gengtype-yacc.y (yacc_ids): Use xasprintf.
8061
8062         * gengtype.c (write_gc_structure_fields): Remove implementation
8063         of `always' option, add `default' option.
8064         * doc/gty.texi (GTY Options): Remove documentation of `always',
8065         add `default'.
8066
8067 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
8068
8069         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
8070
8071 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8072
8073         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
8074
8075         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
8076         instead of the *-protos.h file directly.
8077         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
8078         * darwin.c (machopic_output_stub): Move prototype ...
8079         * darwin-protos.h (machopic_output_stub): ... here.
8080         * rs6000-protos.h (machopic_output_stub): Don't declare.
8081
8082 2002-09-16  Richard Henderson  <rth@redhat.com>
8083
8084         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
8085
8086 2002-09-16  Richard Henderson  <rth@redhat.com>
8087
8088         * real.c, real.h: Rewrite from scratch.
8089
8090         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
8091         (paranoia): New target.
8092         * builtins.c (fold_builtin_inf): Use new real.h interface.
8093         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
8094         * c-lex.c (interpret_float): Likewise.
8095         * emit-rtl.c (gen_lowpart_common): Likewise.
8096         * optabs.c (expand_float): Use real_2expN.
8097         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
8098         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
8099         (FLOAT_WORDS_BIG_ENDIAN): New.
8100         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
8101         directly to REAL_VALUE_NEGATIVE.
8102         * loop.c (canonicalize_condition): Likewise.
8103         * simplify-rtx.c: Include tree.h.
8104         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
8105         with floating-point result modes.
8106         * toplev.c (backend_init): Call init_real_once.
8107
8108         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
8109         * tree.c (build_real): Likewise.
8110         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
8111         float_values, inited_float_values, check_float_value): Remove.
8112         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
8113         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
8114         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
8115         (VAX_HALFWORD_ORDER): Remove.
8116
8117 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
8118
8119         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
8120         (s390_load_address): ... this new function.
8121         (s390_decompose_address): Allow the argument pointer and all
8122         virtual registers as 'pointer' registers.
8123         (s390_expand_plus_operand): Use s390_load_address.
8124         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
8125         ("force_la_31"): New insn pattern.
8126         config/s390/s390-protos.h (legitimize_la_operand): Remove.
8127         (s390_load_address): Add prototype.
8128
8129         * config/s390/s390.c: Include "optabs.h".
8130         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
8131         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
8132         s390_expand_cmpstr): Add prototypes.
8133         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
8134         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
8135         for operands 0 and 1 to "memory_operand".  Add type attribute.
8136         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
8137         for operands 0 and 1 to "memory_operand".  Add type attribute.
8138         ("movstrdi_long", "movstrsi_long"): Remove.
8139         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
8140         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
8141         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
8142         ("clrstrsico"): Remove, replace by ...
8143         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
8144         ("clrstrsi_64"): Rename to "clrstr_long_64".
8145         ("clrstrsi_31"): Rename to "clrstr_long_31".
8146         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
8147         ("cmpstr_const"): Remove, replace by ...
8148         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
8149         ("cmpstr_64"): Rename to "cmpstr_long_64".
8150         ("cmpstr_31"): Rename to "cmpstr_long_31".
8151
8152 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
8153
8154         * ABOUT-NLS: Follow spelling conventions.
8155         * ChangeLog: Likewise.
8156         * ChangeLog.1: Likewise.
8157         * ChangeLog.2: Likewise.
8158         * ChangeLog.3: Likewise.
8159         * ChangeLog.4: Likewise.
8160         * ChangeLog.5: Likewise.
8161         * ChangeLog.6: Likewise.
8162         * FSFChangeLog.10: Likewise.
8163         * FSFChangeLog.11: Likewise.
8164         * c-common.c: Likewise.
8165         * c-lex.c: Likewise.
8166         * c-objc-common.c: Likewise.
8167         * cppexp.c: Likewise.
8168         * cppinit.c: Likewise.
8169         * cpplex.c: Likewise.
8170         * doloop.c: Likewise.
8171         * flow.c: Likewise.
8172         * function.c: Likewise.
8173         * integrate.c: Likewise.
8174         * loop.c: Likewise.
8175         * reg-stack.c: Likewise.
8176         * reload.h: Likewise.
8177         * ssa.c: Likewise.
8178
8179 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8180
8181         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
8182         * vmsdbgout.c: Include "target.h".
8183
8184 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
8185
8186         * ChangeLog: Follow spelling conventions.
8187         * ChangeLog.0: Likewise.
8188         * ChangeLog.1: Likewise.
8189         * ChangeLog.2: Likewise.
8190         * ChangeLog.4: Likewise.
8191         * ChangeLog.6: Likewise.
8192         * config.gcc: Likewise.
8193         * dwarfout.c: Likewise.
8194         * reload1.c: Likewise.
8195         * simplify-rtx.c: Likewise.
8196         * unwind-sjlj.c: Likewise.
8197         * config/avr/avr.h: Likewise.
8198         * config/d30v/d30v.h: Likewise.
8199         * config/frv/frv.c: Likewise.
8200         * config/frv/frv.h: Likewise.
8201         * config/ip2k/ip2k.h: Likewise.
8202         * config/m88k/m88k-move.sh: Likewise.
8203         * config/stormy16/stormy16.c: Likewise.
8204         * config/stormy16/stormy16.h: Likewise.
8205         * doc/extend.texi: Likewise.
8206         * doc/interface.texi: Likewise.
8207         * doc/invoke.texi: Likewise.
8208         * doc/md.texi: Likewise.
8209         * doc/rtl.texi: Likewise.
8210         * doc/tm.texi: Likewise.
8211         * doc/trouble.texi: Likewise.
8212         * ginclude/float.h: Likewise.
8213         * treelang/treelang.texi: Likewise.
8214
8215 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8216
8217         * i386-protos.h (i386_pe_dllexport_name_p,
8218         i386_pe_dllimport_name_p, i386_pe_unique_section,
8219         i386_pe_declare_function_type, i386_pe_record_external_function,
8220         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
8221         prototype.
8222         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
8223         * i386/t-interix (winnt.o): Likewise.
8224
8225         * v850-protos.h (v850_output_addr_const_extra): Prototype.
8226
8227 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
8228
8229         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
8230         MIPS ABI CPP macros.
8231         (TARGET_CPU_CPP_BUILTINS): Redefine.
8232         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
8233         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
8234
8235 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8236
8237         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
8238
8239 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
8240
8241         * ChangeLog: Follow spelling conventions.
8242         * ChangeLog.0: Likewise.
8243         * ChangeLog.1: Likewise.
8244         * ChangeLog.2: Likewise.
8245         * ChangeLog.3: Likewise.
8246         * ChangeLog.4: Likewise.
8247         * ChangeLog.5: Likewise.
8248         * ChangeLog.6: Likewise.
8249         * FSFChangeLog.10: Likewise.
8250         * FSFChangeLog.11: Likewise.
8251         * c-common.c: Likewise.
8252         * c-common.h: Likewise.
8253         * c-format.c: Likewise.
8254         * c-opts.c: Likewise.
8255         * cpplib.c: Likewise.
8256         * langhooks.h: Likewise.
8257         * real.c: Likewise.
8258         * reg-stack.c: Likewise.
8259         * toplev.c: Likewise.
8260         * config/arm/arm.c: Likewise.
8261         * config/arm/arm.md: Likewise.
8262         * config/arm/linux-gas.h: Likewise.
8263         * config/arm/netbsd.h: Likewise.
8264         * config/c4x/c4x.c: Likewise.
8265         * config/c4x/c4x.h: Likewise.
8266         * config/c4x/c4x.md: Likewise.
8267         * config/c4x/libgcc.S: Likewise.
8268         * config/fr30/fr30.md: Likewise.
8269         * config/frv/frv.md: Likewise.
8270         * config/ia64/ia64.md: Likewise.
8271         * config/mips/mips.h: Likewise.
8272         * config/mn10300/mn10300.c: Likewise.
8273         * config/stormy16/stormy16.c: Likewise.
8274         * config/v850/v850.md: Likewise.
8275         * doc/extend.texi: Likewise.
8276         * doc/invoke.texi: Likewise.
8277         * doc/md.texi: Likewise.
8278
8279 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
8280
8281         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
8282         library if -pthread is specified.
8283
8284 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
8285
8286         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
8287         for --enable-threads=yes and --enable-threads=posix.
8288
8289 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
8290
8291         * config/sparc/cypress.md: Replace Sparc with SPARC.
8292         * config/sparc/freebsd.h: Likewise.
8293         * config/sparc/gmon-sol2.c: Likewise.
8294         * config/sparc/hypersparc.md: Likewise.
8295         * config/sparc/lb1spc.asm: Likewise.
8296         * config/sparc/lb1spl.asm: Likewise.
8297         * config/sparc/linux.h: Likewise.
8298         * config/sparc/linux64.h: Likewise.
8299         * config/sparc/lynx.h: Likewise.
8300         * config/sparc/sol2.h: Likewise.
8301         * config/sparc/sparc-modes.def: Likewise.
8302         * config/sparc/sparc.c: Likewise.
8303         * config/sparc/sparc.h: Likewise.
8304         * config/sparc/sparc.md: Likewise.
8305         * config/sparc/sparclet.md: Likewise.
8306         * config/sparc/supersparc.md: Likewise.
8307         * config/sparc/sysv4.h: Likewise.
8308         * config/sparc/vxsim.h: Likewise.
8309         * config/sparc/vxsparc64.h: Likewise.
8310
8311 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8312
8313         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
8314         * collect2.c (ignore_library, aix_std_libs): Move into the context
8315         where it is used.
8316         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
8317         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
8318         * m88k.c (output_call): Wrap variables with macro controlling use.
8319         * rs6000.md: Likewise.  Const-ify variable.
8320         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
8321         * final.c (only_leaf_regs_used): Likewise.
8322         * regrename.c (maybe_mode_change): Mark parameter with
8323         ATTRIBUTE_UNUSED.
8324         * reload.c (find_valid_class): Likewise.  Likewise for variable.
8325         (find_reloads_address_1): Likewise.
8326         * varasm.c (weak_finish): Wrap variable with macro controlling use.
8327
8328 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
8329
8330         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
8331
8332 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
8333
8334         * ChangeLog: Follow spelling conventions.
8335         * ChangeLog.0: Likewise.
8336         * ChangeLog.2: Likewise.
8337         * ChangeLog.3: Likewise.
8338         * ChangeLog.4: Likewise.
8339         * ChangeLog.5: Likewise.
8340         * ChangeLog.6: Likewise.
8341         * cppfiles.c: Likewise.
8342         * cppinit.c: Likewise.
8343         * cpplib.h: Likewise.
8344         * cse.c: Likewise.
8345         * debug.h: Likewise.
8346         * df.c: Likewise.
8347         * dominance.c: Likewise.
8348         * hashtable.c: Likewise.
8349         * hashtable.h: Likewise.
8350         * loop.c: Likewise.
8351         * config/arm/README-interworking: Likewise.
8352         * config/arm/arm.c: Likewise.
8353         * config/arm/arm.h: Likewise.
8354         * config/arm/arm.md: Likewise.
8355         * config/dsp16xx/dsp16xx.h: Likewise.
8356         * config/frv/frv.c: Likewise.
8357         * config/frv/frv.h: Likewise.
8358         * config/ip2k/ip2k.h: Likewise.
8359         * config/rs6000/rs6000.c: Likewise.
8360         * config/stormy16/stormy-abi: Likewise.
8361         * config/stormy16/stormy16.h: Likewise.
8362         * config/v850/v850.c: Likewise.
8363
8364 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
8365
8366         * loop.c: Fix a comment typo.
8367
8368 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
8369
8370         * config/fr30/fr30.h: Fix comment typos.
8371         * config/frv/frv.c: Likewise.
8372         * config/i386/xmmintrin.h: Likewise.
8373         * config/mips/mips.c: Likewise.
8374         * config/sh/sh.c: Likewise.
8375
8376 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
8377
8378         * haifa-sched.c: Follow spelling conventions.
8379         * regclass.c: Likewise.
8380         * regrename.c: Likewise.
8381         * config/fp-bit.c: Likewise.
8382         * config/frv/frv.h: Likewise.
8383         * config/m88k/m88k.c: Likewise.
8384         * config/mcore/mcore.c: Likewise.
8385         * config/rs6000/darwin.h: Likewise.
8386         * config/rs6000/gnu.h: Likewise.
8387         * config/rs6000/linux.h: Likewise.
8388         * config/rs6000/linux64.h: Likewise.
8389         * config/rs6000/rs6000.c: Likewise.
8390         * config/rs6000/rs6000.h: Likewise.
8391         * config/sh/sh.c: Likewise.
8392         * config/sparc/sparc.c: Likewise.
8393         * config/sparc/ultra1_2.md: Likewise.
8394
8395 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
8396
8397         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
8398         memory operand when source is 0 (K constraint).
8399         ("movsi_internal"): Likewise.
8400         ("movdf_internal"): Likewise.
8401         ("movsf_internal"): Likewise.
8402
8403 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
8404
8405         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
8406         targetm.binds_local_p to set SYMBOL_REF_FLAG.
8407         (rs6000_xcoff_encode_section_info): Likewise.
8408         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
8409
8410 2002-09-10  Theodore A. Roth  <troth@verinet.com>
8411
8412         * gcc/config/avr/avr.h: Set default options for C++ for avr.
8413
8414 2002-09-13  Roger Sayle  <roger@eyesopen.com>
8415
8416         * stmt.c (struct nexting): Remove unused alt_end_label field.
8417         (expand_start_loop): Delete initialization of alt_end_label.
8418         (expand_start_null_loop): Likewise.
8419         (expand_exit_loop_if_false): Delete updating of alt_end_label.
8420
8421 2002-09-13  Richard Henderson  <rth@redhat.com>
8422
8423         * Makefile.in (toplev.o): Depend on real.h.
8424         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
8425
8426 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
8427
8428         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
8429         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
8430         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
8431
8432 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
8433
8434         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
8435
8436 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
8437
8438         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
8439         ia64*-*-linux*): Set extra_parts.
8440         * config/ia64/t-aix (EXTRA_PARTS): Remove.
8441         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
8442
8443 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
8444
8445         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
8446         * config/h8300/h8300.c: Likewise.
8447         * config/h8300/h8300.h: Likewise.
8448         * config/h8300/h8300.md: Likewise.
8449         * doc/invoke.texi: Likewise.
8450
8451 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
8452
8453         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
8454
8455 2002-09-13  Richard Henderson  <rth@redhat.com>
8456
8457         * config/alpha/alpha.md (attr type): Add callpal.
8458         (imb, trap, load_tp, set_tp): Use it.
8459         * config/alpha/ev4.md (ev4_callpal): New.
8460         * config/alpha/ev5.md (ev5_callpal): New.
8461         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
8462         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
8463         (alphaev5_insn_pipe): Likewise.
8464
8465 2002-09-13  Andreas Jaeger  <aj@suse.de>
8466
8467         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
8468
8469 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
8470
8471         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
8472         LIB2ADDEH): New, set to NULL.
8473         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
8474
8475 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
8476
8477         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
8478         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
8479         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
8480         Add declarations.
8481         (_U_Qfneg): Remove.
8482
8483 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
8484
8485         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
8486         for H8/300, H8S aa:8 mode.
8487         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
8488         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
8489         for H8/300 aa:8 mode.
8490
8491 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
8492
8493         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
8494         insns.
8495
8496 2002-09-12  Richard Henderson  <rth@redhat.com>
8497
8498         * Makefile.in (HOST_PRINT): Use print-rtl1.o
8499         (print-rtl.o): Don't define GENERATOR_FILE.
8500         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
8501         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
8502         unless GENERATOR_FILE.
8503
8504 2002-09-12  Stan Shebs  <shebs@apple.com>
8505
8506         * config/darwin.h (USER_LABEL_PREFIX): Define here...
8507         * config/i386/darwin.h: ... instead of here.
8508
8509         * target.h (struct gcc_target): New field
8510         terminate_dw2_eh_frame_info.
8511         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
8512         (TARGET_INITIALIZER): Add it.
8513         * dwarf2out.c (output_call_frame_info): Use target hook.
8514         * dwarf2asm.c (dw2_asm_output_delta): Use macro
8515         ASM_OUTPUT_DWARF_DELTA if defined.
8516         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
8517         (ASM_OUTPUT_DWARF_DELTA): Ditto.
8518         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
8519         (ASM_OUTPUT_DWARF_PCREL): Ditto.
8520         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
8521         (powerpc-*-darwin*): Ditto.
8522         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
8523         to work correctly for Darwin.
8524         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
8525         (STARTFILE_SPEC): Add crtbegin.o.
8526         (ENDFILE_SPEC): Define.
8527         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
8528         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
8529         (ASM_OUTPUT_DWARF_DELTA): Define.
8530         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
8531         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
8532
8533 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
8534
8535         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
8536         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
8537         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
8538
8539 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
8540
8541         * toplev.c: Move default definition of USER_LABEL_PREFIX...
8542         * defaults.h: ... here.
8543
8544 2002-09-12  Richard Henderson  <rth@redhat.com>
8545
8546         * vax.c: Include tree.h earlier.
8547
8548 2002-09-12  Stan Shebs  <shebs@apple.com>
8549
8550         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
8551         (machopic_operand_p): Ditto.
8552
8553 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
8554
8555         * config/arm/arm.c (arm_compute_initial_elimination_offset):
8556         Fix a comment typo.
8557
8558 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
8559
8560         * toplev.c (do_abort): Fix a comment typo.
8561
8562 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
8563
8564         * cselib.c: Fix comment formatting.
8565         * gengtype.c: Likewise.
8566
8567 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
8568
8569         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
8570         (udivmodhi4): Likewise.
8571
8572 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
8573             Roger Sayle  <roger@eyesopen.com>
8574
8575         * i386.c (any_fp_register_operand, fp_register_operand,
8576         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
8577         New predicate functions.
8578         * i386-protos.h:  Add their prototypes.
8579         * i386.h: Add them to PREDICATE_CODES.
8580         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
8581         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
8582         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
8583         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
8584         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
8585         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
8586         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
8587         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
8588         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
8589         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
8590         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
8591         Use these new predicates to simplify and correct the use of
8592         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
8593
8594 2002-09-12  Jason Merrill  <jason@redhat.com>
8595
8596         * diagnostic.c (output_add_identifier): New fn.
8597         * diagnostic.h: Declare it.
8598
8599         * calls.c (store_one_arg): Use size_in_bytes to determine the
8600         amount of space to push.
8601
8602 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
8603
8604         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
8605
8606 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
8607
8608         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
8609         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
8610         (s390_select_ccmode): Likewise.
8611         (s390_branch_condition_mask): Likewise.
8612         (optimization_options): Do not set flag_branch_on_count.
8613         (s390_split_branches): Handle doloop branches.
8614         (s390_chunkify_pool): Likewise.
8615         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
8616         ("doloop_end"): New expander.
8617         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
8618         associated splitters): New.
8619
8620 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8621
8622         * genattrtab.c (simplify_cond): Remove unused variable(s).
8623         * global.c (record_conflicts): Likewise.
8624         * jump.c (rebuild_jump_labels): Likewise.
8625         * loop.c (scan_loop, check_final_value): Likewise.
8626         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
8627         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
8628         * rtlanal.c (reg_set_p): Likewise.
8629         * stmt.c (expand_asm_operands, expand_decl): Likewise.
8630         * genautomata.c (empty_reserv): Remove.
8631         * loop.c (max_luid): Likewise.
8632         * sched-rgn.c (bitlst_table_size): Likewise.
8633
8634 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
8635
8636         Reimplement gcov format.
8637         * gcov-io.h: Replace.
8638         * gcov.c: Reimplement.
8639         * gcov-iov.c: New file.
8640         * gcov-dump.c: New file.
8641         * libgcc2.c (L_bb): Replace with ...
8642         (L_gcov): ... this.
8643         (struct bb_function_info, struct bb): Remove.
8644         (inhibit_libc): Never inhibit.
8645         (gcov_list, gcov_crc): New static variables.
8646         (gcov_version_mismatch): New static function.
8647         (__bb_exit_func): Renamed to ...
8648         (__gcov_exit): ... here. Made static. Reimplement.
8649         (__gcov_init_func): Rename to ...
8650         (__gcov_init): ... here. Check version, update crc.
8651         (__bb_fork_func): Rename to ...
8652         (__gcov_flush): ... here.
8653         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
8654         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
8655         * calls.c (expand_call): Call __gcov_flush.
8656         * profile.c (bb_file, last_bb_file_name): Remove.
8657         (bbg_file_name): New global variable.
8658         (output_gcov_string): Remove.
8659         (get_exec_counts): Reimplement.
8660         (branch_prob): Reimplement gcov file writing.
8661         (init_branch_prob): Create bbg_file_name, don't create
8662         bb_file_name.
8663         (end_branch_prob): Adjust. Don't remove counter file when
8664         instrumenting ourselves.
8665         (create_profiler): Adjust.
8666         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
8667         point to gcov-io.h.
8668         * Makefile.in (LANGUAGES): Add gcov-dump.
8669         (coverageexts): Remove .bb.
8670         (STAGESTUFF): Add gcov-dump.
8671         (LIB2FUNCS_ST): Replace _bb with _gcov.
8672         (profile.o): Depend on gcov-iov.h.
8673         (final.o): Don't depend on profile.h, gcov.h.
8674         (gcov.o): Depend on gcov-iov.h.
8675         (gcov-iov.o): New target.
8676         (gcov-iov): New target.
8677         (gcov-iov.h): New target.
8678         (gcov-dump.o): New target.
8679         (GCOV_DUMP_OBJS): New variable.
8680         (gcov-dump): New target.
8681         (distclean): Remove coverageexts.
8682         (stage1): Remove coverageexts.
8683
8684 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
8685
8686         * fold-const.c (make_range): Only narrow to signed range if
8687         the signed range is smaller than the unsigned range.
8688
8689 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
8690
8691         * emit-rtl.c (set_mem_size): New function.
8692         * expr.h (set_mem_size): Declare.
8693         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
8694         (expand_block_move): Instead, use adjust_address and
8695         replace_equiv_address to generate proper aliasing info.
8696         Move common code out of conditionals.  Localize vars.
8697
8698 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
8699
8700         * optabs.c (expand_binop): Minor cleanup.
8701         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
8702
8703 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
8704
8705         * print-tree.c (print_node): Print the restrict qualifier.
8706
8707 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
8708
8709         * doc/install.texi: Fix typos.
8710
8711 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
8712
8713         * Makefile.in: Remove all references to s-under and underscore.c.
8714         * collect2.c, tlink.c: Change all uses of prepends_underscore
8715         to look directly at USER_LABEL_PREFIX.
8716
8717 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
8718
8719         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
8720         alignment to csect.
8721         (rs6000_xcoff_unique_section): Only set section name for public
8722         data.
8723         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
8724         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
8725         duplicate definition.
8726
8727 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8728
8729         * pa.md (extzv): Check predicates before emitting extzv_32.
8730         (insv): Likewise.
8731
8732 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
8733
8734         * config/s390/s390.h (MOVE_MAX): Define to correct value.
8735         (MAX_MOVE_MAX): Define.
8736         (MOVE_BY_PIECES_P): Define.
8737         (CLEAR_BY_PIECES_P): Define.
8738
8739 2002-09-10  Denis Chertykov  <denisc@overta.ru>
8740
8741         * config/avr/avr.md (movstrhi): Use right operands for conversion.
8742
8743 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
8744
8745         PR c/7873
8746         * arm.md (insv): Use reg_or_int_operand for operand[3].
8747
8748 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
8749
8750         * rs6000.c (rs6000_assemble_visibility): Protect declaration
8751         inside macro.  Correct function definition typo.
8752         (rs6000_xcoff_section_type_flags): New function.
8753         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
8754         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
8755         with appropriate PIC test.
8756         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
8757         determine readonly.
8758         (rs6000_binds_local_p): Combine PIC flags.
8759         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
8760         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
8761
8762 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8763
8764         * h8300.md: Fix signed/unsigned warnings.
8765         * mcore.md: Likewise.
8766         * mn10300.c (mask_ok_for_mem_btst): Likewise.
8767
8768 2002-09-09  Per Bothner  <per@bothner.com>
8769
8770         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
8771         characters, and only print TREE_STRING_LENGTH chars.
8772
8773 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
8774
8775         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
8776         (ASM_FILE_END) New.
8777         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
8778         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
8779         * config/ia64/ia64.c (ia64_asm_output_external): Create list
8780         of external functions if TARGET_HPUX_LD is true.
8781         (ia64_hpux_add_extern_decl): New, routine to put names on
8782         list of external functions.
8783         (ia64_hpux_asm_file_end): Put out declarations for external
8784         functions if and only if they are used.
8785
8786 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8787
8788         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
8789         on TARGET_64BIT before pic register restore.
8790
8791 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
8792
8793         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
8794         (TARGET_HAVE_TLS): New description.
8795
8796 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
8797
8798         * doc/extend.texi (Statement Exprs): Fix broken link.
8799
8800 2002-09-09  Denis Chertykov  <denisc@overta.ru>
8801
8802         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
8803         right conversion of operands[1].
8804
8805 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
8806
8807         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
8808         commutative.  Use "nonimmediate_operand" instead of "register_operand"
8809         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
8810
8811         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
8812         as commutative.
8813
8814         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
8815         mark as commutative.  Use "nonimmediate_operand" instead of
8816         "register_operand" as predicate for operand 1.
8817
8818         ("movstrictsi"): Fix typo in insn name.
8819
8820 2002-09-09  Jan Hubicka  <jh@suse.cz>
8821
8822         * i386.c (index_register_operand): New.
8823         * i386.h (predicate_codes): Add new predicate.
8824         * i386.md (lea_general_*): Use index_register_operand
8825         (ashift to lea splitter): Do not produce invalid leas
8826         (ashift to mov+ashift split): New.
8827
8828 2002-09-09  Nick Clifton  <nickc@redhat.com>
8829
8830         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
8831         Fix folding marks.
8832
8833 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
8834             J"orn Rennecke <joern.rennecke@superh.com>
8835
8836         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
8837
8838 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
8839
8840         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
8841         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
8842         attributes.
8843
8844 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
8845
8846         * basic_block.h (gcov_type): Explain why it is signed.
8847         * final.c: Don't include profile.h.
8848         (struct function_list, functions_head, functions_tail,
8849         end_final): Moved to profile.c
8850         (final): Move arc chaining code to profile.c.
8851         * function.c (prepare_function_start): Remove duplicate line.
8852         * output.h (end_final): Remove prototype.
8853         * predict.c (estimate_loops_at_level): Use gcov_type.
8854         * profile.c (struct function_list, functions_head,
8855         functions_tail): Moved from final.c
8856         (need_func_profiler): Remove.
8857         (instrument_edges): Don't set need_func_profiler.
8858         (get_exec_counts): Avoid signed/unsigned warning.
8859         (compute_checksum): Use crc32.
8860         (branch_prob): Adjust. Chain onto functions_head.
8861         (init_branch_prob): Absorb init_edge_profiler.
8862         (init_edge_profiler): Remove.
8863         (create_profiler): Moved and renamed from final.c:end_final.
8864         Emit data and constructor.
8865         (output_func_start_profiler): Remove.
8866         * profile.h (struct profile_info): checksum is unsigned.
8867         * rtl.h (output_func_start_profiler): Remove prototype.
8868         (create_profiler): Declare.
8869         * toplev.c (compile_file): Call create_profiler, if instrumenting
8870         arcs. Don't call end_final.
8871
8872 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8873
8874         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
8875
8876 2002-09-08  Richard Henderson  <rth@redhat.com>
8877
8878         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
8879         (DW_OP_GNU_push_tls_address): New.
8880         (DW_OP_lo_user): Fix.
8881         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
8882         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
8883         (size_of_loc_descr): Likewise.
8884         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
8885         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
8886         (loc_descriptor_from_tree): Handle TLS variables.
8887         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
8888         (add_location_or_const_value_attribute): ... not here.  Defer
8889         to loc_descriptor_from_tree for TLS variables.
8890
8891         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
8892         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
8893         * config/i386/i386-protos.h: Update.
8894
8895 2002-09-08  Roger Sayle  <roger@eyesopen.com>
8896
8897         PR optimization/6405
8898         * unroll.c (loop_iterations): last_loop_insn should be the previous
8899         non-note instruction before loop->end.
8900         * loop.c (strength_reduce): The conditional jump is the last
8901         non-note instruction before loop->end (as above).
8902
8903 2002-09-08  Roger Sayle  <roger@eyesopen.com>
8904
8905         * combine.c (try_combine): Handle the case that undobuf.other_insn
8906         has been turned into a return or unconditional jump, by inserting
8907         a BARRIER if necessary.
8908         (simplify_set):  Test if a condition code setter has a constant
8909         comparison at compile time, if so convert this insn to a no-op move
8910         and update/simplify the condition code user (undobuf.other_insn).
8911
8912 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
8913
8914         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
8915         (CLEAR_INSN_CACHE): Define.
8916
8917 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
8918
8919         * basic-block.h: Fix comment formatting.
8920         * c-common.c: Likewise.
8921         * c-common.h: Likewise.
8922         * c-lex.c: Likewise.
8923         * c-pretty-print.c: Likewise.
8924         * cfglayout.c: Likewise.
8925         * cfgloop.c: Likewise.
8926         * defaults.h: Likewise.
8927         * et-forest.c: Likewise.
8928         * explow.c: Likewise.
8929         * function.h: Likewise.
8930         * gcov.c: Likewise.
8931         * genattrtab.c: Likewise.
8932         * gengtype.c: Likewise.
8933         * ifcvt.c: Likewise.
8934         * libgcc2.c: Likewise.
8935         * loop.c: Likewise.
8936         * profile.c: Likewise.
8937         * ra-build.c: Likewise.
8938         * real.c: Likewise.
8939         * rtl.h: Likewise.
8940         * tracer.c: Likewise.
8941         * tree-inline.c: Likewise.
8942         * varasm.c: Likewise.
8943
8944 2002-09-08  Jan Hubicka  <jh@suse.cz>
8945
8946         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
8947         handling.
8948
8949         * loop.c (loop_givs_reduce):  Emit addition after.
8950
8951 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
8952
8953         * varasm.c (default_assemble_visibility): Rename from
8954         assemble_visibility.
8955         * output.h: Here too.
8956         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
8957         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
8958
8959 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
8960
8961         * reload.c (find_reloads <p constraint>): Pass operand_mode to
8962         find_reloads_address.
8963
8964 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
8965
8966         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
8967         (anonymous pattern): Likewise.
8968
8969 2002-09-07  Igor Shevlyakov <igor@microunity.com>
8970
8971         * machmode.def: Add modes for half-float vectors.
8972
8973 2002-09-07  Scott Snyder  <snyder@fnal.gov>
8974
8975         PR target/7374
8976         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
8977
8978 2002-09-07  Roger Sayle  <roger@eyesopen.com>
8979
8980         * basic-block.h (struct loop): Remove unused cont_dominator field.
8981
8982 2002-09-07  Igor Shevlyakov <igor@microunity.com>
8983
8984         * varasm.c (decode_rtx_const): Don't check undefined field for
8985         CONST_VECTOR.
8986
8987 2002-09-07  Glen Nakamura  <glen@imodulo.com>
8988
8989         PR opt/7814
8990         * sched-deps.c (sched_analyze_insn): Make sure to add insn
8991         to reg_last->sets after flushing the dependency lists to guarantee
8992         that subsequent clobbers will be dependent on it.
8993
8994 2002-09-07  Igor Shevlyakov <igor@microunity.com>
8995
8996         * combine.c (simplify_shift_const): Calculate rotate count
8997         correctly for vector operands.
8998
8999 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
9000
9001         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
9002         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
9003         tree_expr_nonnegative_p.
9004         (build_conditional_expr): Likewise.
9005         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
9006
9007 2002-09-07  Richard Henderson  <rth@redhat.com>
9008
9009         * builtins.def (inf, inff, infl): Mark const.
9010         (huge_val, huge_valf, huge_vall): Likewise.
9011         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
9012
9013         * real.c (ereal_inf): Clear E before use.
9014
9015 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
9016
9017         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
9018         an expander and an anonymous pattern.  Zero out the upper half
9019         of the dividend in the expander.
9020         (udivmodqi4): Likewise.
9021
9022 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
9023
9024         * config/h8300/h8300.c: Fix formatting.
9025         * config/h8300/h8300.h: Likewise.
9026         * config/h8300/h8300.md: Likewise.
9027
9028 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9029
9030         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
9031         information.
9032
9033 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
9034
9035        * rtlanal.c (dead_or_set_regno_p): Fix typo.
9036
9037 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
9038
9039         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
9040
9041         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
9042         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
9043         (TARGET_ASM_OUT): Add the above here.
9044         * target.h (struct gcc_target): Add "visibility" field.
9045         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
9046         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
9047         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
9048         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
9049
9050 2002-09-06  Ziemowit Laski <zlaski@apple.com>
9051
9052         * c-lang.c (objc_is_id): New stub.
9053         * c-tree.h (objc_is_id): New forward declaration.
9054         * c-typeck.c (build_c_cast): Do not strip protocol
9055         qualifiers from 'id' type.
9056         * objc/objc-act.c (objc_comptypes): Correct handling
9057         of protocol qualifiers.
9058         (objc_is_id): New.
9059
9060 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
9061
9062         * pentium.md (pentium-firstvboth): Fix typo.
9063
9064 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
9065
9066         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
9067         (enum shift_type, enum h8_cpu): Likewise.
9068         (INL, ROT, LOP, SPC macros): Likewise.
9069         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
9070         const designator.
9071         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
9072         space efficient algorithms when optimize for codesize.
9073
9074 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9075
9076         Fix PR/1727 and long-standing failing testcase
9077         objc/formal-protocol-6.m.
9078         * objc-act.c (build_protocol_expr): If compiling for the GNU
9079         runtime, create a list of Protocol statically allocated instances
9080         if it doesn't exist, then add the Protocol object to this same
9081         list.
9082         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
9083         instead of TREE_CHAIN.
9084
9085 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9086
9087         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
9088         10k.  Fixed category dumping - print out category names with the
9089         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
9090         interface.
9091         (finish_objc): Fixed the -gen-decls option.  It was printing out
9092         only the last class.  Dump an interface declaration of all classes
9093         being compiled instead.
9094
9095 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
9096
9097         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
9098         prototype.
9099         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
9100         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
9101         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
9102         rather than GEN_INT.
9103         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
9104         (return_addr_mask, *check_arch2): New.
9105
9106 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
9107
9108         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
9109         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
9110         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
9111         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
9112         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
9113         "adddf3", "*adddf3", "*adddf3_ibm",
9114         "addsf3", "*addsf3", "*addsf3_ibm",
9115         "muldi3", "mulsi3", "mulsidi3",
9116         "muldf3", "*muldf3", "*muldf3_ibm",
9117         "mulsf3", "*mulsf3", "*mulsf3_ibm",
9118         "*anddi3_cc", "*anddi3_cconly", "anddi3",
9119         "*andsi3_cc", "*andsi3_cconly", "andsi3",
9120         "*iordi3_cc", "*iordi3_cconly", "iordi3",
9121         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
9122         "*xordi3_cc", "*xordi3_cconly", "xordi3",
9123         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
9124         instead of "register_operand" as predicate for "%0" operand.
9125
9126 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
9127
9128         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
9129         unconditionally when gcc_cv_as_flags64 checks are gone.
9130         * configure: Rebuilt.
9131
9132 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
9133
9134         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
9135         2002-07-26 change.  Comment.
9136
9137 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9138
9139         * frv.c (frv_unique_section, frv_select_section,
9140         frv_select_rtx_section): Delete.
9141         (frv_in_small_data_p): New.
9142         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
9143         TARGET_ASM_SELECT_RTX_SECTION): Delete.
9144         (TARGET_IN_SMALL_DATA_P): Define.
9145
9146 2002-09-05  Dale Johannesen  <dalej@apple.com>
9147
9148         * reload1.c (reload):  Retain only those memory clobbers
9149         added for variable-array handling.
9150
9151 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
9152
9153         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
9154         return-in-memory rules.
9155         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
9156
9157 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
9158
9159         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
9160         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
9161
9162 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
9163
9164         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
9165         not a compile-time constant for the non-IBM case.
9166         * config/arm/arm-protos.h (arm_float_words_big_endian): New
9167         prototype.
9168         * config/arm/arm.c (arm_float_words_big_endian): New function.
9169         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
9170         if TARGET_VFP  and not TARGET_HARD_FLOAT.
9171         (ARM_FLAG_VFP, TARGET_VFP): Define.
9172         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
9173
9174 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
9175
9176         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
9177         URLs.  Fix AIX wording.
9178
9179 2002-09-05  Stan Shebs  <shebs@apple.com>
9180
9181         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
9182         -fPIC equivalent on Darwin.
9183
9184 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
9185
9186         * sh.c (sh_expand_builtin): Return early if encountering an
9187         error_mark for a type.
9188
9189 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
9190
9191         * config/s390/s390.c (s390_expand_plus_operand): Do not require
9192         double-word scratch register.
9193         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
9194
9195         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
9196         "*cli"): Replace s_operand by memory_operand.
9197         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
9198
9199 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
9200
9201         * config/h8300/h8300.c (asm_file_start): Add a missing
9202         semicolon.
9203
9204 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9205
9206         * c-typeck.c (build_function_call): Remove unused variable(s).
9207         (build_c_cast): Likewise.
9208         * calls.c (rtx_for_function_call): Likewise.
9209         * cfglayout.c (duplicate_insn_chain): Likewise.
9210         * cfgloop.c (flow_loop_nodes_find): Likewise.
9211         * cfgrtl.c (split_edge): Likewise.
9212         * df.c (df_ref_create): Likewise.
9213         * except.c (expand_end_catch): Likewise.
9214         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
9215         * function.c (emit_return_into_block): Likewise.
9216         (reposition_prologue_and_epilogue_notes): Likewise.
9217         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
9218         * combine.c (subst_prev_insn, need_refresh): Remove.
9219         * dwarf2out.c (primary_filename): Remove.
9220         * final.c (new_block): Remove.
9221         * gcse.c (orig_bb_count): Remove.
9222
9223 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9224
9225         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
9226         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
9227         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
9228         directly instead of using a function pointer.
9229
9230 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
9231
9232         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
9233         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
9234         (ix86_output_addr_diff_elt) Likewise.
9235         (x86_output_mi_thunk) Likewise.
9236         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
9237
9238 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9239
9240         * frv.c (frv_encode_section_info): Fix error in last change.
9241
9242 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
9243
9244         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
9245         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
9246         (TARGET_BINDS_LOCAL_P): Define.
9247         (rs6000_override_options): Save original flag_pic value.
9248         (rs6000_elf_select_section): Call default_elf_select_section_1.
9249         (rs6000_elf_unique_section): Call default_unique_section_1.
9250         (rs6000_elf_in_small_data_p): New function.
9251         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
9252         (rs6000_xcoff_select_section): Update based on defaults.
9253         (rs6000_xcoff_unique_section): Set to basic name if not common.
9254         (rs6000_binds_local_p): New function.
9255         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
9256         targetm.have_srodata_section if SDATA_EABI.
9257         (TARGET_IN_SMALL_DATA_P): Define.
9258
9259 2002-09-04  Dale Johannesen  <dalej@apple.com>
9260
9261         * varasm.c (struct rtx_const, decode_rtx_const):
9262         Make veclo and vechi fields not share storage.
9263
9264 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
9265
9266         * loop.c (scan_loop): Don't mark separate insns out of a libcall
9267         for moving.
9268         (move_movables): Abort if we see the first insn of a libcall.
9269
9270 2002-09-04  Richard Henderson  <rth@redhat.com>
9271
9272         * builtin-types.def (BT_FN_FLOAT): New.
9273         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
9274         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
9275         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
9276         * builtins.c (fold_builtin_inf): New.
9277         (fold_builtin): Call it.
9278         * real.c (ereal_inf): New.
9279         * real.h: Declare it.
9280         * doc/extend.texi: Document new builtins.
9281
9282 2002-09-04  Richard Henderson  <rth@redhat.com>
9283
9284         * cse.c (cse_insn): Avoid subreg games if the equivalence
9285         is already in the proper mode.
9286
9287 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
9288
9289         PR c/7102
9290         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
9291
9292 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9293
9294         * pa.md (setccfp0, setccfp1): New patterns.
9295
9296 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9297
9298         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
9299         frv_select_section, frv_select_rtx_section,
9300         frv_encode_section_info, frv_unique_section): Delete.
9301         * frv.c: Update for target hooks.
9302         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
9303         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
9304         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
9305
9306 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9307
9308         * ip2k-protos.h (function_prologue, function_epilogue,
9309         encode_section_info): Update to match target hook specification.
9310         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
9311         (function_prologue, function_epilogue, encode_section_info):
9312         Update to match target hook specification.
9313         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
9314         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
9315         (NOTICE_UPDATE_CC): Cast to void.
9316         * ip2k.md: Add defaults in switch statements.
9317
9318 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
9319
9320         * doc/trouble.texi (Interoperation): Update information about C++ ABI
9321         issues.
9322
9323 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
9324
9325         * config/sparc/t-netbsd64: Disable multilib for now.
9326
9327 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
9328
9329         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
9330         * target.h (gcc_target): Add have_srodata_section member.
9331         * varasm.c (section_category): Add SECCAT_SRODATA.
9332         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
9333         READONLY_SDATA_SECTION defined.
9334         (decl_readonly_section_1): True for SECCAT_SRODATA also.
9335         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
9336         (default_unique_section_1): Likewise.
9337
9338 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9339
9340         * expr.c (emit_group_load): Revise to allow splitting TCmode source
9341         into DImode pieces.
9342
9343         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
9344         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
9345         for floating-point register class.
9346         * pa.c (function_arg): Fix handling of modes wider than one word for
9347         TARGET_64BIT.
9348
9349 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
9350
9351         * combine.c (make_compound_operation): Don't generate zero / sign
9352         extensions in floating point modes.
9353
9354 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
9355
9356         * doc/c-tree.texi: Fix overfull hboxes.
9357         * doc/cppopts.texi: Ditto.
9358         * doc/extend.texi: Ditto.
9359         * doc/gty.texi: Ditto.
9360         * doc/invoke.texi: Ditto.
9361         * doc/makefile.texi: Ditto.
9362         * doc/rtl.texi: Ditto.
9363         * doc/standards.texi: Ditto.
9364         * doc/tm.texi: Ditto.
9365
9366 2002-09-04  Richard Henderson  <rth@redhat.com>
9367
9368         * c-common.c (builtin_define_with_hex_fp_value): New.
9369         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
9370
9371 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
9372
9373         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
9374         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
9375         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
9376         Warn that these options can break ABI compatibility.
9377
9378 2002-09-04  Richard Henderson  <rth@redhat.com>
9379
9380         * real.c (ereal_to_decimal): Add digits parameter.
9381         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
9382         * c-pretty-print.c (pp_c_real_literal): Update call.
9383         * print-rtl.c (print_rtx): Likewise.
9384         * print-tree.c (print_node_brief, print_node): Likewise.
9385         * sched-vis.c (print_value): Likewise.
9386         * config/arc/arc.c (arc_print_operand): Likewise.
9387         * config/c4x/c4x.c (c4x_print_operand): Likewise.
9388         * config/i370/i370.h (PRINT_OPERAND): Likewise.
9389         * config/i386/i386.c (print_operand): Likewise.
9390         * config/i960/i960.c (i960_print_operand): Likewise.
9391         * config/ip2k/ip2k.c (asm_output_float): Likewise.
9392         * config/m32r/m32r.c (m32r_print_operand): Likewise.
9393         * config/m68hc11/m68hc11.c (print_operand): Likewise.
9394         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
9395         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
9396         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
9397         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
9398         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
9399         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
9400         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
9401         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
9402         * config/mips/mips.c (print_operand): Likewise.
9403         * config/ns32k/ns32k.c (print_operand): Likewise.
9404         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
9405         * config/vax/vax.h (PRINT_OPERAND): Likewise.
9406         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
9407
9408 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
9409
9410         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
9411         xtensa_multibss_section_type_flags.
9412         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
9413
9414 2002-09-04  Richard Henderson  <rth@redhat.com>
9415
9416         * doc/install-old.texi: Don't mention enquire.
9417         * doc/sourcebuild.texi: Update float.h description.
9418
9419 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
9420
9421         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
9422
9423 2002-09-03  Roger Sayle  <roger@eyesopen.com>
9424
9425         * builtins.c (build_function_call_expr): Remove prototype, export
9426         as non-static and add a comment above function definition.
9427         (builtin_mathfn_code): New function to check for math builtins.
9428         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
9429         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
9430         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
9431         log(sqrt(x)) as log(x)/2.0.
9432
9433         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
9434         in new "builtins.c" section.  Place the build_range_type prototype
9435         with the other prototypes from "tree.c".
9436
9437         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
9438         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
9439         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
9440         x/exp(y) as x*exp(-y).
9441
9442 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
9443
9444         * varasm.c (default_section_type_flags): Append _1 to name with
9445         shlib parameter.  Use original name to call new function with
9446         implicit flag_pic.
9447         (decl_readonly_section): Likewise.
9448         (default_elf_select_section): Likewise.
9449         (default_unique_section): Likewise.
9450         (default_bind_local_p): Likewise.
9451         (categorize_decl_for_section): Add shlib parameter to use in place
9452         of implicit flag_pic.
9453         * output.h: Declare new functions with _1 and shlib argument.
9454
9455 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
9456
9457         * doc/install.texi: Fix typos, formatting problems, and obvious
9458         overfull/underfull boxes.
9459
9460         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
9461         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
9462         include its file, compat.texi.
9463         * doc/compat.texi: New file with new chapter, Binary Compatibility.
9464
9465 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
9466
9467         Debian BTS Bug #157416
9468         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
9469         * cpplib.c (destringize_and_run): Kludge around getting
9470         tokens from in-progress macros.
9471         (_cpp_do__Pragma): Simplify.
9472
9473 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
9474
9475         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
9476         (CPP_CPU_SPEC): Remove.
9477         (TARGET_CPU_CPP_BUILTINS): New.
9478         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
9479         (CPP_SPEC): Remove.
9480         (TARGET_OS_CPP_BUILTINS): New.
9481         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
9482         (TARGET_OS_CPP_BUILTINS): New.
9483         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
9484         TARGET_OS_CPP_BUILTINS.
9485         (CPP_PREDEFINES): Remove.
9486         (CPLUSPLUS_CPP_SPEC): Remove.
9487         (TARGET_OS_CPP_BUILTINS): New.
9488
9489 2002-09-03  Richard Henderson  <rth@redhat.com>
9490
9491         * Makefile.in (USER_H): Add ginclude/float.h.
9492         (FLOAT_H): Remove.
9493         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
9494         (mostlyclean): Don't remove float.h intermediate files.
9495         (distclean): Don't remove float.h.
9496         * config.gcc: Remove all float_format references.
9497         * configure.in (float_format, float_h_file): Remove.
9498
9499         * c-common.c: Include tree-inline.h.
9500         (builtin_define_with_int_value): New.
9501         (builtin_define_type_precision): Use it.
9502         (builtin_define_float_constants): New.
9503         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
9504         __FLT_EVAL_METHOD__.
9505         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
9506         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
9507         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
9508         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
9509         (TARGET_FLT_EVAL_METHOD): New.
9510
9511         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
9512         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
9513         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
9514         * ginclude/float.h: New.
9515
9516 2002-09-03  Stan Shebs  <shebs@apple.com>
9517
9518         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
9519         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
9520         (PREFERRED_DEBUGGING_TYPE): Ditto.
9521         (ASM_OUTPUT_IDENT): Remove empty definition.
9522
9523 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
9524
9525         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
9526         cxx_target.
9527         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
9528         handling routine for builtin pragma.
9529         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
9530         Registered pragma handling routine.
9531         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
9532         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
9533         If builtin pragma seen for math routine and C89 conformance is
9534         requested use different math function in order to set errno.
9535         * t-ia64 (ia64-c.o): Add new rule for new file.
9536
9537 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
9538
9539         * config/s390/s390.md ("movti"): Add Q->Q alternative.
9540         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
9541         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
9542
9543         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
9544         "*movsf_ss"): Remove.
9545
9546 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9547
9548         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
9549         Delete macros.
9550
9551 2002-09-03   Arati Dikey  <aratid@kpit.com>
9552
9553         * h8300.c (asm_file_start): Corrected optimization comment.
9554
9555 2002-09-03  Stan Shebs  <shebs@apple.com>
9556
9557         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
9558         * c-tree.h (recognize_objc_keyword): Remove decl.
9559         * c-typeck.c (comp_target_types): Update a comment.
9560
9561 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
9562
9563         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
9564         and register validity checks.
9565         (general_s_operand): Adapt to s390_decompose_address interface change.
9566         (q_constraint): Likewise.
9567         (s390_expand_plus_operand): Likewise.
9568         (legitimiate_address_p): Likewise.
9569         (legitimate_la_operand_p): Likewise.
9570         (legitimize_la_operand): Likewise.
9571         (print_operand_address): Likewise.
9572         (print_operand): Likewise.
9573
9574 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9575
9576         PR objc/5956:
9577         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
9578         was causing the new selector never to match the existing ones
9579         (Patch by Alexander Malmberg <alexander@malmberg.org>).
9580
9581 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
9582
9583         * config/i386/i386.md ("femms"): Add "memory" attr "none".
9584
9585 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
9586
9587         * expr.c (expand_expr): Remove extraneous comment and code.
9588
9589 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
9590
9591         * stor-layout (finish_builtin_struct): Renamed and moved from c++
9592         frontend. Take chain of fields. Allow NULL alignment type.
9593         * tree.h (finish_builtin_struct): Declare.
9594
9595 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9596
9597         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
9598         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
9599         config/arc/arc.c config/arc/arc.h config/arm/aout.h
9600         config/arm/arm.c config/arm/arm.h config/arm/arm.md
9601         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
9602         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
9603         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
9604         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
9605         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
9606         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
9607         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
9608         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
9609         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
9610         config/pa/pa.h config/pa/pa.md config/romp/romp.h
9611         config/rs6000/linux64.h config/rs6000/lynx.h
9612         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
9613         config/s390/s390.c config/s390/s390.md config/sh/sh.c
9614         config/sparc/sparc.c config/sparc/sysv4.h
9615         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
9616         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
9617         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
9618
9619         * doc/tm.texi: Update docs.
9620         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
9621         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
9622
9623 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9624
9625         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
9626         * arc.c (arc_internal_label): New function.
9627         (TARGET_ASM_INTERNAL_LABEL): Set.
9628         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
9629         * arm.c (arm_internal_label): New function.
9630         (TARGET_ASM_INTERNAL_LABEL): Set.
9631         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
9632         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
9633         * i370.c (i370_internal_label): New function.
9634         (TARGET_ASM_INTERNAL_LABEL): Set.
9635         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
9636         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
9637         * m68k.c (m68k_hp320_internal_label): New function.
9638         (TARGET_ASM_INTERNAL_LABEL): Set.
9639         * m88k.c (m88k_internal_label): New function.
9640         (TARGET_ASM_INTERNAL_LABEL): Set.
9641         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
9642         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
9643         * genoutput.c (output_prologue): Include target.h in output file.
9644         * output.h (default_internal_label): Declare.
9645         * sdbout.c: Include target.h.
9646         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
9647         TARGET_ASM_OUT.
9648         * target.h (internal_label): Add to struct gcc_target.
9649         * varasm.c (default_internal_label): New function.
9650
9651 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9652
9653         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
9654         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9655         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9656         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9657         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9658         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9659         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9660         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9661         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9662         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9663         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9664         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9665         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9666         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9667         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9668         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9669         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9670         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9671         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9672         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9673         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9674         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9675         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9676         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9677         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9678         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
9679         * mmix.c (mmix_asm_output_internal_label): Likewise.
9680         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9681         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9682         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9683         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9684         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9685         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9686         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9687         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9688         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9689         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9690         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9691         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9692         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9693         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9694         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9695         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9696         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9697         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9698         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9699
9700         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
9701
9702 2002-08-31  Richard Henderson  <rth@redhat.com>
9703
9704         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
9705
9706 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9707
9708         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
9709
9710 2002-08-30  Richard Henderson  <rth@redhat.com>
9711
9712         PR opt/7515
9713         * c-objc-common.c: Include target.h.
9714         (c_cannot_inline_tree_fn): Don't auto-inline functions that
9715         don't bind locally.  Factor setting DECL_UNINLINABLE.
9716         * Makefile.in (c-objc-common.o): Update.
9717
9718 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
9719
9720         * doc/install.texi (Configuration, Building): Fix a typo and
9721         some formatting directives.
9722
9723 2002-08-30  Paul Koning <pkoning@equallogic.com>
9724
9725         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
9726         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
9727         implemented" note.
9728         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
9729         for alphabetic order.
9730         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
9731         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
9732         (VAX_HALFWORD_ORDER): Document.
9733         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
9734         IEEE float format.
9735         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
9736         (ASM_OUTPUT_LABEL_REF): Fix font.
9737         (CASE_VECTOR_SHORTEN_MODE): Ditto.
9738
9739 2002-08-30  Denis Chertykov  <denisc@overta.ru>
9740
9741         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
9742         stuff.
9743         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
9744         CONST_DOUBLE constants.
9745
9746 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
9747
9748         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
9749         related defines to...
9750         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
9751         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
9752         as a no-op.
9753
9754 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
9755
9756         * config/arm/arm.c (arm_asm_output_labelref): New function.
9757         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
9758         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
9759
9760 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
9761
9762         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
9763         memory exhausted" workarounds.
9764
9765 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9766
9767         * diagnostic.c (fancy_abort): Don't repeat "internal error".
9768         * toplev.c (crash_signal): Likewise.
9769
9770 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9771
9772         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
9773         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
9774         Extended, updated documentation.
9775         (-Wundeclared-selector): Documented.
9776
9777 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
9778
9779         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
9780         the value 1.  Do not undef before defining.
9781         * config/darwin.h: Likewise.
9782         * config/dbx.h: Likewise.
9783         * config/dbxcoff.h: Likewise.
9784         * config/dbxelf.h: Likewise.
9785         * config/elfos.h: Likewise.
9786         * config/interix.h: Likewise.
9787         * config/lynx-ng.h: Likewise.
9788         * config/lynx.h: Likewise.
9789         * config/netware.h: Likewise.
9790         * config/psos.h: Likewise.
9791         * config/svr3.h: Likewise.
9792         * config/alpha/alpha.h: Likewise.
9793         * config/alpha/elf.h: Likewise.
9794         * config/alpha/vms.h: Likewise.
9795         * config/arc/arc.h: Likewise.
9796         * config/arm/aout.h: Likewise.
9797         * config/arm/coff.h: Likewise.
9798         * config/c4x/c4x.h: Likewise.
9799         * config/h8300/h8300.h: Likewise.
9800         * config/i386/cygwin.h: Likewise.
9801         * config/i386/djgpp.h: Likewise.
9802         * config/i386/gas.h: Likewise.
9803         * config/i386/gstabs.h: Likewise.
9804         * config/i386/i386-coff.h: Likewise.
9805         * config/i386/i386-interix.h: Likewise.
9806         * config/i386/sco5.h: Likewise.
9807         * config/i386/svr3dbx.h: Likewise.
9808         * config/i386/sysv3.h: Likewise.
9809         * config/i386/win32.h: Likewise.
9810         * config/i386/x86-64.h: Likewise.
9811         * config/i960/i960.h: Likewise.
9812         * config/ia64/ia64.h: Likewise.
9813         * config/ip2k/ip2k.h: Likewise.
9814         * config/m32r/m32r.h: Likewise.
9815         * config/m68k/3b1.h: Likewise.
9816         * config/m68k/3b1g.h: Likewise.
9817         * config/m68k/ccur-GAS.h: Likewise.
9818         * config/m68k/coff.h: Likewise.
9819         * config/m68k/hp2bsd.h: Likewise.
9820         * config/m68k/hp310g.h: Likewise.
9821         * config/m68k/hp320g.h: Likewise.
9822         * config/m68k/hp3bsd.h: Likewise.
9823         * config/m68k/hp3bsd44.h: Likewise.
9824         * config/m68k/linux-aout.h: Likewise.
9825         * config/m68k/m68k-aout.h: Likewise.
9826         * config/m68k/mot3300.h: Likewise.
9827         * config/m68k/netbsd.h: Likewise.
9828         * config/m68k/openbsd.h: Likewise.
9829         * config/m68k/pbb.h: Likewise.
9830         * config/m68k/plexus.h: Likewise.
9831         * config/m68k/sun2.h: Likewise.
9832         * config/m68k/sun3.h: Likewise.
9833         * config/m68k/tower-as.h: Likewise.
9834         * config/m68k/vxm68k.h: Likewise.
9835         * config/m88k/aout-dbx.h: Likewise.
9836         * config/m88k/m88k-aout.h: Likewise.
9837         * config/mcore/mcore-elf.h: Likewise.
9838         * config/mcore/mcore-pe.h: Likewise.
9839         * config/mips/elf.h: Likewise.
9840         * config/mips/elf64.h: Likewise.
9841         * config/mips/iris5gas.h: Likewise.
9842         * config/mips/iris6.h: Likewise.
9843         * config/mips/mips.h: Likewise.
9844         * config/mips/sni-gas.h: Likewise.
9845         * config/mmix/mmix.h: Likewise.
9846         * config/ns32k/netbsd.h: Likewise.
9847         * config/pa/pa64-hpux.h: Likewise.
9848         * config/romp/romp.h: Likewise.
9849         * config/rs6000/sysv4.h: Likewise.
9850         * config/rs6000/xcoff.h: Likewise.
9851         * config/sh/coff.h: Likewise.
9852         * config/sh/elf.h: Likewise.
9853         * config/sparc/linux64.h: Likewise.
9854         * config/sparc/liteelf.h: Likewise.
9855         * config/sparc/netbsd.h: Likewise.
9856         * config/sparc/openbsd.h: Likewise.
9857         * config/sparc/pbd.h: Likewise.
9858         * config/sparc/sp64-elf.h: Likewise.
9859         * config/sparc/sp86x-elf.h: Likewise.
9860         * config/sparc/sparc.h: Likewise.
9861         * config/vax/vax.h: Likewise.
9862         * config/vax/vaxv.h: Likewise.
9863
9864 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
9865
9866         * h8300.c (shift_alg_hi): Various tweaks to improve performance
9867         of HImode shifts.
9868         (get_shift_alg): Corresponding changes.
9869
9870 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9871
9872         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
9873
9874 2002-08-29  Richard Henderson  <rth@redhat.com>
9875
9876         * expr.h (enum block_op_methods): New.
9877         (emit_block_move): Update prototype.
9878         * expr.c (block_move_libcall_safe_for_call_parm): New.
9879         (emit_block_move_via_loop): New.
9880         (emit_block_move): Use them.  New argument METHOD.
9881         (emit_push_insn): Always respect the given alignment.
9882         (expand_assignment): Update call to emit_block_move.
9883         (store_expr, store_field, expand_expr): Likewise.
9884         * builtins.c (expand_builtin_apply): Likewise.
9885         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
9886         * function.c (expand_function_end): Likewise.
9887         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
9888         * config/sparc/sparc.c (sparc_va_arg): Likewise.
9889         * calls.c (expand_call, emit_library_call_value_1): Likewise.
9890         (save_fixed_argument_area): Use emit_block_move with
9891         BLOCK_OP_CALL_PARM instead of move_by_pieces.
9892         (restore_fixed_argument_area): Likewise.
9893         (store_one_arg): Fix alignment parameter to emit_push_insn.
9894
9895 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9896
9897         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
9898
9899 2002-08-29  Catherine Moore  <clm@redhat.com>
9900
9901         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
9902         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
9903         (PREDICATE_CODES): Include new predicates.
9904         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
9905         (TARGET_SWITCHES):  Add strict-align.
9906         (TARGET_STRICT_ALIGN): New.
9907         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
9908         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
9909         Define.
9910         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
9911         v850_muldi3.
9912         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
9913         L_callt_save_r2_r31, L_return_r2_r31,
9914         L_save_all_interrupt): Change addi to add.
9915         (L_save_interrupt, L_return_interrupt): Rework.
9916         (__return_r31):  Correct .size directive.
9917         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
9918         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
9919         New routines.
9920         * config/v850/v850.c (expand_prologue): Call
9921         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
9922         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
9923         (reg_or_int9_operand): New predicate.
9924         (reg_or_const_operand): New routine.
9925         * config/v850/v850.md (return_interrupt): Changed from
9926         restore_interrupt.
9927         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
9928         (callt_save_interrupt): Change save sequence.
9929         (callt_return_interrupt): New.
9930         (save_interrupt): Don't use runtime function for LONG_CALLS
9931         and TARGET_PROLOG_FUNCTION.
9932         (save_all_interrupt): Likewise.
9933         (mulsi3): Use new predicate.
9934         (moviscc): Disallow some combination of constants.
9935         Fix define_split for sasf insns, so that it will not generate bad
9936         code if operand0 and operand5 are the same.
9937         * config/v850/v850-protos.h: Prototype new predicates.
9938
9939 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
9940
9941         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
9942         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
9943
9944 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9945
9946         * c-common.c (builtin_define_type_precision): New function.
9947         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
9948         wchar_t is unsigned in C++.
9949         * doc/cpp.texi (Common Predefined Macros): Document
9950         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
9951         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
9952         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
9953
9954 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
9955
9956         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
9957         section.  Mention that it is enabled by -Wall.
9958         (-Wall): Mention that there can be language-specific warnings as well.
9959         (-Wctor-dtor-privacy): Mention that it is enabled by default.
9960         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
9961
9962 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
9963
9964         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
9965         if it is ever live.
9966
9967         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
9968         attribute for SHCOMPACT.
9969
9970         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
9971         appropriately.
9972         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
9973         by the ABI.
9974
9975         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
9976
9977 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
9978
9979         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
9980         "MASK_GAS|MASK_ABICALLS".
9981         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
9982         (TARGET_DEFAULT): Remove.
9983         (MACHINE_TYPE): Undefine before defining.
9984         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
9985
9986 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
9987
9988         * c-common.c (warn_abi): New variable.
9989         * c-common.h (warn_abi): Likewise.
9990         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
9991         (c_common_decode_option): Handle it.
9992         * doc/invoke.texi: Document -Wabi.
9993
9994 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9995
9996         * c-common.c (warn_undeclared_selector): New variable.
9997         * c-common.h (warn_undeclared_selector): Idem.
9998         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
9999         to on when -Wundeclared-selector is found.
10000         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
10001         * objc/objc-act.c (build_selector_expr): If
10002         warn_undeclared_selector is set, check that the selector has
10003         already been defined, and emit a warning if not.
10004
10005 2002-08-27  Nick Clifton  <nickc@redhat.com>
10006             Catherine Moore  <clm@redhat.com>
10007             Jim Wilson  <wilson@cygnus.com>
10008
10009         * config.gcc: Add v850e-*-* target.
10010         Add --with-cpu= support for v850.
10011         * config/v850/lib1funcs.asm: Add v850e callt functions.
10012         * config/v850/v850.h: Add support for v850e target.
10013         * config/v850/v850.c: Add functions to support v850e target.
10014         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
10015         * config/v850/v850.md: Add patterns for v850e instructions.
10016         * doc/invoke.texi: Document new v850e command line switches.
10017
10018 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
10019                           Aldy Hernandez <aldyh at redhat dot com>
10020
10021         * doc/tm.texi: Applied numerous fixes to the automaton based
10022         scheduler descrition.
10023
10024 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
10025
10026         * i386.c (classify_argument): Handle variable sized objects.
10027
10028 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
10029
10030         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
10031
10032 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
10033
10034         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
10035
10036 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
10037
10038         * i386.c (classify_argument): Properly compute word size of the analyzed object.
10039
10040 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
10041
10042         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
10043         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
10044         accordingly.
10045         (attribute insn_class): Provide default definitions based on type.
10046         Remove all insn-specific settings.
10047         (various function units): Remove old SH4 scheduling.
10048         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
10049         New attributes.  Set them where appropriate.
10050         (cpu unit FS): Don't define / use.
10051         (F3, load_store): New cpu units.
10052         (F01): New reservation.
10053         (all insn_reservations): Make dependent on sh4 pipeline model.
10054         Fix latencies.
10055         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
10056         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
10057         (mt insn_reservation): Use type mt_group.
10058         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
10059         sh4_fload and sh4_store.
10060         (insn_reservation branch_zero and branch): Replace with sh4_branch.
10061         (insn_reservation branch_far): Replace with sh4_return.
10062         (insn_reservation return_from_exp): Rename to:
10063         (sh4_return_from_exp).  Change to be just d_lock*5.
10064         (insn_reservation lds_to_pr): Rename to:
10065         (sh4_lds_to_pr).  Change to be just d_lock*2.
10066         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
10067         d_lock*2.
10068         (insn_reservation prload_mem): Rename to:
10069         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
10070         (insn_reservation fpscr_store): Rename to:
10071         (fpscr_load).  Change to d_lock,nothing,F1*3.
10072         (insn_reservation fpscr_store_mem): Rename to:
10073         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
10074         (insn_reservation multi): Change to
10075         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
10076         (insn_reservation fp_arith): Change to issue,F01,F2.
10077         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
10078         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
10079         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
10080         (insn_reservation fp_double_cmp): Change to
10081         d_lock,(d_lock+F01),F1+F2,F2.
10082         (insn_reservation dp_div): Change to
10083         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
10084         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
10085         (sh_adjust_cost, SHcompact): Differentiate between different
10086         kinds of dependencies.  Drop factor of ten for superscalar.
10087         Use new instruction types.  Add new exception rules.
10088
10089         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
10090
10091         * sh.md (mperm_w): Add DONE.
10092
10093 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
10094
10095         * longlong.h: Import current PowerPC defintion from GMP-4.1.
10096
10097         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
10098
10099         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
10100
10101 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
10102
10103         * sh.h (MAX_FIXED_MODE_SIZE): Define.
10104
10105 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
10106
10107         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
10108         delimiter.
10109
10110 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10111
10112         * c-common.c (cpp_define_data_format): New function.
10113         (cb_register_builtins): Call it.
10114
10115         * doc/cpp.texi (Common Predefined Macros): Document
10116         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
10117         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
10118         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
10119         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
10120         __TARGET_USES_VAX_H_FLOAT__.
10121
10122 2002-08-26  Ziemowit Laski <zlaski@apple.com>
10123
10124         * objc/objc-act.c (get_super_receiver): If inside a class method
10125         of a category, cast the receiver to 'id' before accessing the 'isa'
10126         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
10127
10128 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
10129
10130         * config/s390/s390-protos.h (s390_function_prologue,
10131         s390_function_epilogue): Remove.
10132         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
10133         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
10134
10135         config/s390/s390.c (s390_machine_dependent_recorg): New function.
10136         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
10137         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
10138         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
10139         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
10140
10141         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
10142         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
10143         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
10144         function is not a leaf function.  Use save_gprs and restore_gprs.
10145         (s390_emit_epilogue): Likewise.
10146         (save_gprs, restore_gprs): New functions.
10147         (struct s390_frame): Remove return_reg_saved_p member.
10148         (save_fprs_p): Remove.
10149         (s390_optimize_prolog): New function.
10150         (s390_legitimate_reload_constant): Remove now unnecessary check.
10151
10152         (s390_function_count): Remove.
10153         (s390_output_symbolic_const): Replace s390_function_count by
10154         current_function_funcdef_no.
10155         (s390_output_constant_pool): Likewise.
10156
10157         (legitimize_pic_address): Use regs_ever_live to track PIC register
10158         instead of current_function_uses_pic_offset_table.
10159         (s390_emit_prologue): Likewise.
10160         config/s390/s390.md ("call", "call_value"): Likewise.
10161
10162 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
10163
10164         * c-opts.c (find_opt): Don't complain about wrong languages
10165         here.  Return exact matches even for wrong language.
10166         (c_common_decode_option): Complain about wrong languages
10167         here.
10168
10169 2002-08-24  Stuart Hastings  <stuart@apple.com>
10170
10171         * function.h (struct function): Add flag
10172         all_throwers_are_sibcalls.
10173         * except.c (set_nothrow_function_flags): Replaces
10174         nothrow_function_p. Set new flag.
10175         * except.h (set_nothrow_function_flags): Replaces
10176         nothrow_function_p.
10177         * dwarf2out.c (struct dw_fde_struct): Add flag
10178         all_throwers_are_sibcalls.
10179         (output_call_frame_info): Test it.
10180         (dwarf2out_begin_prologue) Propagate it from cfun to
10181         dw_fde_struct.
10182         * toplev.c (rest_of_compilation): Update calls to
10183         nothrow_function_p.
10184
10185 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
10186
10187         * ggc-page.c (compute_inverse): Short circuit calculation for
10188         object sizes larger than half a page.
10189
10190 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
10191
10192         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
10193         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
10194         default.
10195         (rs6000_elf_unique_section): Likewise.
10196
10197 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10198
10199         * ns32k.c (ns32k_globalize_label): Delete.
10200         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
10201
10202 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
10203
10204         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
10205         for loading delta with num_insns_constant_wide.  Calculate
10206         delta_low, delta_high without using a conditional.
10207
10208 2002-08-22  Jason Merrill  <jason@redhat.com>
10209
10210         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
10211         * c-common.def: Adjust.
10212         * c-dump.c (c_dump_tree): Adjust.
10213         * c-semantics.c (genrtl_return_stmt): Adjust.
10214         * c-pretty-print.c (pp_c_statement): Adjust.
10215         * tree-inline.c (copy_body_r): Adjust.
10216
10217 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
10218
10219         * ggc-page.c: Avoid division in ggc_set_mark.
10220         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
10221         compute_inverse): New.
10222         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
10223         (init_ggc): Initialize inverse_table.
10224
10225 2002-08-22  Tom Tromey  <tromey@redhat.com>
10226
10227         * doc/install.texi (Configuration): Document --datadir.
10228
10229 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
10230
10231         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
10232
10233 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
10234
10235         * gengtype-lex.l (ID): Allow underscore as first character.
10236
10237 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
10238
10239         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
10240         function.
10241         (rs6000_xcoff_asm_named_section): Rename.
10242         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
10243
10244 2002-08-21  Tom Tromey  <tromey@redhat.com>
10245
10246         For PR java/6005 and PR java/7611:
10247         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
10248         (fold): Likewise.
10249         * langhooks.c (lhd_can_use_bit_fields_p): New function.
10250         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
10251         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
10252         (LANG_HOOKS_INITIALIZER): Use it.
10253         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
10254         field.
10255
10256 2002-08-21  Stan Shebs  <shebs@apple.com>
10257
10258         * tree.c (finish_vector_type): Fix a typo in a comment.
10259         * Makefile.in: Fix "the the" stutters in comments.
10260         * genautomata.c: Ditto.
10261         * ifcvt.c: Ditto.
10262         * regrename.c: Ditto.
10263         * config/alpha/alpha.c: Ditto.
10264         * config/alpha/vms-crt0-64.c: Ditto.
10265         * config/alpha/vms-crt0.c: Ditto.
10266         * config/alpha/vms-psxcrt0-64.c: Ditto.
10267         * config/alpha/vms-psxcrt0.c: Ditto.
10268         * config/d30v/d30v.h: Ditto.
10269         * config/fr30/fr30.h: Ditto.
10270         * config/rs6000/rs6000.c: Ditto.
10271         * config/stormy16/stormy16.h: Ditto.
10272         * doc/md.texi: Ditto.
10273
10274 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10275
10276         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
10277
10278 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
10279
10280         * c-decl.c (grokdeclarator): Make invalid combinations with long,
10281         short, signed or unsigned into hard errors.  Fixes PR c/4319.
10282         Also make duplicate modifiers such as "short short" into hard
10283         errors.
10284
10285 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
10286             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10287
10288         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
10289         to the actual end.  Add '@end table' and '@table @code'.
10290
10291 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
10292
10293         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
10294
10295         * unroll.c (biv_total_increment): Don't try to compute the total
10296         increment for FP BIVs.
10297
10298 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10299
10300         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
10301         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
10302         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
10303         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
10304         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
10305         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
10306         (GLOBAL_ASM_OP): Define.
10307         * arm.c (aof_globalize_label): New function.
10308         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
10309         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
10310         * c4x.c (c4x_globalize_label): New function.
10311         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
10312         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
10313         (GLOBAL_ASM_OP): Define.
10314         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
10315         * darwin-protos.h (darwin_globalize_label): Declare.
10316         * darwin.c (darwin_globalize_label): New function.
10317         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
10318         (ASM_GLOBALIZE_LABEL): Delete.
10319         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
10320         * dsp16xx.c (asm_output_common): Use target hook.
10321         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
10322         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
10323         (GLOBAL_ASM_OP): Define.
10324         * i370.c (i370_globalize_label): New function.
10325         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
10326         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
10327         * i386.c (ix86_asm_file_end): Use target hook.
10328         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
10329         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
10330         * ia64.c (ia64_asm_output_external): Likewise.
10331         * ia64/sysv4.h: Update comment.
10332         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
10333         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
10334         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
10335         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
10336         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
10337         * mmix-protos.h (mmix_asm_globalize_label): Delete.
10338         * mmix.c (mmix_asm_globalize_label): Likewise.
10339         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
10340         (GLOBAL_ASM_OP): Define.
10341         * ns32k.c (ns32k_globalize_label): New function.
10342         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
10343         (ASM_GLOBALIZE_LABEL): Delete.
10344         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
10345         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
10346         * pa.c (pa_globalize_label): New function.
10347         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
10348         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
10349         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
10350         (GLOBAL_ASM_OP): Define.
10351         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
10352         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
10353         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
10354         (GLOBAL_ASM_OP): Define.
10355         * v850.c (v850_output_aligned_bss): Use target hook.
10356         * vax.c (vms_globalize_label): New function.
10357         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
10358         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
10359         (GLOBAL_ASM_OP): Define.
10360         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
10361         * doc/tm.texi: Update docs.
10362         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
10363         target hook.
10364         * final.c (output_alternate_entry_point): Likewise.
10365         * hooks.c (hook_FILEptr_constcharptr_void): New function.
10366         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
10367         * output.h (assemble_global): Delete.
10368         (default_globalize_label): Declare.
10369         * system.h (ASM_GLOBALIZE_LABEL): Poison.
10370         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
10371         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
10372         * target.h (gcc_target): Add globalize_label member.
10373         * varasm.c (asm_output_bss, asm_output_aligned_bss,
10374         globalize_decl): Use target hook.
10375         (assemble_global): Delete.
10376         (default_globalize_label): New function.
10377
10378 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10379
10380         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
10381
10382 2002-08-20  Devang Patel  <dpatel@apple.com>
10383         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
10384
10385 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10386
10387         * arc.c (output_shift): Use stdio instead of asm_fprintf.
10388         * arm.c (thumb_output_function_prologue): Likewise.
10389         * avr.c (print_operand): Likewise.
10390         * c4x.c (c4x_print_operand): Likewise.
10391         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
10392         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
10393         * cris.c (cris_target_asm_function_prologue,
10394         cris_asm_output_mi_thunk): Likewise.
10395         * h8300.c (print_operand): Likewise.
10396         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
10397         * ip2k.c (print_operand): Likewise.  Fix format specifier.
10398         * m68hc11.c (asm_print_register, print_operand,
10399         print_operand_address): Use stdio instead of asm_fprintf.
10400         (print_operand_address): Fix format specifier.
10401         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
10402         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
10403         asm_fprintf.
10404         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10405         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10406         * m68k.c (m68k_output_function_prologue,
10407         m68k_output_function_epilogue, print_operand): Likewise.
10408         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
10409         Likewise.  Fix format specifier.
10410         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
10411         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
10412         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
10413
10414 2002-08-15  Eric Christopher  <echristo@redhat.com>
10415             Jeff Knaggs  <jknaggs@redhat.com>
10416
10417         * config.gcc (mipsisa64sr71k-elf): New target.
10418         * config/mips/sr71k.md: New file.
10419         * config/mips/mips.md: Use it.
10420         (rot*): Add sr71k specifics.
10421         * config/mips/t-sr71k: New file.
10422         * config/mips/mips.h (sr71k): New cpu.
10423         (TARGET_SR71K): Use it.
10424         (TUNE_SR71K): Ditto.
10425         (GENERATE_BRANCHLIKELY): Ditto.
10426         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
10427         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
10428         * config/mips/mips.c (sr71k): New cpu.
10429         (mips_use_dfa_pipeline_interface): Use.
10430
10431 2002-08-15  Eric Christopher  <echristo@redhat.com>
10432             Richard Sandiford <rsandifo@redhat.com>
10433             Aldy Hernandez  <aldyh@redhat.com>
10434             Graham Stott    <grahams@redhat.com>
10435             Michael Meissner  <meissner@redhat.com>
10436             Gavin Romig-Koch  <gavin@redhat.com>
10437             Ken Raeburn  <raeburn@cygnus.com>
10438             Alexandre Oliva <aoliva@redhat.com>
10439
10440         * config.gcc (mips64vr-elf): New target.
10441         * config/mips/5400.md: New file.
10442         * config/mips/5500.md: Ditto.
10443         * config/mips/mips.md: Use them.
10444         (frsqrt): New.
10445         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
10446         cpus.
10447         (mips_issue_rate): Use them.
10448         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
10449         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
10450         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
10451         cpus.
10452         (TARGET_MIPSx): Use them.
10453         (TUNE_MIPSx): Ditto.
10454         (GETNATE_MULT3_SI): Ditto.
10455         (ISA_HAS_BRANCHLIKELY): Ditto.
10456         (ISA_HAS_CONDMOVE): Ditto.
10457         (ISA_HAS_NMADD_NMSUB): Ditto.
10458         (ISA_HAS_MULHI): New. Ditto.
10459         (ISA_HAS_MULS): Ditto.
10460         (ISA_HAS_MSAC): Ditto.
10461         (ISA_HAS_MACC): Ditto.
10462         (ISA_HAS_ROTR_SI): Ditto.
10463         (ISA_HAS_ROTR_DI): Ditto.
10464         (RTX_COSTS): Use.
10465
10466 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10467
10468         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
10469         at head.
10470         (remove_dup_nonsys_dirs): New function.
10471         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
10472         (merge_include_chains): Remove non-system include directories from
10473         quote and bracket include chains when they duplicate equivalent system
10474         directories.
10475         * doc/cpp.texi (-I): Update.
10476         * doc/cppopts.texi (-I): Update.
10477         * doc/install.texi (--with-local-prefix): Further document usage of
10478         this option.
10479         * doc/invoke.texi (-I): Update.
10480
10481 2002-08-20  Richard Henderson  <rth@redhat.com>
10482
10483         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
10484         (emit_block_move): Split out subroutines.
10485         (emit_block_move_via_movstr): New.
10486         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
10487         (emit_block_move_libcall_fn): New.  Construct function prototype for
10488         bcopy as well.
10489         (clear_storage): Split out subroutines.
10490         (clear_storage_via_clrstr): New.
10491         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
10492         (clear_storage_libcall_fn): New.  Construct function prototype for
10493         bzero as well.
10494         (emit_push_insn): Use emit_block_move.
10495         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
10496         (store_constructor): Likewise.
10497
10498 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
10499
10500         * objc/objc-act.c (building_objc_message_expr): Rename to
10501         current_objc_message_selector.
10502
10503 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
10504
10505         * objc/objc-act.c (build_ivar_chain): Remove.
10506         (objc_copy_list): Likewise.
10507         (get_class_ivars): Inline call to removed build_ivar_chain
10508         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
10509         slot; use that slot (rather than CLASS_IVARS) when accessing
10510         ivars for base classes.  Call copy_list and chainon instead of
10511         objc_copy_list.
10512         (build_private_template): Call get_class_ivars instead of
10513         build_ivar_chain.
10514         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
10515         (continue_class): Call get_class_ivars instead of
10516         build_ivar_chain.
10517         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
10518         of DECL_BIT_FIELD (which may have been cleared).
10519         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
10520
10521 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10522
10523         * genautomata.c (output_translate_vect, output_state_ainsn_table,
10524         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
10525         in output file.
10526         (output_internal_min_issue_delay_func): Initialize variable in
10527         output file.
10528
10529 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
10530
10531         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
10532         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
10533
10534 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
10535             Steve Ellcey  <sje@cup.hp.com>
10536
10537         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
10538         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
10539         * explow.c (trunc_int_for_mode): Abort when the mode is not
10540         a scaler integer mode.
10541         * combine.c (expand_compound_operation): Don't expand Vector
10542         or Complex modes into shifts.
10543         (expand_field_assignment): Don't do bitwise arithmatic and
10544         shifts on Vector or Complex modes.
10545         (simplify_comparison): Don't call trunc_int_for_mode
10546         for VOIDmode.
10547         * recog.c (general_operand): Likewise.
10548         (immediate_operand): Likewise.
10549         (nonmemory_operand): Likewise.
10550
10551 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
10552
10553         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
10554         multi-instruction SImode constant.  Add REG_EQUAL note.
10555         * config/rs6000/rs6000.md (movsi splitter): Use
10556         rs6000_emit_set_const.
10557
10558 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10559
10560         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
10561         the macro test controlling its use.
10562
10563 2002-08-18  H.J. Lu  (hjl@gnu.org)
10564
10565         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
10566         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
10567         gnu_ld=yes.
10568         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
10569         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
10570         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
10571         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
10572         here.
10573         (cris-*-linux*): Remove setting thread_file here.
10574
10575 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
10576
10577         PR preprocessor/7602
10578         * cppinit.c (path_include): Treat the system environment
10579         variables as being cxx_aware.
10580
10581 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
10582
10583         * c-decl.c (flexible_array_type_p): New function.
10584         (grokdeclarator, finish_struct): Use it.
10585         * doc/extend.texi: Document constraints on use of structures with
10586         flexible array members.
10587
10588 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
10589
10590         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
10591         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
10592         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
10593
10594 2002-08-16  Stan Shebs  <shebs@apple.com>
10595
10596         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
10597         for ObjC with -fnext-runtime.
10598         * doc/cpp.texi: Document it.
10599
10600 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
10601
10602         * doc/install.texi (Final installation): Replace links to individual
10603         build status pages with a link to a common page that lists them all.
10604
10605 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
10606
10607         * doc/invoke.texi: Fix typo.
10608
10609 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
10610
10611         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
10612
10613 2002-08-16  Andrew Haley  <aph@redhat.com>
10614
10615         * tree-inline.c: Add includes for Java inliner.
10616         (remap_decl): Don't handle anonymous types for Java.
10617         (remap_block): Add handling for Java trees.
10618         (copy_scope_stmt): Conditionalize for non-Java use only.
10619         (copy_body_r): Handle Java trees.  Add handling for
10620         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
10621         (initialize_inlined_parameters):  Handle Java trees.
10622         (declare_return_variable): Likewise.
10623         (expand_call_inline): Handle Java trees.
10624         (walk_tree): Likewise.
10625         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
10626         (add_stmt_to_compound): New function.
10627
10628 2002-08-15  Richard Henderson  <rth@redhat.com>
10629
10630         * Makefile.in (LOOSE_WARN): Remove -fno-common.
10631         (NOCOMMON_FLAG): New substitution point.
10632         (GCC_WARN_CFLAGS): Include it.
10633         * configure.in (ac_checking): Set nocommon_flag.
10634         (nocommon_flag): New substitution point.
10635
10636 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
10637
10638         * c-tree.h (skip_evaluation): Move declaration...
10639         * c-common.h: ... here.
10640         * c-typeck.c (build_external_ref): Don't assemble_external nor
10641         mark a tree as used if skip_evaluation is set.
10642         * c-parse.in (typeof): New non-terminal to set skip_evaluation
10643         around TYPEOF.
10644         (typespec_nonreserved_nonattr): Use it.
10645
10646 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
10647
10648         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
10649         (xcoff_debug_hooks): Update end_prologue.
10650         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
10651         * debug.h (end_prologue): Add file arg.
10652         (end_epilogue): Add line and file args.
10653         (dwarf2out_end_epilogue): Add line and file args.
10654         (vmsdbgout_after_prologue): Remove.
10655         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
10656         (dwarf2_debug_hooks): Update end_prologue.
10657         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
10658         (dwarfout_end_prologue): Add file arg.
10659         * final.c (vmsdbgout_after_prologue): Remove
10660         (final_end_function): Update end_epilogue call.
10661         (final_scan_insn): Update end_prologue call.
10662         * sdbout.c (sdbout_end_epilogue): Add line and file args.
10663         (sdbout_end_prologue): Add file arg.
10664         (sdb_debug_hooks): Update end_prologue.
10665         (sdb_begin_prologue): Update sdbout_end_prologue call.
10666         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
10667         vmsdbgout_end_function.
10668         (vmsdbgout_end_prologue): New function renamed from
10669         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
10670         (vmsdbgout_end_function): New function.
10671         (vmsdbgout_end_epilogue): Add line and file args. Call
10672         vmsdbgout_source_line.
10673         (write_pclines): Write only valid line numbers.
10674         (write_srccorr): Don't write source correlation records if 0 lines.
10675         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
10676
10677 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
10678
10679         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
10680         (_Unwind_Internal_Ptr): 32 bit version for use in
10681         read_encoded_value_with_base.
10682         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
10683         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
10684         right size.
10685
10686 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10687
10688         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
10689         signed/unsigned warnings.
10690
10691         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
10692         record_reg_classes): Likewise.
10693
10694         * reload.c (reload_inner_reg_of_subreg, push_reload,
10695         find_reloads_address_1): Likewise.
10696
10697 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
10698
10699         * rs6000.c (output_mi_thunk): Return to function section on
10700         TARGET_ELF.
10701
10702         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
10703
10704 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
10705
10706         * config/s390/s390.c (legitimize_address): Optimize loading
10707         of large displacements.
10708
10709 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
10710
10711         * config/alpha/alpha-protos.h: Update.
10712
10713         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
10714         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
10715         (alpha_linkage_symbol_p): New static function.
10716         (print_operand_address): Print linkage operand.
10717
10718         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
10719         variables.
10720         (reloc_kind): New enum.
10721         (struct alpha_funcs): New struct.
10722         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
10723
10724         (alpha_need_linkage): Rewrite.
10725         (alpha_use_linkage): New global function.
10726         (alpha_write_linkage): Rewrite and make static.
10727         (alpha_write_one_linkage): Rewrite
10728
10729         (alpha_start_function): Remove procedure descriptor output.
10730         (alpha_end_function): Write linkages at end of each function.
10731
10732         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
10733         (call_vms_1, call_value_vms_1): Rewrite.
10734
10735         * config/alpha/vms.h (ASM_FILE_END): Remove.
10736
10737 2002-08-14  Richard Henderson  <rth@redhat.com>
10738
10739         * ggc-page.c (RTL_SIZE): New.
10740         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
10741         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
10742
10743 2002-08-14  Richard Henderson  <rth@redhat.com>
10744
10745         * calls.c: Include target.h.
10746         * Makefile.in (calls.o): Update.
10747
10748         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
10749         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
10750
10751 2002-08-14  Richard Henderson  <rth@redhat.com>
10752
10753         * Makefile.in (LOOSE_WARN): Add -fno-common.
10754         * c-common.h (constant_string_class_name): Add missing extern.
10755
10756 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
10757
10758         PR preprocessor/7358
10759         * c-opts.c (check_deps_environment_vars): Ignore main file
10760         for SUNPRO_DEPENDENCIES.
10761         * cppfiles.c (stack_include_file): Ignore main file if
10762         appropriate.
10763         * cpplib.h (struct cpp_options): New member in deps.
10764         * doc/cppenv.texi: Update.
10765
10766 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
10767
10768         PR preprocessor/7526
10769         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
10770
10771 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
10772
10773         * doc/invoke.texi (-a): Remove documentation.
10774         (-fprofile-arcs): Remove reference to -a, -ax options.
10775         * doc/gcov.texi (Gcov Data Files): Data might be merged.
10776
10777 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
10778
10779         Fix PR/7566
10780         * c-semantics.c (genrtl_case_label): Don't (mis)use
10781         warning_with_decl.
10782
10783 2002-08-14  Dale Johannesen  <dalej@apple.com>
10784
10785         * explow.c (emit_stack_restore):  Emit memory clobbers
10786         preceding the stack pop, to prevent the scheduler from
10787         moving refs to variable arrays below this pop.
10788         * reload1.c (reload):  Preserve these clobbers for sched2.
10789         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
10790
10791 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
10792
10793         * c-opts.c (c_common_post_options): Correct test.
10794
10795 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10796
10797         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
10798         order in call to fprintf.
10799
10800 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10801
10802         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
10803
10804 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
10805
10806         * reload.c (find_reloads): Handle constraint letters marked by
10807         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
10808         (alternative_allows_memconst): Likewise.
10809         * reload1.c (maybe_fix_stack_asms): Likewise.
10810         * recog.c (asm_operand_ok, preprocess_constraints,
10811         constrain_operands): Likewise.
10812         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
10813         * local-alloc.c (block_alloc, requires_inout): Likewise.
10814         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
10815
10816         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
10817         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
10818         * doc/tm.texi: Document these two new target macros.
10819
10820         * config/s390/s390.c (s390_expand_plus_operand): Accept already
10821         valid operands.
10822         (q_constraint): New function.
10823         config/s390/s390-protos.h (q_constraint): Declare it.
10824         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
10825         (EXTRA_MEMORY_CONSTRAINT): New macro.
10826
10827         * config/s390/s390.md: Throughout the machine description,
10828         replace all instances of the constraint combinations 'Qo'
10829         or 'oQ' with simply 'Q'.
10830
10831 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
10832
10833         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
10834         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
10835         (LIBGCC2_CFLAGS): Compile with -mrelax.
10836
10837 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
10838
10839         * doc/invoke.texi: Document -minmax for 68HC12.
10840
10841         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
10842         ("uminqi3"): Likewise.
10843         ("uminhi3", "umaxhi3"): Likewise.
10844
10845         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
10846         (TARGET_MIN_MAX): Define.
10847         (TARGET_SWITCHES): New option -minmax/-mnominmax.
10848
10849 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
10850
10851         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
10852         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
10853
10854         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
10855         (ret, declare, farsym): New gas macros.
10856         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
10857         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
10858         and declare the symbol far when compiled with -mlong-calls.
10859         (__far_trampoline): New for 68HC12 trampoline code to invoke a
10860         far handler using jsr/bsr.
10861
10862         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
10863         (jsr): New macro to transform a 'jsr' into a 'call'.
10864
10865 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
10866
10867         * doc/invoke.texi: Document -mlong-calls for 68HC12.
10868
10869         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
10870         -mlong-calls is specified.
10871         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
10872         assembler directives.
10873         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
10874         (TARGET_SWITCHES): Add -mlong-calls options.
10875         (current_function_far): Declare.
10876
10877         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
10878         into account the page register saved on the stack.
10879         (m68hc11_override_options): Take into account -mlong-calls option.
10880         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
10881
10882         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
10883         if the function is going to be in 68HC12 banked memory (-mlong-calls).
10884         ("*return_16bit"): Likewise.
10885         ("*return_void"): Likewise.
10886         ("call", "call_value"): Use call for a far function call.
10887
10888 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
10889
10890         * toplev.c (parse_options_and_default_flags): Don't call
10891         post_options here.
10892         (general_init): Initialize GC, pools and tree hash here,
10893         instead of lang_independent_init.
10894         (lang_independent_init): Rename backend_init.
10895         (do_compile): Call post_options hook; exit early if there
10896         have been errors after switch processing.
10897         (toplev_main): Update.
10898
10899 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
10900
10901         * c-pretty-print.h: Guard against multiple inclusion.
10902         Robustify macros.
10903         (pp_c_attributes): Declare.
10904         * c-pretty-print.c (pp_c_attributes): New function.
10905
10906 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10907
10908         * m68k.c (m68k_output_function_prologue,
10909         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
10910         and NEWS/MOTOROLA.
10911         * genattrtab.c: Remove dpx2 comment.
10912         * libgcc2.c (__enable_execute_stack): Delete versions for
10913         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
10914         sony_news/SYSTYPE_BSD.
10915         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
10916         __gmicro__, __i860__, __NeXT__ and __pyr__.
10917         * rtl.h: Remove convex comment.
10918         * varasm.c: Likewise.
10919
10920 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10921
10922         * c-opts.c (lang_flags): Const-ify.
10923         * ra-build.c (undef_table): Likewise.
10924         * ra.c (eliminables): Likewise.
10925
10926 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
10927
10928         * tree.h: Guard against multiple inclusion.
10929
10930 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
10931
10932         * reload1.c (reload_cse_simplify): Before checking
10933         REG_FUNCTION_VALUE_P, check REG_P.
10934
10935 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
10936
10937         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
10938
10939 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
10940
10941         * c-opts.c (c_common_init_options): Extra braces needed.
10942
10943 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
10944
10945         * sh.c (sh_init_builtins): Add PARAMS to declaration.
10946         (sh_media_init_builtins, sh_expand_builtin): Likewise.
10947         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
10948         (sh_expand_binop_v2sf): Likewise.
10949         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
10950         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
10951         (sh_initialize_trampoline): Likewise.
10952
10953 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
10954
10955         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
10956         new condition code modes.
10957         s390.c (s390_match_ccmode_set): Handle those new CC modes.
10958         (s390_select_ccmode): Likewise.
10959         (s390_branch_condition_mask): Likewise.
10960
10961         * s390-protos.h (s390_tm_ccmode): Declare.
10962         s390.c (s390_tm_ccmode): New function.
10963         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
10964
10965         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
10966         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
10967         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
10968
10969         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
10970         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
10971         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
10972         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
10973         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
10974
10975         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
10976         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
10977         "*cmpqi_ccs_0"): Remove, replace by ...
10978         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
10979         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
10980         "*tstqi", "*tstqi_cconly"): ... these new patterns.
10981
10982         ("*cmpsidi_ccs"): Remove, replace by ...
10983         ("*cmpsi_ccs_sign"): ... this new pattern.
10984         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
10985
10986         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
10987         ("*cli"): ... this new pattern.
10988
10989         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
10990         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
10991         New patterns.
10992         ("adddi3_64"): Rename to "*adddi3_64".
10993         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
10994         ("adddi3"): Adapt expander.
10995
10996         ("*addsi3_cc"): Allow "general_operand" for operand 2.
10997         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
10998         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
10999
11000         ("addhi3", "addqi3"): Remove, replace by ...
11001         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
11002
11003         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
11004         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
11005         ("subdi3"): Replace by insn and splitter "*subdi3_31".
11006         ("subdi3"): New expander.
11007
11008         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
11009
11010         ("subhi3", "subqi3"): Remove, replace by ...
11011         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
11012
11013         ("*muldi3_sign"): New pattern.
11014         ("muldi3"): Do not clobber CC.
11015         ("mulsi3"): Likewise.
11016         ("mulsi_6432"): Likewise.
11017
11018 2002-08-13  Denis Chertykov  <denisc@overta.ru>
11019
11020         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
11021         which can change CC0.
11022
11023 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
11024
11025         * gcse.c (adjust_libcall_notes): New function.
11026         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
11027
11028 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
11029
11030         * libgcc2.c (L_bb): Remove unneeded #includes.
11031         (__global_counters, __gthreads_active): Remove unused globals.
11032         (__bb_exit_func): Merge counts into files rather than appending.
11033         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
11034         (ALL_CFLAGS): ... to here.
11035
11036 2002-08-13  Denis Chertykov  <denisc@overta.ru>
11037
11038         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
11039         (function_epilogue): Don't calculate function size.
11040         (ip2k_set_compare): Don't use lookup_const_double.
11041         (asm_file_start): Initialization of commands_in_file removed.
11042         (asm_file_end): Output of commands_in_file removed.
11043
11044         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
11045         __INT_MAX__.
11046
11047 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
11048
11049         * c-opts.c (c_common_init_options): Check option array is
11050         sorted if checking enabled.
11051
11052 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
11053
11054         * c-pretty-print.c: #include "c-tree.h".
11055         (pp_c_simple_type_specifier): Tweak.
11056         (pp_c_storage_class_specifier): New.
11057         (pp_c_function_specifier): Likewise.
11058         (pp_c_declaration_specifiers): Likewise.
11059         (pp_c_init_declarator): Likewise.
11060         (pp_c_declaration): Likewise.
11061         (pp_c_direct_declarator): Stub.
11062         (pp_c_declarator): Likewise.
11063         (pp_c_parameter_declaration): Likewise.
11064
11065 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
11066
11067         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
11068         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
11069         struct deferred_opt): New.
11070         (COMMAND_LINE_OPTIONS): Add -M*.
11071         (missing_arg): Update.
11072         (c_common_decode_option): Handle -M*.
11073         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
11074         don't call cpp_post_options.
11075         (c_common_finish, check_deps_environment_vars): Update.
11076         * cppfiles.c (stack_include_file, handle_missing_header): Update.
11077         * cpphash.h (CPP_PRINT_DEPS): Remove.
11078         * cppinit.c: Don't include version.h.
11079         (cpp_create_reader): Don't call deps_init.  Initialize
11080         warn_long_long.
11081         (cpp_read_main_file): Init deps if necessary.
11082         (cpp_destroy): Conditionally free deps.
11083         (cpp_finish): Update.
11084         (no_tgt): Remove.
11085         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
11086         (cpp_post_options): Rename post_options.
11087         * cpplib.h (struct cpp_options): Remove some dependency options;
11088         move others to a new structure.
11089         (cpp_post_options): Remove.
11090         (cpp_finish): Comment.
11091         * fix-header.c (read_scan_file): Don't call cpp_post_options.
11092
11093 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
11094
11095         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
11096         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
11097         MMIX_rR_REGNUM as clobbered.
11098         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
11099
11100 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
11101
11102         * diagnostic.h (output_formatted_scalar): Rename from
11103         output_formatted_integer.
11104         * diagnostic.def: Add DK_DEBUG.
11105         * diagnostic.c (output_decimal): Adjust.
11106         (output_long_decimal): Likewise.
11107         (output_unsigned_decimal): Likewise.
11108         (output_octal): Likewise.
11109         (output_long_octal): Likewise.
11110         (output_hexadecimal): Likewise.
11111         (output_long_hexadecimal): Likewise.
11112         * c-pretty-print.c (pp_c_type_specifier): New function.
11113         (pp_c_specifier_qualifier_list): Likewise.
11114         (pp_c_abstract_declarator): Likewise.
11115         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
11116
11117 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
11118
11119         * doc/trouble.texi (Disappointments): Add static constructor and
11120         destructor dependency information for AIX.
11121
11122 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
11123
11124         * cpphash.h (struct printer): New from cppmain.c.
11125         (cpp_reader): New member.
11126         * cppmain.c (struct printer): Move to cpphash.h.
11127         (options, print): Remove.
11128         (account_for_newlines, print_line, maybe_print_line,
11129         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
11130         scan_translation_unit_trad, cb_line_change, cb_ident,
11131         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
11132         cb_def_pragma): Make reentrant.
11133
11134 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11135
11136         * real.c (ieee_64): Always define.
11137         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
11138         (dec_h): Not used yet, hide it.
11139         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
11140         macro controlling use.
11141         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
11142
11143 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
11144
11145         * i386.md (tablejump): Sign extend the operand.
11146         * i386.c (classify_argument): Fix missed case from previous patch.
11147
11148 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
11149
11150         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
11151         to c-copts.c.
11152         (warn_multichar): Die.
11153         (cb_register_builtins): Export.
11154         * c-common.h (warn_multichar, preprocess_file): Remove.
11155         (cb_register_builtins): New.
11156         * c-lang.c (c_init): Remove.
11157         (LANG_HOOKS_INIT): Use c_objc_common_init.
11158         * c-lex.c (init_c_lex): Don't canonicalize filename.
11159         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
11160         (preprocess_file): Make static.  Update for cpplib.
11161         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
11162         (c_common_post_options): Set some cpp options here.
11163         (c_common_init): Move from c-common.c.
11164         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
11165         * cpplib.h (struct cpp_options): Remove in_fname.
11166         (cpp_preprocess_file): Update.
11167         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
11168
11169 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11170
11171         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
11172
11173 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11174
11175         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
11176         backslash in comment preceeding macro definition.
11177         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
11178         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
11179         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
11180
11181 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
11182
11183         * expr.c (store_expr): In condition for checking if value is
11184         generated in TARGET, move call to expr_size last.
11185
11186 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
11187
11188         * c-common.c (c_common_init): Call preprocess_file instead.
11189         (c_common_finish): Move to c-opts.c.
11190         * c-common.h (preprocess_file): new.
11191         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
11192         check_deps_environment_vars, c_common_finish): New.
11193         (c_common_decode_option): Update for out_fname and dependencies.
11194         * cppinit.c (init_dependency_output, output_deps): Remove.
11195         (cpp_destroy): Update prototype.
11196         (cpp_add_dependency_target): New.
11197         (cpp_read_main_file): Don't overlay a buffer.
11198         (cpp_finish): Take a deps output stream and write deps to it.
11199         Return the error count.
11200         (cpp_post_options): Don't canonicalize out_fname, or do anything
11201         with dependencies.
11202         * cpplib.h (struct cpp_options): Remove out_fname and
11203         preprocess_only.
11204         (cpp_add_dependency_target): New.
11205         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
11206         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
11207         set preprocess_only.  Don't handle the output stream directly.
11208
11209 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11210
11211         * dsp16xx.c (print_operand): Fix format specifier.
11212         * dsp16xx.md: Avoid automatic aggregate initialization.
11213         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
11214         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
11215         integer constant modifier.
11216         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
11217         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
11218         guards.
11219         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
11220         * v850.c (v850_select_section): Mark parameter with
11221         ATTRIBUTE_UNUSED.
11222         * global.c (global_alloc): Const-ify.
11223         * ra-colorize.c (hardregset_to_string): Fix format specifier.
11224
11225 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11226
11227         * darwin-c.c (darwin_pragma_options): Const-ify.
11228         * darwin.c (machopic_non_lazy_ptr_name,
11229         machopic_validate_stub_or_non_lazy_ptr): Likewise.
11230         (machopic_indirect_data_reference): Wrap variables in macros
11231         controlling their use.
11232         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
11233         (machopic_select_section): Use parentheses around && within ||.
11234         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
11235
11236 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11237
11238         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
11239         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
11240         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
11241         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
11242         mdr_try_remove_redundant_insns, track_w_reload,
11243         mdr_try_wreg_elim): Make function static to match prototype.
11244         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
11245         parameter with ATTRIBUTE_UNUSED.
11246
11247 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11248
11249         * arc.c (arc_init): Don't use ISO C style function definitions.
11250         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
11251         arm_get_strip_length, arm_strip_name_encoding): Likewise.
11252         * avr.h (progmem_section): Likewise.
11253         * h8300.c h8300_asm_insn_count): Likewise.
11254         * m32r.c (init_idents): Likewise.
11255         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
11256         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
11257         * xtensa.c (xtensa_build_va_list): Likewise.
11258
11259 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
11260
11261         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
11262         * c-opts.c (parse_option): Rename find_opt.
11263         (set_std_c99): New function.
11264         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
11265         (missing_arg): Remove OPT_std_bad.  Handle -o.
11266         (c_common_decode_option): Handle input and output file names,
11267         -o and -remap.  Clean up -std= handling.
11268         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
11269         (cpp_handle_option): Similarly.  Don't handle filenames.
11270
11271 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
11272
11273         * i386.c (classify_argument): Fix computing of field's offsets.
11274
11275 2002-08-11  Andreas Jaeger  <aj@suse.de>
11276
11277         PR target/7531:
11278         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
11279
11280 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
11281
11282         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
11283         reference to clk_objective_c with flag_objc.
11284         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
11285         Likewise.
11286         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
11287
11288 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
11289
11290         * c-opts.c (set_std_cxx98, set_std_c89): New.
11291         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
11292         (c_common_decode_option): Handle new switches from cppinit.c.
11293         Add -std=gnu++98.
11294         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
11295         (no_arg, no_num): Remove.
11296         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
11297         switches apart from -lang-objc and lang-asm.
11298         (cpp_handle_option): Similarly.
11299         * cpplib.h (cpp_set_lang): New.
11300         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
11301         -std=gnu++98.
11302         * objc/lang-specs.h: Remove -ansi.
11303
11304 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
11305                                Graham Stott
11306
11307         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
11308         errors.
11309
11310 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11311
11312         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
11313         emit_jump_insn): Fix uninitialized variable.
11314         * gcov.c (init_line_info): Likewise.
11315         * genautomata.c (transform_3): Add braces around ambiguous
11316         else.
11317         * ifcvt.c (cond_exec_process_insns): Mark parameter with
11318         ATTRIBUTE_UNUSED.
11319         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
11320         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
11321         variable.
11322
11323         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
11324         warnings in output files.
11325
11326 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
11327
11328         * c-common.c (flag_objc): New.
11329         * c-common.h (c_language_kind): Get rid of clk_objective_c
11330         enum value.
11331         (flag_objc): New extern declaration.
11332         * c-decl.c (implicitly_declare): Call objc_check_decl
11333         instead of maybe_objc_check_decl.
11334         (finish_decl): Likewise.
11335         (grokfield): Likewise.
11336         (finish_struct): Likewise.
11337         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
11338         (maybe_objc_comptypes): Rename to objc_comptypes.
11339         (maybe_building_objc_message_expr): Rename to
11340         objc_message_selector.
11341         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
11342         replace with flag_objc as needed.
11343         * c-opts.c (c_common_init_options): Likewise.
11344         (c_common_decode_option): Likewise.
11345         * c-parse.in (init_reswords): Likewise.
11346         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
11347         (maybe_objc_comptypes): Rename to objc_comptypes.
11348         (maybe_building_objc_message_expr): Rename to
11349         objc_message_selector.
11350         * c-typeck.c (comptypes): Call objc_comptypes instead of
11351         maybe_objc_comptypes, and/or objc_message_selector instead of
11352         maybe_building_objc_message_expr.
11353         (comp_target_types): Likewise.
11354         (convert_for_assignment): Likewise.
11355         (warn_for_assignment): Likewise.
11356         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
11357         independently of those for other languages.
11358         * objc/objc-act.c (maybe_objc_comptypes): Delete.
11359         (maybe_objc_check_decl): Delete.
11360         (maybe_building_objc_message_expr): Rename to
11361         objc_message_selector.
11362         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
11363         clk_objective_c; set flag_objc flag.
11364
11365 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
11366
11367         * ifcvt.c (find_if_case_2): Test correct basic block for size.
11368
11369 2002-08-09  Dale Johannesen  <dalej@apple.com>
11370
11371         * config/rs6000/rs6000.md: Add sibcall patterns.
11372         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
11373         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
11374         Rewritten to handle sibcalls.
11375         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
11376         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
11377
11378 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
11379
11380         * profile.c (da_file_name): New static var.
11381         (init_branch_prob): Initialize it.
11382         (end_branch_prob): Remove da file.
11383
11384         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
11385         * configure.in (coverage_flags): Default to nothing.
11386         * configure: Rebuilt.
11387
11388 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
11389
11390         * Makefile.in (c-opts.o): Update
11391         * c-opts.c: Include intl.h.
11392         (print_help): Move from cppinit.c.  Remove unused options.
11393         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
11394         (missing_arg): Complain for switches without an argument.
11395         (c_common_decode_option): Reject missing joined arguments.
11396         Handle new switches from cppinit.c.
11397         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
11398         (cpp_handle_option): Similarly.
11399         (print_help): Moved to c-opts.c.
11400         * cpplib.h (struct cpp_options): Remove help_only.
11401         * gcc.c (cpp_unique_options): Remove -$.
11402         * doc/cppopts.texi: Undocument -h.
11403
11404 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
11405
11406         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
11407         legitimate constant.
11408         (legitimate_pic_operand_p): Neither pic operand.
11409         (legitimate_address_p): But legitimate address.
11410         (get_thread_pointer): Generate MEM/u instead of CONST around
11411         UNSPEC_TP.
11412         (print_operand): Remove printing of UNSPEC_TP.
11413         (print_operand_address): And print it here.
11414
11415 2002-08-08  Devang Patel  <dpatel@apple.com>
11416
11417         * objc/objc-act.c (build_selector_translation_table): Issue warning,
11418         when  -Wselector is used,if method for which selector is being
11419         created does not exist.
11420
11421 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
11422
11423         * config/sh/sh.c (prepare_move_operands): Only call
11424         target_reg_operand if TARGET_SHMEDIA.
11425
11426 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
11427
11428         * config/rs6000/rs6000.h, config/rs6000/aix.h,
11429         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
11430         two patches.
11431         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
11432
11433 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
11434             Richard Henderson  <rth@redhat.com>
11435
11436         * emit-rtl.c (gen_rtx_REG): After reload, only return
11437         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
11438
11439 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
11440
11441         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
11442         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
11443         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
11444         macro.
11445
11446 2002-08-08  Adam Nemet  <anemet@lnxw.com>
11447
11448         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
11449         register.
11450         (thumb_expand_prologue): Likewise.
11451         (thumb_output_function_prologue): Likewise.
11452         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
11453         the additional push of the PIC register.
11454
11455 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
11456
11457         * configure.in (enable_coverage): New enable switch.
11458         * configure: Rebuilt.
11459         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
11460         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
11461         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
11462         (mostlyclean): Remove coverage files.
11463         * doc/install.texi: Document enable_coverage.
11464
11465         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
11466         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
11467         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
11468         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
11469         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
11470         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
11471         files.
11472
11473 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
11474
11475         * c-opts.c (cpp_opts): New.
11476         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
11477         (c_common_decode_options): Handle cpplib switches.
11478         (c_common_init_options): Set cpp_opts.
11479         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
11480         (cpp_handle_option): Similarly.
11481
11482 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
11483
11484         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
11485         (TARGET_ALTIVEC_ABI): Same.
11486         (TARGET_ALTIVEC_VRSAVE): Same.
11487
11488         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
11489         icode not CODE_FOR_nothing.  Change switch to if.
11490
11491 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
11492
11493         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
11494
11495 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
11496
11497         * stor-layout.c (place_union_field): For bitfields if
11498         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
11499         TYPE_USER_ALIGN.
11500
11501 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11502
11503         * pa.c (struct deferred_plabel): Constify name field.
11504
11505 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
11506
11507         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
11508
11509 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11510
11511         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
11512         local_prefix are the same.
11513         * configure: Rebuilt.
11514
11515 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
11516             Richard Henderson  <rth@redhat.com>
11517
11518         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
11519         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
11520         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
11521         (place_field): Likewise.
11522         * config/i386/i386.c (x86_field_alignment): Don't check
11523         DECL_USER_ALIGN here.
11524         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
11525         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
11526         prototype.
11527         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
11528         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
11529         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
11530         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
11531         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
11532         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
11533
11534 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
11535
11536         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
11537         * c-common.c: Don't include tree-inline.h.
11538         (c_common_init_options, c_common_post_options): Move to c-opts.c.
11539         * c-common.h (c_common_decode_option): New.
11540         * c-decl.c (c_decode_option): Remove.
11541         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
11542         * c-opts.c: New file.
11543         * c-tree.h (c_decode_option): Remove.
11544         * doc/passes.texi: Update.
11545         * objc/objc-act.c (objc_decode_option): Remove.
11546         * objc/objc-act.h (objc_decode_option): Remove.
11547         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
11548         c_common_decode_option.
11549
11550 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
11551
11552         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
11553         dependency on TARGET_DOUBLE_FLOAT.
11554
11555 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
11556
11557         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
11558         overwrite callee-save registers.  Fix comment.
11559
11560 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
11561
11562         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
11563         in target_flags based on ISA, if it was not set on the command
11564         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
11565         support Branch Likely instructions.
11566         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
11567         (TARGET_BRANCHLIKELY): Likewise.
11568         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
11569         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
11570         ISA_HAS_BRANCHLIKELY.
11571         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
11572         * doc/invoke.texi: Document new MIPS -mbranch-likely and
11573         -mno-branch-likely options.
11574
11575 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11576
11577         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
11578
11579         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
11580         $(GCONFIG_H).
11581
11582 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
11583
11584         * c-decl.c (duplicate_decls): Error out for incompatible TLS
11585         declarations.
11586
11587         * testsuite/gcc.dg/tls/diag-3.c: New.
11588
11589 2002-08-06  Dale Johannesen  <dalej@apple.com>
11590
11591         * c-common.c (fname_decl): Use line number 0 for
11592         __func__, to avoid confusing debuggers.
11593
11594 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
11595
11596         * gcov.c: Tidy.
11597         (struct line_info, struct coverage): New structures.
11598         (gcov_file_name, gcov_file): Remove globals.
11599         (output_data): Take source file parameter. Fix memory leak. Break
11600         up into ...
11601         (init_line_info, output_line_info, make_gcov_file_name,
11602         accumulate_branch_counts): ... here.
11603         (calculate_branch_probs, function_summary): Adjust.
11604         (main): Adjust.
11605         (function_*): Remove global variables.
11606
11607 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
11608
11609         * dwarf2out.c: Remove unused macros.
11610
11611 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
11612
11613         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
11614
11615 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
11616
11617         * cppinit.c (struct lang_flags): Rename trigraphs std.
11618         (set_lang): Update.
11619         * cpplib.h (struct cpp_options): New member std.
11620         * cppmacro.c (_cpp_builtin_macro_text): Use std.
11621         (collect_args): Flag whether to swallow a possible future
11622         comma pasted with varargs.
11623         (replace_args): Use this flag.
11624         * doc/cpp.texi: Update varargs extension documentation.
11625
11626 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
11627
11628         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
11629
11630 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
11631
11632         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
11633         and MODE_CLASS_INT modes.
11634
11635 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
11636
11637         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
11638         --{enable,disable}-threads is given to configure.
11639         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
11640         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
11641         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
11642         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
11643         Remove thread_file setting here.
11644
11645 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
11646
11647         * doc/install.texi (Binaries): Update Bull Freeware URL.
11648
11649 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11650
11651         * doc/gcc.texi (Top): Rename Index to Keyword Index.
11652
11653 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
11654
11655         * gcov.c (output_data): Round to % to nearest, tweak formatting.
11656
11657 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
11658
11659         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
11660         of the operands into MINUS_EXPR if code is PLUS_EXPR.
11661
11662 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
11663
11664         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
11665         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
11666         drectve_section): Define.
11667         * config/i386/t-interix: Replace interix.o rule with winnt.o.
11668         * config/i386/interix.c: Remove.
11669
11670 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
11671
11672         * attribs.c: Don't include obstack.h.
11673         * builtins.c: Likewise.
11674         * cfganal.c: Likewise.
11675         * cfgbuild.c: Likewise.
11676         * cfgcleanup.c: Likewise.
11677         * emit-rtl.c: Likewise.
11678         * loop.c: Likewise.
11679         * stmt.c: Likewise.
11680
11681         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
11682
11683 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
11684
11685         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
11686
11687 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
11688
11689         * doc/invoke.texi: Remove duplicated paragraph describing
11690         TARGET_SWITCHES.
11691
11692 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
11693
11694         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
11695         * collect2.h (permanent_obstack): Delete declaration.
11696         * collect2.c (permanent_obstack): Delete definition.
11697         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
11698         * expr.c: Don't include obstack.h.
11699         (permanent_obstack): Delete declaration.
11700         * function.c: Don't include obstack.h.
11701         (permanent_obstack): Delete declaration.
11702         * integrate.c: Don't include obstack.h.
11703         (function_maybepermanent_obstack): Delete declaration.
11704         * print-tree.c (debug_tree): Use x*alloc not permalloc.
11705         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
11706         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
11707         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
11708         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
11709         of permalloc, expralloc, perm_calloc.
11710         * tree.c (permanent_obstack): Delete definition.
11711         (init_ttree): Rename from init_obstacks.
11712         (permalloc): Delete.
11713         (perm_calloc): Delete.
11714         (dump_tree_statistics): Don't print information about
11715         permanent_obstack.
11716         * varasm.c (assemble_start_function): Use xstrdup instead of
11717         permalloc/strcpy.
11718         (assemble_variable): Likewise.
11719         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
11720         permalloc.
11721         (unicosmk_add_extern): Likewise.
11722         * config/c4x/c4x.c (c4x_external_ref): Likewise.
11723         (c4x_global_label): Likewise.
11724         * config/frv/frv.c (frv_encode_section_info): Likewise.
11725         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
11726         (i386_pe_record_exported_symbol): Likewise.
11727         * config/mips/mips.c (mips_output_external): Likewise.
11728         (mips_output_external_libcall): Likewise.
11729         * config/pa/pa.c: (permanent_obstack): Delete declaration.
11730         (output_call): Use ggc_strdup instead of allocating on
11731         permanent_obstack.
11732         * config/romp/romp.c: Include ggc.h.
11733         (get_symref): Don't declare permanent_obstack, use ggc_strdup
11734         intead of permanent_obstack.
11735         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
11736         instead of permalloc.
11737         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
11738         instead of permalloc
11739         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
11740         instead of permalloc.
11741         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
11742         permalloc.
11743
11744 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
11745
11746         Contribute a port developed primarily by Michael Meissner,
11747         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
11748         * config.gcc: Add frv-elf target.
11749         * config/frv/cmovd.c: New file.
11750         * config/frv/cmovh.c: New file.
11751         * config/frv/cmovw.c: New file.
11752         * config/frv/frv-abi.h: New file.
11753         * config/frv/frv-asm.h: New file.
11754         * config/frv/frv-modes.def: New file.
11755         * config/frv/frv-protos.h: New file.
11756         * config/frv/frv.c: New file.
11757         * config/frv/frv.h: New file.
11758         * config/frv/frv.md: New file.
11759         * config/frv/frvbegin.c: New file.
11760         * config/frv/frvend.c: New file.
11761         * config/frv/lib1funcs.asm: New file.
11762         * config/frv/media.h: New file.
11763         * config/frv/modi.c: New file.
11764         * config/frv/t-frv: New file.
11765         * config/frv/uitod.c: New file.
11766         * config/frv/uitof.c: New file.
11767         * config/frv/ulltod.c: New file.
11768         * config/frv/ulltof.c: New file.
11769         * config/frv/umodi.c: New file.
11770         * config/frv/xm-frv.h: New file.
11771
11772         * config/frv/media.h: Removed again.
11773
11774 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
11775
11776         * gcov.c (bb_file_time): New static variable.
11777         (object_directory): May also be object file.
11778         (preserve_paths): New static variable.
11779         (print_usage): Adjust.
11780         (options): Adjust.
11781         (process_args): Adjust.
11782         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
11783         file. Find modification date on bb file.
11784         (read_profile): Don't rewind a NULL file.
11785         (format_hwint): New static function.
11786         (function_summary): Use format_hwint.
11787         (output_data): SOURCE_FILE_NAME is never relative to
11788         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
11789         mangling. Adjust output format to make it more machine readable.
11790         * doc/gcov.texi: Document & clarify semantics.
11791
11792 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
11793
11794         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
11795
11796 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
11797
11798         * gcc.c (cc1_options): Pass output file as auxbase when
11799         appropriate.
11800         * profile.c (init_branch_prob): FILENAME has already had ending
11801         stripped.
11802         * final.c (end_final): Likewise.
11803         * toplev.c (aux_base_name): New global.
11804         (compile_file): Pass aux_base_name to init init_branch_prob and
11805         end_final.
11806         (independent_decode_option, case 'a'): New auxinfo options.
11807         (case 'd'): Protect against mising basename.
11808         (do_compile): Initialize aux_base_name.
11809         * toplev.h (aux_base_name): New global.
11810         * doc/invoke.texi: Adjust documentation.
11811
11812 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
11813
11814         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
11815         of TARGET_ALIGN_DOUBLE.
11816
11817 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
11818
11819         * diagnostic.c (inform): New function.
11820         * diagnostic.h (inform): Declare.
11821
11822 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
11823
11824         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
11825         (movhi_internal): Same.
11826         (movqi_internal): Same.
11827         (movdi_internal64): Same.
11828
11829         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
11830
11831         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
11832         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
11833         (COMMON_ASM_OP): Define.
11834         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
11835         Use ALIGN parameter.
11836         (LOCAL_COMMON_ASM_OP): Define.
11837         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
11838
11839 2002-08-03  Roger Sayle  <roger@eyesopen.com>
11840
11841         * builtins.def: Define new builtin functions exp, expf, expl,
11842         log, logf and logl (and their __builtin_* variants).
11843         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
11844         Define exp_optab and log_optab.
11845         * optabs.c (init_optans): Initialize exp_optab and log_optab.
11846         * genopinit.c (optabs): Implement exp_optab and log_optab
11847         using exp?f2 and log?f2 patterns.
11848         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
11849         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
11850         (expand_builtin): Ignore the new builtins (and all cos and
11851         sin variants) when not optimizing.  Expand new builtins via
11852         expand_builtin_mathfn when flag_unsafe_math_optimizations.
11853
11854         * doc/extend.texi: Document new exp and log builtins.
11855         * doc/md.texi: Document new exp?f2 and log?f2 patterns
11856         (and previously undocumented cos?f2 and sin?f2 patterns).
11857
11858 2002-08-03  Jason Merrill  <jason@redhat.com>
11859
11860         * explow.c (int_expr_size): New fn.
11861         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
11862         * expr.h: Declare it.
11863
11864 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
11865
11866         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
11867         gengtype-* dependencies.
11868
11869 2002-08-02  Eric Christopher  <echristo@redhat.com>
11870
11871         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
11872         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
11873         #ifndef to #undef.
11874         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
11875
11876 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
11877
11878         PR optimize/7067
11879         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
11880         small if optimizing for size.
11881
11882 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
11883
11884         * configure.in (FORBUILD): Use $build_alias.
11885         * configure: Regenerated.
11886
11887 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
11888
11889         * config.gcc: Don't include mips/abi64.h in $tm_file.
11890         * hard-reg-set.h (call_really_used_regs): Declare.
11891         * config/mips/abi64.h: Remove file.
11892         * config/mips/linux.h,
11893         * config/mips/iris6.h: Don't include it.
11894         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
11895         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
11896         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
11897         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
11898         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
11899         Bring across definitions from abi64.h.
11900         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
11901         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
11902         (struct mips_args): Use it.
11903         * config/mips/mips.c (mips_conditional_register_usage): Define.
11904
11905 2002-08-02  Jason Merrill  <jason@redhat.com>
11906
11907         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
11908         * langhooks.c (lhd_expr_size): Define default.
11909         * langhooks.h (struct lang_hooks): Add expr_size.
11910         * explow.c (expr_size): Call it.
11911         * expr.c (store_expr): Don't copy an expression of size zero.
11912         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
11913         to store.
11914         * Makefile.in (builtins.o): Depend on langhooks.h.
11915
11916 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11917
11918         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
11919         * ra-debug.c: Include "tm_p.h".
11920         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
11921
11922 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
11923
11924         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
11925         when not honoring signalling NaNs.
11926         (simplify_ternary_operation): a == b has a definite value
11927         when not honoring NaNs.
11928
11929 2002-08-02  Jason Merrill  <jason@redhat.com>
11930
11931         * gdbinit.in (pct): New macro.
11932
11933 2002-08-01  Stan Shebs  <shebs@apple.com>
11934             Andreas Tobler  <toa@pop.agri.ch>
11935
11936         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
11937         plays nice with Darwin headers.
11938         (_BSD_RUNE_T_DEFINED_): Likewise.
11939
11940 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
11941
11942         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
11943         * cppinit.c (cpp_post_options): Likewise.
11944
11945         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
11946         warning about 'LL' suffix (but not 'ULL' etc) when
11947         -Wno-long-long is in effect.
11948
11949         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
11950         Check for failing time()/localtime(), issue a warning, and
11951         make __TIME__ and __DATE__ expand to fallback strings.
11952
11953         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
11954         and __TIME__ when the date and time cannot be determined.
11955
11956 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
11957
11958         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
11959
11960 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
11961
11962         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
11963
11964 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
11965
11966         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
11967         (mipsisa64sb1el-*-elf*): Likewise.
11968         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
11969         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
11970         (TARGET_SB1, TUNE_SB1): New macros.
11971         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
11972         -mtune flags.
11973
11974 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
11975
11976         * varasm.c (asm_emit_uninitialized): Return false if global BSS
11977         and ASM_EMIT_BSS not supported by target.
11978         (assemble_variable): Do not duplicate uninitialized logic.
11979         Fall through if asm_emit_uninitialized failed.
11980
11981 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
11982
11983         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
11984
11985 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
11986
11987         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
11988         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
11989
11990         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
11991         HOST_BITS_PER_WIDE_INT == 64.
11992
11993 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11994
11995         * df.c (df_insn_table_realloc): Change parameter to unsigned.
11996         * optabs.c (expand_binop): Make variable unsigned.
11997         * simplify-rtx.c (simplify_subreg): Likewise.
11998         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
11999
12000 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12001
12002         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
12003
12004 2002-08-01  Richard Henderson  <rth@redhat.com>
12005
12006         * toplev.c (parse_options_and_default_flags): Don't set
12007         flag_reorder_blocks for -Os.
12008
12009         * config/avr/avr.c (avr_optimization_options): Remove.
12010         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
12011         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
12012         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
12013
12014 2002-08-01  H.J. Lu <hjl@gnu.org>
12015             Richard Henderson  <rth@redhat.com>
12016
12017         * output.h (DECL_READONLY_SECTION): Remove.
12018         (decl_readonly_section): Declare.
12019         * varasm.c (decl_readonly_section): New.
12020         (default_section_type_flags, default_select_section): Use it.
12021         * config/arm/pe.c (arm_pe_unique_section): Likewise.
12022         * config/i386/interix.c (i386_pe_unique_section): Likewise.
12023         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
12024         * config/mcore/mcore.c (mcore_unique_section): Likewise.
12025         * config/mips/mips.c (mips_unique_section): Likewise.
12026
12027 2002-08-01  Richard Henderson  <rth@redhat.com>
12028
12029         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
12030         refers to a subroutine parameter.
12031
12032 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
12033
12034         * varasm.c (assemble_visibility): Strip name encoding.
12035
12036 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
12037
12038         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
12039         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
12040         when there is no frame pointer.
12041         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
12042         registers properly.
12043         * config/ns32k/__unorddf2.c: New file.
12044         * config/ns32k/__unordsf2.c: New file.
12045         * config/ns32k/t-ns32k: New file.
12046         * config.gcc (ns32k-*-netbsd*): Use it.
12047
12048 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
12049
12050         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
12051
12052 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
12053
12054         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
12055
12056 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
12057
12058         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
12059
12060 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
12061
12062         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
12063
12064 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12065
12066         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
12067         n_sets): Removed.
12068         (expr_hash_table, set_hash_table): Type changed to ...
12069         (struct hash_table): New type.
12070         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
12071         insert_expr_in_table, insert_set_in_table, compute_hash_table,
12072         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
12073         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
12074         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
12075         (alloc_hash_table): New.
12076         (free_set_hash_table, free_expr_hash_table): Merged to ...
12077         (free_hash_table): New.
12078         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
12079         (compute_hash_table_work): New.
12080         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
12081         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
12082         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
12083         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
12084         hoist_code, one_code_hoisting_pass,
12085         trim_ld_motion_mems): Altered due to changed type of hash tables.
12086
12087 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
12088
12089         * final.c (output_alternate_entry_point):
12090         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
12091
12092 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12093
12094         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
12095         avoid ISO C style function definition.
12096
12097         * expr.c (expand_assignment): Delete unused variable.
12098
12099 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
12100
12101         * c-common.c (cb_register_builtins): Set
12102         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
12103         is given, and to 0 otherwise.
12104         * combine.c (simplify_if_then_else): HONOR_NANS
12105         implies FLOAT_MODE_P.
12106
12107 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
12108
12109         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
12110         (cpp_handle_option): Don't handle it.
12111         (print_help): Update.
12112         * doc/cppopts.texi: Update.
12113
12114 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
12115
12116         * c-common.c (cb_register_builtins): If C++, define
12117         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
12118         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
12119 cp:
12120         * lang-specs.h: Simplify in accordance with new code in
12121         c-common.c.
12122
12123 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
12124
12125         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
12126         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
12127         * c-decl.c: Move all warning and flag variables to c-common.c.
12128         * c-format.c: Move all warning variables to c-common.c.
12129         * c-tree.h: Move all warning and flag declarations to c-common.h.
12130         * objc/objc-act.c: Move all warning variables to c-common.c.
12131         (flag_warn_protocol): Rename warn_protocol.
12132
12133 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12134
12135         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
12136
12137 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
12138
12139         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
12140         .section prefix.
12141
12142 2002-07-31  Stan Shebs  <shebs@apple.com>
12143
12144         * config.gcc (i[34567]86-*-darwin*): New configuration.
12145         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
12146         defining.
12147         (TARGET_ENCODE_SECTION_INFO): Ditto.
12148         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
12149         * config/darwin.c (machopic_indirect_data_reference): Remove
12150         setting of RTX_UNCHANGING_P.
12151         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
12152         not to be applied to sums.
12153         * config/i386/t-darwin: New file.
12154         * config/i386/darwin.h: New file.
12155         * config/i386/i386.h (TARGET_MACHO): Add default definition.
12156         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
12157         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
12158         label and not the GOT add.
12159         (constant_address_p): For Mach-O, seeing a CONST is enough.
12160         (legitimate_pic_address_disp_p): Add a Mach-O case.
12161         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
12162         (legitimize_pic_address): Use generic Mach-O code to legitimize.
12163         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
12164         if outputting a difference.
12165         (ix86_output_addr_diff_elt): Add Mach-O case.
12166         (ix86_expand_move): Similarly.
12167         (ix86_expand_call): Similarly.
12168         (current_machopic_label_num): New global.
12169         (machopic_output_stub): New function.
12170         (ix86_value_regno): New function.
12171         (ix86_function_value): Use it instead of VALUE_REGNO.
12172         (ix86_libcall_value): Ditto.
12173         * config/i386/unix.h (VALUE_REGNO): Remove.
12174
12175 2002-07-31  Graham Stott  <grahas@btinternet.com>
12176
12177         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
12178         hash for LABEL_REF's.
12179
12180 2002-07-31  Graham Stott  <grahams@btinternet.com>
12181
12182         * config/rs6000/rs6000.c (spe_init_builtins,
12183         altivec_init_builtins, rs6000_common_init_builtins):
12184         Replace ANSI with K&R function def.
12185
12186 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
12187
12188         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
12189         for CCFPmode.
12190
12191 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
12192
12193         * config/mips/crtn.asm: Don't use __mips16 to determine the
12194         return-address offset.  Define RA to a suitable temporary
12195         register for the return address.
12196
12197 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
12198
12199         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
12200         constraints to 'd'.
12201
12202 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
12203
12204         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
12205         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
12206         patch on 2002-07-29.)
12207         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
12208
12209 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12210
12211         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
12212         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
12213         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
12214         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
12215         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
12216         (ASM_GLOBALIZE_LABEL): Delete.
12217         (GLOBAL_ASM_OP): Define.
12218
12219         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
12220
12221         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
12222         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
12223
12224 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
12225
12226         * doc/extend.texi (Hints implementation): Document that GCC
12227         mostly ignores `register'.
12228
12229 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
12230
12231         * flags.h: Declare flag_finite_math_only.
12232         Use it in definition of HONOR_NANS and
12233         HONOR_INFINITIES.
12234         * c-common.c (cb_register_builtins): Emit
12235         __FINITE_MATH_ONLY__ when flag_finite_math_only
12236         is set.
12237         * combine.c (simplify_if_then_else): If
12238         flag_finite_math_only is set, a == b has a
12239         definite value.
12240         * toplev.c: Initialize flag_finite_math_only.
12241         (set_flags_fast_math): Set it on -ffast-math.
12242         (flag_fast_math_set_p): Test it.
12243         * doc/invoke.texi: Document -ffinite-math-only.
12244
12245 2002-07-30  Richard Henderson  <rth@redhat.com>
12246
12247         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
12248         (noce_process_if_block): Likewise.
12249
12250 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
12251
12252         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
12253         Bail out early if false_expr is NULL and we'd crash due to this.
12254         * genemit.c (gen_expand): Recognize return insns even if the return
12255         appears in a parallel.
12256         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
12257         * config/fp-bit.c: Likewise.
12258         * doc/tm.texi: Document it.
12259
12260 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
12261             Zack Weinberg  <zack@codesourcery.com>
12262
12263         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
12264         CODE_FOR_nothing.  Change switch to if.
12265         (rs6000_expand_binop_builtin): Same.
12266         (rs6000_expand_builtin): Expand builtin if target support enabled.
12267         (rs6000_init_builtins): Init builtin if target support enabled.
12268         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
12269
12270 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12271
12272         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
12273
12274 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
12275
12276         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
12277
12278 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
12279
12280         * sh.md (cond_delay_slot): New attribute.
12281         (cbranch delay): Use it for anulled-true case.
12282         (stuff_delay_slot): New pattern.
12283         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
12284         delay slot insn.
12285         (gen_far_branch): Emit stuff_delay_slot pattern.
12286
12287 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
12288
12289         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
12290
12291 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
12292
12293         * fold-const.c: Fix comment typos.
12294         * gcse.c: Likewise.
12295         * reload1.c: Likewise.
12296
12297 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
12298
12299         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
12300         for TARGET_SPE.
12301
12302 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
12303
12304         * c-pretty-print.h (pp_c_statement): Declare.
12305         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
12306         (pp_c_statement): Define.
12307
12308 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12309
12310         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
12311         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
12312         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
12313         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
12314         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
12315         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
12316
12317         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
12318         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
12319
12320 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
12321
12322         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
12323         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
12324         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
12325         (pp_c_expression): Update.
12326
12327 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12328
12329         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
12330         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
12331         * alpha/vms-ld.c (main): Likewise.
12332         * dsp16xx.c (double_reg_to_memory): Likewise.
12333         * mcore.c (mcore_expand_prolog): Likewise.
12334         * cppfiles.c (read_name_map): Likewise.
12335         * gensupport.c (process_rtx, identify_predicable_attribute,
12336         alter_test_for_insn): Likewise.
12337         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
12338
12339 2002-07-29  Roger Sayle  <roger@eyesopen.com>
12340
12341         * builtins.c (expand_builtin):  Change the default behavior to
12342         only issue an error if the builtin function doesn't have a
12343         fallback library call.  Remove several cases handled by the
12344         new default.
12345
12346 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
12347
12348         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
12349         floating point format of the target is IEEE.
12350         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
12351         format of the target is DEC.
12352
12353 2002-07-29  Richard Henderson  <rth@redhat.com>
12354
12355         * unroll.c (verify_addresses): Remove.
12356         (find_splittable_givs): Never split DEST_ADDR givs.
12357
12358 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
12359
12360         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
12361         is exhaustive.
12362         (Files): Improve documentation on generated source files.
12363
12364         * doc/extend.texi (Translation implementation): Document what
12365         diagnostics look like.
12366         (Identifiers implementation): Document that there's normally no
12367         limit on identifier names.
12368         (Integers implementation): Document two's complement.
12369         (Hints implementation): Document that GCC honors 'inline', mostly.
12370         (Preprocessing directives implementation): Document that GCC
12371         requires the current time.
12372
12373 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
12374
12375         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
12376         (pp_initializer): New macro.
12377         (pp_c_initializer): Declare.
12378         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
12379         (pp_c_initializer): Define.
12380         (pp_c_initializer_list): New function.
12381         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
12382         VECTOR_CST, CONSTRUCTOR.
12383         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
12384         IMAGPART_EXPR.
12385         (pp_c_cast_expression): Handle FLOAT_EXPR.
12386         (pp_c_assignment_expression): Handle INIT_EXPR.
12387         (pp_c_expression): Update.
12388
12389 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
12390
12391         * objc/objc-act.c (objc_init): Return immediately if filename
12392         is NULL.
12393
12394 2002-07-29  Eric Christopher  <echristo@redhat.com>
12395
12396         * config/mips/elf.h: Remove ecoff.h and gofast includes.
12397         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
12398         (SDB_DEBUGGING_INFO): Undefine.
12399         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
12400         (PUT_SDB_SIZE): Remove.
12401         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
12402         (STARTFILE_SPEC): Add isa3264 define.
12403         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
12404         * config/mips/ecoff.h: Remove. and here...
12405         * config/mips/iris3.h: and here...
12406         * config/mips/sni-svr4.h: and here...
12407         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
12408         Add assembler -mmdebug options for non-dwarf debugging.
12409         * config/mips/r3900.h: Remove debug info defines.
12410         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
12411         * config/mips/isa3264.h: Ditto.
12412         * config/mips/t-isa3264: Fix up for file removal and gofast configure
12413         change.
12414         * config/mips/t-elf: Ditto.
12415         * config/mips/t-ecoff: Ditto.
12416         * config/mips/t-r3900: Ditto.
12417         * config/mips/t-iris5-6: Ditto.
12418         * config/mips/t-isa3264: Ditto.
12419         * config/mips/t-linux: Remove.
12420         * config/mips/t-netbsd: Remove.
12421         * config/mips/t-mips: New file.
12422         * config/mips/t-gofast: Ditto.
12423         * config/mips/netbsd.h: Remove unnecessary undefines.
12424         * config/mips/linux.h: Remove #include of mips.h.
12425         * config.gcc: Add mips.h include for elf targets. Remove tm_file
12426         for ecoff. Add gofast configure option for mips.
12427
12428 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
12429
12430         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
12431         linker scripts use STARTUP directives consistently.
12432         * configure: Regenerate.
12433         * config.in: Regenerate.
12434         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
12435         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
12436         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
12437         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
12438         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
12439         will be the same.
12440
12441 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
12442
12443         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
12444
12445 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
12446
12447         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
12448
12449 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
12450
12451         * config/rs6000/rs6000.md: Move altivec patterns from here...
12452
12453         * config/rs6000/altivec.md: ...to here.
12454
12455 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
12456
12457         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
12458
12459 2002-07-29  Richard Henderson  <rth@redhat.com>
12460
12461         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
12462         set_mem_attributes and add BITPOS argument.  Subtract it from
12463         OFFSET when same is adjusted.
12464         (set_mem_attributes): New wrapper function.
12465         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
12466         remove offset adjustment hack.
12467         * expr.h (set_mem_attributes_minus_bitpos): Declare.
12468
12469 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
12470
12471         * Makefile.in (C_OBJS): Include c-pretty-print.o
12472         (c-pretty-print.o): Add depency rule.
12473         * pretty-print.h: Add more macros.
12474         * c-pretty-print.c: New file.
12475         * c-pretty-print.h: Likewise.
12476
12477 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
12478
12479         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
12480         constants to __ev64_s32__.
12481         (__internal_ev_mwhgsmian): Same.
12482         (__internal_ev_mwhgsmfan): Same.
12483         (__internal_ev_mwhgssfan): Same.
12484         (__internal_ev_mwhgumiaa): Same.
12485         (__internal_ev_mwhgsmiaa): Same.
12486         (__internal_ev_mwhgsmfaa): Same.
12487         (__internal_ev_mwhgssfaa): Same.
12488
12489 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
12490
12491         * varasm.c (assemble_variable): Narrow test for uninitialized
12492         without BSS target support.
12493
12494 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
12495
12496         * profile.c: Add file comment describing the overall algorithm and
12497         structures.
12498         (struct edge_info): Add comments.
12499         (struct bb_info): Add comments.
12500         * basic-block.h (EDGE_*): Add comments.
12501         * doc/gcov.texi (Gcov Data Files): Document bit flags.
12502
12503 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
12504
12505         * config/xtensa/elf.h, config/xtensa/linux.h
12506         (TARGET_OS_CPP_BUILTINS): Define.
12507         (CPP_PREDEFINES): Remove.
12508         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
12509         (CPP_SPEC): Remove.
12510
12511 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
12512
12513         * gensupport.c: Include hashtab.h.
12514         (insn_elision, condition_table, hash_c_test, cmp_c_test,
12515         maybe_eval_c_test): New routines and data structures to
12516         support insn elision.
12517         (init_md_reader): Read and initialize the condition_table.
12518         (read_md_rtx): Discard insn patterns whose C test is provably
12519         always false.
12520         * gensupport.h: Declare new functions and data structures.
12521
12522         * genconditions.c, dummy-conditions.c: New files.
12523         * Makefile.in: Build genconditions; run it to construct
12524         insn-conditions.c; build that and link it into most gen*
12525         programs.
12526         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
12527         (GEN): Delete, unused.
12528         (STAGESTUFF): Update.
12529
12530         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
12531         CODE_FOR_nothing for all elided patterns.
12532         (main): Tweaked to support this.
12533         * genflags.c (gen_proto): Emit a static inline generator
12534         function here for all elided patterns, which simply returns
12535         NULL_RTX.
12536         (gen_insn): Do not define HAVE_xxx for elided patterns.
12537         (main): Tweaked to support this.  No need to forward-declare
12538         struct rtx_def.
12539         * genrecog.c: Do not bother emitting the C test if it's known
12540         to be true at compile time.
12541
12542 2002-07-29  Mike Stump  <mrs@apple.com>
12543
12544         * config.gcc (target_gtfiles): Initialize, as otherwise cross
12545         compilers hosted on powerpc-apple-darwin6.0 won't even build.
12546
12547 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
12548
12549         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
12550         remove clobber of LR.
12551         (sibcall_insn, sibcall_value_insn): Update accordingly.
12552         (sibcall_epilogue): Remove debugging comment from assembler stream.
12553
12554 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
12555
12556         * pretty-print.h: Define more macros.
12557         * diagnostic.h (output_formatted_integer): Moved from...
12558         * diagnostic.c: ... here.
12559
12560 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12561
12562         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
12563
12564 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
12565
12566         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
12567         arguments.  Always use ".-symbol" as expression argument.
12568         * doc/tm.texi: Update to match.  Document requirement for
12569         ".size symbol, .-symbol" to be acceptable to assembler.
12570
12571         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
12572         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
12573         config/i386/freebsd-aout.h, config/i386/sco5.h,
12574         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
12575         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
12576
12577 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12578
12579         * Makefile.in (gengtype-lex.c): Fix error in last change.
12580
12581         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
12582         backslash.
12583
12584         * Makefile.in (vmsdbgout.o): Depend on function.h.
12585
12586         * vmsdbgout.c: Include function.h.
12587
12588 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
12589
12590         * prefix.c (update_path): Don't strip single `.' path components
12591         unless stripping a later `..' component.  Exit loop as soon as
12592         a valid path is found.
12593
12594 2002-07-27  Roger Sayle  <roger@eyesopen.com>
12595
12596         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
12597         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
12598         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
12599         floating point unordered comparisons (e.g. __builtin_isgreater)
12600         as const, and leave the remaining GCC_BUILTINs unchanged.
12601
12602         * c-decl.c (builtin_function): No need to explicitly mark
12603         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
12604
12605 2002-07-27  Roger Sayle  <roger@eyesopen.com>
12606
12607         * Makefile.in: rtlanal.o now depends upon real.h.
12608
12609         * flags.h [flag_signaling_nans]: New flag.
12610         [HONOR_SNANS]: New macro.
12611
12612         * toplev.c [flag_signaling_nans]: Initialize to false.
12613         (f_options): Add processing for "-fsignaling-nans".
12614         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
12615         (process_options): flag_signaling_nans implies flag_trapping_math.
12616
12617         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
12618         when -fsignaling-nans.  First step to implementing WG14's N965.
12619
12620         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
12621         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
12622         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
12623
12624         * simplify-rtx.c (simplify_relational_operation): Conditionalize
12625         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
12626
12627         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
12628         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
12629         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
12630         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
12631         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
12632
12633         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
12634
12635 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12636
12637         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
12638         * gengtype-lex.l (YY_USE_PROTOS): Undef.
12639         (YY_DECL): Define.
12640
12641 2002-07-27  Roger Sayle  <roger@eyesopen.com>
12642
12643         * doc/invoke.texi: Document that both -fno-builtin-foo and
12644         -fno-builtin are supported by the g++ front-end.
12645
12646 2002-07-27  Stan Shebs  <shebs@apple.com>
12647
12648         * configure.in: Rename config_gtfiles to target_gtfiles.
12649         * configure: Regenerate.
12650         * doc/gty.texi: Update reference.
12651         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
12652         instead of appending to it.
12653
12654 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
12655
12656         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
12657         vectors are split into two registers.
12658         (function_arg): Same.
12659
12660 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
12661
12662         * pa.md (extv): Check predicates before emitting extv_32.
12663
12664 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
12665
12666         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
12667         (rs6000_traceback): New var.
12668         (rs6000_override_options): Set rs6000_traceback.
12669         (rs6000_output_function_epilogue): Implement traceback options.
12670         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
12671         (rs6000_traceback_name): Declare.
12672
12673         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
12674         label reference when NO_PROFILE_COUNTERS.
12675
12676 2002-07-26  Jason Merrill  <jason@redhat.com>
12677
12678         * function.c (assign_parms): Handle frontend-directed pass by
12679         invisible reference.
12680
12681 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
12682
12683         * doc/cppopts.texi: Update.
12684
12685 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
12686
12687         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
12688         warnings on assertions.
12689
12690 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
12691
12692         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
12693         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
12694         RID_COMPL): Remove.
12695         * c-parse.in (rid_to_yy): Similarly.
12696
12697 2002-07-26  Jason Merrill  <jason@redhat.com>
12698
12699         * c-dump.c: Resurrect.
12700         * tree-dump.c: Move C-specific stuff to c-dump.c.
12701         * c-common.h: Declare c_dump_tree.
12702         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
12703         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
12704         (c-dump.o): New rule.
12705
12706 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
12707
12708         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
12709         PowerPC64.  Replace "T" and "S" constraints with "n" when the
12710         predicate will do.  Formatting fixes.
12711         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
12712         as for extzvsi_internal1.
12713
12714 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
12715
12716         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
12717         DERIV_END_LABEL_FMT): Remove.
12718         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
12719
12720 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
12721
12722         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
12723         Remove.
12724
12725 2002-07-25  Stan Shebs  <shebs@apple.com>
12726
12727         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
12728         local var dwarfp.
12729         (output_compiler_stub): Remove unused locals.
12730         (output_call): Always initialize line number.
12731
12732 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
12733
12734         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
12735         * sh.md (truncdiqi2, movqi_media): Likewise.
12736
12737 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
12738
12739         * gcse.c (obstack_chunk_alloc): Remove.
12740         (gcse_alloc): Fix to count allocated bytes.
12741         * collect2.c (SYMBOL__MAIN): Remove.
12742
12743 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
12744
12745         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
12746         HAVE_TARGET_EXECUTABLE_SUFFIX.
12747
12748 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
12749
12750         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
12751         SIZE, EXPR and OFFSET.
12752
12753 2002-07-25  Richard Henderson  <rth@redhat.com>
12754
12755         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
12756         in ARRAY_REF of DECL_P case.
12757
12758 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
12759
12760         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
12761         description.  Document -mips32, -mips64, and the associated -march
12762         values.  Describe the "mipsN" arguments to -march.  Say that the
12763         -mipsN options are equivalent to -march.  Reword the description
12764         of default type sizes.
12765         * toplev.h (target_flags_explicit): Declare.
12766         * toplev.c (target_flags_explicit): New var.
12767         (set_target_switch): Update target_flags_explicit.
12768         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
12769         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
12770         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
12771         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
12772         * config/mips/mips.h (mips_cpu_info): New struct.
12773         (mips_cpu_string, mips_explicit_type_size_string): Remove.
12774         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
12775         (MIPS_CPP_SET_PROCESSOR): New macro.
12776         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
12777         Define _MIPS_ARCH and _MIPS_TUNE.
12778         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
12779         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
12780         MIPS_ISA_DEFAULT were already defined.
12781         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
12782         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
12783         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
12784         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
12785         (ABI_GAS_ASM_SPEC): Remove.
12786         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
12787         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
12788         Invoke %(asm_abi_default_spec) if no ABI was specified.
12789         (CC1_SPEC): Remove ISA -> register-size rules.
12790         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
12791         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
12792         (mips_cpu_string, mips_explicit_type_size_string): Remove.
12793         (mips_cpu_info_table): New array.
12794         (mips_set_architecture, mips_set_tune): New fns.
12795         (override_options): Rework to make -mipsN equivalent to -march.
12796         Detect more erroneous cases, including those removed from CC1_SPEC.
12797         Don't change the ABI based on architecture, or vice versa.
12798         Unify logic with GAS.
12799         (mips_asm_file_start): Get architecture name from mips_arch_info.
12800         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
12801         (mips_parse_cpu): Take the name of the option as argument.  Handle
12802         'from-abi'.  Raise an error if the option is wrong.
12803         (mips_cpu_info_from_isa): New fn.
12804
12805 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
12806
12807         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
12808         (tablejump_mips162): Likewise.
12809
12810 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
12811
12812         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
12813         int_mode_for_mode.
12814
12815 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
12816
12817         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
12818         complaining.
12819         * c-common.h (c_sizeof): Adjust definition.
12820         (c_alignof): Likewise.
12821         * c-tree.h (c_sizeof_nowarn): Now macro.
12822         * c-typeck.c (c_sizeof_nowarn): Remove definition.
12823
12824 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
12825
12826         * c-decl.c (c_decode_option): No need to handle switches
12827         cpplib handles.
12828
12829 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
12830
12831         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
12832         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
12833         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
12834         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
12835
12836         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
12837         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
12838         config/cris/aout.h, config/i386/freebsd-aout.h,
12839         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
12840         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
12841         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
12842         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
12843         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
12844         config/xtensa/elf.h, config/xtensa/linux.h:
12845         Use the new macros.
12846         Where possible, remove redundant definitions of SIZE_ASM_OP,
12847         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
12848
12849 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
12850
12851         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
12852         TARGET_ISEL, and TARGET_FPRS.
12853
12854         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
12855         -mabi=spe, -mabi=no-spe, and -misel=.
12856
12857         * config/rs6000/rs6000-protos.h: Add output_isel.
12858         Move vrsave_operation prototype here.
12859
12860         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
12861         (smaxsi3): Same.
12862         (uminsi3): Same.
12863         (umaxsi3): Same.
12864         (abssi2_nopower): Disallow when TARGET_ISEL.
12865         (*ne0): Same.
12866         (negsf2): Change to expand and rename old pattern to *negsf2.
12867         (abssf2): Change to expand and rename old pattern to *abssf2.
12868
12869         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
12870         fixunssfsi2.
12871
12872         Change patterns that check for TARGET_HARD_FLOAT or
12873         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
12874
12875         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
12876         rs6000_isel, rs6000_fprs, rs6000_isel_string.
12877         (rs6000_override_options): Add 8540 case to
12878         processor_target_table.
12879         Set rs6000_isel for the 8540.
12880         Call rs6000_parse_isel_option.
12881         (enable_mask_for_builtins): New.
12882         (rs6000_parse_isel_option): New.
12883         (rs6000_parse_abi_options): Add spe and no-spe.
12884         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
12885         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
12886         for TARGET_HARD_FLOAT.
12887         Add case for SPE_VECTOR_MODE.
12888         (rs6000_legitimize_reload_address): Handle SPE vector modes.
12889         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
12890         vector modes.
12891         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
12892         (rs6000_emit_move): Check for TARGET_FPRS.
12893         Add cases for SPE vector modes.
12894         (function_arg_boundary): Return 64 for SPE vector modes.
12895         (function_arg_advance): Check for TARGET_FPRS and
12896         Handle SPE vectors.
12897         (function_arg): Same.
12898         (setup_incoming_varargs): Check for TARGET_FPRS.
12899         (rs6000_va_arg): Same.
12900         (struct builtin_description): Un-constify mask field.  Move up in
12901         file.
12902         (bdesc_2arg): Un-constify and add SPE builtins.
12903         (bdesc_1arg): Same.
12904         (bdesc_spe_predicates): New.
12905         (bdesc_spe_evsel): New.
12906         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
12907         (rs6000_expand_binop_builtin): Same.
12908         (bdesc_2arg_spe): New.
12909         (spe_expand_builtin): New.
12910         (spe_expand_predicate_builtin): New.
12911         (spe_expand_evsel_builtin): New.
12912         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
12913         (rs6000_init_builtins): Initialize SPE builtins.  Call
12914         rs6000_common_init_builtins.
12915         (altivec_init_builtins): Move all non-altivec builtin code to...
12916         (rs6000_common_init_builtins): ...here.  New function.
12917         (branch_positive_comparison_operator): Allow NE code for SPE.
12918         (ccr_bit): Return correct ccr bit for SPE fp.
12919         (print_operand): Emit crnor in 'D' case for SPE.
12920         New case 't'.
12921         Add SPE code for 'y' case.
12922         (rs6000_generate_compare): Generate rtl for SPE fp.
12923         (output_cbranch): Handle SPE hard floats.
12924         (rs6000_emit_cmove): Handle isel.
12925         (rs6000_emit_int_cmove): New.
12926         (output_isel): New.
12927         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
12928         64-bits for SPE.
12929         (debug_stack_info): Add SPE info.
12930         (gen_frame_mem_offset): New.
12931         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
12932         Change mode of frame pointer, when saving it, to Pmode.
12933         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
12934         Misc cleanups and use gen_frame_mem_offset when appropriate.
12935
12936         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
12937         (TARGET_SPE_ABI): New.
12938         (TARGET_SPE): New.
12939         (TARGET_ISEL): New.
12940         (TARGET_FPRS): New.
12941         (FIXED_SCRATCH): New.
12942         (RTX_COSTS): Add PROCESSOR_PPC8540.
12943         (ASM_CPU_SPEC): Add case for 8540.
12944         (TARGET_OPTIONS): Add isel= case.
12945         (rs6000_spe_abi): New.
12946         (rs6000_isel): New.
12947         (rs6000_fprs): New.
12948         (rs6000_isel_string): New.
12949         (UNITS_PER_SPE_WORD): New.
12950         (LOCAL_ALIGNMENT): Adjust for SPE.
12951         (HARD_REGNO_MODE_OK): Same.
12952         (DATA_ALIGNMENT): Same.
12953         (MEMBER_TYPE_FORCES_BLK): New.
12954         (FIRST_PSEUDO_REGISTER): Set to 113.
12955         (FIXED_REGISTERS): Add SPE registers.
12956         (reg_class): Same.
12957         (REG_CLASS_NAMES): Same.
12958         (REG_CLASS_CONTENTS): Same.
12959         (REGNO_REG_CLASS): Same.
12960         (REGISTER_NAMES): Same.
12961         (DEBUG_REGISTER_NAMES): Same.
12962         (ADDITIONAL_REGISTER_NAMES): Same.
12963         (CALL_USED_REGISTERS): Same.
12964         (CALL_REALLY_USED_REGISTERS): Same.
12965         (SPE_ACC_REGNO): New.
12966         (SPEFSCR_REGNO): New.
12967         (SPE_SIMD_REGNO_P): New.
12968         (HARD_REGNO_NREGS): Adjust for SPE.
12969         (VECTOR_MODE_SUPPORTED_P): Same.
12970         (REGNO_REG_CLASS): Same.
12971         (FUNCTION_VALUE): Same.
12972         (LIBCALL_VALUE): Same.
12973         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
12974         (SPE_VECTOR_MODE): New.
12975         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
12976         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
12977         (rs6000_stack): Add spe_gp_size, spe_padding_size,
12978         spe_gp_save_offset.
12979         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
12980         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
12981         (SPE_CONST_OFFSET_OK): New.
12982         (rs6000_builtins): Add SPE builtins.
12983
12984         * testsuite/gcc.dg/ppc-spe.c: New.
12985
12986         * config/rs6000/eabispe.h: New.
12987
12988         * config/rs6000/spe.h: New.
12989
12990         * config/rs600/spe.md: New.
12991
12992         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
12993         __SIMD__ for TARGET_SPE.
12994
12995         * config.gcc: Add powerpc-*-eabispe* case.
12996         Add spe.h to user headers for powerpc.
12997
12998 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
12999
13000         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
13001         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
13002         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
13003
13004 2002-07-24  Richard Henderson  <rth@redhat.com>
13005
13006         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
13007         form when not optimizing.
13008
13009 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
13010
13011         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
13012         thread_pointer_rtx as unchanging.
13013
13014 2002-07-24  Michael Matz  <matz@suse.de>
13015
13016         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
13017         (free_reg): Use it.
13018
13019 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
13020
13021         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
13022         pattern.
13023         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
13024         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
13025
13026 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
13027
13028         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
13029         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
13030         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
13031
13032 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
13033
13034         * toplev.c (rest_of_compilation): Dump loops before clobbering
13035         the structure.
13036
13037 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
13038
13039         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
13040
13041 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
13042
13043         PR optimization/7291
13044         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
13045         problem on x86_64.
13046
13047 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
13048
13049         * pretty-print.h: Add macros from cp/error.c
13050
13051 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
13052
13053         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
13054         (mask64_2_operand): Declare.
13055         (build_mask64_2_operands): Declare.
13056         (and64_2_operand): Declare.
13057         (extract_MB): Declare.
13058         (extract_ME): Declare.
13059         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
13060         CONST_DOUBLE code.
13061         (mask_operand_wrap): New insn predicate.
13062         (mask64_2_operand): Likewise.
13063         (and64_2_operand): Likewise.
13064         (build_mask64_2_operands): New function.
13065         (extract_MB): New function.
13066         (extract_ME): New function.
13067         (print_operand <case m,M>): Use extract_MB and extract_ME.
13068         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
13069         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
13070         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
13071         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
13072         * config/rs6000/rs6000.md (andsi3_internal3): New
13073         (andsi3_internal3+1): Enable split for powerpc64.
13074         (andsi3_internal3+2): New split.
13075         (andsi3_internal4): Renamed old andsi3_internal3.
13076         (andsi3_internal5): New.
13077         (andsi3_internal5+1): Enable split for powerpc64.
13078         (andsi3_internal5+2): New split.
13079         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
13080         (anddi3): Handle 't' constraint.
13081         (anddi3+1): New split.
13082         (anddi3_internal2): Handle 't' constraint.
13083         (anddi3_internal2+1): New split.
13084         (anddi3_internal3): Handle 't' constraint.
13085         (anddi3_internal3+1): New split.
13086
13087 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
13088
13089         * config/rs6000/rs6000.md: Remove scratch reg on insns using
13090         addze and similar (plus (comparison r1 r2) r3) insns.  Add
13091         missing scratch reg in one case.  Formatting fixes.
13092
13093 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
13094
13095         * cppexp.c (parse_defined): Mark macro used.
13096         * cpphash.h (struct cpp_macro): New member "used".
13097         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
13098         (struct cpp_reader): New member.
13099         * cppinit.c (cpp_finish_options): Set first_unused_line.
13100         (cpp_finish): Warn of unused macros if requested.
13101         (OPT_TABLE): New switches.
13102         (cpp_handle_option): Handle them.
13103         * cpplib.c (do_undef): Warn if macro unused.
13104         (do_ifdef, do_ifndef): Mark macro used.
13105         * cpplib.h (struct cpp_options): New member.
13106         * cppmacro.c (_cpp_warn_if_unused_macro): New.
13107         (enter_macro_context): Mark macro used.
13108         (_cpp_create_definition): Mark macro unused; warn if unused
13109         when redefined.
13110         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
13111         Mark macros used.
13112         * doc/cppopts.texi: Update.
13113
13114 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
13115
13116         * dwarf2out.c (SECTION_ASM_OP,
13117         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
13118         * system.h (SECTION_ASM_OP): Poison.
13119         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
13120         * config/alpha/alpha-interix.h, config/mips/linux.h
13121         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
13122         * config/mmix/mmix-protos.h, config/mmix/mmix.c
13123         (mmix_asm_output_define_label_difference_symbol): Remove.
13124         * config/mmix/mmix.h
13125         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
13126         * doc/tm.texi: Remove documentation.
13127
13128 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
13129
13130         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
13131         (constrain_operands): Likewise.
13132         * regclass.c (record_reg_classes): Likewise.
13133         * reload.c (find_reloads): Likewise.
13134         * doc/md.texi: Likewise.
13135
13136         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
13137         * simplify-rtx.c (simplify_subreg): When converting to a non-int
13138         mode, try to convert to an integer mode of matching size first.
13139
13140         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
13141         from individual subregs, check that each subreg has been generated
13142         sucessfully.
13143
13144 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
13145
13146         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
13147         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
13148         FOR_EACH_BB_IN_SBITMAP): Remove.
13149         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
13150         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
13151         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
13152         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
13153         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
13154         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
13155
13156 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
13157
13158         * pretty-print.h: New file.
13159
13160 2002-07-23      Paul Koning     <pkoning@equallogic.com>
13161
13162         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
13163         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
13164         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
13165         (TARGET_G_FLOAT): Default to 0 if not defined.
13166         (ieeetoe): New, common routine to convert target format floats
13167         to internal form.
13168         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
13169         vs. others.
13170         (e113toe): Change to use ieeetoe.
13171
13172 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
13173
13174         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
13175         IBM.
13176         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
13177         (e64toe): Remove special cases for DEC and IBM. Remove support for
13178         ARM_EXTENDED_IEEE_FORMAT.
13179         (e24toe): Remove special cases for DEC.
13180         (significand_size): Simplify. Indent.
13181         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
13182         (etoieee, toieee): New.
13183         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
13184         etoieee and toieee for IEEE arithmetic.
13185
13186 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
13187
13188         * doc/extend.texi: Say ISO C90, not ISO C89.
13189         * doc/invoke.texi: Likewise.
13190         * doc/standards.texi: Likewise.
13191
13192 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
13193
13194         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
13195         Fix permutation of conversion and plus/mult.
13196         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
13197         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
13198         (expand_builtin_strncpy) Ditto.
13199         (expand_builtin_memset) Ditto.
13200
13201 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
13202
13203         Fix PR/7363:
13204         * c-common.c (c_sizeof_or_alignof_type): New function.
13205         (c_alignof): Remove definition.
13206         * c-common.h (c_sizeof, c_alignof): Define as macros.
13207         (c_sizeof_or_alignof_type): Declare.
13208         (my_friendly_assert): Moved from cp/cp-tree.h
13209         * c-typeck.c (c_sizeof): Remove definition.
13210
13211 2002-07-23  Jan Hubicka  <jh@suse.cz>
13212
13213         * gcse.c (try_replace_reg): Use num_changes_pending.
13214         * recog.c (num_changes_pending): New function.
13215         (validate_replace_src): Use validate_repalce_src_group.
13216         (validate_replace_src_group): New.
13217         * recog.h (validate_repalce_src_group): New.
13218         (num_changes_pending): Likewise.
13219
13220 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
13221
13222         * calls.c (emit_library_call_value_1): If
13223         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
13224         libcall, const call nor pure call.
13225
13226 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
13227
13228         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
13229
13230 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
13231
13232         * vmsdbgout.c (SECTION_ASM_OP): Remove.
13233
13234 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
13235
13236         * config/i386/i386.c (AT_BP): Remove.
13237
13238 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
13239
13240         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
13241         Default definition.
13242         * gcse.c: Don't define obstack_chunk_free.
13243         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
13244         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
13245         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
13246         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
13247         Don't define obstack macros.
13248
13249 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
13250
13251         PR target/6744
13252         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
13253         ASM_OPERANDS instructions.
13254
13255 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
13256
13257         PR target/7361
13258         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
13259         constant addresses only on 68HC12.
13260
13261 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
13262
13263         * cppfiles.c (stack_include_file): Correct test of whether
13264         a dependency should be output.
13265
13266 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
13267
13268         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
13269
13270 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
13271
13272         * arm.md (movqi): If optimizing and we can create pseudos, use
13273         a ZERO_EXTEND to load from memory, then copy the result into the
13274         target.
13275         (movhi): Likewise, but only for ARMv4.
13276
13277 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
13278
13279         * ssa-ccp.c (PHI_PARMS): Remove.
13280
13281 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
13282
13283         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
13284         on big-endian targets.
13285
13286 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13287
13288         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
13289         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
13290         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
13291         New formatting macros.
13292
13293         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
13294
13295 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
13296
13297         * rtlanal.c (subreg_regno_offset): Return correct offset for
13298         big endian paradoxical subregs.
13299
13300         * optabs.c (expand_vector_unop): Don't expand using sub_optab
13301         if we got the wrong mode.
13302
13303         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
13304         * genrecog.c (write_switch, write_cond): Use it.
13305         * genemit.c (gen_exp): Likewise.
13306
13307 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
13308
13309         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
13310
13311 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
13312
13313         * c-decl.c (build_compound_literal): Defer compound literal decls
13314         until until file end to emit them only if they are actually used.
13315
13316 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13317
13318         * ra-build.c (check_conflict_numbers): Hide unused function.
13319         (livethrough_conflicts_bb): Avoid automatic aggregate
13320         initialization.
13321         (parts_to_webs_1): Avoid `U' integer constant modifier.
13322         (conflicts_between_webs): Wrap a variable in the macro controlling
13323         its usage.
13324         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
13325         (dump_igraph, dump_graph_cost): Avoid string concatenation
13326         (dump_static_insn_cost): Avoid automatic aggregate
13327         initialization.
13328         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
13329         initialization.
13330         (dump_cost): Avoid string concatenation
13331
13332 2002-07-21  Richard Henderson  <rth@redhat.com>
13333
13334         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
13335         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
13336
13337 2002-07-21  Richard Henderson  <rth@redhat.com>
13338
13339         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
13340         that are not unrolled completely.
13341
13342 2002-07-21  Richard Henderson  <rth@redhat.com>
13343
13344         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
13345         * loop.c (strength_reduce): Update.
13346         * toplev.c (rest_of_compilation): Do unrolling in the first
13347         loop pass, not the second.
13348
13349 2002-07-21  Richard Henderson  <rth@redhat.com>
13350
13351         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
13352         when flag_argument_noalias == 2.
13353         * alias.c (nonoverlapping_memrefs_p): Handle that.
13354         * print-rtl.c (print_mem_expr): Likewise.
13355
13356 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
13357
13358         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
13359         instead of __negdi2 directly.
13360
13361 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
13362
13363         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
13364         * function.c (SYMBOL__MAIN): Remove definition.
13365         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
13366         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
13367         * profile.c (GCOV_INDEX_TO_BB): Remove.
13368         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
13369         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
13370
13371 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
13372
13373         * c-lex.c (GET_ENVIRONMENT): Remove.
13374         * collect2.c (GET_ENV_PATH_LIST): Remove.
13375         (prefix_from_env): Use GET_ENVIRONMENT.
13376         * cppinit.c (GET_ENV_PATH_LIST): Remove.
13377         (init_standard_includes): Use GET_ENVIRONMENT.
13378         * defaults.h (GET_ENVIRONMENT): Define here if not already.
13379         * gcc.c (GET_ENV_PATH_LIST): Remove.
13380         (make_relative_prefix, process_command): Update.
13381         * protoize.c (GET_ENV_PATH_LIST): Remove.
13382         (do_processing): Update.
13383
13384 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
13385
13386         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
13387         (grokdeclarator): Likewise.
13388         * c-format.c (C_STD_NAME): Likewise.
13389         * c-lex.c (interpret_integer): Likewise.
13390         * c-typeck.c (build_array_ref): Likewise.
13391         * cpplex.c (_cpp_lex_direct): Likewise.
13392         * toplev.c (documented_lang_options): Likewise.
13393
13394 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
13395
13396         * c-format.c (T99_I, T99_UI): Remove.
13397
13398 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
13399
13400         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
13401
13402 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
13403
13404         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
13405         do_local_cprop.
13406
13407 2002-07-21  Andreas Jaeger  <aj@suse.de>
13408
13409         * reload1.c (fixup_abnormal_edges): Remove unused variable.
13410
13411 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
13412
13413         Improvements for the ifcvt pass from Michael Meissner, with patches
13414         by Richard Sandiford <rsandifo@redhat.com>
13415         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
13416         * ifcvt.c (cond_exec_changed_p): New static variable.
13417         (last_active_insn): New function, renamed from last_active_insn_p
13418         and changed to return the last active insn in a basic block. All
13419         callers updated.
13420         (block_fallthru): New function.
13421         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
13422         IFCVT_MODIFY_INSN.  All callers updated.
13423         Return false if START or END are NULL.
13424         Handle case where we're processing an insn that is already
13425         conditional.
13426
13427         (noce_process_if_block): CE_INFO argument rather than
13428         multiple args containing the involved basic blocks.  All callers
13429         changed.
13430         (process_if_block, merge_if_block, find_if_block,
13431         cond_exec_process_if_block): Likewise.
13432
13433         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
13434         changed.
13435         Use new function last_active_insn to simplify some code.
13436         New code to handle multiple tests.
13437         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
13438         cond_exec_changed_p to TRUE.
13439
13440         (process_if_block): New code to handle multiple tests.
13441         (merge_if_block): Likewise.
13442         (find_if_header): New arg PASS.  Changed to return the currently
13443         processed basic block or NULL instead of true/false. All callers
13444         changed.
13445         Call IFCVT_INIT_EXTRA_FIELDS.
13446         (block_jumps_and_fallthru_p): New function.
13447         (find_if_block): Discover opportunities to convert multiple tests.
13448         Add additional debugging output.
13449         Update the ce_info structure before returning.
13450
13451         (if_convert): Run multiple passes of if-conversion.
13452         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
13453         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
13454         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
13455         these macros.
13456
13457 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
13458
13459         * gcse.c: Include cselib.h
13460         (constptop_register): Break out from ...
13461         (cprop_insn): ... here; kill basic_block argument.
13462         (do_local_cprop, local_cprop_pass): New functions.
13463         (one_cprop_pass): Call local_cprop_pass.
13464
13465 2002-07-20  Roger Sayle  <roger@eyesopen.com>
13466
13467         * simplify-rtx.c (simplify_relational_operation): Optimize
13468         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
13469
13470 2002-07-20  Michae Matz  <matz@suse.de>
13471
13472         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
13473
13474 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
13475
13476         * cppexp.c (struct op): Add token pointer.
13477         (check_promotion, CHECK_PROMOTION): New.
13478         (optab): Update.
13479         (_cpp_parse_expr): Update, use token pointer of struct op.
13480         (reduce): Warn about change of sign owing to promotion.
13481         * cppinit.c (cpp_handle_option): New warning if -Wall.
13482         * cpplib.h (struct cpp_options): New member.
13483
13484 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
13485
13486         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
13487         fpu list.  Separate Power4 compare and delayed_compare.  Correct
13488         Power4 fpcompare.
13489         (fix_truncdfsi2_internal): Restore FPR preference.
13490         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
13491         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
13492
13493 2002-07-19  Momchil Velikov <velco@fadata.bg>
13494
13495         * reload1.c (reload_as_needed): Duplicate oldpat.
13496
13497 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
13498
13499         PR optimization/7130
13500         * loop.h (struct loop_info): Add "preconditioned".
13501         * unroll.c (unroll_loop): Set it.
13502         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
13503
13504 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
13505
13506         * rtl.def (CODE_LABEL): Remove slot 8.
13507         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
13508         (LABEL_ALTERNATE_NAME): Delete.
13509         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
13510         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
13511
13512         * final.c (output_alternate_entry_point): New.
13513         (final_scan_insn): Use it instead of
13514         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
13515         of a case label being an alternate entry point.
13516
13517         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
13518         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
13519         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
13520         (field deleted).
13521         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
13522
13523         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
13524         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
13525         * doc/tm.texi: Delete documentation of
13526         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
13527
13528 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13529
13530         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
13531         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
13532         (LINK_SPEC): Define.
13533         (STARTFILE_SPEC): Define.
13534         (ENDFILE_SPEC): Define.
13535
13536         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
13537         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
13538
13539         * config/mips/iris6-o32-gas.h: New file.
13540         * config.gcc (mips-sgi-irix6*o32): Use it.
13541
13542         * config/mips/t-iris5-gas: New file.
13543         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
13544
13545 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
13546
13547         * cppexp.c (ALWAYS_EVAL): Remove.
13548         (optab, reduce): Always evaluate.
13549         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
13550         only if not skipping evaluation.
13551
13552 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13553
13554         * config/avr/avr.c (debug_hard_reg_set): Remove.
13555
13556 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
13557
13558         * gcc.c (cpp_options): Include "%1" (cc1_spec).
13559
13560 2002-07-19  Richard Henderson  <rth@redhat.com>
13561
13562         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
13563
13564 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
13565
13566         * prefix.c (update_path): Don't zap single `.' path components
13567         unless followed by another `.' and fix typo last patch.
13568
13569 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
13570
13571         * cppexp.c (cpp_num_mul): Remove unused parameter.
13572         (UNARY, BINARY, OTHER, binary_handler): Remove.
13573         (ALWAYS_EVAL): New.
13574         (optab): Update.
13575         (reduce): Refactor to a large switch, don't use a function
13576         pointer.
13577
13578 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
13579
13580         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
13581
13582 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
13583
13584         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
13585         (sh_expand_binop_v2sf): Likewise.
13586         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
13587         (int_gpr_dest, trunc_hi_operand): New functions.
13588         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
13589         trunc_hi_operand.
13590         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
13591         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
13592         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
13593         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
13594         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
13595         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
13596         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
13597         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
13598         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
13599         (movsf_ie+1): Likewise.
13600         (loaddi_trunc): Use int_gpr_dest predicate.
13601         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
13602         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
13603         (casesi_worker_0+[12], casesi_worker): Likewise.
13604         (shcompact_preserve_incoming_args): Likewise.
13605         (mov_nop): Use any_register_operand predicate.
13606         (mperm_w0): Use trunc_hi_operand predicate.
13607
13608 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13609
13610         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
13611         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
13612         numbering.
13613
13614 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13615
13616         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
13617
13618 2002-07-18  Richard Henderson  <rth@redhat.com>
13619
13620         PR optimization/7147
13621         * ifcvt.c (noce_get_condition): Make certain that the condition
13622         is valid at JUMP.
13623
13624 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
13625
13626         * sh.c (barrier_align, push): Shut up compiler warnings.
13627         (initial_elimination_offset,sh_media_init_builtins): Likewise.
13628         (reg_no_subreg_operand): Delete.
13629
13630 2002-07-17  Bo Thorsen  <bo@suse.de>
13631
13632         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
13633         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
13634         (STARTFILE_SPEC): Remove hardcoded library paths.
13635         (ENDFILE_SPEC): Likewise.
13636
13637 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
13638
13639         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
13640
13641         * gcse.c (try_replace_reg): Do not return false positives.
13642
13643 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
13644
13645         * prefix.c: (update_path): Strip ".." components when prior dir
13646         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
13647
13648         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
13649         (ASM_OUTPUT_REG_POP): Likewise.
13650
13651 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
13652
13653         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
13654         adjustments to first_reg for profiling case.
13655         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
13656         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
13657         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
13658         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
13659         (ASM_OUTPUT_REG_POP): Define.
13660         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
13661         (ASM_OUTPUT_REG_POP): Undef.
13662
13663 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
13664
13665         * cpplib.c (do_sccs): Handle #sccs on all systems.
13666         * system.h (SCCS_DIRECTIVE): Poison.
13667         * config/darwin.h, config/freebsd.h, config/netbsd.h,
13668         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
13669         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
13670         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
13671         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
13672         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
13673         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
13674         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
13675         Remove all references to SCCS_DIRECTIVE.
13676         * doc/cpp.texi, doc/tm.texi: Update.
13677
13678 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
13679
13680         * regrename.c (maybe_mode_change): New function.
13681         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
13682
13683 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
13684
13685         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
13686         suppress addition when either ct or cf are zero.
13687
13688 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
13689             Glen Nakamura <glen@imodulo.com>
13690
13691         PR optimization/6713
13692         * loop.c (loop_givs_rescan): Explicitly delete the insn that
13693         sets a non-replaceable giv after issuing the new one.
13694
13695 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
13696
13697         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
13698         eval_token): Clarify and correct use of "bool" variables.
13699         * cpplib.h (struct cpp_options): Similarly.
13700         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
13701         * cpptrad.c (recursive_macro): Similarly.
13702
13703 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
13704
13705         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
13706         SHmedia code.
13707
13708         * sh.md (cmpgtudi_media): Remove spurious @.
13709
13710         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
13711         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
13712
13713         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
13714         * sh-protos.h (sh_initialize_trampoline): Declare.
13715         * sh.c (sh_initialize_trampoline): New function.
13716         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
13717         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
13718         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
13719         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
13720         * sh.md (initialize_trampoline, double_shori): New patterns.
13721         (initialize_trampoline_compact): Likewise.
13722         (shmedia32_initialize_trampoline_big): Remove.
13723         (shmedia32_initialize_trampoline_little): Likewise.
13724
13725         * sh-protos.h (binary_float_operator): Remove declaration.
13726         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
13727         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
13728         (unary_float_operator, sh_expand_unop_v2sf): New functions.
13729         (sh_expand_binop_v2sf): Likewise.
13730         (zero_vec_operand): Delete.
13731         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
13732         all non-shared ones.
13733         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
13734         Enable nsb and byterev.
13735         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
13736         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
13737         in general regs.
13738         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
13739         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
13740         immediate operands.
13741         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
13742         Add DF_HI_REGS.
13743         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
13744         lowpart fp regs - only for big endian for now.
13745         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
13746         when FPU is in use.
13747         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
13748         (LOAD_EXTEND_OP): NIL for SImode.
13749         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
13750         general and fp registers is 4.
13751         PREDICATE_CODES: Amend binary_float_operator entry.
13752         Remove zero_vec_operand.  Add unary_float_operator.
13753         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
13754         subreg SET_DEST.
13755         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
13756         (truncdiqi2): Do sign extension.
13757         (movsi_media, movdi_media): Allow to use r63 to an fp register.
13758         (movdf_media, movsf_media): Likewise.
13759         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
13760         Collapse to one define_insn_and_split.  Allow immediate sources.
13761         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
13762         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
13763         (movv4sf): Allow immediate sources.
13764         (movsf_media_nofpu+1): Don't split moves to FP registers.
13765         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
13766         (movv8qi_i+3): Check against CONST0_RTX.
13767         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
13768         for input and output operands.  Fix argument 3 to gen_mextr_rl.
13769         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
13770         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
13771         (mshf0_w, fipr, ftrv): Likewise.
13772         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
13773
13774 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
13775
13776         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
13777         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
13778         * arm.c: Similarly.
13779
13780 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
13781
13782         * config/mips/mips-protos.h (mips_sign_extend): Declare.
13783         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
13784         (TARGET_SWITCHES): Remove debugh.
13785         (ISA_HAS_TRUNC_W): New macro.
13786         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
13787         (PREDICATE_CODES): Remove se_nonimmediate_operand.
13788         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
13789         any SImode move_operand.
13790         (se_nonimmediate_operand): Remove.
13791         (mips_sign_extend): New.
13792         (mips_move_2words): Use it for sign-extended source operands.
13793         (override_options): Allow integers to be put into single FPRs.
13794         (mips_secondary_reload_class): Handle integers in float registers.
13795         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
13796         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
13797         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
13798         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
13799         (fix_truncdfdi2): Provide only a single alternative, in which the
13800         integer is in a float register.  Depend on TARGET_FLOAT64 rather
13801         than TARGET_64BIT.
13802         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
13803         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
13804         (movdi_internal2): Don't allow the source operand to be sign-extended.
13805         Add alternatives for float registers.
13806         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
13807         allows sign-extension.
13808         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
13809         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
13810         float registers.  Remove TARGET_DEBUG_H_MODE test.
13811         (movhi_internal1): Rename to movhi_internal.  Don't check
13812         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
13813         (movqi_internal1): Rename to movqi_internal and remove
13814         TARGET_DEBUG_H_MODE dependency.
13815         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
13816
13817 2002-07-16  Jim Wilson  <wilson@redhat.com>
13818
13819         * toplev.c (lang_dependent_init): Create function context for
13820         init_expr_once.
13821
13822 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
13823
13824         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
13825         --gc-sections if -r.
13826         * config/cris/cris.h: Ditto.
13827
13828 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
13829
13830         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
13831         the comparison directly gives a mask suppress addition when cf is
13832         zero by complementing the mask.
13833
13834 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
13835
13836         * Makefile.in: Delete references to enquire.
13837         * enquire.c: Move to contrib.
13838
13839 2002-07-16  Stan Shebs  <shebs@apple.com>
13840
13841         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
13842         config/rs6000/darwin.h.
13843         (ASM_OUTPUT_SKIP): Ditto.
13844         (TEXT_SECTION_ASM_OP): Ditto.
13845         (DATA_SECTION_ASM_OP): Ditto.
13846         (ASM_APP_ON): Define.
13847         (ASM_APP_OFF): Define.
13848         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
13849         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
13850
13851         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
13852         (machopic_function_base_name): Declare result to be const.
13853         (machopic_non_lazy_ptr_name): Ditto.
13854         (machopic_stub_name): Ditto.
13855         * config/darwin-protos.h: Ditto for the prototypes.
13856
13857 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
13858
13859         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
13860
13861 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
13862
13863         * i386.md (prefetch): Fix for 64bit mode.
13864         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
13865
13866 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
13867
13868         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
13869         * i386.c (x86_machine_dependent_reorg): New function.
13870         * i386-protos.h (x86_machine_dependent_reorg): Declare.
13871
13872 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
13873
13874         * builtins.c (std_expand_builtin_va_start): Remove unused
13875         first argument.
13876         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
13877         std_expand_builtin_va_start with just two arguments.
13878         * expr.h: Update prototypes.
13879
13880         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
13881         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
13882         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
13883         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
13884         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
13885         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
13886         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
13887         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
13888         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
13889         argument from all implementations of EXPAND_BUILTIN_VA_START
13890         and all uses of std_expand_builtin_va_start.
13891
13892 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
13893
13894         * regrename.c (copy_value): Don't record high part copies.
13895
13896 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
13897
13898         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
13899         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
13900         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
13901
13902 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
13903
13904         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
13905
13906         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
13907         into addsi3 using register class "x" and "y".
13908
13909         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
13910         "earlyclobber" constraint modifier for some alternative.
13911
13912         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
13913         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
13914         unordered.
13915         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
13916
13917         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
13918         (TARGET_SWITCHES): Add -mieee-compare option.
13919         (OVERRIDE_OPTIONS): 32332 is a subset of
13920         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
13921         (TARGET_SWITCHES): Fix description of bitfield option.
13922         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
13923         -mieee-compare option. Remove 32332 flag.
13924
13925 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
13926
13927         * explow.c (convert_memory_address): Remove special handling
13928         when POINTERS_EXTEND_UNSIGNED < 0.
13929         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
13930         (movedi_symbolic): Fix typo.
13931         (load_fptr): Remove mode restriction so it works for SI and DI.
13932         (load_fptr_internal1): Ditto.
13933         (load_gprel): Ditto.
13934         (load_symptr_internal1): Ditto.
13935         (call_pic): Ditto.
13936         * config/ia64.c (call_operand): Modify mode check.
13937         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
13938         (ia64_expand_move): Ditto.
13939         (ia64_assemble_integer): Handle SImode function pointers.
13940         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
13941         (ia64_expand_op_and_fetch): Ditto.
13942         (ia64_expand_compare_and_swap): Ditto.
13943         (ia64_expand_lock_test_and_set): Ditto.
13944         (ia64_expand_lock_release): Ditto.
13945
13946 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
13947
13948         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
13949
13950 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
13951             Richard Earnshaw  <rearnsha@arm.com>
13952
13953         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
13954         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
13955
13956 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
13957
13958         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
13959         understands to be a memory clobber.
13960         * arm.c (arm_expand_prologue): Use it.
13961
13962 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
13963
13964         * ra-rewrite.c: #include reload.h, insn-config.h
13965         * ra-build.c: #include reload.h
13966         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
13967         depend on reload.h, insn-config.h.
13968
13969 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
13970
13971         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
13972         the same size as a word.
13973
13974         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
13975         BYTES_BIG_ENDIAN into account.
13976
13977 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
13978
13979         * i386.md (prefetch): Fix for 64bit mode.
13980         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
13981
13982         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
13983
13984 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13985
13986         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
13987
13988 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
13989
13990         * ginclude/varargs.h: Replace with stub which issues #error.
13991         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
13992         __builtin_va_start.
13993
13994         * builtins.def (BUILT_IN_VARARGS_START): Delete.
13995         (BUILT_IN_VA_START): New.
13996         * builtins.c (expand_builtin_va_start): Eliminate first
13997         argument and code to implement pre-ISO varargs.
13998         (std_expand_builtin_va_start): Ignore first argument; it is
13999         always 1.
14000         (expand_builtin): Handle BUILT_IN_VA_START and
14001         BUILT_IN_STDARG_START identically.  Delete
14002         BUILT_IN_VARARGS_START case.
14003
14004         * function.c (assign_parms): Delete hide_last_arg and all
14005         its uses.
14006         (mark_varargs): Delete function.
14007         * function.h (struct function): Delete 'varargs' bit.
14008         (current_function_varargs): Delete macro.
14009         * tree.h: Don't declare mark_varargs.
14010
14011         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
14012         (c_expand_body): Don't call mark_varargs.
14013         * c-objc-common.c: Handle BUILT_IN_VA_START and
14014         BUILT_IN_STDARG_START identically.  Delete
14015         BUILT_IN_VARARGS_START case.
14016         * c-tree.h: Don't declare c_mark_varargs.
14017         * c-parse.in: Remove grammar rules for '&...' (which has been
14018         commented out since before 2.7.2) and for '...' in K+R
14019         argument declarations.
14020
14021         * builtins.c, function.c, integrate.c, sibcall.c,
14022         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
14023         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
14024         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
14025         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
14026         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
14027         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
14028         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
14029         config/stormy16/stormy16.c: Delete all references to
14030         current_function_varargs, and code predicated on that flag.
14031
14032         * config/alpha/alpha.c (alpha_va_start),
14033         config/arc/arc.c (arc_va_start),
14034         config/i386/i386.c (ix86_va_start),
14035         config/mips/mips.c (mips_va_start),
14036         config/mn10300/mn10300.c (mn10300_va_start),
14037         config/rs6000/rs6000.c (rs6000_va_start),
14038         config/s390/s390.c (s390_va_start),
14039         config/sh/sh.c (sh_va_start),
14040         Ignore first argument; it is always 1.
14041
14042         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
14043         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
14044         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
14045         Delete m68hc11_va_start.
14046         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
14047         No need to define EXPAND_BUILTIN_VA_START.
14048
14049         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
14050         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
14051
14052 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
14053
14054         PR optimization/7153
14055         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
14056         dies in more than one insn.
14057
14058 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
14059
14060         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
14061
14062 2002-07-15  Michael Matz  <matz@suse.de>,
14063             Daniel Berlin  <dberlin@dberlin.org>,
14064             Denis Chertykov  <denisc@overta.ru>
14065
14066         Add a new register allocator.
14067
14068         * ra.c: New file.
14069         * ra.h: New file.
14070         * ra-build.c: New file.
14071         * ra-colorize.c: New file.
14072         * ra-debug.c: New file.
14073         * ra-rewrite.c: New file.
14074
14075         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
14076         (ra-rewrite.o): New .o files for libbackend.a.
14077         (GTFILES): Add basic-block.h.
14078
14079         * toplev.c (flag_new_regalloc): New.
14080         (f_options): New option "new-ra".
14081         (rest_of_compilation): Call initialize_uninitialized_subregs()
14082         only for the old allocator.  If flag_new_regalloc is set, call
14083         new allocator, instead of local_alloc(), global_alloc() and
14084         friends.
14085
14086         * doc/invoke.texi: Document -fnew-ra.
14087         * basic-block.h (FOR_ALL_BB): New.
14088         * config/rs6000/rs6000.c (print_operand): Write small constants
14089         as @l+80.
14090
14091         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
14092         (df_reg_table_realloc): Make size at least as large as max_reg_num().
14093         (df_insn_table_realloc): Size argument now is absolute, not relative.
14094         Changed all callers.
14095
14096         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
14097         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
14098
14099         2002-06-20  Michael Matz  <matz@suse.de>
14100
14101         * df.h (struct ref.id): Make unsigned.
14102         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
14103
14104         2002-06-13  Michael Matz  <matz@suse.de>
14105
14106         * df.h (DF_REF_MODE_CHANGE): New flag.
14107         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
14108         involving subregs with invalid mode changes, when
14109         CLASS_CANNOT_CHANGE_MODE is defined.
14110
14111         2002-05-07  Michael Matz  <matz@suse.de>
14112
14113         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
14114
14115         2002-05-03  Michael Matz  <matz@suse.de>
14116
14117         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
14118
14119         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
14120
14121         * regclass.c (regclass): Work with all regs which have sets or
14122         refs.
14123         (reg_scan_mark_refs): Count regs inside (clobber ...).
14124
14125         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
14126
14127         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
14128         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
14129         add new refs.
14130         (df_bb_refs_update): Don't clear insns_modified here, ...
14131         (df_analyse): ... but here.
14132
14133         * sbitmap.c (dump_sbitmap_file): New.
14134         (debug_sbitmap): Use it.
14135
14136         * sbitmap.h (dump_sbitmap_file): Add prototype.
14137
14138         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
14139
14140         * df.c (df_insn_modify): Grow the UID table if necessary, rather
14141         than assume all emits go through df_insns_modify.
14142
14143         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
14144
14145         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
14146         increase REG_N_REFS (like flow does), so that regclass doesn't
14147         think a reg is useless, and thus, not calculate a class, when it
14148         really should have.
14149
14150         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
14151
14152         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
14153         dataflow analysis.
14154
14155 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
14156
14157         PR middle-end/7245
14158         * config/i386/i386.c (const_int_1_31_operand): New.
14159         * config/i386/i386.h (PREDICATE_CODES): Add it.
14160         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
14161         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
14162         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
14163
14164 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
14165
14166         PR target/7282
14167         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
14168         (floatunssidf2): Likewise.
14169         (floatsidf_ppc64): New insn_and_split.
14170         (floatunssidf_ppc64): Likewise.
14171
14172 2002-07-14  Andreas Jaeger  <aj@suse.de>
14173
14174         * config.gcc (sh64): Remove unused
14175         target_requires_64bit_host_wide_int.
14176
14177 2002-07-12  Roger Sayle  <roger@eyesopen.com>
14178
14179         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
14180         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
14181         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
14182         whether clear_by_pieces should be used to clear storage.
14183         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
14184
14185         * doc/tm.texi: Document these two new target macros.
14186
14187 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
14188
14189         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
14190         the scratch register.
14191         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
14192         of it, forbid reload to use it.
14193
14194 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
14195
14196         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
14197         usage on 64-bit hosts, return value was truncated to 32 bits.
14198
14199 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
14200
14201         * simplify-rtx.c (simplify_subreg): Handle floating point
14202         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
14203         the element mode is requested, compute a subreg with an
14204         integer mode of the same size as the element mode first.
14205
14206 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
14207
14208         * combine.c (try_combine): When converting a paradoxical subreg
14209         to an extension, take LOAD_EXTEND_OP into account.
14210
14211 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14212
14213         * config.gcc (mips-sgi-irix6*o32): New configuration.
14214
14215         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
14216         configurations.
14217         * configure: Regenerate.
14218
14219         * config/mips/iris6-o32-as.h: New file.
14220         * config/mips/iris6-o32.h: New file.
14221
14222         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
14223         (NM_FLAGS): Define.
14224         (HAVE_AS_SHF_MERGE): Undefine.
14225
14226         * config/mips/t-iris5-as: New file.
14227         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
14228
14229         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
14230         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
14231         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
14232         dp-bit.c, fp-bit.c): Move ...
14233         * config/mips/t-iris5-6: ... here.
14234         New file, shared by IRIX 5 and IRIX 6.
14235         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
14236         mips-sgi-irix5*): Use it.
14237
14238         * config/mips/iris6.h: Remove duplicate comment.
14239
14240         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
14241         !TARGET_IRIX6]: Define.
14242         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
14243
14244         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
14245
14246 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14247
14248         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
14249         and delete code to force constant to register.
14250         * pa-protos.h (adddi3_operand): Add prototype.
14251         * pa.c (adddi3_operand): New function.
14252
14253 2002-07-11  Roger Sayle  <roger@eyesopen.com>
14254
14255         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
14256         non-ANSI builtin functions.
14257
14258 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
14259
14260         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
14261         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
14262         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
14263         (gen_const_vector_0): Use it.
14264
14265 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14266
14267         * pa.md (adddi3): For 32-bit targets, force constants to a register
14268         if they don't fit in an 11-bit immediate.  Change insn predicate to
14269         arith11_operand.  Remove comment.
14270         * pa.c (cint_ok_for_move): Fix comment.
14271         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
14272         targets.
14273
14274 2002-07-11  Tim Josling  <tej@melbpc.org.au>
14275
14276         Remove front end hard coding from gengtype.c.
14277
14278         * Makefile.in
14279         (STAGESTUFF): add gtyp-gen.h
14280         (GTFILES): Remove front end specific files.
14281         (GTFILES_FILES_LANGS): New, from configure..
14282         (GTFILES_FILES_FILES): Likewise.
14283         (GTFILES_LANG_DIR_NAMES): Likewise.
14284         (GTFILES_SRCDIR): Likewise.
14285         (gtyp-gen.h): Build from configure information.
14286         (s-gtype): Remove command line parameters from gengtype.
14287         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
14288         (mostlyclean): Delete files generated by and for gengtype.
14289
14290         * c-config-lang.in: New file.
14291
14292         * configure.in (all_gtfiles_files_langs): New. Accumulate files
14293         for each language.
14294         (all_gtfiles_files_files): New. Accumulate language for each file
14295         accumulated.
14296         (gtfiles): Pick up value for C.
14297         (srcdir): AC-SUBST this variable.
14298         (all_gtfiles_files_langs): AC-SUBST this variable.
14299         (all_gtfiles_files_files): AC-SUBST this variable.
14300
14301         * configure: Regenerate.
14302
14303         * gengtype-lex.l (parse_file): Make parameter const.
14304
14305         * gengtype.c (toplevel): include gtyp-gen.h.
14306         (BASE_FILE_<language> unnamed enum): Delete.
14307         (lang_names): Delete (replaced by gtyp-gen.h)
14308         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
14309         all references.
14310         (NUM_GT_FILES): New.
14311         (NUM_LANG_FILES): New.
14312         (srcdir_len): New.
14313         (NUM_BASE_FILES): Change calculation.
14314         (open_base_files): Change prototype to avoid warning.
14315         (startswith): Delete.
14316         (get_file_basename): Iterate through generated language list not
14317         hard coded list.
14318         (get_base_file_bitmap): Use generated list of files and languages.
14319         (close_output_files): Add prototype to rmove warning.
14320         (main): Iterate through list of generated files from gtyp-gen.h
14321         rather than command line paramaters.  Ignore duplicated file
14322         names.
14323
14324         * gengtype.h (parse_file): Amend prototype for const parameter.
14325
14326         * doc/sourcebuild.texi: Document gtfiles variable.
14327
14328         * doc/gty.texi: Document changes to gtfiles variable for front
14329         ends.
14330
14331         * objc/config-lang.in (gtfiles): Add files needed for objc front
14332         end.
14333
14334 2002-07-10  Roger Sayle  <roger@eyesopen.com>
14335
14336         PR c/2454
14337         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
14338         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
14339
14340 2002-07-10  Roger Sayle  <roger@eyesopen.com>
14341             Zack Weinberg <zack@codesourcery.com>
14342
14343         * builtins.def: Make the argument types of abort and exit
14344         independent of the front-end.
14345
14346 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
14347
14348         * config/rs6000/linux64.h (ASM_SPEC): Define.
14349
14350 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
14351
14352         * config/rs6000/rs6000.c (emit_frame_save): New.
14353         (rs6000_frame_related): Replace reg2 before reg.
14354         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
14355         and eh_return registers.
14356
14357 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
14358
14359         Revert all patches for optimization of Complex .op. Real.
14360         * complex_part_zero_p: Remove
14361         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
14362         with x.
14363         * expand_cmplxdiv_wide: Ditto.
14364         * expand_binop: Ditto.
14365
14366 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
14367
14368         * config/avr/avr.md: Fix two 0x80000000 constants to make them
14369         negative also on 64-bit hosts.
14370
14371         Default to -fno-reorder-blocks when optimizing for size.
14372         * config/avr/avr-protos.h (avr_optimization_options): Declare.
14373         * config/avr/avr.c (avr_optimization_options): New function.
14374         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
14375
14376         Optimize returning from simple functions.
14377         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
14378         * config/avr/avr.c (avr_simple_epilogue): New function.
14379         * config/avr/avr.md (return): New insn.
14380
14381 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
14382
14383         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
14384         HAS_INIT_SECTION to protection.
14385
14386 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
14387
14388         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
14389         deprecated.
14390
14391 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
14392
14393         * combine.c (gen_lowpart_for_combine): Handle vector modes.
14394         Supply non-VOID mode to simplify_gen_subreg.
14395
14396 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
14397
14398         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
14399
14400 2002-07-10  Jeffrey A Law  <law@redhat.com>
14401
14402         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
14403         as appropriate.
14404
14405         * mn10200.c (expand_epilogue): Fix test to determine which scratch
14406         register to use.
14407
14408 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
14409
14410         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
14411         Get mode from dest.
14412         If simplify_gen_subreg fails, try next equivalent.
14413
14414 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
14415
14416         * diagnostic.h: #include location.h
14417         (location_t): Move definition to..
14418         * location.h: ... here.  New file.
14419         * tree.h: #include location.h
14420         (DECL_SOURCE_LOCATION): New macro.
14421         (DECL_SOURCE_FILE): Use.
14422         (DECL_SOURCE_LINE): Likewise.
14423         (struct tree_decl): REplace filename and linenum with locus.
14424         * Makefile.in (TREE_H): add location.h
14425         (diagnostic.o): Depends on gt-location.h
14426         (gt-location.h): Depends on s-gtype
14427
14428 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
14429
14430         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
14431         TARGET_OS_CPP_BUILTINS.
14432         * config/rs6000/aix31.h: Likewise.
14433         * config/rs6000/aix41.h: Likewise.
14434         * config/rs6000/aix43.h: Likewise.
14435         * config/rs6000/aix51.h: Likewise.
14436         * config/rs6000/beos.h: Likewise.
14437         * config/rs6000/darwin.h: Likewise.
14438         * config/rs6000/eabi.h: Likewise.
14439         * config/rs6000/eabisim.h: Likewise.
14440         * config/rs6000/linux.h: Likewise.
14441         * config/rs6000/linux64.h: Likewise.
14442         * config/rs6000/lynx.h: Likewise.
14443         * config/rs6000/mach.h: Likewise.
14444         * config/rs6000/rtems.h: Likewise.
14445         * config/rs6000/sysv4.h: Likewise.
14446         * config/rs6000/vxppc.h: Likewise.
14447
14448 2002-07-09 Devang Patel <dpatel@apple.com>
14449         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
14450         Do not allow ObjC objects as a parameter type for Objective-C methods.
14451         My previous patch restricted  'struct' also.
14452
14453 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
14454
14455         * cpperror.c (cpp_error): Default to directive_line within
14456         directives here.
14457         * cppexp.c (cpp_interpret_integer): Only use traditional
14458         number semantics in directives.
14459         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
14460         (do_include_common): Similarly.
14461         * cpptrad.c (scan_out_logical_line): Implement accurate
14462         quoting of <> in #include.
14463         * doc/cpp.texi: Update.
14464
14465 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
14466                           J"orn Rennecke <joern.rennecke@superh.com>
14467
14468         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
14469         * sh.md (attribute issues): Replace with:
14470         (attribute pipe_model).  All users changed.
14471         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
14472         All users changed.
14473         (function units sh5issue, sh5fds): New.
14474         (attribute is_mac_media): New.
14475         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
14476         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
14477         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
14478         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
14479         (call_media, call_value_media, sibcall_media): Likewise.
14480         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
14481         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
14482         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
14483         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
14484         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
14485         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
14486         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
14487         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
14488         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
14489         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
14490         (truncdfsf2_media): Likewise.
14491         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
14492         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
14493
14494 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14495
14496         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
14497         * sh.c (general_extend_operand, inqhi_operand): New functions.
14498         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
14499         alternatives using 'N' modifier.  Add type.
14500         (adddi3z_media): Likewise.  Enable generator function generation.
14501         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
14502         exact predicates / constraints.  Add type.
14503         (subsi3): Allow 0 for SHMEDIA.
14504         (udivsi3_i4_media): Use match_operand for input values
14505         rather than hard registers.
14506         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
14507         unnecessarily through hard registers.  Keep copies of pseudo
14508         registers outside of the libcall sequence.
14509         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
14510         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
14511         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
14512         (extendhidi2, extendqidi2): Likewise.
14513         (andsi3_compact): Name.
14514         (andcdi3): Enable generator function generation.
14515         (zero_extendhisi2, zero_extendqisi2): Rename to
14516         (zero_extendhisi2_compact, zero_extendqisi2_compact).
14517         (extendhisi2, extendqisi2): Rename to
14518         (extendhisi2_compact, extendqisi2_compact).
14519         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
14520         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
14521         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
14522         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
14523         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
14524         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
14525         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
14526         (shmedia32_initialize_trampoline_big): Likewise.
14527         (shmedia32_initialize_trampoline_little): Likewise.
14528         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
14529         (negdi2): Remove spurious T clobber.
14530         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
14531         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
14532         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
14533         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
14534         (ic_invalidate_line_media): Write back data cache before invalidating
14535         instruction cache.  Add type.
14536         (movsf_media): Sign-extend when the destination is a general
14537         purpose register.  Add type.
14538         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
14539         (casesi_worker_0+1): Only increment ref count for proper label.
14540         (casesi_worker_0+2): Likewise.
14541
14542 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
14543
14544         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
14545
14546 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
14547
14548         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
14549         from Pmode to ptr_mode.
14550         (get_exception_pointer): Ditto.
14551         (connect_post_landing_pads): Ditto.
14552         (dw2_build_landing_pads): Ditto.
14553
14554 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
14555         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
14556         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
14557         (handle_pragma_redefine_extname): Change to use new function.
14558
14559 2002-07-08  Roger Sayle  <roger@eyesopen.com>
14560
14561         * combine.c (combine_simplify_rtx): Add an explicit cast
14562         to avoid signed/unsigned comparison warning.
14563         (simplify_if_then_else): Likewise.
14564         (extended_count): Likewise.
14565         (simplify_shift_const): Likewise.
14566         (simplify_comparison): Likewise.
14567
14568 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
14569
14570         * config/mips/mips.md: Add imadd type.  Update scheduler description
14571         to use imadd as well as imul.
14572         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
14573         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
14574         (*mul_sub_si): Likewise for first alternative.  Change second
14575         alternative from imul to multi.
14576
14577 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
14578
14579         * c-common.c (c_common_post_options): Update prototype;
14580         don't init backends if preprocessing only.
14581         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
14582         * langhooks.h (struct lang_hooks): Update post_options to
14583         return a boolean.
14584         * toplev.c (parse_options_and_default_flags, do_compile,
14585         lang_independent_init): Update prototypes.  Allow the
14586         front end to specify that there is no need to initialize
14587         the back end.
14588         (general_init): Move call to hex_init here...
14589         (toplev_main): ...from here.  Pass flag for back end init
14590         suppression.
14591
14592 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
14593
14594         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
14595         (PREDICATE_CODES): Add entries for equality_comparison_operator,
14596         greater_comparison_operator and less_comparison_operator.
14597         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
14598         more operators.
14599         (equality_comparison_operator): New function.
14600         (greater_comparison_operator, less_comparison_operator): Likewise.
14601         * sh.md (beq_media_i): Disable generator function generation.
14602         Use match_operator to handle a whole class of comparisons.  Add
14603         modifier in output template to provide branch prediction.  Add type.
14604         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
14605         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
14606         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
14607         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
14608
14609 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
14610
14611         Emit MMIX function prologue and epilogue as rtl.
14612         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
14613         not unprototyped get_hard_reg_initial_val.
14614         ("call_value", "nonlocal_goto_receiver"): Ditto.
14615         ("return"): Make define_expand.  Move real insn to...
14616         ("*expanded_return"): New pattern.
14617         ("prologue", "epilogue"): New define_expands.
14618         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
14619         (struct machine_function): New member in_prologue.
14620         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
14621         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
14622         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
14623         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
14624         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
14625         (LOCAL_REGNO): Define.  Adjust comment.
14626         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
14627         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
14628         leaf_function_p.
14629         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
14630         the prologue.
14631         (mmix_target_asm_function_prologue): Make static.  Just mark that
14632         the prologue is being emitted.  Move guts to...
14633         (mmix_expand_prologue): New function.  Adjust for emitting
14634         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
14635         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
14636         \n.  Move guts to...
14637         (mmix_expand_epilogue): New function.  Adjust for emitting
14638         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
14639         (mmix_target_asm_function_end_prologue): Mark that the prologue
14640         has ended.
14641         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
14642         (mmix_conditional_register_usage): Improve comments.
14643         (mmix_local_regno): New function.
14644         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
14645         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
14646         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
14647         (mmix_get_hard_reg_initial_val): Ditto.
14648
14649 2002-07-06  Andreas Jaeger  <aj@suse.de>
14650
14651         * toplev.c (set_fast_math_flags): Don't use ISO C style function
14652         definitions.
14653         * gengtype.c (open_base_files): Likewise.
14654         (close_output_files): Likewise.
14655         * tracer.c (find_best_predecessor): Likewise.
14656         (find_best_successor): Likewise.
14657         (ignore_bb_p): Likewise.
14658
14659 2002-07-05  Roger Sayle  <roger@eyesopen.com>
14660
14661         PR c++/7099
14662         * builtin-attrs.def: Define new attribute lists for use in
14663         builtins.def.
14664         * builtins.def [DEF_BUILTIN]: Modify to take an additional
14665         ATTRS argument, an enumerated value defined in builtin-attrs.def
14666         that represents the attribute list for the builtins.  Modify
14667         all builtin functions to pass an appropriate attribute list.
14668         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
14669         their required noreturn attributes.
14670         * tree.h (enum_builtin_function): Ignore the additional parameter
14671         to DEF_BUILTIN.
14672         * builtins.c (built_in_names): Likewise.
14673         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
14674         argument with a tree representing the functions attribute list.
14675         Pass this "attrs" argument to builtin_function.  No longer handle
14676         the noreturn_p processing manually.
14677         (built_in_attributes): Move the definitions from builtin-attrs.def
14678         before c_common_nodes_and_builtins.
14679         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
14680         DEF_BUILTIN, passing it to both builtin_function and the changed
14681         builtin_function_2.
14682
14683         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
14684         __builtin__exit and __builtin__Exit.
14685
14686 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
14687
14688         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
14689         QI mode registers in soft registers.
14690         ("zero_extendqihi2"): Do not take into account soft registers
14691         for register allocation (use '*' constraint).
14692
14693 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
14694
14695         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
14696         it is dead.
14697         ("*ashrsi3"): Likewise.
14698         ("*lshrsi3"): Likewise.
14699
14700 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
14701
14702         * genautomata.c (output_max_insn_queue_index_def): Take latencies
14703         into account.
14704
14705 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
14706
14707         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
14708         address computation and memory moves.
14709
14710 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
14711
14712         PR c++/6706
14713         * dwarfout.c (output_reg_number): Fix warning message.
14714         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
14715         before using it.
14716
14717 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14718
14719         * gcc/gcc.c (asm_debug): Move initialization ...
14720         (init_spec): ... here.
14721
14722 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
14723
14724         * c-parse.in (extdef): Append ';'.
14725         (old_style_parm_decls): Append ';'.
14726
14727 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
14728
14729         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
14730         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
14731         to gcc_cv_as_gstabs_flag.
14732         * configure: Rebuilt.
14733
14734 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
14735
14736         * ggc.h (ggc_add_root): Document as obsolete.
14737
14738 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
14739
14740         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
14741         (mshflo_w): Likewise.
14742
14743 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
14744
14745         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
14746         vector mode subregs of constants to finding integer mode
14747         subregs of constants.
14748         * cse.c (cse_insn): Use simplify_gen_subreg.
14749         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
14750         From a vector mode expression of different size than the
14751         target mode.
14752
14753 2002-07-03  Eric Christopher  <echristo@redhat.com>
14754
14755         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
14756         * config/mips/mips.h: Remove deprecated -m<processor> options
14757         and cc1_cpu_spec associated.
14758         (CONSTANT_ADDRESS_P): Fix last patch.
14759         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
14760         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
14761         sunge_sf): Remove.
14762
14763 2002-07-03  Stan Shebs  <shebs@apple.com>
14764
14765         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
14766         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
14767         (CPP_SPEC): Remove insertion of APPLE_CC definition.
14768
14769 2002-07-03  Roger Sayle  <roger@eyesopen.com>
14770
14771         * combine.c (struct_undo): Change types of recorded substitutions
14772         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
14773         (do_SUBST_INT): Change types of the substitution from unsigned int
14774         to int, to avoid compilation warning from SUBST_INT's only caller.
14775
14776         (make_extraction): Add cast to avoid compilation warning.
14777         (force_to_mode): Remove cast to avoid compilation warning.
14778
14779 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
14780             Jeff Law  <law@redhat.com>
14781
14782         * i386.md (length_immediate attribute): Fix typo.
14783         (length_address attribute): Likewise.
14784         (modrm attribute): Set it to 0 for immediate call instructions.
14785         (jcc_1 pattern): Set modrm attribute to 0.
14786         (jcc_2 pattern ): Likewise.
14787         (jump pattern): Likewise.
14788         (doloop_end_internal pattern): Explicitly set length.
14789         (leave pattern): Fix typo.
14790         (leave_rex64 pattern): Likewise.
14791
14792 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
14793
14794         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
14795         in FPR as preference.
14796         (fctiwz): Same.
14797         (floatdidf2, fix_truncdfdi2): Same.
14798         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
14799         (floatditf2): Same.
14800         (floatsitf2, fix_trunctfsi2): SImode in GPR.
14801         (ctrdi): Remove FPR alternative and splitter.
14802
14803 2002-07-03  Will Cohen  <wcohen@redhat.com>
14804
14805         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
14806
14807 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
14808
14809         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
14810         than UNITS_PER_WORD, unless this is little endian and the first unit
14811         in this word.  Let extract_bit_field decide how to load an element.
14812         Force arguments to matching mode.
14813         (expand_vector_unop): Likewise.
14814
14815         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
14816         consist of word_mode elements.
14817         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
14818         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
14819         (build_unary_op): Allow vector types for BIT_NOT_EPR.
14820         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
14821         CONST_VECTOR.
14822         * optabs.c (expand_vector_binop): Try to perform operation in
14823         smaller vector modes with same inner size.  Add handling of AND, IOR
14824         and XOR.  Reject expansion to inner-mode sized scalars when using
14825         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
14826         (expand_vector_unop): Try to perform operation in smaller vector
14827         modes with same inner size.  Add handling of one's complement.
14828         When there is no vector negate operation, try a vector subtract
14829         operation.  Use simplify_gen_subreg on constants.
14830         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
14831         constants into smaller vectors with same inner mode, and to
14832         integer CONST_DOUBLEs.
14833
14834 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14835
14836         * c-parse.in (parsing_iso_function_signature): New variable.
14837         (extdef_1): New, copied from...
14838         (extdef): ... here.  Reset parsing_iso_function_signature.
14839         (old_style_parm_decls):  Reset parsing_iso_function_signature.
14840         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
14841         Warn about ISO C style function definitions.
14842         (nested_function, notype_nested_function): Reset
14843         parsing_iso_function_signature.
14844         (parmlist_2): Set parsing_iso_function_signature.
14845
14846         * doc/invoke.texi (-Wtraditional): Document new behavior.
14847
14848 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
14849
14850         * config.gcc (mips*el-*-*): Use tm_defines to set
14851         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
14852         * config/mips/little.h: Remove.
14853
14854 2002-07-02 Devang Patel <dpatel@apple.com>
14855
14856         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
14857         object as parameter. Prevent something like 'NSObject' to be
14858         used as the type for a method argument.
14859
14860 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
14861
14862         * cpptrad.c: Update comment.
14863
14864 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
14865
14866         * doc/cpp.texi: Update for traditional preprocessing changes.
14867         * goc/cppopts.texi: Similarly.
14868
14869 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
14870
14871         * c-parse.in (designator): Enable designated initializers if ObjC.
14872         (objcmessageexpr): Remove references to objc_receiver_context.
14873         * objc/objc-act.h (objc_receiver_context): Remove decl.
14874         * objc/objc-act.c (objc_receiver_context): Remove.
14875         (lookup_objc_ivar): Test objc_method_context instead of
14876         objc_receiver_context.
14877
14878 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
14879
14880         * sh.c (print_operand, case 'N'): Allow zero vector.
14881         (arith_reg_or_0_operand): Likewise.
14882         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
14883         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
14884         IOR, XOR, PLUS and SET and take their respective constant
14885         ranges into account.
14886         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
14887         * sh.md (subdi3, subdi3_media): Allow zero operand.
14888         (movv8qi_i+3): Only vector that is not split is the zero vector.
14889         Fix operand 3 to simplify_subreg.
14890         (movv2si_i): Split alternative 1.
14891         (mshfhi_l_di_rev+1): New splitter.
14892
14893 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
14894
14895         PR preprocessor/7029
14896         * cppinit.c (cpp_handle_option):  Suppress warnings with an
14897         implicit "-w" for "-M" and "-MM".
14898         * doc/cppopts.texi: Update.
14899
14900 2002-07-01  Roger Sayle  <roger@eyesopen.com>
14901
14902         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
14903         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
14904         builtin_function.
14905
14906 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
14907
14908         * README.Portability: Fix typos.
14909
14910 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
14911
14912         PR target/7177
14913         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
14914         of indirections for register inside sign-extended mem part.
14915
14916 2002-07-01  Roger Sayle  <roger@eyesopen.com>
14917
14918         * tree.h:  Modify builtin_function interface to take an extra
14919         argument ATTRS, which is a tree representing an attribute list.
14920
14921         * c-decl.c (builtin_function): Accept additional parameter.
14922         * objc/objc-act.c (builtin_function): Likewise.
14923         * f/com.c (builtin_function): Likewise.
14924         * java/decl.c (builtin_function): Likewise.
14925         * ada/utils.c (builtin_function): Likewise.
14926         * cp/decl.c (builtin_function): Likewise.
14927         (builtin_function_1): Likewise.
14928
14929         * c-common.c (c_common_nodes_and_builtins): Pass an additional
14930         NULL_TREE argument to builtin_function.  (builtin_function_2):
14931         Likewise.
14932         * cp/call.c (build_java_interface_fn_ref): Likewise.
14933         * objc/objc-act.c (synth_module_prologue): Likewise.
14934         * java/decl.c (java_init_decl_processing): Likewise.
14935         * f/com.c (ffe_com_init_0): Likewise.
14936
14937         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
14938         NULL_TREE argument to builtin_function.
14939         * config/arm/arm.c (def_builtin): Likewise.
14940         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
14941         * config/i386/i386.c (def_builtin): Likewise.
14942         * config/ia64/ia64.c (def_builtin): Likewise.
14943         * config/rs6000/rs6000.c (def_builtin): Likewise.
14944
14945 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
14946
14947         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
14948         * config/mips/t-isa3264: Likewise.
14949         * config/mmix/t-mmix: Likewise.
14950
14951 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14952
14953         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
14954
14955 2002-07-01  Roger Sayle  <roger@eyesopen.com>
14956
14957         PR opt/4046
14958         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
14959         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
14960         B are truth values.
14961
14962 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
14963
14964         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
14965
14966 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
14967
14968         * README.Portability (Function prototypes): Give an example of
14969         declaring and defining a function with no arguments.
14970
14971         * README.Portability (Function prototypes): Document new
14972         variable-argument function macros.
14973
14974 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
14975
14976         * sh.c (langhooks.h): Include.
14977         (sh_init_builtins, sh_media_init_builtins): New functions.
14978         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
14979         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
14980         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
14981         (builtin_description): New struct tag.
14982         (signature_args, bdesc): New arrays.
14983         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
14984         (print_operand): Add 'N' modifier.
14985         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
14986         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
14987         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
14988         (CONST_COSTS): Add special case for SHmedia AND.
14989         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
14990         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
14991         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
14992         target_operand can also be const or unspec.
14993         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
14994         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
14995         (attribute type): Add new types.
14996         (anddi3): Add splitter.
14997         (movdi_const_16bit+1): Add code to handle vector constants and
14998         bitmasks efficiently.
14999         (shori_media): Have generator function made.
15000         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
15001         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
15002         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
15003         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
15004         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
15005         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
15006         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
15007         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
15008         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
15009         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
15010         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
15011         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
15012         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
15013         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
15014         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
15015         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
15016         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
15017         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
15018         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
15019         (ftrv): Likewise.
15020
15021         (fpu_switch+1, fpu_switch+2): Remove constraint.
15022
15023 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
15024
15025         * tree.c (build_function_type_list): Update function comment.
15026         Rename first argument to return_type.
15027
15028 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
15029
15030         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
15031         tradcif.y and related files.
15032
15033 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
15034
15035         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
15036
15037 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15038
15039         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
15040
15041 See ChangeLog.7 for earlier changes.