OSDN Git Service

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