OSDN Git Service

Mark pr last change.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-08-30  Richard Henderson  <rth@redhat.com>
2
3         PR opt/7515
4         * c-objc-common.c: Include target.h.
5         (c_cannot_inline_tree_fn): Don't auto-inline functions that
6         don't bind locally.  Factor setting DECL_UNINLINABLE.
7         * Makefile.in (c-objc-common.o): Update.
8
9 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
10
11         * doc/install.texi (Configuration, Building): Fix a typo and
12         some formatting directives.
13
14 2002-08-30  Paul Koning <pkoning@equallogic.com>
15
16         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
17         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
18         implemented" note.
19         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
20         for alphabetic order.
21         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
22         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
23         (VAX_HALFWORD_ORDER): Document.
24         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
25         IEEE float format.
26         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
27         (ASM_OUTPUT_LABEL_REF): Fix font.
28         (CASE_VECTOR_SHORTEN_MODE): Ditto.
29
30 2002-08-30  Denis Chertykov  <denisc@overta.ru>
31
32         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
33         stuff.
34         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
35         CONST_DOUBLE constants.
36         
37 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
38
39         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
40         related defines to...
41         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
42         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
43         as a no-op.
44
45 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
46
47         * config/arm/arm.c (arm_asm_output_labelref): New function.
48         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
49         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
50
51 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
52
53         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
54         memory exhausted" workarounds.
55
56 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
57
58         * diagnostic.c (fancy_abort): Don't repeat "internal error".
59         * toplev.c (crash_signal): Likewise.
60
61 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
62
63         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
64         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
65         Extended, updated documentation.
66         (-Wundeclared-selector): Documented.
67
68 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
69
70         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
71         the value 1.  Do not undef before defining.
72         * config/darwin.h: Likewise.
73         * config/dbx.h: Likewise.
74         * config/dbxcoff.h: Likewise.
75         * config/dbxelf.h: Likewise.
76         * config/elfos.h: Likewise.
77         * config/interix.h: Likewise.
78         * config/lynx-ng.h: Likewise.
79         * config/lynx.h: Likewise.
80         * config/netware.h: Likewise.
81         * config/psos.h: Likewise.
82         * config/svr3.h: Likewise.
83         * config/alpha/alpha.h: Likewise.
84         * config/alpha/elf.h: Likewise.
85         * config/alpha/vms.h: Likewise.
86         * config/arc/arc.h: Likewise.
87         * config/arm/aout.h: Likewise.
88         * config/arm/coff.h: Likewise.
89         * config/c4x/c4x.h: Likewise.
90         * config/h8300/h8300.h: Likewise.
91         * config/i386/cygwin.h: Likewise.
92         * config/i386/djgpp.h: Likewise.
93         * config/i386/gas.h: Likewise.
94         * config/i386/gstabs.h: Likewise.
95         * config/i386/i386-coff.h: Likewise.
96         * config/i386/i386-interix.h: Likewise.
97         * config/i386/sco5.h: Likewise.
98         * config/i386/svr3dbx.h: Likewise.
99         * config/i386/sysv3.h: Likewise.
100         * config/i386/win32.h: Likewise.
101         * config/i386/x86-64.h: Likewise.
102         * config/i960/i960.h: Likewise.
103         * config/ia64/ia64.h: Likewise.
104         * config/ip2k/ip2k.h: Likewise.
105         * config/m32r/m32r.h: Likewise.
106         * config/m68k/3b1.h: Likewise.
107         * config/m68k/3b1g.h: Likewise.
108         * config/m68k/ccur-GAS.h: Likewise.
109         * config/m68k/coff.h: Likewise.
110         * config/m68k/hp2bsd.h: Likewise.
111         * config/m68k/hp310g.h: Likewise.
112         * config/m68k/hp320g.h: Likewise.
113         * config/m68k/hp3bsd.h: Likewise.
114         * config/m68k/hp3bsd44.h: Likewise.
115         * config/m68k/linux-aout.h: Likewise.
116         * config/m68k/m68k-aout.h: Likewise.
117         * config/m68k/mot3300.h: Likewise.
118         * config/m68k/netbsd.h: Likewise.
119         * config/m68k/openbsd.h: Likewise.
120         * config/m68k/pbb.h: Likewise.
121         * config/m68k/plexus.h: Likewise.
122         * config/m68k/sun2.h: Likewise.
123         * config/m68k/sun3.h: Likewise.
124         * config/m68k/tower-as.h: Likewise.
125         * config/m68k/vxm68k.h: Likewise.
126         * config/m88k/aout-dbx.h: Likewise.
127         * config/m88k/m88k-aout.h: Likewise.
128         * config/mcore/mcore-elf.h: Likewise.
129         * config/mcore/mcore-pe.h: Likewise.
130         * config/mips/elf.h: Likewise.
131         * config/mips/elf64.h: Likewise.
132         * config/mips/iris5gas.h: Likewise.
133         * config/mips/iris6.h: Likewise.
134         * config/mips/mips.h: Likewise.
135         * config/mips/sni-gas.h: Likewise.
136         * config/mmix/mmix.h: Likewise.
137         * config/ns32k/netbsd.h: Likewise.
138         * config/pa/pa64-hpux.h: Likewise.
139         * config/romp/romp.h: Likewise.
140         * config/rs6000/sysv4.h: Likewise.
141         * config/rs6000/xcoff.h: Likewise.
142         * config/sh/coff.h: Likewise.
143         * config/sh/elf.h: Likewise.
144         * config/sparc/linux64.h: Likewise.
145         * config/sparc/liteelf.h: Likewise.
146         * config/sparc/netbsd.h: Likewise.
147         * config/sparc/openbsd.h: Likewise.
148         * config/sparc/pbd.h: Likewise.
149         * config/sparc/sp64-elf.h: Likewise.
150         * config/sparc/sp86x-elf.h: Likewise.
151         * config/sparc/sparc.h: Likewise.
152         * config/vax/vax.h: Likewise.
153         * config/vax/vaxv.h: Likewise.
154
155 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
156
157         * h8300.c (shift_alg_hi): Various tweaks to improve performance
158         of HImode shifts.
159         (get_shift_alg): Corresponding changes.
160
161 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
162
163         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
164
165 2002-08-29  Richard Henderson  <rth@redhat.com>
166
167         * expr.h (enum block_op_methods): New.
168         (emit_block_move): Update prototype.
169         * expr.c (block_move_libcall_safe_for_call_parm): New.
170         (emit_block_move_via_loop): New.
171         (emit_block_move): Use them.  New argument METHOD.
172         (emit_push_insn): Always respect the given alignment.
173         (expand_assignment): Update call to emit_block_move.
174         (store_expr, store_field, expand_expr): Likewise.
175         * builtins.c (expand_builtin_apply): Likewise.
176         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
177         * function.c (expand_function_end): Likewise.
178         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
179         * config/sparc/sparc.c (sparc_va_arg): Likewise.
180         * calls.c (expand_call, emit_library_call_value_1): Likewise.
181         (save_fixed_argument_area): Use emit_block_move with
182         BLOCK_OP_CALL_PARM instead of move_by_pieces.
183         (restore_fixed_argument_area): Likewise.
184         (store_one_arg): Fix alignment parameter to emit_push_insn.
185
186 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
187
188         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
189
190 2002-08-29  Catherine Moore  <clm@redhat.com>
191
192         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
193         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
194         (PREDICATE_CODES): Include new predicates.
195         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
196         (TARGET_SWITCHES):  Add strict-align.
197         (TARGET_STRICT_ALIGN): New.
198         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.    
199         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
200         Define.
201         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
202         v850_muldi3.
203         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
204         L_callt_save_r2_r31, L_return_r2_r31,
205         L_save_all_interrupt): Change addi to add.
206         (L_save_interrupt, L_return_interrupt): Rework.
207         (__return_r31):  Correct .size directive.
208         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
209         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
210         New routines.
211         * config/v850/v850.c (expand_prologue): Call
212         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
213         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
214         (reg_or_int9_operand): New predicate.
215         (reg_or_const_operand): New routine.
216         * config/v850/v850.md (return_interrupt): Changed from
217         restore_interrupt.
218         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
219         (callt_save_interrupt): Change save sequence.
220         (callt_return_interrupt): New.
221         (save_interrupt): Don't use runtime function for LONG_CALLS
222         and TARGET_PROLOG_FUNCTION.
223         (save_all_interrupt): Likewise.
224         (mulsi3): Use new predicate.
225         (moviscc): Disallow some combination of constants.
226         Fix define_split for sasf insns, so that it will not generate bad
227         code if operand0 and operand5 are the same.
228         * config/v850/v850-protos.h: Prototype new predicates.
229
230 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
231
232         * c-common.c (builtin_define_type_precision): New function.
233         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
234         wchar_t is unsigned in C++.
235         * doc/cpp.texi (Common Predefined Macros): Document
236         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
237         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
238         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
239
240 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
241
242         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
243         section.  Mention that it is enabled by -Wall.
244         (-Wall): Mention that there can be language-specific warnings as well.
245         (-Wctor-dtor-privacy): Mention that it is enabled by default.
246         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
247
248 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
249
250         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
251         if it is ever live.
252
253         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
254         attribute for SHCOMPACT.
255
256         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
257         appropriately.
258         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
259         by the ABI.
260
261         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
262
263 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
264
265         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
266         "MASK_GAS|MASK_ABICALLS".
267         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
268         (TARGET_DEFAULT): Remove.
269         (MACHINE_TYPE): Undefine before defining.
270         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
271
272 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
273
274         * c-common.c (warn_abi): New variable.
275         * c-common.h (warn_abi): Likewise.
276         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
277         (c_common_decode_option): Handle it.
278         * doc/invoke.texi: Document -Wabi.
279         
280 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
281
282         * c-common.c (warn_undeclared_selector): New variable.
283         * c-common.h (warn_undeclared_selector): Idem.
284         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
285         to on when -Wundeclared-selector is found.
286         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
287         * objc/objc-act.c (build_selector_expr): If
288         warn_undeclared_selector is set, check that the selector has
289         already been defined, and emit a warning if not.
290
291 2002-08-27  Nick Clifton  <nickc@redhat.com>
292             Catherine Moore  <clm@redhat.com>
293             Jim Wilson  <wilson@cygnus.com>
294
295         * config.gcc: Add v850e-*-* target.
296         Add --with-cpu= support for v850.
297         * config/v850/lib1funcs.asm: Add v850e callt functions.
298         * config/v850/v850.h: Add support for v850e target.
299         * config/v850/v850.c: Add functions to support v850e target.
300         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
301         * config/v850/v850.md: Add patterns for v850e instructions.
302         * doc/invoke.texi: Document new v850e command line switches.
303
304 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
305                           Aldy Hernandez <aldyh at redhat dot com>
306
307         * doc/tm.texi: Applied numerous fixes to the automaton based
308         scheduler descrition.
309
310 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
311
312         * i386.c (classify_argument): Handle variable sized objects.
313
314 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
315
316         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
317
318 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
319
320         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
321
322 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
323
324         * i386.c (classify_argument): Properly compute word size of the analyzed object.
325
326 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
327
328         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
329         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
330         accordingly.
331         (attribute insn_class): Provide default definitions based on type.
332         Remove all insn-specific settings.
333         (various function units): Remove old SH4 scheduling.
334         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
335         New attributes.  Set them where appropriate.
336         (cpu unit FS): Don't define / use.
337         (F3, load_store): New cpu units.
338         (F01): New reservation.
339         (all insn_reservations): Make dependent on sh4 pipeline model.
340         Fix latencies.
341         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
342         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
343         (mt insn_reservation): Use type mt_group.
344         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
345         sh4_fload and sh4_store.
346         (insn_reservation branch_zero and branch): Replace with sh4_branch.
347         (insn_reservation branch_far): Replace with sh4_return.
348         (insn_reservation return_from_exp): Rename to:
349         (sh4_return_from_exp).  Change to be just d_lock*5.
350         (insn_reservation lds_to_pr): Rename to:
351         (sh4_lds_to_pr).  Change to be just d_lock*2.
352         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
353         d_lock*2.
354         (insn_reservation prload_mem): Rename to:
355         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
356         (insn_reservation fpscr_store): Rename to:
357         (fpscr_load).  Change to d_lock,nothing,F1*3.
358         (insn_reservation fpscr_store_mem): Rename to:
359         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
360         (insn_reservation multi): Change to
361         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
362         (insn_reservation fp_arith): Change to issue,F01,F2.
363         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
364         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
365         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
366         (insn_reservation fp_double_cmp): Change to
367         d_lock,(d_lock+F01),F1+F2,F2.
368         (insn_reservation dp_div): Change to
369         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
370         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
371         (sh_adjust_cost, SHcompact): Differentiate between different
372         kinds of dependencies.  Drop factor of ten for superscalar.
373         Use new instruction types.  Add new exception rules.
374
375         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
376
377         * sh.md (mperm_w): Add DONE.
378
379 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
380
381         * longlong.h: Import current PowerPC defintion from GMP-4.1.
382
383         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
384
385         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
386
387 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
388
389         * sh.h (MAX_FIXED_MODE_SIZE): Define.
390
391 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
392
393         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
394         delimiter. 
395
396 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
397
398         * c-common.c (cpp_define_data_format): New function.
399         (cb_register_builtins): Call it.
400
401         * doc/cpp.texi (Common Predefined Macros): Document
402         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
403         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
404         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
405         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
406         __TARGET_USES_VAX_H_FLOAT__.
407
408 2002-08-26  Ziemowit Laski <zlaski@apple.com>
409
410         * objc/objc-act.c (get_super_receiver): If inside a class method
411         of a category, cast the receiver to 'id' before accessing the 'isa'
412         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
413
414 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
415
416         * config/s390/s390-protos.h (s390_function_prologue, 
417         s390_function_epilogue): Remove.
418         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
419         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
420
421         config/s390/s390.c (s390_machine_dependent_recorg): New function.
422         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
423         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
424         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
425         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
426
427         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always 
428         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
429         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
430         function is not a leaf function.  Use save_gprs and restore_gprs.
431         (s390_emit_epilogue): Likewise.
432         (save_gprs, restore_gprs): New functions.
433         (struct s390_frame): Remove return_reg_saved_p member.
434         (save_fprs_p): Remove.
435         (s390_optimize_prolog): New function.
436         (s390_legitimate_reload_constant): Remove now unnecessary check.
437
438         (s390_function_count): Remove.
439         (s390_output_symbolic_const): Replace s390_function_count by
440         current_function_funcdef_no.
441         (s390_output_constant_pool): Likewise.
442
443         (legitimize_pic_address): Use regs_ever_live to track PIC register
444         instead of current_function_uses_pic_offset_table.
445         (s390_emit_prologue): Likewise.
446         config/s390/s390.md ("call", "call_value"): Likewise.
447
448 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
449
450         * c-opts.c (find_opt): Don't complain about wrong languages
451         here.  Return exact matches even for wrong language.
452         (c_common_decode_option): Complain about wrong languages
453         here.
454
455 2002-08-24  Stuart Hastings  <stuart@apple.com>
456
457         * function.h (struct function): Add flag
458         all_throwers_are_sibcalls.
459         * except.c (set_nothrow_function_flags): Replaces
460         nothrow_function_p. Set new flag.
461         * except.h (set_nothrow_function_flags): Replaces
462         nothrow_function_p.
463         * dwarf2out.c (struct dw_fde_struct): Add flag
464         all_throwers_are_sibcalls.
465         (output_call_frame_info): Test it.
466         (dwarf2out_begin_prologue) Propagate it from cfun to
467         dw_fde_struct.
468         * toplev.c (rest_of_compilation): Update calls to
469         nothrow_function_p.
470
471 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
472
473         * ggc-page.c (compute_inverse): Short circuit calculation for
474         object sizes larger than half a page.
475
476 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
477
478         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
479         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
480         default.
481         (rs6000_elf_unique_section): Likewise.
482
483 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
484
485         * ns32k.c (ns32k_globalize_label): Delete.
486         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
487
488 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
489
490         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
491         for loading delta with num_insns_constant_wide.  Calculate
492         delta_low, delta_high without using a conditional.
493
494 2002-08-22  Jason Merrill  <jason@redhat.com>
495
496         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
497         * c-common.def: Adjust.
498         * c-dump.c (c_dump_tree): Adjust.
499         * c-semantics.c (genrtl_return_stmt): Adjust.
500         * c-pretty-print.c (pp_c_statement): Adjust.
501         * tree-inline.c (copy_body_r): Adjust.
502
503 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
504
505         * ggc-page.c: Avoid division in ggc_set_mark.
506         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
507         compute_inverse): New.
508         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
509         (init_ggc): Initialize inverse_table.
510
511 2002-08-22  Tom Tromey  <tromey@redhat.com>
512
513         * doc/install.texi (Configuration): Document --datadir.
514
515 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
516
517         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
518
519 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
520
521         * gengtype-lex.l (ID): Allow underscore as first character.
522
523 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
524
525         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
526         function.
527         (rs6000_xcoff_asm_named_section): Rename.
528         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
529
530 2002-08-21  Tom Tromey  <tromey@redhat.com>
531
532         For PR java/6005 and PR java/7611:
533         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
534         (fold): Likewise.
535         * langhooks.c (lhd_can_use_bit_fields_p): New function.
536         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
537         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
538         (LANG_HOOKS_INITIALIZER): Use it.
539         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
540         field.
541
542 2002-08-21  Stan Shebs  <shebs@apple.com>
543
544         * tree.c (finish_vector_type): Fix a typo in a comment.
545         * Makefile.in: Fix "the the" stutters in comments.
546         * genautomata.c: Ditto.
547         * ifcvt.c: Ditto.
548         * regrename.c: Ditto.
549         * config/alpha/alpha.c: Ditto.
550         * config/alpha/vms-crt0-64.c: Ditto.
551         * config/alpha/vms-crt0.c: Ditto.
552         * config/alpha/vms-psxcrt0-64.c: Ditto.
553         * config/alpha/vms-psxcrt0.c: Ditto.
554         * config/d30v/d30v.h: Ditto.
555         * config/fr30/fr30.h: Ditto.
556         * config/rs6000/rs6000.c: Ditto.
557         * config/stormy16/stormy16.h: Ditto.
558         * doc/md.texi: Ditto.
559
560 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
561
562         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
563
564 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
565
566         * c-decl.c (grokdeclarator): Make invalid combinations with long,
567         short, signed or unsigned into hard errors.  Fixes PR c/4319.
568         Also make duplicate modifiers such as "short short" into hard
569         errors.
570
571 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
572             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
573
574         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
575         to the actual end.  Add '@end table' and '@table @code'.
576
577 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
578
579         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
580
581         * unroll.c (biv_total_increment): Don't try to compute the total
582         increment for FP BIVs.
583
584 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
585
586         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
587         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
588         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
589         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
590         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
591         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
592         (GLOBAL_ASM_OP): Define.
593         * arm.c (aof_globalize_label): New function.
594         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
595         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
596         * c4x.c (c4x_globalize_label): New function.
597         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
598         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
599         (GLOBAL_ASM_OP): Define.
600         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
601         * darwin-protos.h (darwin_globalize_label): Declare.
602         * darwin.c (darwin_globalize_label): New function.
603         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
604         (ASM_GLOBALIZE_LABEL): Delete.
605         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
606         * dsp16xx.c (asm_output_common): Use target hook.
607         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
608         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
609         (GLOBAL_ASM_OP): Define.
610         * i370.c (i370_globalize_label): New function.
611         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
612         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
613         * i386.c (ix86_asm_file_end): Use target hook.
614         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
615         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
616         * ia64.c (ia64_asm_output_external): Likewise.
617         * ia64/sysv4.h: Update comment.
618         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
619         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
620         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
621         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
622         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
623         * mmix-protos.h (mmix_asm_globalize_label): Delete.
624         * mmix.c (mmix_asm_globalize_label): Likewise.
625         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
626         (GLOBAL_ASM_OP): Define.
627         * ns32k.c (ns32k_globalize_label): New function.
628         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
629         (ASM_GLOBALIZE_LABEL): Delete.
630         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
631         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
632         * pa.c (pa_globalize_label): New function.
633         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
634         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
635         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
636         (GLOBAL_ASM_OP): Define.
637         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
638         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
639         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
640         (GLOBAL_ASM_OP): Define.
641         * v850.c (v850_output_aligned_bss): Use target hook.
642         * vax.c (vms_globalize_label): New function.
643         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
644         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
645         (GLOBAL_ASM_OP): Define.
646         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
647         * doc/tm.texi: Update docs.
648         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
649         target hook.
650         * final.c (output_alternate_entry_point): Likewise.
651         * hooks.c (hook_FILEptr_constcharptr_void): New function.
652         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
653         * output.h (assemble_global): Delete.
654         (default_globalize_label): Declare.
655         * system.h (ASM_GLOBALIZE_LABEL): Poison.
656         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
657         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
658         * target.h (gcc_target): Add globalize_label member.
659         * varasm.c (asm_output_bss, asm_output_aligned_bss,
660         globalize_decl): Use target hook.
661         (assemble_global): Delete.
662         (default_globalize_label): New function.
663
664 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
665
666         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
667
668 2002-08-20  Devang Patel  <dpatel@apple.com>
669         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
670
671 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
672
673         * arc.c (output_shift): Use stdio instead of asm_fprintf.
674         * arm.c (thumb_output_function_prologue): Likewise.
675         * avr.c (print_operand): Likewise.
676         * c4x.c (c4x_print_operand): Likewise.
677         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
678         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
679         * cris.c (cris_target_asm_function_prologue,
680         cris_asm_output_mi_thunk): Likewise.
681         * h8300.c (print_operand): Likewise.
682         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
683         * ip2k.c (print_operand): Likewise.  Fix format specifier.
684         * m68hc11.c (asm_print_register, print_operand,
685         print_operand_address): Use stdio instead of asm_fprintf.
686         (print_operand_address): Fix format specifier.
687         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
688         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
689         asm_fprintf.
690         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
691         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
692         * m68k.c (m68k_output_function_prologue,
693         m68k_output_function_epilogue, print_operand): Likewise.
694         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
695         Likewise.  Fix format specifier.
696         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
697         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
698         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
699
700 2002-08-15  Eric Christopher  <echristo@redhat.com>
701             Jeff Knaggs  <jknaggs@redhat.com>
702
703         * config.gcc (mipsisa64sr71k-elf): New target.
704         * config/mips/sr71k.md: New file.
705         * config/mips/mips.md: Use it.
706         (rot*): Add sr71k specifics.
707         * config/mips/t-sr71k: New file.
708         * config/mips/mips.h (sr71k): New cpu.
709         (TARGET_SR71K): Use it.
710         (TUNE_SR71K): Ditto.
711         (GENERATE_BRANCHLIKELY): Ditto.
712         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
713         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
714         * config/mips/mips.c (sr71k): New cpu.
715         (mips_use_dfa_pipeline_interface): Use.
716
717 2002-08-15  Eric Christopher  <echristo@redhat.com>
718             Richard Sandiford <rsandifo@redhat.com>
719             Aldy Hernandez  <aldyh@redhat.com>
720             Graham Stott    <grahams@redhat.com>
721             Michael Meissner  <meissner@redhat.com>
722             Gavin Romig-Koch  <gavin@redhat.com>
723             Ken Raeburn  <raeburn@cygnus.com>
724             Alexandre Oliva <aoliva@redhat.com>
725
726         * config.gcc (mips64vr-elf): New target.
727         * config/mips/5400.md: New file.
728         * config/mips/5500.md: Ditto.
729         * config/mips/mips.md: Use them.
730         (frsqrt): New.
731         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
732         cpus.
733         (mips_issue_rate): Use them.
734         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
735         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
736         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
737         cpus.
738         (TARGET_MIPSx): Use them.
739         (TUNE_MIPSx): Ditto.
740         (GETNATE_MULT3_SI): Ditto.
741         (ISA_HAS_BRANCHLIKELY): Ditto.
742         (ISA_HAS_CONDMOVE): Ditto.
743         (ISA_HAS_NMADD_NMSUB): Ditto.
744         (ISA_HAS_MULHI): New. Ditto.
745         (ISA_HAS_MULS): Ditto.
746         (ISA_HAS_MSAC): Ditto.
747         (ISA_HAS_MACC): Ditto.
748         (ISA_HAS_ROTR_SI): Ditto.
749         (ISA_HAS_ROTR_DI): Ditto.
750         (RTX_COSTS): Use.
751
752 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
753
754         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
755         at head.
756         (remove_dup_nonsys_dirs): New function.
757         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
758         (merge_include_chains): Remove non-system include directories from
759         quote and bracket include chains when they duplicate equivalent system
760         directories.
761         * doc/cpp.texi (-I): Update.
762         * doc/cppopts.texi (-I): Update.
763         * doc/install.texi (--with-local-prefix): Further document usage of
764         this option.
765         * doc/invoke.texi (-I): Update.
766
767 2002-08-20  Richard Henderson  <rth@redhat.com>
768
769         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
770         (emit_block_move): Split out subroutines.
771         (emit_block_move_via_movstr): New.
772         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
773         (emit_block_move_libcall_fn): New.  Construct function prototype for
774         bcopy as well.
775         (clear_storage): Split out subroutines.
776         (clear_storage_via_clrstr): New.
777         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
778         (clear_storage_libcall_fn): New.  Construct function prototype for
779         bzero as well.
780         (emit_push_insn): Use emit_block_move.
781         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
782         (store_constructor): Likewise.
783
784 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
785
786         * objc/objc-act.c (building_objc_message_expr): Rename to
787         current_objc_message_selector.
788
789 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
790
791         * objc/objc-act.c (build_ivar_chain): Remove.
792         (objc_copy_list): Likewise.
793         (get_class_ivars): Inline call to removed build_ivar_chain
794         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
795         slot; use that slot (rather than CLASS_IVARS) when accessing
796         ivars for base classes.  Call copy_list and chainon instead of
797         objc_copy_list.
798         (build_private_template): Call get_class_ivars instead of
799         build_ivar_chain.
800         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
801         (continue_class): Call get_class_ivars instead of
802         build_ivar_chain.
803         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
804         of DECL_BIT_FIELD (which may have been cleared).
805         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
806
807 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
808
809         * genautomata.c (output_translate_vect, output_state_ainsn_table,
810         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
811         in output file.
812         (output_internal_min_issue_delay_func): Initialize variable in
813         output file.
814
815 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
816
817         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
818         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
819
820 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
821             Steve Ellcey  <sje@cup.hp.com>
822
823         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
824         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
825         * explow.c (trunc_int_for_mode): Abort when the mode is not
826         a scaler integer mode.
827         * combine.c (expand_compound_operation): Don't expand Vector
828         or Complex modes into shifts.
829         (expand_field_assignment): Don't do bitwise arithmatic and
830         shifts on Vector or Complex modes.
831         (simplify_comparison): Don't call trunc_int_for_mode
832         for VOIDmode.
833         * recog.c (general_operand): Likewise.
834         (immediate_operand): Likewise.
835         (nonmemory_operand): Likewise.
836
837 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
838
839         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
840         multi-instruction SImode constant.  Add REG_EQUAL note.
841         * config/rs6000/rs6000.md (movsi splitter): Use
842         rs6000_emit_set_const.
843
844 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
845
846         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
847         the macro test controlling its use.
848
849 2002-08-18  H.J. Lu  (hjl@gnu.org)
850
851         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
852         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
853         gnu_ld=yes.
854         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
855         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
856         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
857         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
858         here.
859         (cris-*-linux*): Remove setting thread_file here.
860
861 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
862
863         PR preprocessor/7602
864         * cppinit.c (path_include): Treat the system environment
865         variables as being cxx_aware.
866
867 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
868
869         * c-decl.c (flexible_array_type_p): New function.
870         (grokdeclarator, finish_struct): Use it.
871         * doc/extend.texi: Document constraints on use of structures with
872         flexible array members.
873
874 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
875
876         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
877         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
878         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
879
880 2002-08-16  Stan Shebs  <shebs@apple.com>
881
882         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
883         for ObjC with -fnext-runtime.
884         * doc/cpp.texi: Document it.
885
886 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
887
888         * doc/install.texi (Final installation): Replace links to individual
889         build status pages with a link to a common page that lists them all.
890
891 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
892
893         * doc/invoke.texi: Fix typo.
894
895 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
896
897         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
898
899 2002-08-16  Andrew Haley  <aph@redhat.com>
900
901         * tree-inline.c: Add includes for Java inliner.
902         (remap_decl): Don't handle anonymous types for Java.
903         (remap_block): Add handling for Java trees.
904         (copy_scope_stmt): Conditionalize for non-Java use only.
905         (copy_body_r): Handle Java trees.  Add handling for
906         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
907         (initialize_inlined_parameters):  Handle Java trees.
908         (declare_return_variable): Likewise.
909         (expand_call_inline): Handle Java trees.
910         (walk_tree): Likewise.
911         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
912         (add_stmt_to_compound): New function.
913
914 2002-08-15  Richard Henderson  <rth@redhat.com>
915
916         * Makefile.in (LOOSE_WARN): Remove -fno-common.
917         (NOCOMMON_FLAG): New substitution point.
918         (GCC_WARN_CFLAGS): Include it.
919         * configure.in (ac_checking): Set nocommon_flag.
920         (nocommon_flag): New substitution point.
921
922 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
923
924         * c-tree.h (skip_evaluation): Move declaration...
925         * c-common.h: ... here.
926         * c-typeck.c (build_external_ref): Don't assemble_external nor
927         mark a tree as used if skip_evaluation is set.
928         * c-parse.in (typeof): New non-terminal to set skip_evaluation
929         around TYPEOF.
930         (typespec_nonreserved_nonattr): Use it.
931
932 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
933
934         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
935         (xcoff_debug_hooks): Update end_prologue.
936         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
937         * debug.h (end_prologue): Add file arg.
938         (end_epilogue): Add line and file args.
939         (dwarf2out_end_epilogue): Add line and file args.
940         (vmsdbgout_after_prologue): Remove.
941         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
942         (dwarf2_debug_hooks): Update end_prologue.
943         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
944         (dwarfout_end_prologue): Add file arg.
945         * final.c (vmsdbgout_after_prologue): Remove
946         (final_end_function): Update end_epilogue call.
947         (final_scan_insn): Update end_prologue call.
948         * sdbout.c (sdbout_end_epilogue): Add line and file args.
949         (sdbout_end_prologue): Add file arg.
950         (sdb_debug_hooks): Update end_prologue.
951         (sdb_begin_prologue): Update sdbout_end_prologue call.
952         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
953         vmsdbgout_end_function.
954         (vmsdbgout_end_prologue): New function renamed from
955         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
956         (vmsdbgout_end_function): New function.
957         (vmsdbgout_end_epilogue): Add line and file args. Call
958         vmsdbgout_source_line.
959         (write_pclines): Write only valid line numbers.
960         (write_srccorr): Don't write source correlation records if 0 lines.
961         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
962
963 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
964
965         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
966         (_Unwind_Internal_Ptr): 32 bit version for use in
967         read_encoded_value_with_base.
968         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
969         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
970         right size.
971
972 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
973
974         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
975         signed/unsigned warnings.
976
977         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
978         record_reg_classes): Likewise.
979
980         * reload.c (reload_inner_reg_of_subreg, push_reload,
981         find_reloads_address_1): Likewise.
982
983 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
984
985         * rs6000.c (output_mi_thunk): Return to function section on
986         TARGET_ELF.
987
988         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
989
990 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
991
992         * config/s390/s390.c (legitimize_address): Optimize loading
993         of large displacements.
994
995 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
996
997         * config/alpha/alpha-protos.h: Update.
998
999         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
1000         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
1001         (alpha_linkage_symbol_p): New static function.
1002         (print_operand_address): Print linkage operand.
1003
1004         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
1005         variables.
1006         (reloc_kind): New enum.
1007         (struct alpha_funcs): New struct.
1008         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
1009
1010         (alpha_need_linkage): Rewrite.
1011         (alpha_use_linkage): New global function.
1012         (alpha_write_linkage): Rewrite and make static.
1013         (alpha_write_one_linkage): Rewrite
1014
1015         (alpha_start_function): Remove procedure descriptor output.
1016         (alpha_end_function): Write linkages at end of each function.
1017
1018         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
1019         (call_vms_1, call_value_vms_1): Rewrite.
1020
1021         * config/alpha/vms.h (ASM_FILE_END): Remove.
1022
1023 2002-08-14  Richard Henderson  <rth@redhat.com>
1024
1025         * ggc-page.c (RTL_SIZE): New.
1026         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
1027         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
1028
1029 2002-08-14  Richard Henderson  <rth@redhat.com>
1030
1031         * calls.c: Include target.h.
1032         * Makefile.in (calls.o): Update.
1033
1034         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
1035         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
1036
1037 2002-08-14  Richard Henderson  <rth@redhat.com>
1038
1039         * Makefile.in (LOOSE_WARN): Add -fno-common.
1040         * c-common.h (constant_string_class_name): Add missing extern.
1041
1042 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
1043
1044         PR preprocessor/7358
1045         * c-opts.c (check_deps_environment_vars): Ignore main file
1046         for SUNPRO_DEPENDENCIES.
1047         * cppfiles.c (stack_include_file): Ignore main file if
1048         appropriate.
1049         * cpplib.h (struct cpp_options): New member in deps.
1050         * doc/cppenv.texi: Update.
1051
1052 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
1053
1054         PR preprocessor/7526
1055         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
1056
1057 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
1058
1059         * doc/invoke.texi (-a): Remove documentation.
1060         (-fprofile-arcs): Remove reference to -a, -ax options.
1061         * doc/gcov.texi (Gcov Data Files): Data might be merged.
1062
1063 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
1064
1065         Fix PR/7566
1066         * c-semantics.c (genrtl_case_label): Don't (mis)use
1067         warning_with_decl.
1068
1069 2002-08-14  Dale Johannesen  <dalej@apple.com>
1070
1071         * explow.c (emit_stack_restore):  Emit memory clobbers
1072         preceding the stack pop, to prevent the scheduler from
1073         moving refs to variable arrays below this pop.
1074         * reload1.c (reload):  Preserve these clobbers for sched2.
1075         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
1076
1077 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
1078
1079         * c-opts.c (c_common_post_options): Correct test.
1080
1081 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1082
1083         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
1084         order in call to fprintf.
1085
1086 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1087
1088         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
1089
1090 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
1091
1092         * reload.c (find_reloads): Handle constraint letters marked by
1093         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
1094         (alternative_allows_memconst): Likewise.
1095         * reload1.c (maybe_fix_stack_asms): Likewise.
1096         * recog.c (asm_operand_ok, preprocess_constraints,
1097         constrain_operands): Likewise.
1098         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1099         * local-alloc.c (block_alloc, requires_inout): Likewise.
1100         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1101
1102         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
1103         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1104         * doc/tm.texi: Document these two new target macros.
1105
1106         * config/s390/s390.c (s390_expand_plus_operand): Accept already
1107         valid operands.
1108         (q_constraint): New function.
1109         config/s390/s390-protos.h (q_constraint): Declare it.
1110         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
1111         (EXTRA_MEMORY_CONSTRAINT): New macro.
1112
1113         * config/s390/s390.md: Throughout the machine description,
1114         replace all instances of the constraint combinations 'Qo'
1115         or 'oQ' with simply 'Q'.
1116
1117 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
1118
1119         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
1120         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
1121         (LIBGCC2_CFLAGS): Compile with -mrelax.
1122
1123 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
1124
1125         * doc/invoke.texi: Document -minmax for 68HC12.
1126
1127         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
1128         ("uminqi3"): Likewise.
1129         ("uminhi3", "umaxhi3"): Likewise.
1130
1131         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
1132         (TARGET_MIN_MAX): Define.
1133         (TARGET_SWITCHES): New option -minmax/-mnominmax.
1134
1135 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
1136
1137         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
1138         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
1139
1140         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
1141         (ret, declare, farsym): New gas macros.
1142         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
1143         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
1144         and declare the symbol far when compiled with -mlong-calls.
1145         (__far_trampoline): New for 68HC12 trampoline code to invoke a
1146         far handler using jsr/bsr.
1147
1148         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
1149         (jsr): New macro to transform a 'jsr' into a 'call'.
1150
1151 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
1152
1153         * doc/invoke.texi: Document -mlong-calls for 68HC12.
1154
1155         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
1156         -mlong-calls is specified.
1157         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
1158         assembler directives.
1159         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
1160         (TARGET_SWITCHES): Add -mlong-calls options.
1161         (current_function_far): Declare.
1162
1163         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
1164         into account the page register saved on the stack.
1165         (m68hc11_override_options): Take into account -mlong-calls option.
1166         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
1167
1168         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
1169         if the function is going to be in 68HC12 banked memory (-mlong-calls).
1170         ("*return_16bit"): Likewise.
1171         ("*return_void"): Likewise.
1172         ("call", "call_value"): Use call for a far function call.
1173
1174 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
1175
1176         * toplev.c (parse_options_and_default_flags): Don't call
1177         post_options here.
1178         (general_init): Initialize GC, pools and tree hash here,
1179         instead of lang_independent_init.
1180         (lang_independent_init): Rename backend_init.
1181         (do_compile): Call post_options hook; exit early if there
1182         have been errors after switch processing.
1183         (toplev_main): Update.
1184
1185 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
1186
1187         * c-pretty-print.h: Guard against multiple inclusion.
1188         Robustify macros.
1189         (pp_c_attributes): Declare.
1190         * c-pretty-print.c (pp_c_attributes): New function.
1191
1192 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1193
1194         * m68k.c (m68k_output_function_prologue,
1195         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
1196         and NEWS/MOTOROLA.
1197         * genattrtab.c: Remove dpx2 comment.
1198         * libgcc2.c (__enable_execute_stack): Delete versions for
1199         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
1200         sony_news/SYSTYPE_BSD.
1201         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
1202         __gmicro__, __i860__, __NeXT__ and __pyr__.
1203         * rtl.h: Remove convex comment.
1204         * varasm.c: Likewise.
1205
1206 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1207
1208         * c-opts.c (lang_flags): Const-ify.
1209         * ra-build.c (undef_table): Likewise.
1210         * ra.c (eliminables): Likewise.
1211
1212 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
1213
1214         * tree.h: Guard against multiple inclusion.
1215
1216 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
1217
1218         * reload1.c (reload_cse_simplify): Before checking
1219         REG_FUNCTION_VALUE_P, check REG_P.
1220
1221 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
1222
1223         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
1224
1225 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
1226
1227         * c-opts.c (c_common_init_options): Extra braces needed.
1228
1229 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
1230
1231         * sh.c (sh_init_builtins): Add PARAMS to declaration.
1232         (sh_media_init_builtins, sh_expand_builtin): Likewise.
1233         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
1234         (sh_expand_binop_v2sf): Likewise.
1235         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
1236         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
1237         (sh_initialize_trampoline): Likewise.
1238
1239 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
1240
1241         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
1242         new condition code modes.
1243         s390.c (s390_match_ccmode_set): Handle those new CC modes.
1244         (s390_select_ccmode): Likewise.
1245         (s390_branch_condition_mask): Likewise.
1246
1247         * s390-protos.h (s390_tm_ccmode): Declare.
1248         s390.c (s390_tm_ccmode): New function.
1249         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
1250
1251         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
1252         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
1253         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
1254
1255         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
1256         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
1257         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
1258         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
1259         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
1260
1261         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
1262         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
1263         "*cmpqi_ccs_0"): Remove, replace by ...
1264         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
1265         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
1266         "*tstqi", "*tstqi_cconly"): ... these new patterns.
1267
1268         ("*cmpsidi_ccs"): Remove, replace by ...
1269         ("*cmpsi_ccs_sign"): ... this new pattern.
1270         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
1271
1272         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
1273         ("*cli"): ... this new pattern.
1274
1275         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
1276         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
1277         New patterns.
1278         ("adddi3_64"): Rename to "*adddi3_64".
1279         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
1280         ("adddi3"): Adapt expander.
1281
1282         ("*addsi3_cc"): Allow "general_operand" for operand 2.
1283         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
1284         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
1285
1286         ("addhi3", "addqi3"): Remove, replace by ...
1287         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
1288
1289         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
1290         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
1291         ("subdi3"): Replace by insn and splitter "*subdi3_31".
1292         ("subdi3"): New expander.
1293
1294         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
1295
1296         ("subhi3", "subqi3"): Remove, replace by ...
1297         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
1298
1299         ("*muldi3_sign"): New pattern.
1300         ("muldi3"): Do not clobber CC.
1301         ("mulsi3"): Likewise.
1302         ("mulsi_6432"): Likewise.
1303
1304 2002-08-13  Denis Chertykov  <denisc@overta.ru>
1305
1306         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
1307         which can change CC0.
1308
1309 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
1310
1311         * gcse.c (adjust_libcall_notes): New function.
1312         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
1313
1314 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
1315
1316         * libgcc2.c (L_bb): Remove unneeded #includes.
1317         (__global_counters, __gthreads_active): Remove unused globals.
1318         (__bb_exit_func): Merge counts into files rather than appending.
1319         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
1320         (ALL_CFLAGS): ... to here.
1321
1322 2002-08-13  Denis Chertykov  <denisc@overta.ru>
1323
1324         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
1325         (function_epilogue): Don't calculate function size.
1326         (ip2k_set_compare): Don't use lookup_const_double.
1327         (asm_file_start): Initialization of commands_in_file removed.
1328         (asm_file_end): Output of commands_in_file removed.
1329
1330         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
1331         __INT_MAX__.
1332
1333 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
1334
1335         * c-opts.c (c_common_init_options): Check option array is
1336         sorted if checking enabled.
1337
1338 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
1339
1340         * c-pretty-print.c: #include "c-tree.h".
1341         (pp_c_simple_type_specifier): Tweak.
1342         (pp_c_storage_class_specifier): New.
1343         (pp_c_function_specifier): Likewise.
1344         (pp_c_declaration_specifiers): Likewise.
1345         (pp_c_init_declarator): Likewise.
1346         (pp_c_declaration): Likewise.
1347         (pp_c_direct_declarator): Stub.
1348         (pp_c_declarator): Likewise.
1349         (pp_c_parameter_declaration): Likewise.
1350
1351 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
1352
1353         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
1354         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
1355         struct deferred_opt): New.
1356         (COMMAND_LINE_OPTIONS): Add -M*.
1357         (missing_arg): Update.
1358         (c_common_decode_option): Handle -M*.
1359         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
1360         don't call cpp_post_options.
1361         (c_common_finish, check_deps_environment_vars): Update.
1362         * cppfiles.c (stack_include_file, handle_missing_header): Update.
1363         * cpphash.h (CPP_PRINT_DEPS): Remove.
1364         * cppinit.c: Don't include version.h.
1365         (cpp_create_reader): Don't call deps_init.  Initialize
1366         warn_long_long.
1367         (cpp_read_main_file): Init deps if necessary.
1368         (cpp_destroy): Conditionally free deps.
1369         (cpp_finish): Update.
1370         (no_tgt): Remove.
1371         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
1372         (cpp_post_options): Rename post_options.
1373         * cpplib.h (struct cpp_options): Remove some dependency options;
1374         move others to a new structure.
1375         (cpp_post_options): Remove.
1376         (cpp_finish): Comment.
1377         * fix-header.c (read_scan_file): Don't call cpp_post_options.
1378
1379 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
1380
1381         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
1382         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
1383         MMIX_rR_REGNUM as clobbered.
1384         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
1385
1386 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
1387
1388         * diagnostic.h (output_formatted_scalar): Rename from
1389         output_formatted_integer.
1390         * diagnostic.def: Add DK_DEBUG.
1391         * diagnostic.c (output_decimal): Adjust.
1392         (output_long_decimal): Likewise.
1393         (output_unsigned_decimal): Likewise.
1394         (output_octal): Likewise.
1395         (output_long_octal): Likewise.
1396         (output_hexadecimal): Likewise.
1397         (output_long_hexadecimal): Likewise.
1398         * c-pretty-print.c (pp_c_type_specifier): New function.
1399         (pp_c_specifier_qualifier_list): Likewise.
1400         (pp_c_abstract_declarator): Likewise.
1401         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
1402
1403 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
1404
1405         * doc/trouble.texi (Disappointments): Add static constructor and
1406         destructor dependency information for AIX.
1407
1408 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
1409
1410         * cpphash.h (struct printer): New from cppmain.c.
1411         (cpp_reader): New member.
1412         * cppmain.c (struct printer): Move to cpphash.h.
1413         (options, print): Remove.
1414         (account_for_newlines, print_line, maybe_print_line,
1415         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
1416         scan_translation_unit_trad, cb_line_change, cb_ident,
1417         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
1418         cb_def_pragma): Make reentrant.
1419
1420 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1421
1422         * real.c (ieee_64): Always define.
1423         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
1424         (dec_h): Not used yet, hide it.
1425         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
1426         macro controlling use.
1427         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
1428
1429 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
1430
1431         * i386.md (tablejump): Sign extend the operand.
1432         * i386.c (classify_argument): Fix missed case from previous patch.
1433
1434 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
1435
1436         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
1437         to c-copts.c.
1438         (warn_multichar): Die.
1439         (cb_register_builtins): Export.
1440         * c-common.h (warn_multichar, preprocess_file): Remove.
1441         (cb_register_builtins): New.
1442         * c-lang.c (c_init): Remove.
1443         (LANG_HOOKS_INIT): Use c_objc_common_init.
1444         * c-lex.c (init_c_lex): Don't canonicalize filename.
1445         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
1446         (preprocess_file): Make static.  Update for cpplib.
1447         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
1448         (c_common_post_options): Set some cpp options here.
1449         (c_common_init): Move from c-common.c.
1450         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
1451         * cpplib.h (struct cpp_options): Remove in_fname.
1452         (cpp_preprocess_file): Update.
1453         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
1454
1455 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1456
1457         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
1458
1459 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1460
1461         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
1462         backslash in comment preceeding macro definition.
1463         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
1464         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
1465         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
1466
1467 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
1468
1469         * expr.c (store_expr): In condition for checking if value is
1470         generated in TARGET, move call to expr_size last.
1471
1472 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
1473
1474         * c-common.c (c_common_init): Call preprocess_file instead.
1475         (c_common_finish): Move to c-opts.c.
1476         * c-common.h (preprocess_file): new.
1477         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
1478         check_deps_environment_vars, c_common_finish): New.
1479         (c_common_decode_option): Update for out_fname and dependencies.
1480         * cppinit.c (init_dependency_output, output_deps): Remove.
1481         (cpp_destroy): Update prototype.
1482         (cpp_add_dependency_target): New.
1483         (cpp_read_main_file): Don't overlay a buffer.
1484         (cpp_finish): Take a deps output stream and write deps to it.
1485         Return the error count.
1486         (cpp_post_options): Don't canonicalize out_fname, or do anything
1487         with dependencies.
1488         * cpplib.h (struct cpp_options): Remove out_fname and
1489         preprocess_only.
1490         (cpp_add_dependency_target): New.
1491         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
1492         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
1493         set preprocess_only.  Don't handle the output stream directly.
1494
1495 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1496
1497         * dsp16xx.c (print_operand): Fix format specifier.
1498         * dsp16xx.md: Avoid automatic aggregate initialization.
1499         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
1500         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
1501         integer constant modifier.
1502         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
1503         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
1504         guards.
1505         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
1506         * v850.c (v850_select_section): Mark parameter with
1507         ATTRIBUTE_UNUSED.
1508         * global.c (global_alloc): Const-ify.
1509         * ra-colorize.c (hardregset_to_string): Fix format specifier.
1510
1511 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1512
1513         * darwin-c.c (darwin_pragma_options): Const-ify.
1514         * darwin.c (machopic_non_lazy_ptr_name,
1515         machopic_validate_stub_or_non_lazy_ptr): Likewise.
1516         (machopic_indirect_data_reference): Wrap variables in macros
1517         controlling their use.
1518         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
1519         (machopic_select_section): Use parentheses around && within ||.
1520         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
1521
1522 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1523
1524         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
1525         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
1526         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
1527         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
1528         mdr_try_remove_redundant_insns, track_w_reload,
1529         mdr_try_wreg_elim): Make function static to match prototype.
1530         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
1531         parameter with ATTRIBUTE_UNUSED.
1532
1533 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1534
1535         * arc.c (arc_init): Don't use ISO C style function definitions.
1536         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
1537         arm_get_strip_length, arm_strip_name_encoding): Likewise.
1538         * avr.h (progmem_section): Likewise.
1539         * h8300.c h8300_asm_insn_count): Likewise.
1540         * m32r.c (init_idents): Likewise.
1541         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
1542         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
1543         * xtensa.c (xtensa_build_va_list): Likewise.
1544
1545 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
1546
1547         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
1548         * c-opts.c (parse_option): Rename find_opt.
1549         (set_std_c99): New function.
1550         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
1551         (missing_arg): Remove OPT_std_bad.  Handle -o.
1552         (c_common_decode_option): Handle input and output file names,
1553         -o and -remap.  Clean up -std= handling.
1554         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
1555         (cpp_handle_option): Similarly.  Don't handle filenames.
1556
1557 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
1558
1559         * i386.c (classify_argument): Fix computing of field's offsets.
1560
1561 2002-08-11  Andreas Jaeger  <aj@suse.de>
1562
1563         PR target/7531:
1564         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
1565
1566 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
1567
1568         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
1569         reference to clk_objective_c with flag_objc.
1570         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
1571         Likewise.
1572         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
1573
1574 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
1575
1576         * c-opts.c (set_std_cxx98, set_std_c89): New.
1577         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
1578         (c_common_decode_option): Handle new switches from cppinit.c.
1579         Add -std=gnu++98.
1580         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
1581         (no_arg, no_num): Remove.
1582         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
1583         switches apart from -lang-objc and lang-asm.
1584         (cpp_handle_option): Similarly.
1585         * cpplib.h (cpp_set_lang): New.
1586         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
1587         -std=gnu++98.
1588         * objc/lang-specs.h: Remove -ansi.
1589
1590 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
1591                                Graham Stott
1592
1593         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
1594         errors.
1595
1596 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1597
1598         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
1599         emit_jump_insn): Fix uninitialized variable.
1600         * gcov.c (init_line_info): Likewise.
1601         * genautomata.c (transform_3): Add braces around ambiguous
1602         else.
1603         * ifcvt.c (cond_exec_process_insns): Mark parameter with
1604         ATTRIBUTE_UNUSED.
1605         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
1606         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
1607         variable.
1608
1609         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
1610         warnings in output files.
1611
1612 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
1613
1614         * c-common.c (flag_objc): New.
1615         * c-common.h (c_language_kind): Get rid of clk_objective_c
1616         enum value.
1617         (flag_objc): New extern declaration.
1618         * c-decl.c (implicitly_declare): Call objc_check_decl
1619         instead of maybe_objc_check_decl.
1620         (finish_decl): Likewise.
1621         (grokfield): Likewise.
1622         (finish_struct): Likewise.
1623         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
1624         (maybe_objc_comptypes): Rename to objc_comptypes.
1625         (maybe_building_objc_message_expr): Rename to
1626         objc_message_selector.
1627         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
1628         replace with flag_objc as needed.
1629         * c-opts.c (c_common_init_options): Likewise.
1630         (c_common_decode_option): Likewise.
1631         * c-parse.in (init_reswords): Likewise.
1632         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
1633         (maybe_objc_comptypes): Rename to objc_comptypes.
1634         (maybe_building_objc_message_expr): Rename to
1635         objc_message_selector.
1636         * c-typeck.c (comptypes): Call objc_comptypes instead of
1637         maybe_objc_comptypes, and/or objc_message_selector instead of
1638         maybe_building_objc_message_expr.
1639         (comp_target_types): Likewise.
1640         (convert_for_assignment): Likewise.
1641         (warn_for_assignment): Likewise.
1642         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
1643         independently of those for other languages.
1644         * objc/objc-act.c (maybe_objc_comptypes): Delete.
1645         (maybe_objc_check_decl): Delete.
1646         (maybe_building_objc_message_expr): Rename to
1647         objc_message_selector.
1648         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
1649         clk_objective_c; set flag_objc flag.
1650
1651 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
1652
1653         * ifcvt.c (find_if_case_2): Test correct basic block for size.
1654
1655 2002-08-09  Dale Johannesen  <dalej@apple.com>
1656
1657         * config/rs6000/rs6000.md: Add sibcall patterns.
1658         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
1659         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
1660         Rewritten to handle sibcalls.
1661         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
1662         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
1663
1664 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
1665
1666         * profile.c (da_file_name): New static var.
1667         (init_branch_prob): Initialize it.
1668         (end_branch_prob): Remove da file.
1669
1670         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
1671         * configure.in (coverage_flags): Default to nothing.
1672         * configure: Rebuilt.
1673
1674 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
1675
1676         * Makefile.in (c-opts.o): Update
1677         * c-opts.c: Include intl.h.
1678         (print_help): Move from cppinit.c.  Remove unused options.
1679         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
1680         (missing_arg): Complain for switches without an argument.
1681         (c_common_decode_option): Reject missing joined arguments.
1682         Handle new switches from cppinit.c.
1683         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
1684         (cpp_handle_option): Similarly.
1685         (print_help): Moved to c-opts.c.
1686         * cpplib.h (struct cpp_options): Remove help_only.
1687         * gcc.c (cpp_unique_options): Remove -$.
1688         * doc/cppopts.texi: Undocument -h.
1689
1690 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
1691
1692         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
1693         legitimate constant.
1694         (legitimate_pic_operand_p): Neither pic operand.
1695         (legitimate_address_p): But legitimate address.
1696         (get_thread_pointer): Generate MEM/u instead of CONST around
1697         UNSPEC_TP.
1698         (print_operand): Remove printing of UNSPEC_TP.
1699         (print_operand_address): And print it here.
1700
1701 2002-08-08  Devang Patel  <dpatel@apple.com>
1702
1703         * objc/objc-act.c (build_selector_translation_table): Issue warning,
1704         when  -Wselector is used,if method for which selector is being
1705         created does not exist.
1706
1707 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
1708
1709         * config/sh/sh.c (prepare_move_operands): Only call
1710         target_reg_operand if TARGET_SHMEDIA.
1711
1712 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
1713
1714         * config/rs6000/rs6000.h, config/rs6000/aix.h,
1715         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
1716         two patches.
1717         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
1718
1719 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
1720             Richard Henderson  <rth@redhat.com>
1721
1722         * emit-rtl.c (gen_rtx_REG): After reload, only return
1723         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
1724
1725 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
1726
1727         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
1728         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
1729         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
1730         macro.
1731
1732 2002-08-08  Adam Nemet  <anemet@lnxw.com>
1733
1734         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
1735         register.
1736         (thumb_expand_prologue): Likewise.
1737         (thumb_output_function_prologue): Likewise.
1738         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
1739         the additional push of the PIC register.
1740
1741 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
1742
1743         * configure.in (enable_coverage): New enable switch.
1744         * configure: Rebuilt.
1745         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
1746         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
1747         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
1748         (mostlyclean): Remove coverage files.
1749         * doc/install.texi: Document enable_coverage.
1750
1751         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
1752         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
1753         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
1754         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
1755         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
1756         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
1757         files.
1758
1759 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
1760
1761         * c-opts.c (cpp_opts): New.
1762         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
1763         (c_common_decode_options): Handle cpplib switches.
1764         (c_common_init_options): Set cpp_opts.
1765         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
1766         (cpp_handle_option): Similarly.
1767
1768 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
1769
1770         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
1771         (TARGET_ALTIVEC_ABI): Same.
1772         (TARGET_ALTIVEC_VRSAVE): Same.
1773
1774         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
1775         icode not CODE_FOR_nothing.  Change switch to if.
1776
1777 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
1778
1779         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
1780
1781 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
1782
1783         * stor-layout.c (place_union_field): For bitfields if
1784         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
1785         TYPE_USER_ALIGN.
1786
1787 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1788
1789         * pa.c (struct deferred_plabel): Constify name field.
1790
1791 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
1792
1793         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
1794
1795 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1796
1797         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
1798         local_prefix are the same.
1799         * configure: Rebuilt.
1800
1801 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
1802             Richard Henderson  <rth@redhat.com>
1803
1804         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
1805         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
1806         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
1807         (place_field): Likewise.
1808         * config/i386/i386.c (x86_field_alignment): Don't check
1809         DECL_USER_ALIGN here.
1810         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
1811         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
1812         prototype.
1813         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
1814         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
1815         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
1816         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
1817         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
1818         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
1819
1820 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
1821
1822         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
1823         * c-common.c: Don't include tree-inline.h.
1824         (c_common_init_options, c_common_post_options): Move to c-opts.c.
1825         * c-common.h (c_common_decode_option): New.
1826         * c-decl.c (c_decode_option): Remove.
1827         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
1828         * c-opts.c: New file.
1829         * c-tree.h (c_decode_option): Remove.
1830         * doc/passes.texi: Update.
1831         * objc/objc-act.c (objc_decode_option): Remove.
1832         * objc/objc-act.h (objc_decode_option): Remove.
1833         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
1834         c_common_decode_option.
1835
1836 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
1837
1838         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
1839         dependency on TARGET_DOUBLE_FLOAT.
1840
1841 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
1842
1843         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
1844         overwrite callee-save registers.  Fix comment.
1845
1846 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
1847
1848         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
1849         in target_flags based on ISA, if it was not set on the command
1850         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
1851         support Branch Likely instructions.
1852         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
1853         (TARGET_BRANCHLIKELY): Likewise.
1854         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
1855         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
1856         ISA_HAS_BRANCHLIKELY.
1857         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
1858         * doc/invoke.texi: Document new MIPS -mbranch-likely and
1859         -mno-branch-likely options.
1860
1861 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1862
1863         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
1864
1865         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
1866         $(GCONFIG_H).
1867
1868 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
1869
1870         * c-decl.c (duplicate_decls): Error out for incompatible TLS
1871         declarations.
1872
1873         * testsuite/gcc.dg/tls/diag-3.c: New.
1874
1875 2002-08-06  Jason Merrill  <jason@redhat.com>
1876
1877         * c-common.c (c_expand_expr) [STMT_EXPR]: If the last expression is
1878         a VAR_DECL with RTL that matches the target, just return that RTL.
1879
1880 2002-08-06  Dale Johannesen  <dalej@apple.com>
1881         * c-common.c (fname_decl): Use line number 0 for
1882         __func__, to avoid confusing debuggers.
1883
1884 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
1885
1886         * gcov.c: Tidy.
1887         (struct line_info, struct coverage): New structures.
1888         (gcov_file_name, gcov_file): Remove globals.
1889         (output_data): Take source file parameter. Fix memory leak. Break
1890         up into ...
1891         (init_line_info, output_line_info, make_gcov_file_name,
1892         accumulate_branch_counts): ... here.
1893         (calculate_branch_probs, function_summary): Adjust.
1894         (main): Adjust.
1895         (function_*): Remove global variables.
1896
1897 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
1898
1899         * dwarf2out.c: Remove unused macros.
1900
1901 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
1902
1903         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
1904
1905 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
1906
1907         * cppinit.c (struct lang_flags): Rename trigraphs std.
1908         (set_lang): Update.
1909         * cpplib.h (struct cpp_options): New member std.
1910         * cppmacro.c (_cpp_builtin_macro_text): Use std.
1911         (collect_args): Flag whether to swallow a possible future
1912         comma pasted with varargs.
1913         (replace_args): Use this flag.
1914         * doc/cpp.texi: Update varargs extension documentation.
1915
1916 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
1917
1918         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
1919
1920 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
1921
1922         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
1923         and MODE_CLASS_INT modes.
1924
1925 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
1926
1927         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
1928         --{enable,disable}-threads is given to configure.
1929         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
1930         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
1931         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
1932         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
1933         Remove thread_file setting here.
1934
1935 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
1936
1937         * doc/install.texi (Binaries): Update Bull Freeware URL.
1938
1939 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1940
1941         * doc/gcc.texi (Top): Rename Index to Keyword Index.
1942
1943 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
1944
1945         * gcov.c (output_data): Round to % to nearest, tweak formatting.
1946
1947 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
1948
1949         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
1950         of the operands into MINUS_EXPR if code is PLUS_EXPR.
1951
1952 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
1953
1954         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
1955         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
1956         drectve_section): Define.
1957         * config/i386/t-interix: Replace interix.o rule with winnt.o.
1958         * config/i386/interix.c: Remove.
1959
1960 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
1961
1962         * attribs.c: Don't include obstack.h.
1963         * builtins.c: Likewise.
1964         * cfganal.c: Likewise.
1965         * cfgbuild.c: Likewise.
1966         * cfgcleanup.c: Likewise.
1967         * emit-rtl.c: Likewise.
1968         * loop.c: Likewise.
1969         * stmt.c: Likewise.
1970
1971         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
1972
1973 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
1974
1975         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
1976
1977 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
1978
1979         * doc/invoke.texi: Remove duplicated paragraph describing
1980         TARGET_SWITCHES.
1981
1982 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
1983
1984         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
1985         * collect2.h (permanent_obstack): Delete declaration.
1986         * collect2.c (permanent_obstack): Delete definition.
1987         (main): Don't initialise permanent_obstack.  Use xstrdup instead.
1988         * expr.c: Don't include obstack.h.
1989         (permanent_obstack): Delete declaration.
1990         * function.c: Don't include obstack.h.
1991         (permanent_obstack): Delete declaration.
1992         * integrate.c: Don't include obstack.h.
1993         (function_maybepermanent_obstack): Delete declaration.
1994         * print-tree.c (debug_tree): Use x*alloc not permalloc.
1995         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
1996         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
1997         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
1998         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
1999         of permalloc, expralloc, perm_calloc.
2000         * tree.c (permanent_obstack): Delete definition.
2001         (init_ttree): Rename from init_obstacks.
2002         (permalloc): Delete.
2003         (perm_calloc): Delete.
2004         (dump_tree_statistics): Don't print information about
2005         permanent_obstack.
2006         * varasm.c (assemble_start_function): Use xstrdup instead of
2007         permalloc/strcpy.
2008         (assemble_variable): Likewise.
2009         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
2010         permalloc.
2011         (unicosmk_add_extern): Likewise.
2012         * config/c4x/c4x.c (c4x_external_ref): Likewise.
2013         (c4x_global_label): Likewise.
2014         * config/frv/frv.c (frv_encode_section_info): Likewise.
2015         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
2016         (i386_pe_record_exported_symbol): Likewise.
2017         * config/mips/mips.c (mips_output_external): Likewise.
2018         (mips_output_external_libcall): Likewise.
2019         * config/pa/pa.c: (permanent_obstack): Delete declaration.
2020         (output_call): Use ggc_strdup instead of allocating on
2021         permanent_obstack.
2022         * config/romp/romp.c: Include ggc.h.
2023         (get_symref): Don't declare permanent_obstack, use ggc_strdup
2024         intead of permanent_obstack.
2025         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
2026         instead of permalloc.
2027         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
2028         instead of permalloc
2029         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
2030         instead of permalloc.
2031         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
2032         permalloc.
2033
2034 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
2035
2036         Contribute a port developed primarily by Michael Meissner,
2037         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
2038         * config.gcc: Add frv-elf target.
2039         * config/frv/cmovd.c: New file.
2040         * config/frv/cmovh.c: New file.
2041         * config/frv/cmovw.c: New file.
2042         * config/frv/frv-abi.h: New file.
2043         * config/frv/frv-asm.h: New file.
2044         * config/frv/frv-modes.def: New file.
2045         * config/frv/frv-protos.h: New file.
2046         * config/frv/frv.c: New file.
2047         * config/frv/frv.h: New file.
2048         * config/frv/frv.md: New file.
2049         * config/frv/frvbegin.c: New file.
2050         * config/frv/frvend.c: New file.
2051         * config/frv/lib1funcs.asm: New file.
2052         * config/frv/media.h: New file.
2053         * config/frv/modi.c: New file.
2054         * config/frv/t-frv: New file.
2055         * config/frv/uitod.c: New file.
2056         * config/frv/uitof.c: New file.
2057         * config/frv/ulltod.c: New file.
2058         * config/frv/ulltof.c: New file.
2059         * config/frv/umodi.c: New file.
2060         * config/frv/xm-frv.h: New file.
2061
2062         * config/frv/media.h: Removed again.
2063
2064 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
2065
2066         * gcov.c (bb_file_time): New static variable.
2067         (object_directory): May also be object file.
2068         (preserve_paths): New static variable.
2069         (print_usage): Adjust.
2070         (options): Adjust.
2071         (process_args): Adjust.
2072         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
2073         file. Find modification date on bb file.
2074         (read_profile): Don't rewind a NULL file.
2075         (format_hwint): New static function.
2076         (function_summary): Use format_hwint.
2077         (output_data): SOURCE_FILE_NAME is never relative to
2078         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
2079         mangling. Adjust output format to make it more machine readable.
2080         * doc/gcov.texi: Document & clarify semantics.
2081
2082 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
2083
2084         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
2085
2086 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
2087
2088         * gcc.c (cc1_options): Pass output file as auxbase when
2089         appropriate.
2090         * profile.c (init_branch_prob): FILENAME has already had ending
2091         stripped.
2092         * final.c (end_final): Likewise.
2093         * toplev.c (aux_base_name): New global.
2094         (compile_file): Pass aux_base_name to init init_branch_prob and
2095         end_final.
2096         (independent_decode_option, case 'a'): New auxinfo options.
2097         (case 'd'): Protect against mising basename.
2098         (do_compile): Initialize aux_base_name.
2099         * toplev.h (aux_base_name): New global.
2100         * doc/invoke.texi: Adjust documentation.
2101
2102 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
2103
2104         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
2105         of TARGET_ALIGN_DOUBLE.
2106
2107 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
2108
2109         * diagnostic.c (inform): New function.
2110         * diagnostic.h (inform): Declare.
2111
2112 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
2113
2114         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
2115         (movhi_internal): Same.
2116         (movqi_internal): Same.
2117         (movdi_internal64): Same.
2118
2119         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
2120
2121         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
2122         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
2123         (COMMON_ASM_OP): Define.
2124         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
2125         Use ALIGN parameter.
2126         (LOCAL_COMMON_ASM_OP): Define.
2127         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
2128
2129 2002-08-03  Roger Sayle  <roger@eyesopen.com>
2130
2131         * builtins.def: Define new builtin functions exp, expf, expl,
2132         log, logf and logl (and their __builtin_* variants).
2133         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
2134         Define exp_optab and log_optab.
2135         * optabs.c (init_optans): Initialize exp_optab and log_optab.
2136         * genopinit.c (optabs): Implement exp_optab and log_optab
2137         using exp?f2 and log?f2 patterns.
2138         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
2139         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
2140         (expand_builtin): Ignore the new builtins (and all cos and
2141         sin variants) when not optimizing.  Expand new builtins via
2142         expand_builtin_mathfn when flag_unsafe_math_optimizations.
2143
2144         * doc/extend.texi: Document new exp and log builtins.
2145         * doc/md.texi: Document new exp?f2 and log?f2 patterns
2146         (and previously undocumented cos?f2 and sin?f2 patterns).
2147
2148 2002-08-03  Jason Merrill  <jason@redhat.com>
2149
2150         * explow.c (int_expr_size): New fn.
2151         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
2152         * expr.h: Declare it.
2153
2154 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
2155
2156         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
2157         gengtype-* dependencies.
2158
2159 2002-08-02  Eric Christopher  <echristo@redhat.com>
2160
2161         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
2162         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
2163         #ifndef to #undef.
2164         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
2165
2166 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
2167
2168         PR optimize/7067
2169         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
2170         small if optimizing for size.
2171
2172 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
2173
2174         * configure.in (FORBUILD): Use $build_alias.
2175         * configure: Regenerated.
2176
2177 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
2178
2179         * config.gcc: Don't include mips/abi64.h in $tm_file.
2180         * hard-reg-set.h (call_really_used_regs): Declare.
2181         * config/mips/abi64.h: Remove file.
2182         * config/mips/linux.h,
2183         * config/mips/iris6.h: Don't include it.
2184         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
2185         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
2186         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
2187         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
2188         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
2189         Bring across definitions from abi64.h.
2190         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
2191         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
2192         (struct mips_args): Use it.
2193         * config/mips/mips.c (mips_conditional_register_usage): Define.
2194
2195 2002-08-02  Jason Merrill  <jason@redhat.com>
2196
2197         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
2198         * langhooks.c (lhd_expr_size): Define default.
2199         * langhooks.h (struct lang_hooks): Add expr_size.
2200         * explow.c (expr_size): Call it.
2201         * expr.c (store_expr): Don't copy an expression of size zero.
2202         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
2203         to store.
2204         * Makefile.in (builtins.o): Depend on langhooks.h.
2205
2206 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2207
2208         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
2209         * ra-debug.c: Include "tm_p.h".
2210         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
2211
2212 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
2213
2214         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
2215         when not honoring signalling NaNs.
2216         (simplify_ternary_operation): a == b has a definite value
2217         when not honoring NaNs.
2218
2219 2002-08-02  Jason Merrill  <jason@redhat.com>
2220
2221         * gdbinit.in (pct): New macro.
2222
2223 2002-08-01  Stan Shebs  <shebs@apple.com>
2224             Andreas Tobler  <toa@pop.agri.ch>
2225
2226         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
2227         plays nice with Darwin headers.
2228         (_BSD_RUNE_T_DEFINED_): Likewise.
2229
2230 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
2231
2232         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
2233         * cppinit.c (cpp_post_options): Likewise.
2234
2235         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
2236         warning about 'LL' suffix (but not 'ULL' etc) when
2237         -Wno-long-long is in effect.
2238
2239         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
2240         Check for failing time()/localtime(), issue a warning, and
2241         make __TIME__ and __DATE__ expand to fallback strings.
2242
2243         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
2244         and __TIME__ when the date and time cannot be determined.
2245
2246 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
2247
2248         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
2249
2250 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
2251
2252         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
2253
2254 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
2255
2256         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
2257         (mipsisa64sb1el-*-elf*): Likewise.
2258         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
2259         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
2260         (TARGET_SB1, TUNE_SB1): New macros.
2261         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
2262         -mtune flags.
2263
2264 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
2265
2266         * varasm.c (asm_emit_uninitialized): Return false if global BSS
2267         and ASM_EMIT_BSS not supported by target.
2268         (assemble_variable): Do not duplicate uninitialized logic.
2269         Fall through if asm_emit_uninitialized failed.
2270
2271 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
2272
2273         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
2274
2275 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
2276
2277         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
2278         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
2279
2280         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
2281         HOST_BITS_PER_WIDE_INT == 64.
2282
2283 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2284
2285         * df.c (df_insn_table_realloc): Change parameter to unsigned.
2286         * optabs.c (expand_binop): Make variable unsigned.
2287         * simplify-rtx.c (simplify_subreg): Likewise.
2288         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
2289
2290 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2291
2292         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
2293
2294 2002-08-01  Richard Henderson  <rth@redhat.com>
2295
2296         * toplev.c (parse_options_and_default_flags): Don't set
2297         flag_reorder_blocks for -Os.
2298
2299         * config/avr/avr.c (avr_optimization_options): Remove.
2300         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
2301         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
2302         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
2303
2304 2002-08-01  H.J. Lu <hjl@gnu.org>
2305             Richard Henderson  <rth@redhat.com>
2306
2307         * output.h (DECL_READONLY_SECTION): Remove.
2308         (decl_readonly_section): Declare.
2309         * varasm.c (decl_readonly_section): New.
2310         (default_section_type_flags, default_select_section): Use it.
2311         * config/arm/pe.c (arm_pe_unique_section): Likewise.
2312         * config/i386/interix.c (i386_pe_unique_section): Likewise.
2313         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
2314         * config/mcore/mcore.c (mcore_unique_section): Likewise.
2315         * config/mips/mips.c (mips_unique_section): Likewise.
2316
2317 2002-08-01  Richard Henderson  <rth@redhat.com>
2318
2319         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
2320         refers to a subroutine parameter.
2321
2322 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
2323
2324         * varasm.c (assemble_visibility): Strip name encoding.
2325
2326 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
2327
2328         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
2329         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
2330         when there is no frame pointer.
2331         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
2332         registers properly.
2333         * config/ns32k/__unorddf2.c: New file.
2334         * config/ns32k/__unordsf2.c: New file.
2335         * config/ns32k/t-ns32k: New file.
2336         * config.gcc (ns32k-*-netbsd*): Use it.
2337
2338 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
2339
2340         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
2341
2342 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
2343
2344         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
2345
2346 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
2347
2348         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
2349
2350 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
2351
2352         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
2353
2354 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2355
2356         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
2357         n_sets): Removed.
2358         (expr_hash_table, set_hash_table): Type changed to ...
2359         (struct hash_table): New type.
2360         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
2361         insert_expr_in_table, insert_set_in_table, compute_hash_table,
2362         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
2363         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
2364         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
2365         (alloc_hash_table): New.
2366         (free_set_hash_table, free_expr_hash_table): Merged to ...
2367         (free_hash_table): New.
2368         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
2369         (compute_hash_table_work): New.
2370         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
2371         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
2372         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
2373         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
2374         hoist_code, one_code_hoisting_pass,
2375         trim_ld_motion_mems): Altered due to changed type of hash tables.
2376
2377 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
2378
2379         * final.c (output_alternate_entry_point):
2380         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
2381
2382 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2383
2384         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
2385         avoid ISO C style function definition.
2386
2387         * expr.c (expand_assignment): Delete unused variable.
2388
2389 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
2390
2391         * c-common.c (cb_register_builtins): Set
2392         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
2393         is given, and to 0 otherwise.
2394         * combine.c (simplify_if_then_else): HONOR_NANS
2395         implies FLOAT_MODE_P.
2396
2397 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
2398
2399         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
2400         (cpp_handle_option): Don't handle it.
2401         (print_help): Update.
2402         * doc/cppopts.texi: Update.
2403
2404 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
2405
2406         * c-common.c (cb_register_builtins): If C++, define
2407         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
2408         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
2409 cp:
2410         * lang-specs.h: Simplify in accordance with new code in
2411         c-common.c.
2412
2413 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
2414
2415         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
2416         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
2417         * c-decl.c: Move all warning and flag variables to c-common.c.
2418         * c-format.c: Move all warning variables to c-common.c.
2419         * c-tree.h: Move all warning and flag declarations to c-common.h.
2420         * objc/objc-act.c: Move all warning variables to c-common.c.
2421         (flag_warn_protocol): Rename warn_protocol.
2422
2423 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2424
2425         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
2426
2427 2002-07-31  Graham Stott  <grahams@btinternet.com>
2428
2429         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
2430         .section prefix.
2431
2432 2002-07-31  Stan Shebs  <shebs@apple.com>
2433
2434         * config.gcc (i[34567]86-*-darwin*): New configuration.
2435         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
2436         defining.
2437         (TARGET_ENCODE_SECTION_INFO): Ditto.
2438         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
2439         * config/darwin.c (machopic_indirect_data_reference): Remove
2440         setting of RTX_UNCHANGING_P.
2441         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
2442         not to be applied to sums.
2443         * config/i386/t-darwin: New file.
2444         * config/i386/darwin.h: New file.
2445         * config/i386/i386.h (TARGET_MACHO): Add default definition.
2446         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
2447         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
2448         label and not the GOT add.
2449         (constant_address_p): For Mach-O, seeing a CONST is enough.
2450         (legitimate_pic_address_disp_p): Add a Mach-O case.
2451         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
2452         (legitimize_pic_address): Use generic Mach-O code to legitimize.
2453         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
2454         if outputting a difference.
2455         (ix86_output_addr_diff_elt): Add Mach-O case.
2456         (ix86_expand_move): Similarly.
2457         (ix86_expand_call): Similarly.
2458         (current_machopic_label_num): New global.
2459         (machopic_output_stub): New function.
2460         (ix86_value_regno): New function.
2461         (ix86_function_value): Use it instead of VALUE_REGNO.
2462         (ix86_libcall_value): Ditto.
2463         * config/i386/unix.h (VALUE_REGNO): Remove.
2464
2465 2002-07-31  Graham Stott  <grahas@btinternet.com>
2466
2467         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
2468         hash for LABEL_REF's.
2469
2470 2002-07-31  Graham Stott  <grahams@btinternet.com>
2471
2472         * config/rs6000/rs6000.c (spe_init_builtins,
2473         altivec_init_builtins, rs6000_common_init_builtins):
2474         Replace ANSI with K&R function def.
2475
2476 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
2477
2478         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
2479         for CCFPmode.
2480
2481 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
2482
2483         * config/mips/crtn.asm: Don't use __mips16 to determine the
2484         return-address offset.  Define RA to a suitable temporary
2485         register for the return address.
2486
2487 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
2488
2489         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
2490         constraints to 'd'.
2491
2492 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
2493
2494         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
2495         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
2496         patch on 2002-07-29.)
2497         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
2498
2499 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2500
2501         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
2502         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
2503         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
2504         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
2505         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
2506         (ASM_GLOBALIZE_LABEL): Delete.
2507         (GLOBAL_ASM_OP): Define.
2508
2509         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
2510
2511         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
2512         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
2513
2514 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
2515
2516         * doc/extend.texi (Hints implementation): Document that GCC
2517         mostly ignores `register'.
2518
2519 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
2520
2521         * flags.h: Declare flag_finite_math_only.
2522         Use it in definition of HONOR_NANS and
2523         HONOR_INFINITIES.
2524         * c-common.c (cb_register_builtins): Emit
2525         __FINITE_MATH_ONLY__ when flag_finite_math_only
2526         is set.
2527         * combine.c (simplify_if_then_else): If
2528         flag_finite_math_only is set, a == b has a
2529         definite value.
2530         * toplev.c: Initialize flag_finite_math_only.
2531         (set_flags_fast_math): Set it on -ffast-math.
2532         (flag_fast_math_set_p): Test it.
2533         * doc/invoke.texi: Document -ffinite-math-only.
2534
2535 2002-07-30  Richard Henderson  <rth@redhat.com>
2536
2537         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
2538         (noce_process_if_block): Likewise.
2539
2540 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
2541
2542         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
2543         Bail out early if false_expr is NULL and we'd crash due to this.
2544         * genemit.c (gen_expand): Recognize return insns even if the return
2545         appears in a parallel.
2546         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
2547         * config/fp-bit.c: Likewise.
2548         * doc/tm.texi: Document it.
2549
2550 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
2551             Zack Weinberg  <zack@codesourcery.com>
2552
2553         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
2554         CODE_FOR_nothing.  Change switch to if.
2555         (rs6000_expand_binop_builtin): Same.
2556         (rs6000_expand_builtin): Expand builtin if target support enabled.
2557         (rs6000_init_builtins): Init builtin if target support enabled.
2558         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
2559
2560 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2561
2562         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
2563
2564 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
2565
2566         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
2567
2568 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
2569
2570         * sh.md (cond_delay_slot): New attribute.
2571         (cbranch delay): Use it for anulled-true case.
2572         (stuff_delay_slot): New pattern.
2573         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
2574         delay slot insn.
2575         (gen_far_branch): Emit stuff_delay_slot pattern.
2576
2577 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
2578
2579         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
2580
2581 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
2582
2583         * fold-const.c: Fix comment typos.
2584         * gcse.c: Likewise.
2585         * reload1.c: Likewise.
2586
2587 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
2588
2589         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
2590         for TARGET_SPE.
2591
2592 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
2593
2594         * c-pretty-print.h (pp_c_statement): Declare.
2595         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
2596         (pp_c_statement): Define.
2597
2598 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2599
2600         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
2601         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
2602         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
2603         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
2604         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
2605         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
2606
2607         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
2608         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
2609
2610 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
2611
2612         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
2613         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
2614         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
2615         (pp_c_expression): Update.
2616
2617 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2618
2619         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
2620         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
2621         * alpha/vms-ld.c (main): Likewise.
2622         * dsp16xx.c (double_reg_to_memory): Likewise.
2623         * mcore.c (mcore_expand_prolog): Likewise.
2624         * cppfiles.c (read_name_map): Likewise.
2625         * gensupport.c (process_rtx, identify_predicable_attribute,
2626         alter_test_for_insn): Likewise.
2627         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
2628
2629 2002-07-29  Roger Sayle  <roger@eyesopen.com>
2630
2631         * builtins.c (expand_builtin):  Change the default behavior to
2632         only issue an error if the builtin function doesn't have a
2633         fallback library call.  Remove several cases handled by the
2634         new default.
2635
2636 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
2637
2638         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
2639         floating point format of the target is IEEE.
2640         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
2641         format of the target is DEC.
2642
2643 2002-07-29  Richard Henderson  <rth@redhat.com>
2644
2645         * unroll.c (verify_addresses): Remove.
2646         (find_splittable_givs): Never split DEST_ADDR givs.
2647
2648 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
2649
2650         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
2651         is exhaustive.
2652         (Files): Improve documentation on generated source files.
2653
2654         * doc/extend.texi (Translation implementation): Document what
2655         diagnostics look like.
2656         (Identifiers implementation): Document that there's normally no
2657         limit on identifier names.
2658         (Integers implementation): Document two's complement.
2659         (Hints implementation): Document that GCC honours 'inline', mostly.
2660         (Preprocessing directives implementation): Document that GCC
2661         requires the current time.
2662
2663 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
2664
2665         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
2666         (pp_initializer): New macro.
2667         (pp_c_initializer): Declare.
2668         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
2669         (pp_c_initializer): Define.
2670         (pp_c_initializer_list): New function.
2671         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
2672         VECTOR_CST, CONSTRUCTOR.
2673         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
2674         IMAGPART_EXPR.
2675         (pp_c_cast_expression): Handle FLOAT_EXPR.
2676         (pp_c_assignment_expression): Handle INIT_EXPR.
2677         (pp_c_expression): Update.
2678
2679 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
2680
2681         * objc/objc-act.c (objc_init): Return immediately if filename
2682         is NULL.
2683
2684 2002-07-29  Eric Christopher  <echristo@redhat.com>
2685
2686         * config/mips/elf.h: Remove ecoff.h and gofast includes.
2687         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
2688         (SDB_DEBUGGING_INFO): Undefine.
2689         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
2690         (PUT_SDB_SIZE): Remove.
2691         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
2692         (STARTFILE_SPEC): Add isa3264 define.
2693         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
2694         * config/mips/ecoff.h: Remove. and here...
2695         * config/mips/iris3.h: and here...
2696         * config/mips/sni-svr4.h: and here...
2697         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
2698         Add assembler -mmdebug options for non-dwarf debugging.
2699         * config/mips/r3900.h: Remove debug info defines.
2700         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
2701         * config/mips/isa3264.h: Ditto.
2702         * config/mips/t-isa3264: Fix up for file removal and gofast configure
2703         change.
2704         * config/mips/t-elf: Ditto.
2705         * config/mips/t-ecoff: Ditto.
2706         * config/mips/t-r3900: Ditto.
2707         * config/mips/t-iris5-6: Ditto.
2708         * config/mips/t-isa3264: Ditto.
2709         * config/mips/t-linux: Remove.
2710         * config/mips/t-netbsd: Remove.
2711         * config/mips/t-mips: New file.
2712         * config/mips/t-gofast: Ditto.
2713         * config/mips/netbsd.h: Remove unnecessary undefines.
2714         * config/mips/linux.h: Remove #include of mips.h.
2715         * config.gcc: Add mips.h include for elf targets. Remove tm_file
2716         for ecoff. Add gofast configure option for mips.
2717
2718 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
2719
2720         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
2721         linker scripts use STARTUP directives consistently.
2722         * configure: Regenerate.
2723         * config.in: Regenerate.
2724         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
2725         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
2726         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
2727         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
2728         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
2729         will be the same.
2730
2731 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
2732
2733         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
2734
2735 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
2736
2737         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
2738
2739 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
2740
2741         * config/rs6000/rs6000.md: Move altivec patterns from here...
2742
2743         * config/rs6000/altivec.md: ...to here.
2744
2745 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
2746
2747         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
2748
2749 2002-07-29  Richard Henderson  <rth@redhat.com>
2750
2751         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
2752         set_mem_attributes and add BITPOS argument.  Subtract it from
2753         OFFSET when same is adjusted.
2754         (set_mem_attributes): New wrapper function.
2755         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
2756         remove offset adjustment hack.
2757         * expr.h (set_mem_attributes_minus_bitpos): Declare.
2758
2759 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
2760
2761         * Makefile.in (C_OBJS): Include c-pretty-print.o
2762         (c-pretty-print.o): Add depency rule.
2763         * pretty-print.h: Add more macros.
2764         * c-pretty-print.c: New file.
2765         * c-pretty-print.h: Likewise.
2766
2767 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
2768
2769         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
2770         constants to __ev64_s32__.
2771         (__internal_ev_mwhgsmian): Same.
2772         (__internal_ev_mwhgsmfan): Same.
2773         (__internal_ev_mwhgssfan): Same.
2774         (__internal_ev_mwhgumiaa): Same.
2775         (__internal_ev_mwhgsmiaa): Same.
2776         (__internal_ev_mwhgsmfaa): Same.
2777         (__internal_ev_mwhgssfaa): Same.
2778
2779 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
2780
2781         * varasm.c (assemble_variable): Narrow test for uninitialized
2782         without BSS target support.
2783
2784 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
2785
2786         * profile.c: Add file comment describing the overall algorithm and
2787         structures.
2788         (struct edge_info): Add comments.
2789         (struct bb_info): Add comments.
2790         * basic-block.h (EDGE_*): Add comments.
2791         * doc/gcov.texi (Gcov Data Files): Document bit flags.
2792
2793 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
2794
2795         * config/xtensa/elf.h, config/xtensa/linux.h
2796         (TARGET_OS_CPP_BUILTINS): Define.
2797         (CPP_PREDEFINES): Remove.
2798         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
2799         (CPP_SPEC): Remove.
2800
2801 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
2802
2803         * gensupport.c: Include hashtab.h.
2804         (insn_elision, condition_table, hash_c_test, cmp_c_test,
2805         maybe_eval_c_test): New routines and data structures to
2806         support insn elision.
2807         (init_md_reader): Read and initialize the condition_table.
2808         (read_md_rtx): Discard insn patterns whose C test is provably
2809         always false.
2810         * gensupport.h: Declare new functions and data structures.
2811
2812         * genconditions.c, dummy-conditions.c: New files.
2813         * Makefile.in: Build genconditions; run it to construct
2814         insn-conditions.c; build that and link it into most gen*
2815         programs.
2816         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
2817         (GEN): Delete, unused.
2818         (STAGESTUFF): Update.
2819
2820         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
2821         CODE_FOR_nothing for all elided patterns.
2822         (main): Tweaked to support this.
2823         * genflags.c (gen_proto): Emit a static inline generator
2824         function here for all elided patterns, which simply returns
2825         NULL_RTX.
2826         (gen_insn): Do not define HAVE_xxx for elided patterns.
2827         (main): Tweaked to support this.  No need to forward-declare
2828         struct rtx_def.
2829         * genrecog.c: Do not bother emitting the C test if it's known
2830         to be true at compile time.
2831
2832 2002-07-29  Mike Stump  <mrs@apple.com>
2833
2834         * config.gcc (target_gtfiles): Initialize, as otherwise cross
2835         compilers hosted on powerpc-apple-darwin6.0 won't even build.
2836
2837 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
2838
2839         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
2840         remove clobber of LR.
2841         (sibcall_insn, sibcall_value_insn): Update accordingly.
2842         (sibcall_epilogue): Remove debugging comment from assembler stream.
2843
2844 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
2845
2846         * pretty-print.h: Define more macros.
2847         * diagnostic.h (output_formatted_integer): Moved from...
2848         * diagnostic.c: ... here.
2849
2850 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2851
2852         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
2853
2854 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
2855
2856         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
2857         arguments.  Always use ".-symbol" as expression argument.
2858         * doc/tm.texi: Update to match.  Document requirement for
2859         ".size symbol, .-symbol" to be acceptable to assembler.
2860
2861         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
2862         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
2863         config/i386/freebsd-aout.h, config/i386/sco5.h,
2864         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
2865         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
2866
2867 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2868
2869         * Makefile.in (gengtype-lex.c): Fix error in last change.
2870
2871         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
2872         backslash.
2873
2874         * Makefile.in (vmsdbgout.o): Depend on function.h.
2875
2876         * vmsdbgout.c: Include function.h.
2877
2878 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
2879
2880         * prefix.c (update_path): Don't strip single `.' path components
2881         unless stripping a later `..' component.  Exit loop as soon as
2882         a valid path is found.
2883
2884 2002-07-27  Roger Sayle  <roger@eyesopen.com>
2885
2886         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
2887         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
2888         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
2889         floating point unordered comparisons (e.g. __builtin_isgreater)
2890         as const, and leave the remaining GCC_BUILTINs unchanged.
2891
2892         * c-decl.c (builtin_function): No need to explicitly mark
2893         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
2894
2895 2002-07-27  Roger Sayle  <roger@eyesopen.com>
2896
2897         * Makefile.in: rtlanal.o now depends upon real.h.
2898
2899         * flags.h [flag_signaling_nans]: New flag.
2900         [HONOR_SNANS]: New macro.
2901
2902         * toplev.c [flag_signaling_nans]: Initialize to false.
2903         (f_options): Add processing for "-fsignaling-nans".
2904         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
2905         (process_options): flag_signaling_nans implies flag_trapping_math.
2906
2907         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
2908         when -fsignaling-nans.  First step to implementing WG14's N965.
2909
2910         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
2911         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
2912         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
2913
2914         * simplify-rtx.c (simplify_relational_operation): Conditionalize
2915         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
2916
2917         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
2918         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
2919         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
2920         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
2921         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
2922
2923         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
2924
2925 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2926
2927         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
2928         * gengtype-lex.l (YY_USE_PROTOS): Undef.
2929         (YY_DECL): Define.
2930
2931 2002-07-27  Roger Sayle  <roger@eyesopen.com>
2932
2933         * doc/invoke.texi: Document that both -fno-builtin-foo and
2934         -fno-builtin are supported by the g++ front-end.
2935
2936 2002-07-27  Stan Shebs  <shebs@apple.com>
2937
2938         * configure.in: Rename config_gtfiles to target_gtfiles.
2939         * configure: Regenerate.
2940         * doc/gty.texi: Update reference.
2941         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
2942         instead of appending to it.
2943
2944 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
2945
2946         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
2947         vectors are split into two registers.
2948         (function_arg): Same.
2949
2950 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
2951
2952         * pa.md (extv): Check predicates before emitting extv_32.
2953
2954 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
2955
2956         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
2957         (rs6000_traceback): New var.
2958         (rs6000_override_options): Set rs6000_traceback.
2959         (rs6000_output_function_epilogue): Implement traceback options.
2960         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
2961         (rs6000_traceback_name): Declare.
2962
2963         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
2964         label reference when NO_PROFILE_COUNTERS.
2965
2966 2002-07-26  Jason Merrill  <jason@redhat.com>
2967
2968         * function.c (assign_parms): Handle frontend-directed pass by
2969         invisible reference.
2970
2971 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
2972
2973         * doc/cppopts.texi: Update.
2974
2975 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
2976
2977         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
2978         warnings on assertions.
2979
2980 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
2981
2982         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
2983         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
2984         RID_COMPL): Remove.
2985         * c-parse.in (rid_to_yy): Similarly.
2986
2987 2002-07-26  Jason Merrill  <jason@redhat.com>
2988
2989         * c-dump.c: Resurrect.
2990         * tree-dump.c: Move C-specific stuff to c-dump.c.
2991         * c-common.h: Declare c_dump_tree.
2992         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
2993         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
2994         (c-dump.o): New rule.
2995
2996 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
2997
2998         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
2999         PowerPC64.  Replace "T" and "S" constraints with "n" when the
3000         predicate will do.  Formatting fixes.
3001         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
3002         as for extzvsi_internal1.
3003
3004 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
3005
3006         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
3007         DERIV_END_LABEL_FMT): Remove.
3008         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
3009
3010 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
3011
3012         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
3013         Remove.
3014
3015 2002-07-25  Stan Shebs  <shebs@apple.com>
3016
3017         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
3018         local var dwarfp.
3019         (output_compiler_stub): Remove unused locals.
3020         (output_call): Always initialize line number.
3021
3022 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
3023
3024         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
3025         * sh.md (truncdiqi2, movqi_media): Likewise.
3026
3027 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
3028
3029         * gcse.c (obstack_chunk_alloc): Remove.
3030         (gcse_alloc): Fix to count allocated bytes.
3031         * collect2.c (SYMBOL__MAIN): Remove.
3032
3033 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
3034
3035         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
3036         HAVE_TARGET_EXECUTABLE_SUFFIX.
3037
3038 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
3039
3040         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
3041         SIZE, EXPR and OFFSET.
3042
3043 2002-07-25  Richard Henderson  <rth@redhat.com>
3044
3045         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
3046         in ARRAY_REF of DECL_P case.
3047
3048 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
3049
3050         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
3051         description.  Document -mips32, -mips64, and the associated -march
3052         values.  Describe the "mipsN" arguments to -march.  Say that the
3053         -mipsN options are equivalent to -march.  Reword the description
3054         of default type sizes.
3055         * toplev.h (target_flags_explicit): Declare.
3056         * toplev.c (target_flags_explicit): New var.
3057         (set_target_switch): Update target_flags_explicit.
3058         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
3059         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
3060         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
3061         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
3062         * config/mips/mips.h (mips_cpu_info): New struct.
3063         (mips_cpu_string, mips_explicit_type_size_string): Remove.
3064         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
3065         (MIPS_CPP_SET_PROCESSOR): New macro.
3066         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
3067         Define _MIPS_ARCH and _MIPS_TUNE.
3068         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
3069         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
3070         MIPS_ISA_DEFAULT were already defined.
3071         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
3072         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
3073         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
3074         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
3075         (ABI_GAS_ASM_SPEC): Remove.
3076         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
3077         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
3078         Invoke %(asm_abi_default_spec) if no ABI was specified.
3079         (CC1_SPEC): Remove ISA -> register-size rules.
3080         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
3081         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
3082         (mips_cpu_string, mips_explicit_type_size_string): Remove.
3083         (mips_cpu_info_table): New array.
3084         (mips_set_architecture, mips_set_tune): New fns.
3085         (override_options): Rework to make -mipsN equivalent to -march.
3086         Detect more erroneous cases, including those removed from CC1_SPEC.
3087         Don't change the ABI based on architecture, or vice versa.
3088         Unify logic with GAS.
3089         (mips_asm_file_start): Get architecture name from mips_arch_info.
3090         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
3091         (mips_parse_cpu): Take the name of the option as argument.  Handle
3092         'from-abi'.  Raise an error if the option is wrong.
3093         (mips_cpu_info_from_isa): New fn.
3094
3095 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
3096
3097         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
3098         (tablejump_mips162): Likewise.
3099
3100 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
3101
3102         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
3103         int_mode_for_mode.
3104
3105 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
3106
3107         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
3108         complaining.
3109         * c-common.h (c_sizeof): Adjust definition.
3110         (c_alignof): Likewise.
3111         * c-tree.h (c_sizeof_nowarn): Now macro.
3112         * c-typeck.c (c_sizeof_nowarn): Remove definition.
3113
3114 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
3115
3116         * c-decl.c (c_decode_option): No need to handle switches
3117         cpplib handles.
3118
3119 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
3120
3121         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
3122         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
3123         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
3124         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
3125
3126         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
3127         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
3128         config/cris/aout.h, config/i386/freebsd-aout.h,
3129         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
3130         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
3131         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
3132         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
3133         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
3134         config/xtensa/elf.h, config/xtensa/linux.h:
3135         Use the new macros.
3136         Where possible, remove redundant definitions of SIZE_ASM_OP,
3137         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
3138
3139 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
3140
3141         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
3142         TARGET_ISEL, and TARGET_FPRS.
3143
3144         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
3145         -mabi=spe, -mabi=no-spe, and -misel=.
3146
3147         * config/rs6000/rs6000-protos.h: Add output_isel.
3148         Move vrsave_operation prototype here.
3149
3150         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
3151         (smaxsi3): Same.
3152         (uminsi3): Same.
3153         (umaxsi3): Same.
3154         (abssi2_nopower): Disallow when TARGET_ISEL.
3155         (*ne0): Same.
3156         (negsf2): Change to expand and rename old pattern to *negsf2.
3157         (abssf2): Change to expand and rename old pattern to *abssf2.
3158
3159         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
3160         fixunssfsi2.
3161
3162         Change patterns that check for TARGET_HARD_FLOAT or
3163         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
3164
3165         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
3166         rs6000_isel, rs6000_fprs, rs6000_isel_string.
3167         (rs6000_override_options): Add 8540 case to
3168         processor_target_table.
3169         Set rs6000_isel for the 8540.
3170         Call rs6000_parse_isel_option.
3171         (enable_mask_for_builtins): New.
3172         (rs6000_parse_isel_option): New.
3173         (rs6000_parse_abi_options): Add spe and no-spe.
3174         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
3175         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
3176         for TARGET_HARD_FLOAT.
3177         Add case for SPE_VECTOR_MODE.
3178         (rs6000_legitimize_reload_address): Handle SPE vector modes.
3179         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
3180         vector modes.
3181         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
3182         (rs6000_emit_move): Check for TARGET_FPRS.
3183         Add cases for SPE vector modes.
3184         (function_arg_boundary): Return 64 for SPE vector modes.
3185         (function_arg_advance): Check for TARGET_FPRS and
3186         Handle SPE vectors.
3187         (function_arg): Same.
3188         (setup_incoming_varargs): Check for TARGET_FPRS.
3189         (rs6000_va_arg): Same.
3190         (struct builtin_description): Un-constify mask field.  Move up in
3191         file.
3192         (bdesc_2arg): Un-constify and add SPE builtins.
3193         (bdesc_1arg): Same.
3194         (bdesc_spe_predicates): New.
3195         (bdesc_spe_evsel): New.
3196         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
3197         (rs6000_expand_binop_builtin): Same.
3198         (bdesc_2arg_spe): New.
3199         (spe_expand_builtin): New.
3200         (spe_expand_predicate_builtin): New.
3201         (spe_expand_evsel_builtin): New.
3202         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
3203         (rs6000_init_builtins): Initialize SPE builtins.  Call
3204         rs6000_common_init_builtins.
3205         (altivec_init_builtins): Move all non-altivec builtin code to...
3206         (rs6000_common_init_builtins): ...here.  New function.
3207         (branch_positive_comparison_operator): Allow NE code for SPE.
3208         (ccr_bit): Return correct ccr bit for SPE fp.
3209         (print_operand): Emit crnor in 'D' case for SPE.
3210         New case 't'.
3211         Add SPE code for 'y' case.
3212         (rs6000_generate_compare): Generate rtl for SPE fp.
3213         (output_cbranch): Handle SPE hard floats.
3214         (rs6000_emit_cmove): Handle isel.
3215         (rs6000_emit_int_cmove): New.
3216         (output_isel): New.
3217         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
3218         64-bits for SPE.
3219         (debug_stack_info): Add SPE info.
3220         (gen_frame_mem_offset): New.
3221         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
3222         Change mode of frame pointer, when saving it, to Pmode.
3223         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
3224         Misc cleanups and use gen_frame_mem_offset when appropriate.
3225
3226         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
3227         (TARGET_SPE_ABI): New.
3228         (TARGET_SPE): New.
3229         (TARGET_ISEL): New.
3230         (TARGET_FPRS): New.
3231         (FIXED_SCRATCH): New.
3232         (RTX_COSTS): Add PROCESSOR_PPC8540.
3233         (ASM_CPU_SPEC): Add case for 8540.
3234         (TARGET_OPTIONS): Add isel= case.
3235         (rs6000_spe_abi): New.
3236         (rs6000_isel): New.
3237         (rs6000_fprs): New.
3238         (rs6000_isel_string): New.
3239         (UNITS_PER_SPE_WORD): New.
3240         (LOCAL_ALIGNMENT): Adjust for SPE.
3241         (HARD_REGNO_MODE_OK): Same.
3242         (DATA_ALIGNMENT): Same.
3243         (MEMBER_TYPE_FORCES_BLK): New.
3244         (FIRST_PSEUDO_REGISTER): Set to 113.
3245         (FIXED_REGISTERS): Add SPE registers.
3246         (reg_class): Same.
3247         (REG_CLASS_NAMES): Same.
3248         (REG_CLASS_CONTENTS): Same.
3249         (REGNO_REG_CLASS): Same.
3250         (REGISTER_NAMES): Same.
3251         (DEBUG_REGISTER_NAMES): Same.
3252         (ADDITIONAL_REGISTER_NAMES): Same.
3253         (CALL_USED_REGISTERS): Same.
3254         (CALL_REALLY_USED_REGISTERS): Same.
3255         (SPE_ACC_REGNO): New.
3256         (SPEFSCR_REGNO): New.
3257         (SPE_SIMD_REGNO_P): New.
3258         (HARD_REGNO_NREGS): Adjust for SPE.
3259         (VECTOR_MODE_SUPPORTED_P): Same.
3260         (REGNO_REG_CLASS): Same.
3261         (FUNCTION_VALUE): Same.
3262         (LIBCALL_VALUE): Same.
3263         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
3264         (SPE_VECTOR_MODE): New.
3265         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
3266         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
3267         (rs6000_stack): Add spe_gp_size, spe_padding_size,
3268         spe_gp_save_offset.
3269         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
3270         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
3271         (SPE_CONST_OFFSET_OK): New.
3272         (rs6000_builtins): Add SPE builtins.
3273
3274         * testsuite/gcc.dg/ppc-spe.c: New.
3275
3276         * config/rs6000/eabispe.h: New.
3277
3278         * config/rs6000/spe.h: New.
3279
3280         * config/rs600/spe.md: New.
3281
3282         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
3283         __SIMD__ for TARGET_SPE.
3284
3285         * config.gcc: Add powerpc-*-eabispe* case.
3286         Add spe.h to user headers for powerpc.
3287
3288 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
3289
3290         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
3291         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
3292         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
3293
3294 2002-07-24  Richard Henderson  <rth@redhat.com>
3295
3296         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
3297         form when not optimizing.
3298
3299 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
3300
3301         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
3302         thread_pointer_rtx as unchanging.
3303
3304 2002-07-24  Michael Matz  <matz@suse.de>
3305
3306         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
3307         (free_reg): Use it.
3308
3309 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
3310
3311         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
3312         pattern.
3313         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
3314         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
3315
3316 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
3317
3318         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
3319         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
3320         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
3321
3322 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
3323
3324         * toplev.c (rest_of_compilation): Dump loops before clobbering
3325         the structure.
3326
3327 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
3328
3329         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
3330
3331 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
3332
3333         PR optimization/7291
3334         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
3335         problem on x86_64.
3336
3337 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
3338
3339         * pretty-print.h: Add macros from cp/error.c
3340
3341 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
3342
3343         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
3344         (mask64_2_operand): Declare.
3345         (build_mask64_2_operands): Declare.
3346         (and64_2_operand): Declare.
3347         (extract_MB): Declare.
3348         (extract_ME): Declare.
3349         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
3350         CONST_DOUBLE code.
3351         (mask_operand_wrap): New insn predicate.
3352         (mask64_2_operand): Likewise.
3353         (and64_2_operand): Likewise.
3354         (build_mask64_2_operands): New function.
3355         (extract_MB): New function.
3356         (extract_ME): New function.
3357         (print_operand <case m,M>): Use extract_MB and extract_ME.
3358         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
3359         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
3360         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
3361         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
3362         * config/rs6000/rs6000.md (andsi3_internal3): New
3363         (andsi3_internal3+1): Enable split for powerpc64.
3364         (andsi3_internal3+2): New split.
3365         (andsi3_internal4): Renamed old andsi3_internal3.
3366         (andsi3_internal5): New.
3367         (andsi3_internal5+1): Enable split for powerpc64.
3368         (andsi3_internal5+2): New split.
3369         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
3370         (anddi3): Handle 't' constraint.
3371         (anddi3+1): New split.
3372         (anddi3_internal2): Handle 't' constraint.
3373         (anddi3_internal2+1): New split.
3374         (anddi3_internal3): Handle 't' constraint.
3375         (anddi3_internal3+1): New split.
3376
3377 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
3378
3379         * config/rs6000/rs6000.md: Remove scratch reg on insns using
3380         addze and similar (plus (comparison r1 r2) r3) insns.  Add
3381         missing scratch reg in one case.  Formatting fixes.
3382
3383 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
3384
3385         * cppexp.c (parse_defined): Mark macro used.
3386         * cpphash.h (struct cpp_macro): New member "used".
3387         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
3388         (struct cpp_reader): New member.
3389         * cppinit.c (cpp_finish_options): Set first_unused_line.
3390         (cpp_finish): Warn of unused macros if requested.
3391         (OPT_TABLE): New switches.
3392         (cpp_handle_option): Handle them.
3393         * cpplib.c (do_undef): Warn if macro unused.
3394         (do_ifdef, do_ifndef): Mark macro used.
3395         * cpplib.h (struct cpp_options): New member.
3396         * cppmacro.c (_cpp_warn_if_unused_macro): New.
3397         (enter_macro_context): Mark macro used.
3398         (_cpp_create_definition): Mark macro unused; warn if unused
3399         when redefined.
3400         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
3401         Mark macros used.
3402         * doc/cppopts.texi: Update.
3403
3404 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
3405
3406         * dwarf2out.c (SECTION_ASM_OP,
3407         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
3408         * system.h (SECTION_ASM_OP): Poison.
3409         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
3410         * config/alpha/alpha-interix.h, config/mips/linux.h
3411         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
3412         * config/mmix/mmix-protos.h, config/mmix/mmix.c
3413         (mmix_asm_output_define_label_difference_symbol): Remove.
3414         * config/mmix/mmix.h
3415         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
3416         * doc/tm.texi: Remove documentation.
3417
3418 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
3419
3420         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
3421         (constrain_operands): Likewise.
3422         * regclass.c (record_reg_classes): Likewise.
3423         * reload.c (find_reloads): Likewise.
3424         * doc/md.texi: Likewise.
3425
3426         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
3427         * simplify-rtx.c (simplify_subreg): When converting to a non-int
3428         mode, try to convert to an integer mode of matching size first.
3429
3430         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
3431         from individual subregs, check that each subreg has been generated
3432         sucessfully.
3433
3434 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
3435
3436         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
3437         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
3438         FOR_EACH_BB_IN_SBITMAP): Remove.
3439         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
3440         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
3441         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
3442         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
3443         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
3444         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.