OSDN Git Service

* arm.c (arm_address_register_rtx_p): New function.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
2
3         * arm.c (arm_address_register_rtx_p): New function.
4         (arm_legitimate_address_p): New function.
5         (arm_legitimate_index_p): New function.
6         (legitimize_pic_address): Use arm_legitimate_index_p.
7         * arm-protos.h (arm_legtimate_address_p): Add prototype.
8         * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
9         (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
10
11 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
12
13         * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
14         * config/s390/2064.md (define_bypass): Correct 'Load' and
15         'Load-address' bypass values.
16         
17 2003-01-22  Andreas Schwab  <schwab@suse.de>
18
19         * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
20
21 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
22
23         * genautomata.c (output_internal_insn_latency_func,
24         output_print_reservation_func): Short circuit when there is no
25         automaton to generate code for.
26
27 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
28
29         * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
30         (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
31
32 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
33
34         * config/rs6000/rs6000.md: Remove warning.
35         (builtin_setjmp_receiver): Likewise.
36         * config/darwin.c (update_stubs): Slightly improve terrible hack
37         with identifiers.  Add comment pointing out problems with it.
38         (update_non_lazy_ptrs): Likewise.
39
40 2003-01-21  Richard Henderson  <rth@redhat.com>
41
42         * dwarf2out.c (lookup_filename): Fix printf format warning.
43         * system.h (fread_unlocked, fwrite_unlocked): Undef.
44
45         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
46         (fixincl.o-warn, gnu-regex.o-warn): New.
47         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
48         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
49         * fixinc/fixincl.c (process): Fix printf format warning.
50
51 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
52
53         * dwarf2out (output_file_names): Don't crash if called
54         with empty file_table.
55
56 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
57
58         * genautomata.c (output_internal_insn_latency_func): Add
59         missing break statement to generated code.
60
61 2003-01-21  Roger Sayle  <roger@eyesopen.com>
62
63         * stmt.c (same_case_target_p): New function to determine whether
64         two case labels branch to the same target.  Split out from...
65         (group_case_nodes): ... here.  Use same_case_target_p instead.
66         (strip_default_case_nodes): Remove explicit case nodes
67         that branch to the default destination.
68         (expand_end_case_type): Call strip_default_case_nodes after
69         group_case_nodes, to simplify the case-list before we count it.
70         Only generate table_label RTX when actually needed.  Try to share
71         thiscase->exit_label and thiscase->data.case_stmt.default_label
72         when a switch has no explicit default case.  Simplify test for
73         constant index.
74
75 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
76
77         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
78         \t.
79         (*negsf2_h8300hs): Likewise.
80         (*addsi3_lshiftrt_16_zexthi): Likewise.
81         (*iorhi3_lshiftrt_8): Likewise.
82
83 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
84
85         * dwarf2out.c (fde_table_in_use): Mark GTY.
86         (dwarf2out_cfi_label_num): New variable, marked GTY.
87         (dwarf2out_cfi_label): Use it instead of static label_num.
88         * emit-rtl.c (label_num): Mark GTY.
89
90 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
91
92         * config/h8300/h8300.c (output_plussi): Support H8/300.
93         (compute_plussi_length): Likewise.
94         (compute_plussi_cc): Likewise.
95         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
96         output assembly instructions.
97
98 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
99
100         * calls.c (fix_unsafe_tree): Prototype.
101
102         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
103         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
104         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
105         c-parse.o-warn): Add -Wno-error.
106         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
107
108         * configure.in (--enable-werror): Add new flag.
109         * doc/install.texi (--enable-werror): Document.
110         * configure: Regenerate.
111
112         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
113
114 2003-01-21  Andreas Schwab  <schwab@suse.de>
115
116         * genautomata.c (output_internal_insn_latency_func): Fix missing
117         close paren in output.
118
119 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
120
121         * genautomata.c: Space savings in generated code:
122         (output_dfa_insn_code_func): Split out the table-enlargement
123         path to an out-of-line static function, dfa_insn_code_enlarge.
124         (output_internal_insn_latency_func): Use a lookup table for the
125         default latencies.
126         (output_print_reservation_func): Use a lookup table for the
127         strings.
128
129 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
130
131         PR opt/7507
132         * calls.c (fix_unsafe_tree): Split out from ...
133         (expand_call): ... here.  Use it on the function address too.
134
135 2003-01-20  Richard Henderson  <rth@redhat.com>
136
137         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
138
139 2003-01-20  Richard Henderson  <rth@redhat.com>
140
141         PR opt/7154
142         * stmt.c (expand_asm_operands): Validize memory operands.
143
144 2003-01-20  Richard Henderson  <rth@redhat.com>
145
146         PR opt/8848
147         * ifcvt.c (noce_process_if_block): Correct arguments to
148         modified_between_p for no-else-block case.
149
150 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
151
152         * config/h8300/h8300.c (const_costs): Remove a warning.
153         (output_plussi): Likewise.
154         (compute_plussi_length): Likewise.
155         (compute_plussi_cc): Likewise.
156
157 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
158
159         * config/h8300/h8300.md (addsi_h8300): Remove the last
160         alternative.
161
162 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
163
164         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
165
166 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
167
168         * system.h (__NO_STRING_INLINES): Define.
169
170 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
171
172         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
173         is not a scalar int mode.
174
175 2003-01-20  Roger Sayle  <roger@eyesopen.com>
176
177         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
178         insn's notes following a substitution inside a libcall.
179
180 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
181
182         * configure.in: Check for system-provided 'uchar' type.
183         * configure, config.in: Regenerate.
184         * cpphash.h: Only typedef 'uchar' if the system doesn't.
185
186 2003-01-20  Richard Henderson  <rth@redhat.com>
187
188         * expr.h (MUST_PASS_IN_STACK): Move implementation...
189         * calls.c (default_must_pass_in_stack): ... here.
190
191 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
192
193         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
194
195         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
196
197         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
198         Wrap up definition of `insn_alts'.
199
200         * genattrtab.c (main): Wrap up `insn_alts'.
201
202 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
203
204         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
205         prototyping.
206         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
207
208         * config.in, configure: Regenerate.
209
210 2003-01-20  Nick Clifton  <nickc@redhat.com>
211
212         * config/arm/arm.md (sibcall_epilogue): Add an
213         UNSPEC_PROLOGUE_USE to prevent the link register from being
214         considered dead.
215
216 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
217
218         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
219
220 2003-01-20  Andreas Schwab  <schwab@suse.de>
221
222         * system.h: Don't declare strsignal if the decl test hasn't been
223         run yet.
224
225 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
226
227         * config/h8300/h8300.c (notice_update_cc): Don't assume that
228         recog_data.operands[0] is always associated with cc0.
229
230 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
231
232         * collect2.c (ldgetname): Expand declaration to prototype.
233         * read-rtl.c (atoll): Add prototype.
234         * system.h (strsignal): Also declare if no declaration found.
235
236 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
237
238         * config.gcc (mips64*-*-linux*): Added.
239         * config/mips/linux64.h, config/mips/t-linux64: New file.
240         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
241         * config/mips/mips.c (override_options): Use it.
242         * config/mips/mips.h (TARGET_SWITCHES): Added...
243         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
244         * Makefile.in (SPECS): New.
245         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
246         * gcc.c (process_command): Move self-spec processing past spec
247         file loading.
248         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
249         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
250         CRTSTUFF_T_CFLAGS.
251         (SPECS): Document.
252         * doc/invoke.texi (-mabi-fake-default): Document.
253
254 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
255
256         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
257         z_reg, z_reg_qi): Declare static and GTY().
258         (da_reg): Remove.
259         (create_regs_rtx): Don't create da_reg.
260         ("gt-m68hc11.h"): Include for GTY roots.
261         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
262         and GTY() here.
263         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
264         (m68hc11_soft_tmp_reg): Likewise.
265         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
266
267 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
268
269         * basic-block.h: Fix comment formatting.
270         * calls.c: Likewise.
271         * combine.c: Likewise.
272         * convert.c: Likewise.
273         * gcov.c: Likewise.
274         * haifa-sched.c: Likewise.
275         * libgcc2.c: Likewise.
276         * loop.c: Likewise.
277         * profile.c: Likewise.
278         * system.h: Likewise.
279
280 2003-01-18  Roger Sayle  <roger@eyesopen.com>
281
282         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
283
284 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
285
286         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
287
288 2003-01-17  Dale Johannesen  <dalej@apple.com>
289
290         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
291           (*floatunssidf2_internal):  Ditto.
292
293 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
294
295         * alias.c: Fix comment typos.
296         * basic-block.h: Likewise.
297         * c-common.c: Likewise.
298         * c-common.h: Likewise.
299         * c-decl.c: Likewise.
300         * c-opts.c: Likewise.
301         * c-pragma.c: Likewise.
302         * c-pretty-print.h: Likewise.
303         * cfg.c: Likewise.
304         * cfganal.c: Likewise.
305         * cfgbuild.c: Likewise.
306         * cfgcleanup.c: Likewise.
307         * cfglayout.c: Likewise.
308         * cfgrtl.c: Likewise.
309         * convert.c: Likewise.
310         * cpphash.h: Likewise.
311         * cpplex.c: Likewise.
312         * cpplib.h: Likewise.
313         * df.h: Likewise.
314         * diagnostic.c: Likewise.
315         * diagnostic.h: Likewise.
316         * dwarf2.h: Likewise.
317
318 2003-01-17  Stan Shebs  <shebs@apple.com>
319
320         * config/darwin-protos.h: Forward-declare struct cpp_reader.
321
322 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
323
324         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
325         mistake in last checkin.
326
327 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
328
329         * et-forest.c: Fix comment typos.
330         * et-forest.h: Likewise.
331         * except.c: Likewise.
332         * expr.c: Likewise.
333         * flags.h: Likewise.
334         * flow.c: Likewise.
335         * gcc.c: Likewise.
336         * gcse.c: Likewise.
337         * genattrtab.c: Likewise.
338         * genautomata.c: Likewise.
339         * gengtype.c: Likewise.
340         * genrecog.c: Likewise.
341         * global.c: Likewise.
342         * gthr-rtems.h: Likewise.
343
344 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
345
346         * i386.c (x86_function_profiler): Fix format specifier.
347
348 2003-01-17  Richard Henderson  <rth@redhat.com>
349
350         * gengtype.c (walk_type): Allow paramN_is.
351
352 2003-01-17  Nick Clifton  <nickc@redhat.com>
353
354         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
355
356 2003-01-16  Richard Henderson  <rth@redhat.com>
357
358         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
359
360 2003-01-16  Richard Henderson  <rth@redhat.com>
361
362         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
363         (alpha_next_sequence_number): Likewise.
364         (alpha_this_literal_sequence_number): Likewise.
365         (alpha_this_gpdisp_sequence_number): Likewise.
366         (struct alpha_funcs, alpha_funcs_num): Likewise.
367         (struct alpha_links): Fix branch merge error.
368         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
369
370 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
371
372         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
373         R. Ghazi.
374
375 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
376
377         * ifcvt.c: Fix comment typos.
378         * lcm.c: Likewise.
379         * libgcc2.c: Likewise.
380         * local-alloc.c: Likewise.
381         * loop.c: Likewise.
382         * predict.c: Likewise.
383         * ra-build.c: Likewise.
384         * ra.c: Likewise.
385         * ra-colorize.c: Likewise.
386         * ra.h: Likewise.
387         * ra-rewrite.c: Likewise.
388         * regmove.c: Likewise.
389         * reload.h: Likewise.
390         * rtlanal.c: Likewise.
391         * toplev.c: Likewise.
392         * tree.h: Likewise.
393         * unwind-dw2-fde-glibc.c: Likewise.
394         * vmsdbgout.c: Likewise.
395
396 2003-01-16  Richard Henderson  <rth@redhat.com>
397
398         * dwarf2out.c (struct file_table): Remove.
399         (FILE_TABLE_INCREMENT): Remove.
400         (file_table): Make a varray; mark for GC.  Update all users.
401         (file_table_last_lookup_index): Extract from struct file_table.
402         (output_file_names): Fix unsigned compare warnings.
403         (add_name_attribute): Remove inline marker.
404         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
405         (lookup_filename): Don't manage size of file_table.
406         (init_file_table): Allocate file_table with GC.
407         (dwarf2out_init): Don't record main_input_filename here.
408         (dwarf2out_finish): Do it here instead.
409
410 2003-01-16  Bruce Korb  <bkorb@gnu.org>
411
412         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
413
414 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
415
416         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
417         instead of rotldi3_mextr.
418
419 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
420
421         * haifa-sched.c (move_insn): Restore moving all schedule group.
422         (set_priorities): Restore taking SCHED_GROUP_P into account.
423
424         * sched-deps.c (add_dependence): Restore processing the last group
425         insn.
426         (remove_dependence, group_leader): Restore the functions.
427         (set_sched_group_p): Restore adding dependencies from previous insn
428         in the group.
429         (compute_forward_dependences): Restore usage of group_leader.
430
431         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
432         account.
433
434         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
435         account.
436         (can_schedule_ready_p): Ditto.
437         (add_branch_dependences): Restore skipping over the group insns.
438
439 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
440
441         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
442         68HC12 pre/post inc/dec side effects.
443
444 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
445
446         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
447
448 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
449
450         * sh.md (mshflo_w_x): Fix description of operation.
451
452 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
453
454         * config/rs6000/rs6000.h: Mention Altivec registers in
455         commentary.  Fix typo.
456
457 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
458
459         * config/rs6000/rs6000.md (movti_string): Remove clobber.
460         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
461         generate PARALLEL with clobber for TARGET_POWER.
462
463 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
464
465         * ra-colorize.c (colorize_one_web): Initialize variable.
466         * regmove.c (fixup_match_1): Likewise.
467         * reload1.c (reload_as_needed): Likewise.
468         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
469
470 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
471
472         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
473
474 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
475
476         * dbxout.c (lastfile, cwd): Fix `unused' warning.
477         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
478         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
479         is_main_source, file_table, decl_die_table_in_use,
480         abbrev_die_table_in_use, line_info_table_in_use,
481         separate_line_info_table_in_use, pubname_table_in_use,
482         arange_table_in_use, ranges_table_in_use,
483         current_function_has_inlines): Likewise.
484         * flow.c (life_analysis): Likewise.
485         * genemit.c (gen_insn): Likewise.
486         * protoize.c (cplus_suffix): Likewise.
487
488         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
489         * arm.h (ROUND_UP_WORD): Likewise.
490
491         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
492         warning.
493         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
494         init_emit_once): Likewise.
495         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
496         Likewise.
497         * function.c (assign_stack_temp_for_type): Likewise.
498         * loop.c (loop_invariant_p): Likewise.
499         * recog.c (push_operand): Likewise.
500         * regclass.c (init_reg_sets_1): Likewise.
501         * reload.c (update_auto_inc_notes): Likewise.
502         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
503         * stmt.c (expand_asm_operands): Likewise.
504         * stor-layout.c (start_record_layout): Likewise.
505
506 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
507
508         * config/c4x/c4x.md (epilogue): Correct last patch.
509
510 2003-01-15  Richard Henderson  <rth@redhat.com>
511
512         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
513         also check that GP is being used.
514         (alpha_find_lo_sum_using_gp): New.
515         (alpha_does_function_need_gp): Use get_attr_usegp.
516         * config/alpha/alpha-protos.h: Update.
517         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
518         as needed.
519
520 2003-01-15  Roger Sayle  <roger@eyesopen.com>
521
522         * gcse.c (one_cprop_pass): Change function arguments to take both
523         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
524         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
525         (bypass_jumps): New function to perform separate jump bypassing pass.
526         * rtl.h (bypass_jumps): Add function prototype.
527         * timevar.def (TV_BYPASS): New timing variable.
528         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
529         (dump_file): New entry for the bypass RTL dump file.
530         (rest_of_compilation): Insert new jump bypassing optimization
531         pass after loop.
532         * doc/passes.texi: Document new pass.
533
534 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
535
536         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
537         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
538         * pa.h (TARGET_SOM_SDEF): Define.
539         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
540
541 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
542
543         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
544         allocate 4-bytes of locals on 68HC11.
545         (expand_epilogue): Likewise.
546         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
547
548 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
549
550         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
551         and -mshort-double to the assembler to specify the ABI.
552         (LINK_SPEC): Likewise.
553         (CPP_SPEC): Pass HCS12 specific define.
554         (MASK_M68S12): New define.
555         (TARGET_M68S12): Likewise.
556         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
557         (TARGET_VERSION): Update.
558         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
559         (LINK_SPEC): Update.
560         (ASM_SPEC): Update.
561         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
562         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
563
564 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
565
566         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
567         the return code.
568
569 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
570
571         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
572         flag before setting it.
573
574 2003-01-15  Roger Sayle  <roger@eyesopen.com>
575
576         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
577         when loop condition is known true, i.e.  "while (1) { ... }".
578         (genrtl_for_stmt): Similarly for "for" statements.
579
580 2003-01-15  Roger Sayle  <roger@eyesopen.com>
581
582         * real.c (real_sqrt): Return a bool result indicating whether
583         a floating point exception or trap should be raised.
584         * real.h (real_sqrt): Update function prototype.
585         * builtins.c (fold_builtin): Only fold non-trapping square
586         roots unless we're ignoring errno and trapping math.
587
588 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
589
590         * expr.h (emit_conditional_add): Add PARAMS to declaration.
591         * gengtype-lex.l (malloc, realloc): Move defines after include of
592         system.h.  Remove duplicate include of system.h.
593
594 2003-01-15  Roger Sayle  <roger@eyesopen.com>
595
596         PR middle-end/9009
597         * optabs.c (expand_unop):  When manipulating the FP sign bit
598         using integer operations, account for targets with different
599         integer and FP word orders.
600         (expand_abs): Likewise.
601
602 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
603
604         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
605         file extension in section name.
606
607 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
608
609         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
610         constant offset.
611
612 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
613
614         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
615         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
616         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
617         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
618
619 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
620
621         PR f/9258
622         * global.c (struct allocno): Add no_stack_reg.
623         (global_conflicts): Set no_stack_reg.
624         (find_reg): Use it.
625
626         * convert.c (convert_to_real): Fold - and abs only when profitable.
627         * fold-const.c (fold): Fold truncates in - and abs.
628
629 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
630
631         Segher Boessenkool  <segher@koffie.nl>
632
633         * predict.c (real_inv_br_prob_base): New variable.
634         (propagate_freq): Use multiply by reciprocal instead of
635         division.  Don't divide by 1.0 at all.
636         (estimate_bb_frequencies): Similar.
637
638 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
639
640         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
641         * configure: Rebuilt.
642
643 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
644
645         * config/s390/s390.c (s390_safe_attr_type): New function.
646         (s390_use_dfa_pipeline_interface): New function, return true for z900.
647         (s390_issue_rate): New function.
648         (s390_agen_dep_p): New function.
649         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
650         (s390_adjust_cost): Return 'cost' if new DFA is used.
651         (s390_adjust_priority): Delete function.
652         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
653         * config/s390/s390.md (atype attribute): Attribute 'atype' default
654         determined by 'op_type'.
655         (type attribute): Added more type attributes.
656         * config/s390/2064.md: New DFA description for z900 pipeline.
657
658 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
659
660         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
661         forced to memory.  Fixes PR bootstrap/9036.
662
663         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
664         to set $gp before the call.
665
666 2003-01-14  Richard Henderson  <rth@redhat.com>
667
668         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
669         for force_const_mem.
670
671 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
672
673         * genattr.c (main): Rearrange output to avoid prototype warning.
674         * genautomata.c (transform_3): Fix ambiguous-else warning.
675         * local-alloc.c (requires_inout): Add parentheses around
676         assignment used as truth-value.
677         * timevar.c: Move system includes above local includes.  Include
678         toplev.h
679         * Makefile.in (timevar.o): Depend on toplev.h.
680
681 2003-01-14  Denis Chertykov  <denisc@overta.ru>
682
683         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
684         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
685
686         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
687         attributes.
688         (TARGET_ATTRIBUTE_TABLE): New macro.
689         (valid_machine_type_attribute): Remove.
690         (valid_machine_decl_attribute): Remove.
691         (ip2k_handle_progmem_attribute): New function.
692         (ip2k_handle_fndecl_attribute): New function.
693
694 2003-01-10  Andrew Haley  <aph@redhat.com>
695
696         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
697         registers to be in correct order.  Add rip.
698
699 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
700
701         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
702         (*iorsi3_and_lshiftrt_9_sb): Likewise.
703
704 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
705
706         * convert.c (strip_float_extensions):  Look for narrowest type handling
707         FP constants.
708
709         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
710         float1 CMP float2.
711         * convert.c (strip_float_extensions): Make global.
712         * tree.h (strip_float_extensions): Declare.
713
714 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
715
716         * timevar.def: define TV_NAME_LOOKUP.
717         * timevar.c (timevar_pop): Be verbose when aborting.
718
719 2003-01-13  Andreas Schwab  <schwab@suse.de>
720
721         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
722         $(parsedir), just move the temporary file at the end.
723         ($(parsedir)/gengtype-yacc.c): Likewise.
724
725 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
726
727         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
728         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
729         splitting.
730         * configure: Rebuilt.
731
732 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
733
734         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
735         internal_mcount): Don't use PARAMS.
736         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
737         ISO C style.
738         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
739
740 2003-01-13  Andreas Schwab  <schwab@suse.de>
741
742         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
743         directive.
744
745 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
746
747         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
748         (*iorsi3_and_lshiftrt_n_sb): Likewise.
749
750 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
751
752         PR c++/9264
753         * c-lex.c (c_lex): Set the token value to error_mark_node for
754         invalid numeric constants.
755
756 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
757
758         * c-pch.c (asm_file_startpos): Change to `long'.
759         (pch_init): Use ftell, not ftello.
760         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
761         Use `long' instead of `off_t'.
762         (c_common_read_pch): Likewise.
763         * ggc-common.c (gt_pch_save): Use long/ftell instead of
764         off_t/ftello.
765
766 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
767
768         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
769
770 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
771
772         * arm-protos.h (struct cpp_reader): Add declaration.
773
774 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
775
776         PR target/9068
777         * i386.c (output_fp_compare): Fix typo.
778
779 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
780
781         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
782
783 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
784
785         * Makefile.in (parsedir): New variable.
786         (docobjdir): New variable.
787         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
788         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
789         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
790         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
791         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
792         Use docobjdir.
793         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
794         objc.maintainer-clean): Use parsedir.
795
796         * varasm.c (struct constant_descriptor_rtx): Remove unused
797         `label' field.
798
799         * toplev.c (documented_lang_options): Document -Winvalid-pch.
800
801 2003-01-10  Richard Henderson  <rth@redhat.com>
802
803         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
804         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
805
806 2003-01-10  Richard Henderson  <rth@redhat.com>
807
808         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
809         not INTEGRAL_MODE_P when widening extensions.
810
811 2003-01-10  Richard Henderson  <rth@redhat.com>
812
813         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
814
815 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
816
817         * ggc-page.c (ggc_collect): Avoid overflow computing
818         min_expand.
819
820         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
821         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
822         Remove calls.
823         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
824
825 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
826
827         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
828         with weird operands.
829
830 2003-01-10  Dale Johannesen <dalej@apple.com>
831
832         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
833         parameters.  Call check_sibcall_argument_overlap if indicated.
834         (check_sibcall_argument_overlap):  Add mark_stored_args_map
835         parameter.  Don't mark parameter area as clobbered if not set.
836         (expand_call):  Adjust calls to above.
837
838 2003-01-10 Kelley Cook <kelleycook@comcast.net>
839
840         * configure.in (linker read-only and read-write section mixing):
841         Squelch some assembler warnings.
842         * configure: Likewise.
843
844 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
845
846         * doc/invoke.texi: Document -mtune, delete -mcpu
847         option for S/390 and zSeries.
848         * config/s390/s390.c (s390_tune_string) New variable.
849         (s390_cpu_string) Delete variable.
850         (override_options): Use s390_tune_string instead of
851         s390_cpu_string.
852         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
853
854 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
855
856         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
857
858 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
859
860         * jump.c (next_nonnote_insn_in_loop): New function.
861         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
862         next_nonnote_insn.
863         (duplicate_loop_exit_test). Likewise.
864
865 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
866
867         Merge from pch-branch:
868
869         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
870
871         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
872         load.
873
874         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
875
876         * cpplib.c (count_registered_pragmas): New function.
877         (save_registered_pragmas): New function.
878         (_cpp_save_pragma_names): New function.
879         (restore_registered_pragmas): New function.
880         (_cpp_restore_pragma_names): New function.
881         * cpphash.h (_cpp_save_pragma_names): Prototype.
882         (_cpp_restore_pragma_names): Likewise.
883         * cpppch.c (struct save_macro_item): Split from save_macro_data.
884         (struct save_macro_data): New field 'saved_pragmas'.
885         (save_macros): Update for changes to struct save_macro_data.
886         (cpp_prepare_state): Call _cpp_save_pragma_names, update
887         for changes to struct save_macro_data.
888         (cpp_read_state): Call _cpp_restore_pragma_names, update
889         for changes to struct save_macro_data.
890
891         * cpppch.c (cpp_read_state): Restore the hashtable references
892         in the cpp_reader.
893
894         * tree.h (built_in_decls): Mark for PCH.
895
896         * dbxout.c (lastfile): Don't mark for PCH.
897
898         * ggc.h: Document PCH calls into memory managers.
899
900         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
901
902         * doc/invoke.texi (Precompiled Headers): Document the
903         directory form of PCH.
904         * cppfiles.c (validate_pch): New function.
905         (open_file_pch): Search suitably-named directories for PCH files.
906
907         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
908
909         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
910         reorder options.
911         (Type Information): Mention that the information is also
912         used to implement PCH.
913         * doc/passes.texi (Passes): Improve documentation of
914         language-specific files.
915
916         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
917
918         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
919         (struct walk_type_data): Add reorder_fn field.
920         (walk_type): Process 'reorder' option.
921         (write_types_process_field): Reorder parameters to gt_pch_note_object,
922         call reorder_note_routine.
923         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
924         (ggc_wtd): Update for change to struct write_types_data.
925         (pch_wtd): Likewise.
926         * ggc.h (gt_pch_note_object): Reorder parameters.
927         (gt_handle_reorder): New definition.
928         (gt_pch_note_reorder): New prototype.
929         * ggc-common.c (struct ptr_data): Add reorder_fn.
930         (gt_pch_note_object): Reorder parameters.
931         (gt_pch_note_reorder): New.
932         (gt_pch_save): Call reorder_fn.
933         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
934
935         * dbxout.c (cwd): Don't mark for PCH.
936
937         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
938
939         * gengtype.c (finish_root_table): Fix some warnings.
940         (write_root): Handle TYPE_STRING.
941         * ggc.h (gt_ggc_m_S): Add prototype.
942         * stringpool.c (gt_ggc_m_S): New function.
943
944         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
945
946         * dwarf2out.c (dw2_string_counter): New.
947         (AT_string_form): Use it.
948         (same_dw_val_p): Update for removal of hashtable.h hash tables.
949
950         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
951
952         * dbxout.c: Include gt-dbxout.h.
953         (lastfile): Mark for PCH/GGC.
954         (cwd): Likewise.
955         (struct typeinfo): Likewise.
956         (typevec): Likewise.
957         (typevec_len): Likewise.
958         (next_type_number): Likewise.
959         (struct dbx_file): Likewise.
960         (current_file): Likewise.
961         (next_file_number): Likewise.
962         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
963         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
964         (dbxout_end_source_file): Don't free struct dbx_file.
965         (dbxout_type): Use GGC to allocate typevec.
966         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
967         (GTFILES): Add dbxout.c.
968         (gt-dbxout.h): New rule.
969
970         * Makefile.in (c-pch.o): Add debug.h as dependency.
971         * c-pch.c: Include debug.h.
972         (pch_init): Call start_source_file to keep nesting right.
973         (c_common_read_pch): Add orig_name parameter.  Call
974         start_source_file debug hook.  Call end_source_file debug hook.
975         * c-common.h (c_common_read_pch): Update prototype.
976         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
977         callback.
978         * cppfiles.c (struct include_file): Add new field `header_name'.
979         (find_or_create_entry): Default it to `name'.
980         (open_file_pch): Set it to the original header file searched for.
981         (stack_include_file): Don't stack an empty buffer, just handle
982         PCH files immediately.  Pass header_name field to read_pch callback.
983
984         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
985
986         * function.c (funcdef_no): Mark to be saved in a PCH.
987
988         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
989
990         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
991
992         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
993
994         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
995
996         * optabs.h (code_to_optab): Add GTY marker.
997
998         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
999
1000         * Makefile.in (GTFILES): Add cpplib.h.
1001         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
1002         * c-decl.c (build_compound_literal): Don't use var_labelno.
1003         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
1004         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
1005         * varasm.c (const_labelno): Use gengtype to mark.
1006         (var_labelno): Likewise.
1007         (in_section): Likewise.
1008         (in_named_name): Likewise.
1009         (struct in_named_entry): Likewise.
1010         (in_named_htab): Likewise.
1011         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
1012         (init_varasm_once): Use GGC to allocate in_named_htab.
1013         * config/darwin.c (current_pic_label_num): Mark for PCH.
1014
1015         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
1016
1017         * ggc-simple.c (init_ggc_pch): New stub procedure.
1018         (ggc_pch_count_object): Likewise.
1019         (ggc_pch_total_size): Likewise.
1020         (ggc_pch_this_base): Likewise.
1021         (ggc_pch_alloc_object): Likewise.
1022         (ggc_pch_prepare_write): Likewise.
1023         (ggc_pch_write_object): Likewise
1024         (ggc_pch_finish): Likewise.
1025         (ggc_pch_read): Likewise.
1026
1027         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
1028
1029         * c-pch.c (c_common_write_pch): Write the macro definitions after
1030         the GCed data.
1031         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
1032         definitions after the GCed data.
1033         * cpplib.c (save_macros): New.
1034         (reset_ht): New.
1035         (cpp_write_pch_deps): Split out of cpp_write_pch.
1036         (cpp_write_pch_state): Split out of cpp_write_pch.
1037         (cpp_write_pch): Delete.
1038         (struct save_macro_data): Delete.
1039         (cpp_prepare_state): New.
1040         (cpp_read_state): Erase and restore initial macro definitions.
1041         * cpplib.h (struct save_macro_data): Forward-declare.
1042         (cpp_write_pch_deps): Prototype.
1043         (cpp_write_pch_state): Prototype.
1044         (cpp_write_pch): Delete prototype.
1045         (cpp_prepare_state): Prototype.
1046         (cpp_read_state): Add fourth argument.
1047
1048         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
1049
1050         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
1051         (write_array): Remove warning.
1052
1053         * gengtype.c (contains_scalar_p): New.
1054         (finish_root_table): Add the table to all languages, even if it's
1055         empty.
1056         (write_roots): Output gt_pch_scalar_rtab.
1057         * ggc-common.c (gt_pch_save): Write out scalars.
1058         (gt_pch_restore): Read scalars back.
1059
1060         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
1061         (struct page_entry): Delete pch_page field.
1062         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
1063         (clear_marks): Likewise.
1064         (sweep_pages): Likewise.
1065         (poison_pages): Likewise.
1066         (ggc_print_statistics): Likewise.
1067         (ggc_pch_read): Don't free objects read from a PCH.
1068         Properly set up in_use_p and page_tails.
1069
1070         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
1071
1072         * gengtype.c (struct write_types_data): New.
1073         (struct walk_type_data): Make `cookie' const; add extra
1074         prev_val item; add `orig_s' field.
1075         (walk_type): Update prev_val[3].
1076         (write_types_process_field): New.
1077         (write_func_for_structure): Take write_types_data structure.
1078         (write_types): New.
1079         (ggc_wtd): New.
1080         (pch_wtd): New.
1081         (write_types_local_process_field): New.
1082         (gc_mark_process_field): Delete.
1083         (write_local_func_for_structure): New.
1084         (gc_mark_func_name): Delete.
1085         (write_gc_types): Delete.
1086         (write_local): New.
1087         (finish_root_table): Don't include 'ggc_' in PFX.
1088         (write_root): Rename from write_root.  Fill pchw field of structures.
1089         (write_array): New.
1090         (write_roots): Rename from write_gc_roots.  Split out to write_array.
1091         Update to changes to other routines.  Write gt_pch_cache_rtab table.
1092         (main): Write PCH walking routines.
1093         * ggc-common.c: Include toplev.h, sys/mman.h.
1094         (ggc_mark_roots): For cache hashtables, also mark the hash table
1095         and the array of entries.
1096         (saving_htab): New.
1097         (struct ptr_data): New.
1098         (POINTER_HASH): New.
1099         (gt_pch_note_object): New.
1100         (saving_htab_hash): New.
1101         (saving_htab_eq): New.
1102         (struct traversal_state): New.
1103         (call_count): New.
1104         (call_alloc): New.
1105         (compare_ptr_data): New.
1106         (relocate_ptrs): New.
1107         (write_pch_globals): New.
1108         (struct mmap_info): New.
1109         (gt_pch_save): New.
1110         (gt_pch_restore): New.
1111         * ggc-page.c (ROUND_UP_VALUE): New.
1112         (ROUND_UP): New.
1113         (struct page_entry): Add field `pch_page'.
1114         (init_ggc): Use ROUND_UP.
1115         (struct ggc_pch_data): Declare.
1116         (init_ggc_pch): New.
1117         (ggc_pch_count_object): New.
1118         (ggc_pch_total_size): New.
1119         (ggc_pch_this_base): New.
1120         (ggc_pch_alloc_object): New.
1121         (ggc_pch_prepare_write): New.
1122         (ggc_pch_write_object): New.
1123         (ggc_pch_finish): New.
1124         (ggc_pch_read): New.
1125         * ggc.h (gt_pointer_operator): New.
1126         (gt_note_pointers): New.
1127         (gt_pch_note_object): New prototype.
1128         (gt_pointer_walker): New.
1129         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
1130         (LAST_GGC_ROOT_TAB): Update.
1131         (gt_pch_cache_rtab): Declare.
1132         (gt_pch_scalar_rtab): Declare.
1133         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
1134         (LAST_GGC_CACHE_TAB): Update.
1135         (gt_pch_save_stringpool): Declare.
1136         (gt_pch_restore_stringpool): Declare.
1137         (gt_pch_p_S): Declare.
1138         (gt_pch_n_S): Declare.
1139         (struct ggc_pch_data): Forward-declare.
1140         (init_ggc_pch): Declare.
1141         (ggc_pch_count_object): Declare.
1142         (ggc_pch_total_size): Declare.
1143         (ggc_pch_this_base): Declare.
1144         (ggc_pch_alloc_object): Declare.
1145         (ggc_pch_prepare_write): Declare.
1146         (ggc_pch_write_object): Declare.
1147         (ggc_pch_finish): Declare.
1148         (ggc_pch_read): Declare.
1149         (gt_pch_save): Declare.
1150         (gt_pch_restore): Declare.
1151         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
1152         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
1153         const_double_htab, mem_attrs_htab using GGC.
1154         * c-pch.c: Include ggc.h.
1155         (pch_init): Allow reading PCH file back.
1156         (c_common_write_pch): Call gt_pch_save.
1157         (c_common_read_pch): Call gt_pch_restore.
1158         * c-parse.in (init_reswords): Delete now-untrue comment.
1159         Allocate ridpointers using GGC.
1160         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
1161         calling expand_deferred_fns.
1162         * c-common.h (ridpointers): Mark for GTY machinery.
1163         * Makefile.in (stringpool.o): Update dependencies.
1164         (c-pch.o): Update dependencies.
1165         (ggc-common.o): Update dependencies.
1166         * stringpool.c: Include gt-stringpool.h.
1167         (gt_pch_p_S): New.
1168         (gt_pch_n_S): New.
1169         (struct string_pool_data): New.
1170         (spd): New.
1171         (gt_pch_save_stringpool): New.
1172         (gt_pch_restore_stringpool): New.
1173         * tree.c (init_ttree): Make type_hash_table allocated using GC.
1174
1175         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
1176
1177         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
1178         (output_mangled_typename): Don't pass size_t to printf.
1179
1180         * tree.h (union tree_type_symtab): Add tag to `address' field.
1181         (union tree_decl_u2): Add tag to 'i' field.
1182         * varasm.c (union rtx_const_un): Add tags to all fields.
1183         * gengtype.c (struct walk_type_data): New.
1184         (output_escaped_param): Take struct walk_type_data parameter.
1185         (write_gc_structure_fields): Delete.
1186         (walk_type): New.
1187         (write_gc_marker_routine_for_structure): Delete.
1188         (write_func_for_structure): New.
1189         (gc_mark_process_field): New.
1190         (gc_mark_func_name): New.
1191         (gc_counter): Delete.
1192         (write_gc_types): Use write_func_for_structure.
1193         (write_gc_roots): Use walk_type.
1194
1195         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
1196
1197         * ggc-common.c (ggc_mark_roots): Delete 'x'.
1198         (ggc_splay_dont_free): Fix warning about unused 'x'.
1199         (ggc_print_common_statistics): Remove warnings.
1200
1201         2002-10-01  Mike Stump  <mrs@apple.com>
1202
1203         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
1204         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
1205
1206         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
1207             Catherine Moore  <clm@redhat.com>
1208
1209         * Makefile (c-pch.o): Update dependencies.
1210         (LIBCPP_OBJS): Add cpppch.o.
1211         (cpppch.o): New.
1212         * c-common.c (c_common_init): Don't call pch_init here.
1213         * c-common.h (c_common_read_pch): Update prototype.
1214         * c-lex.c (c_common_parse_file): Call pch_init here.
1215         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
1216         (c_common_decode_option): Handle them.
1217         * c-pch.c: Include c-pragma.h.
1218         (save_asm_offset): Delete.
1219         (pch_init): Move contents of save_asm_offset into here, call
1220         cpp_save_state.
1221         (c_common_write_pch): Call cpp_write_pch.
1222         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
1223         cpp_valid_state.
1224         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
1225         * cppfiles.c (stack_include_file): Update for change to
1226         parameters of cb.read_pch.
1227         * cpphash.h (struct cpp_reader): Add `savedstate' field.
1228         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
1229         `restore_pch_deps' fields.
1230         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
1231         (cpp_save_state): Prototype.
1232         (cpp_write_pch): Prototype.
1233         (cpp_valid_state): Prototype.
1234         (cpp_read_state): Prototype.
1235         * cpppch.c: New file.
1236         * flags.h (version_flag): Remove prototype.
1237         * mkdeps.c (deps_save): New.
1238         (deps_restore): New.
1239         * mkdeps.h (deps_save): Prototype.
1240         (deps_restore): Prototype.
1241         * toplev.c (late_init_hook): Delete.
1242         (version_flag): Make static again.
1243         (compile_file): Don't call late_init_hook.
1244         * toplev.h (late_init_hook): Delete.
1245         * doc/cppopts.texi: Document -fpch-deps.
1246         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
1247
1248         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
1249
1250         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
1251         callers.
1252         (c_common_valid_pch): Rename from c_valid_pch, change callers.
1253         (c_common_read_pch): Rename from c_read_pch, change callers.
1254
1255         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
1256         a space between it and its argument.
1257
1258         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
1259
1260         * c-pch.c: New file.
1261         * toplev.h (late_init_hook): Declare.
1262         * toplev.c (late_init_hook): Define.
1263         (version_flag): Make globally visible.
1264         (compile_file): Call late_init_hook.
1265         (init_asm_output): Make output file seekable.
1266         * gcc.c (default_compilers): Update c-header rule.
1267         * flags.h (version_flag): Declare.
1268         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
1269         fields.
1270         * cppfiles.c (struct include_file): Add 'pch' field.
1271         (INCLUDE_PCH_P): New.
1272         (open_file_pch): New.
1273         (stack_include_file): Handle PCH files specially.
1274         (find_include_file): Call open_file_pch instead of open_file.
1275         (_cpp_read_file): Explain why open_file is used instead of
1276         open_file_pch.
1277         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
1278         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
1279         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
1280         in cpplib callbacks.
1281         * c-common.c (pch_file): Correct comment.
1282         (allow_pch): Define.
1283         (c_common_init): Call pch_init.
1284         * c-common.h (allow_pch): Declare.
1285         (pch_init): Declare.
1286         (c_valid_pch): Declare.
1287         (c_read_pch): Declare.
1288         (c_write_pch): Declare.
1289         * Makefile.in (c-pch.o): New.
1290         (C_AND_OBJC_OBJS): Add c-pch.o.
1291         * doc/invoke.texi (Precompiled Headers): Add index entries,
1292         complete truncated paragraph.
1293
1294         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
1295
1296         * c-common.c: (pch_file): Define.
1297         * c-common.h (pch_file): Declare.
1298         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
1299         (missing_arg): Require --output-pch= to have an argument.
1300         (c_common_decode_option): Handle --output-pch=.
1301         * gcc.c: Document new %V.
1302         (default_compilers): Handle compiling C header files.
1303         (do_spec_1): Implement %V.
1304         (main): Handle "gcc foo.h" without trying to run linker.
1305         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
1306         (Overall Options): Document what the driver does with header files,
1307         document new -x option possibilities.
1308         (Invoking G++): More documentation for PCH.
1309         (Precompiled Headers): New.
1310
1311         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
1312
1313         * ggc.h: Don't include varray.h.  Rearrange functions to be more
1314         organized.
1315         (ggc_add_root): Delete.
1316         (ggc_mark_rtx): Delete.
1317         (ggc_mark_tree): Delete.
1318         (struct ggc_statistics): Remove contents.
1319         * ggc-common.c: Remove unneeded includes.
1320         (struct ggc_root): Delete.
1321         (roots): Delete.
1322         (ggc_add_root): Delete.
1323         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
1324         (ggc_print_common_statistics): Remove most of the contents.
1325         * Makefile.in (GGC_H): No longer uses varray.h.
1326         (ggc-common.o): Update dependencies.
1327         (c-parse.o): Add varray.h to dependencies.
1328         (c-common.o): Add varray.h.
1329         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
1330         (mark_ident_hash): Rename to ggc_mark_stringpool.
1331         (init_stringpool): Don't use ggc_add_root.
1332         * c-parse.in: Include varray.h.
1333         * c-common.c: Include varray.h.
1334         * objc/Make-lang.in (objc-act.o): Add varray.h.
1335         * objc/objc-act.c: Include varray.h.
1336
1337         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
1338
1339         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
1340         (dw_cfi_oprnd1_desc): Likewise.
1341
1342         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
1343
1344         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
1345         move out of ifdef.
1346         (alpha_links): Use gengtype to mark; move out of ifdef.
1347         (mark_alpha_links_node): Delete.
1348         (mark_alpha_links): Delete.
1349         (alpha_need_linkage): Use GGC to allocate splay tree, struct
1350         alpha_links, strings.  Don't use ggc_add_root.
1351         * ggc-common.c (ggc_splay_alloc): New.
1352         (ggc_splay_dont_free): New.
1353         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
1354         (ggc_mark_tree): Likewise.
1355         (splay_tree_new_ggc): New.
1356         (ggc_splay_alloc): Declare.
1357         (ggc_splay_dont_free): Declare.
1358         * dwarf2asm.c: Include gt-dwarf2asm.h.
1359         (mark_indirect_pool_entry): Delete.
1360         (mark_indirect_pool): Delete.
1361         (indirect_pool): Use gengtype to mark.
1362         (dw2_force_const_mem): Don't use ggc_add_root.
1363         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
1364         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
1365         (gt-dwarf2asm.h): Depend on s-gtype.
1366
1367         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
1368
1369         * tree.h (union tree_type_symtab): Mark `die' field.
1370         * Makefile.in (dwarf2out.o): Update dependencies.
1371         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
1372         hash tables.
1373         (dw_cfi_oprnd1_desc): New function.
1374         (dw_cfi_oprnd2_desc): New function.
1375         (indirect_string_alloc): Delete.
1376         (debug_str_do_hash): New function.
1377         (debug_str_eq): New function.
1378         (mark_limbo_die_list): Delete.
1379         (dwarf2out_init): Don't call ggc_add_root.
1380
1381 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
1382
1383         The following changes are merged from itanium-sched-branch:
1384
1385         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1386
1387         * doc/md.texi: Clarify assignment of units to automata description.
1388
1389         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
1390
1391         * genautomata.c (unit_decl): Remove members
1392         `the_same_automaton_unit' and
1393         `the_same_automaton_message_reported_p'.
1394         (process_unit_to_form_the_same_automaton_unit_lists,
1395         form_the_same_automaton_unit_lists_from_regexp,
1396         form_the_same_automaton_unit_lists, the_same_automaton_lists):
1397         Remove them.
1398         (annotation_message_reported_p): New global variable.
1399         (check_unit_distribution_in_reserv,
1400         check_regexp_units_distribution): New functions.
1401         (check_unit_distributions_to_automata): Rewrite it.
1402
1403         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
1404
1405         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
1406         Use continue instead of break if cycle is too big.
1407
1408         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
1409
1410         * genautomata.c (check_unit_distributions_to_automata): Output at
1411         most one message for a unit.
1412         (process_unit_to_form_the_same_automaton_unit_lists): Check
1413         automaton of units instead of units themself.
1414
1415         * doc/md.texi: Describe the constraint about assigning unit to
1416         automata.
1417
1418         2002-12-20  Jan Hubicka  <jH@suse.cz>
1419                     Vladimir Makarov  <vmakarov@redhat.com>
1420
1421         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
1422         and `in_set_p'.
1423         (gen_cpu_unit): Initialize the new members.
1424         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
1425         up `min_occ_cycle_num'.
1426         (evaluate_max_reserv_cycles): Change the function call.
1427         (CLEAR_BIT): New macro.
1428         (states_union, state_shift): Use the mask.
1429         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
1430         (form_reservs_matter): New function.
1431         (make_automaton): Call the function and use the mask.
1432         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
1433         account.
1434
1435         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1436
1437         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
1438
1439         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1440
1441         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
1442         for Itanium.
1443
1444         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1445
1446         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
1447         default cpu.
1448
1449         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1450                 2002-10-31  Dale Johannesen <dalej@apple.com>
1451
1452         * haifa-sched.c (find_set_reg_weight): New function.
1453         (find_insn_reg_weight): Use the new function.
1454         (schedule_block): Do sorting ready queue always
1455         after insn issue.
1456
1457         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
1458
1459         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
1460
1461         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
1462
1463         * haifa-sched.c (choice_entry): New structure.
1464         (choice_stack, cycle_issued_insns): New variables.
1465         (max_issue): Rewrite it.
1466         (choose_ready): Set up ready_try for unknown insns too.
1467         (schedule_block): Allocate and free choice_stack.  Set up
1468         and modify cycle_issued_insns.
1469
1470         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
1471         with and without filling the bundle.
1472         (bundling): Combine calls of issue_nops_and_insn.
1473
1474         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
1475
1476         * config/ia64/itanium1.md: New file.
1477
1478         * config/ia64/itanium2.md: New file.
1479
1480         * config/ia64/ia64.md: Move DFA descriptions into the new files.
1481         Remove the old pipeline description.
1482
1483         * config/ia64/ia64.c (ia64_override_options): Add aliases of
1484         itanium processor names.
1485
1486         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
1487
1488         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
1489         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
1490
1491         * config/ia64/ia64.md: Add descriptions for Itanium2.
1492
1493         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1494
1495         * config/ia64/ia64.h (processor_type): New enumeration.
1496         (ia64_tune, ia64_tune_string): New external declarations.
1497         (TARGET_OPTIONS): Add option `tune='.
1498
1499         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
1500         variables.
1501         (ia64_override_options): Set up `ia64_tune'.
1502         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
1503         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
1504         (bundling): Add nops for MM-insns only for Itanium.
1505         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
1506         Itanium.
1507
1508         * config/ia64/ia64.md (cpu): New attribute.
1509         (DFA description): Enable it only for Itanium.
1510
1511         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1512                     Richard Henderson  <rth@redhat.com>
1513
1514         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
1515         MASK_EARLY_STOP_BITS.
1516         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
1517         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
1518         `early-stop-bits'.
1519
1520         * config/ia64/ia64.c (ia64_dfa_new_cycle,
1521         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
1522         instead of TARGET_TUNE_STOP_BITS.
1523
1524         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
1525         `-mearly-stop-bits'.
1526
1527         * config/ia64/ia64.c (automata_option "v"): Comment it.
1528
1529         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
1530
1531         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
1532         New macros.
1533         (TARGET_SWITCHES): Add entries for the new option.
1534
1535         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
1536         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
1537         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
1538         global variables.
1539         (ia64_sched_reorder2): Set up `clocks'.
1540         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
1541         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
1542         queue when TARGET_TUNE_STOP_BITS.
1543         (bundling): Insert additional nops for MM-insns.
1544         (final_emit_insn_group_barriers): Add insertion of stop bits
1545         according `stops_p'.
1546         (ia64_reorg): Initiate the new varibales.
1547
1548         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
1549
1550         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
1551
1552         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
1553         insns at the end of block insn scheduling.
1554
1555         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
1556
1557         * sched-deps.c (remove_dependence, group_leader): Remove it.
1558         (add_dependence): Add dependence to group leader to.
1559         (set_sched_group_p): Add dependence to the first insn of the
1560         schedule group too.
1561         (sched_analyze_insn): Make dependence to jump as anti-dependence.
1562         Change true dependence by anti-dependence when
1563         `reg_pending_barrier'.
1564
1565         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
1566         add_branch_dependences): Ignore schedule groups.
1567
1568         * sched-ebb.c (init_ready_list): Ditto.
1569
1570         * (move_insn, set_priorities): Ditto.
1571
1572         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
1573         flag is clear after reload.
1574         (adjust_cost): Change cost only for output dependencies.
1575
1576         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
1577
1578         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
1579
1580         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
1581
1582         * target.h (gcc_target): Add member
1583         `dependencies_evaluation_hook'.
1584
1585         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
1586         macro.
1587         (TARGET_SCHED): Add initiatialization of the new member.
1588
1589         * sched-ebb.c: Include `target.h'.
1590         (schedule_ebb): Call `dependencies_evaluation_hook'.
1591
1592         * sched-rgn.c (schedule_region): Call
1593         `dependencies_evaluation_hook'.
1594
1595         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1596         New macro.
1597         (ia64_dependencies_evaluation_hook): New function.
1598
1599         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1600         Describe the new hook.
1601
1602         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
1603
1604         * target.h (gcc_target): Add members
1605         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
1606
1607         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
1608         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
1609         macros.
1610         (TARGET_SCHED): Add initiatialization of the new members.
1611
1612         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
1613         insn scheduling too.
1614         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
1615         initialize `ready_try'.
1616         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
1617         `dfa_new_cycle' says not to do it.
1618
1619         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
1620         bundling.
1621
1622         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
1623
1624         * config/ia64/ia64.c: Include `hashtab.h'.
1625         (ia64_first_cycle_multipass_dfa_lookahead_guard,
1626         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
1627         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
1628         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
1629         bundle_state_eq_p, insert_bundle_state,
1630         initiate_bundle_state_table, finish_bundle_state_table,
1631         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
1632         get_template, get_next_important_insn, bundling): New functions.
1633         (ia64_internal_sched_reorder): Remove it.
1634         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1635         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
1636         (ia64_safe_itanium_requires_unit0): Remove it.
1637         (group_barrier_needed_p): Place group barrier right before a real
1638         insn.
1639         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
1640         Remove them.
1641         (bundle_name): New variable.
1642         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
1643         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
1644         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
1645         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
1646         temp_dfa_state, prev_cycle_state): New global variables.
1647         (insn_matches_slot, maybe_rotate, finish_last_head,
1648         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
1649         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
1650         find_best_packet, itanium_reorder, dump_current_packet,
1651         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
1652         (sched_data, sched_ready, sched_types): Remove them.
1653         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
1654         `init_insn_group_barriers'.
1655         (ia64_sched_reorder, ia64_sched_reorder2): Call
1656         ia64_dfa_sched_reorder.
1657         (ia64_variable_issue): Rewrite it.
1658         (bundle_state): New structure.
1659         (index_to_bundle_states, bundle_states_num,
1660         allocated_bundle_states_chain, free_bundle_state_chain): New
1661         global variables.
1662         (ia64_sched_finish): Add stop bits and call `bundling' after the
1663         2nd insn scheduling.
1664         (ia64_use_dfa_pipeline_interface): Return zero always.
1665         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
1666         insn scheduling.
1667         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
1668         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
1669         (ia64_reorg): Add bundling insns.
1670
1671         * doc/tm.texi
1672         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1673         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
1674
1675         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
1676
1677         * config/ia64/ia64.md: Add Itanium1 DFA description.
1678         (itanium_class): Add `nop' and `pre_cycle'.  Add
1679         define_function_unit for `nop'.
1680         (nop): Change attribute `itanium_class'.
1681         (pre_cycle): New define_insn.
1682
1683         * config/ia64/ia64-protos.h (bundling_p): New external variable.
1684         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
1685         ia64_produce_address_p): New function prototypes.
1686
1687         * config/ia64/ia64.c (bundling_p): New global variable.
1688         (ia64_use_dfa_pipeline_interface,
1689         ia64_first_cycle_multipass_dfa_lookahead,
1690         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
1691         functions.
1692         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1693         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1694         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1695         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
1696         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
1697         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
1698         (dfa_pre_cycle_insn): New variable.
1699
1700         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1701
1702         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
1703         constructions.
1704
1705         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
1706         New function prototypes.
1707
1708         * genattrtab.c (main): Process the new constructions.
1709
1710         * genautomata.c (gen_presence_absence_set,
1711         process_presence_absence_names, process_presence_absence_patterns,
1712         add_presence_absence, check_absence_pattern_sets): Add parameter
1713         `final_p'.
1714         (unit_decl): Add new members `final_presence_list' and
1715         `final_absence_list'.
1716         (unit_pattern_rel_decl): Add new member `final_p'.
1717         (gen_final_presence_set, gen_final_absence_set): New functions.
1718         (process_decls): Use member `final_p'.
1719         (temp_reserv): New global variable.
1720         (reserv_sets_are_intersected): Add processing `final_presence_set'
1721         and `final_absence_set'.
1722         (initiate_states): Allocate `temp_reserv'.
1723         (unit_final_presence_set_table, unit_final_absence_set_table): New
1724         gloabal variables.
1725         (initiate_presence_absence_pattern_sets): Initiate them.
1726         (NDFA_to_DFA): Fix typo.
1727         (output_description): Output `final_presence_set' and
1728         `final_absence_set'.
1729
1730         * doc/md.texi (final_presence_set, final_absence_set): Describe
1731         them.
1732
1733         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1734
1735         * genautomata.c (transform_3): Process a missing case (nothing on
1736         unit place).
1737
1738         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1739
1740         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
1741         comments about queried units and the minimization.
1742
1743         * doc/md.texi: Ditto.
1744
1745         * genautomata.c (create_composed_state): Return nonzero if the new
1746         state has been created.
1747         (first_cycle_unit_presence): New function.
1748         (state_is_differed): Add new parameter.  Use the new function.
1749         Take queried units into account.
1750         (partition_equiv_class): Pass additional parameter to
1751         `state_is_differed'.
1752         (merge_states): Process composed states too.
1753         (build_automaton, create_automata, output_min_issue_delay_table,
1754         output_tables, output_statistics): Output more information.
1755         (output_reserved_units_table): Use function
1756         `first_cycle_unit_presence'.
1757         (output_tables): Output table of queried units even if the
1758         minimization is switched on.
1759         (write_automata): Output code for querying units even if the
1760         minimization is switched on.
1761
1762         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
1763
1764         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
1765         syntax of the constructions.
1766
1767         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
1768         extended syntax of the constructions.
1769
1770         * genautomata.c (unit_rel_decl): Rename it to
1771         `unit_pattern_rel_decl'.
1772         (pattern_set_el, pattern_reserv): New structures.
1773         (pattern_set_el_t, pattern_reserv_t): New types.
1774         (gen_presence_absence_set): New function.
1775         (process_presence_absence): Remove it.
1776         (process_presence_absence_names,
1777         process_presence_absence_patterns): New functions.
1778         (get_presence_absence_set): Remove it.
1779         (initiate_presence_absence_sets): Rename it on
1780         `initiate_presence_absence_pattern_sets'.  Use new function
1781         `form_reserv_sets_list'.
1782         (form_reserv_sets_list, check_presence_pattern_sets,
1783         check_absence_pattern_sets, output_pattern_set_el_list): New
1784         functions.
1785         (unit_decl): Change types of members `presence_list' and
1786         `absence_list'.
1787         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
1788         (decl): Change types of members `excl', `presence', and `absence'.
1789         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
1790         at the end of the vector.
1791         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1792         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
1793         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
1794         (gen_presence_set, gen_absence_set): Use new function
1795         `gen_presence_absence_set'.
1796         (add_presence_absence): Process `pattern_list' instead of
1797         `source_list'.
1798         (process_decls): USe new functions
1799         `process_presence_absence_names' and
1800         `process_presence_absence_patterns'.
1801         (reserv_sets_are_intersected): Use new function
1802         `check_presence_pattern_sets'.
1803         (presence_set, absence_set): Remove them.
1804         (unit_presence_set_table, unit_absence_set_table): New global
1805         variables.
1806         (output_description): Use new function
1807         `output_pattern_set_el_list'.
1808         (generate): Use `initiate_presence_absence_pattern_sets'.
1809
1810         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
1811
1812         * genattr.c (main): Add output of prototype of new interface
1813         function `dfa_clean_insn_cache'.
1814
1815         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
1816         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
1817         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
1818         the generated code.
1819         (write_automata): Call the new function.
1820
1821 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1822
1823         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
1824         correctly.
1825
1826 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
1827
1828         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
1829
1830 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
1831
1832         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
1833         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1834         (CONSTRAINT_LEN): Provide default definition.
1835         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1836         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
1837         (EXTRA_CONSTRAINT_STR): Likewise.
1838         (REG_CLASS_FROM_CONSTRAINT): Define.
1839         * genoutput.c (check_constraint_len, constraint_len): New functions.
1840         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
1841         constraint / modifier.
1842         (gen_insn): Call check_constraint_len.
1843         * local-alloc.c (block_alloc): Update to use new macros / pass
1844         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
1845         * ra-build.c (handle_asm_insn): Likewise.
1846         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
1847         (constrain_operands, peep2_find_free_register): Likewise.
1848         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1849         * regmove.c (find_matches): Likewise.
1850         * reload.c (push_secondary_reload, find_reloads): Likewise.
1851         (alternative_allows_memconst): Likewise.
1852         * reload1.c (maybe_fix_stack_asms): Likewise.
1853         (reload_cse_simplify_operands): Likewise.
1854         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1855         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
1856         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1857         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
1858         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
1859         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
1860
1861         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
1862
1863 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1864
1865         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
1866         length.
1867         (*extzv_1_r_h8300hs): Likewise.
1868         (*extzv_1_r_inv_h8300): Likewise.
1869         (*extzv_1_r_inv_h8300hs): Likewise.
1870
1871 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1872
1873         * config/h8300/h8300.h (PREDICATE_CODES): New.
1874
1875 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1876
1877         * config/h8300/h8300.md (*addsi3_upper): New.
1878         (*iorsi3_shift): Likewise.
1879         (two splitters): Likewise.
1880         (*addsi3_shift): Likewise.
1881         (two splitters): Likewise.
1882
1883 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
1884
1885         * Makefile.in (optabs.o): Add dependency on basic-block.h.
1886         * basic-block.h (control_flow_insn_p): Fuction was exported.
1887         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
1888         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
1889         notes only when the region is contained in a single basic block.
1890
1891 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1892
1893         PR inline-asm/8832
1894         * tree.h (expand_asm): New prototype.
1895         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
1896         to do so.
1897         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
1898         down to expand_asm.
1899         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
1900         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
1901         (volatile_refs_p) [ASM_INPUT]: Likewise.
1902         (side_effects_p) [ASM_INPUT]: Likewise.
1903
1904 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
1905
1906         * i386.md (*mul*): FIx constraints; remove confused comment; fix
1907         athlon_decode attributes
1908         (imul/k8 optimization peep2s): New.
1909
1910         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
1911         * i386.md (type attribute): Add ssecomi.
1912         (unit, memory, prefix attributes): Handle ssecomi.
1913         (cvt?2? patterns): Fix athlon_decode attribute
1914         (comi patterns): Set attribute to ssecomi.
1915
1916         PR target/8343
1917         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
1918
1919 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
1920
1921         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
1922         that match register_operands.
1923         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
1924         register_operand the default case.
1925
1926 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1927
1928         PR c/8032
1929         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
1930         an empty element, do not advance the pointer to unfilled
1931         fields if there are pending initializers.
1932
1933 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
1934
1935         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
1936         (install-gcc-tooldir, install-cpp, installdirs,
1937         install-common, install-driver, install-info, install-man,
1938         install-headers, install-include-dir, install-headers-tar,
1939         install-headers-cpio, install-headers-cp, install-mkheaders,
1940         install-collect2, uninstall): Prepend $(DESTDIR) to
1941         destination paths in all (un)installation commands.
1942         (install-driver): Rewrite $(LN) commands to support DESTDIR
1943         with "ln" as well as with "ln -s".
1944         (installdirs): Simply use mkinstalldirs.
1945         (install-libgcc, install-multilib): Also pass DESTDIR.
1946         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
1947         installation destination variable ldir.
1948         * config/alpha/t-osf4, config/arm/t-netbsd,
1949         config/ia64/t-hpux, config/mips/t-iris5-6,
1950         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
1951         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
1952         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
1953         in the definition of SHLIB_INSTALL.
1954         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
1955         $(libsubdir) in the installation commands.
1956
1957 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1958
1959         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
1960         non-optimizing compile.
1961         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
1962         compile.
1963
1964 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
1965
1966         * config/i386/i386.c (ix86_attribute_table): Add new attributes
1967         ms_struct and gcc_struct.
1968         (ix86_handle_struct_attribute): New function.
1969         (ix86_ms_bitfield_layout_p): Update to take new attributes
1970         into account.
1971         * doc/extend.texi: Document new attributes.
1972         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
1973
1974 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
1975
1976         PR optimization/8750
1977         * config/i386/i386.c (ix86_expand_prologue): Don't allow
1978         scheduling pass to move insns across __alloca call.
1979
1980 2003-01-08  Dale Johannesen  <dalej@apple.com>
1981
1982         * config/rs6000/rs6000.md:  Replace *store_multiple_string
1983         with *stmsi[3-8].
1984
1985 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
1986
1987         PR target/9210
1988         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
1989         Set SYMBOL_REF_FLAG on local data sym_ref.
1990
1991 2003-01-08  Dale Johannesen  <dalej@apple.com>
1992
1993         * function.c (assign_parms):  Don't set pretend_args_size if
1994           REG_PARM_STACK_SPACE.
1995           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
1996           pretend_args_size.
1997
1998 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1999
2000         * gcc.hlp: Delete.
2001
2002 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
2003
2004         * i386.c  (ix86_expand_int_addcc): Fix thinko.
2005
2006 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
2007
2008         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
2009         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
2010         as hook_bool_tree_hwi_hwi_tree_true.
2011         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
2012         (rs6000_emit_epilogue): Same.
2013         (rs6000_output_mi_thunk): Re-implement as RTL.
2014         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
2015         xcoffout_declare_function if any debugging enabled.
2016
2017 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
2018
2019         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
2020         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
2021         * config/mips/mips.h (enum processor_type): Rename
2022         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
2023         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
2024         Add PROCESSOR_M4K.
2025         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
2026         (ISA_MIPS32R2): New define.
2027         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
2028         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
2029         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
2030         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
2031         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
2032         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
2033         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
2034         compiling MIPS16 code.
2035         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
2036         comment.
2037         (ISA_HAS_SEB_SEH): New define.
2038         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
2039         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
2040         processor_type value renaming.  Add support for MIPS32R2.
2041         Clean up comments, and move "sb1" entry with other MIPS64 CPU
2042         entries.
2043         (override_options): Reimplement -mipsN option handling so that
2044         it will work correctly for -mips32r2.  Avoid branch-likely
2045         instructions on MIPS32R2.
2046         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
2047         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
2048         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
2049         (extendhisi2_hw, extendqisi2_hw): New.
2050         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
2051         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
2052         MIPS32R2, and MIPS64.
2053         (LINK_SPEC): Pass -mips32r2 to linker.
2054         * config/mips/t-isa3264: Built -mips32r2 multilibs.
2055         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
2056         for mips32r2 in the -march description.  Alphabetically sort
2057         CPU names in the -march description.  Add long-missed -mips32
2058         and -mips64 to MIPS option summary.
2059
2060         * config.gcc: Update copyright years to include 2003.
2061         * config/mips/mips.c: Likewise.
2062         * config/mips/mips.h: Likewise.
2063         * config/mips/mips.md: Likewise.
2064         * config/mips/netbsd.h: Likewise.
2065         * doc/invoke.texi: Likewise.
2066
2067 2003-01-08  Andreas Schwab  <schwab@suse.de>
2068
2069         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
2070         variable.
2071         * configure: Regenerated.
2072
2073 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
2074
2075         * config/h8300/h8300.c (output_logical_op): Replace byte/word
2076         extraction of det with b0, b1, w0, w2, etc.
2077         (compute_logical_op_length): Likewise.
2078         (compute_logical_op_cc): Likewise.
2079
2080 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
2081
2082         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
2083         HIGH on all variants.
2084
2085 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
2086
2087         * Makefile.in (PARTITION_H): New.
2088         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
2089         * basic-block.h: Include hard-reg-set.h.
2090
2091 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
2092
2093         * arm.h (ENABLE_XF_PATTERNS): Delete.
2094         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
2095         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
2096         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
2097         (cmpxf_trap): Delete.
2098         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
2099
2100 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
2101
2102         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
2103         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
2104         (add??cc): New expanders.
2105         * i386.c (expand_int_addcc): New function.
2106         * i386-protos.h (expand_int_addcc): Declare.
2107
2108         * alias.c (memory_modified_1): New static function.
2109         (memory_modified): New static varaible.
2110         (memory_modified_in_insn_p): New global function.
2111         * rtl.h (memory_modified_in_insn_p): Declare.
2112         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
2113         references.
2114
2115         * expr.h (emit_conditional_add): Declare.
2116
2117 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
2118
2119         PR other/8947
2120         * doc/invoke.texi (-malign-double): Explain that the option breaks
2121         binary compatibility.
2122
2123 2003-01-08  Andreas Schwab  <schwab@suse.de>
2124
2125         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
2126         should come from the generic *-*-linux* entry.
2127
2128 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
2129
2130         * cselib.c (cselib_current_insn_in_libcall): New static variable.
2131         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
2132         we are inside libcall.
2133         * cselib.h (elt_loc_list): Add in_libcall.
2134         * gcse.c (do_local_cprop): Do not copy propagate using insns
2135         in libcalls.
2136
2137 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
2138
2139         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
2140         not normally affect to issue rate.
2141
2142 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
2143
2144         * genopinit.c (optabs): Add addc_optab.
2145         * ifcvt.c (noce_try_store_flag): Rename to ...
2146         (noce_try_addcc): ... this one; handle generic conditional increment.
2147         (noce_process_if_block): Update noce_try_addcc call.
2148         * optabs.c (emit_conditional_add): New.
2149         (init_obtabs): Initialize addc_optab.
2150         * optabs.h (optab_index): Add OTI_addcc.
2151         (addcc_optab): New macro.
2152         * md.texi: Document addMcc
2153
2154         PR target/8322
2155         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
2156         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
2157         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
2158
2159         * reload1.c (delete_output_reload): Avoid repeated attempts
2160         to delete insn.
2161
2162 2003-01-07  Andreas Schwab  <schwab@suse.de>
2163
2164         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
2165         Move --enable-initfini-array check ...
2166         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
2167         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
2168         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
2169         * configure: Rebuild.
2170
2171 2003-01-07  Richard Henderson  <rth@redhat.com>
2172
2173         * alias.c (find_base_value): Only use new_reg_base_value shortcut
2174         if the register is set once.
2175
2176 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
2177
2178         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
2179         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
2180         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
2181
2182 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
2183             Sunil Davasam  <sunil.k.davasam@intel.com>
2184
2185         PR libstdc++/9076
2186         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
2187         DW_CFA_same_value, read next and ignore.
2188
2189 2003-01-07  Richard Henderson  <rth@redhat.com>
2190
2191         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
2192
2193 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
2194
2195         * cfg.c: Include alloc-pool.h
2196         (edge_pool): New pool.
2197         (bb_pool): New pool.
2198         (first_deleted_edge): Remove.
2199         (first_deleted_block): Remove.
2200         (init_flow): Alloc/free the pools.
2201         (free_edge): Use pools.
2202         (alloc_block): Ditto.
2203         (expunge_block): Ditto.
2204         (cached_make_edge): Ditto.
2205
2206         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
2207
2208 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
2209
2210         * et-forest.c: Include alloc-pool.h.
2211         (struct et_forest): Add node_pool and occur_pool.
2212         (et_forest_create): Create the new pools.
2213         (et_forest_delete): Delete them.
2214         (et_forest_add_node): Allocate and free using pools.
2215         (et_forest_add_edge): Ditto.
2216         (et_forest_remove_node): Ditto.
2217         (et_forest_remove_edge): Ditto.
2218
2219         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
2220
2221 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
2222
2223         * config/h8300/h8300.c (output_logical_op): Simplify and
2224         optimize the handling of SImode.
2225         * config/h8300/h8300.c (compute_logical_op_length): Update
2226         accordingly.
2227         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
2228
2229 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
2230
2231         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
2232         big-endian correction to indirect arguments too.
2233
2234 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
2235
2236         Segher Boessenkool  <segher@koffie.nl>
2237
2238         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
2239         (alt_reg_names): Ditto, fix formatting.
2240         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
2241
2242 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2243
2244         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
2245         (output_logical_op): Constify intval and det.
2246         (compute_logical_length): Likewise.
2247         (compute_logical_cc): Likewise.
2248         (output_a_shift): Constify mask.
2249         (h8300_encode_label): Constify len.
2250
2251 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2252
2253         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
2254         (h8300_expand_epilogue): Likewise.
2255
2256 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
2257
2258         Segher Boessenkool  <segher@koffie.nl>
2259
2260         * config/rs6000/altivec.md: Remove spaces from assembler
2261         instruction argument lists.
2262
2263 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2264
2265         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
2266         c4x_assembler_function_p.
2267         (c4x_null_epilogue_p): Complement return value, all uses updated.
2268         (c4x_insert_attributes): Add naked.
2269         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
2270         * doc/extend.texi: Update C4x function attributes.
2271
2272 2003-01-06  Richard Henderson  <rth@redhat.com>
2273
2274         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
2275         properly when changing "local-ness".
2276         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
2277
2278 2003-01-06  Dale Johannesen  <dalej@apple.com>
2279
2280         * config/darwin-protos.h:  Add prototypes for new section functions.
2281
2282 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
2283
2284         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
2285         to EABI.
2286
2287 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
2288
2289         * hwint.h: If the current compiler has no 64-bit type at all,
2290         make HOST_WIDEST_INT 32 bits.
2291
2292 2003-01-06  Eric Christopher  <echristo@redhat.com>
2293
2294         * config/mips/mips.md (movdf_internal2): Fix constraints.
2295
2296 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2297
2298         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
2299
2300 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
2301
2302         * config/mips/mips.md (leadi): Use dla rather than la.
2303
2304 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
2305
2306         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
2307         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
2308
2309 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
2310
2311         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
2312         redefinition.
2313
2314 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2315
2316         * config/h8300/h8300.md (*extzv_8_23): New.
2317
2318 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2319
2320         * pa64-hpux.h (JCR_SECTION_NAME): Define.
2321         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
2322         USE_EH_FRAME_REGISTRY when defining.
2323
2324 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2325
2326         * config/h8300/h8300.c (output_a_shift): Do not output a
2327         variable shift.
2328         * config/h8300/h8300.md (two splitters): New.
2329
2330 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
2331
2332         * config/mips/mips.md: Disable the movstrsi define_split.
2333
2334 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2335
2336         * alloc-pool.c: Don't include "libiberty.h".
2337         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
2338         * convert.c (convert_to_real): Hide unused variable.
2339
2340 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2341
2342         * Makefile.in (gtyp-gen.h): Const-ify.
2343         * gcov-dump.c (tag_table): Likewise.
2344
2345 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2346
2347         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
2348         of *both* the file name and the fix name.
2349
2350 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
2351
2352         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
2353         collect2.
2354         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
2355         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
2356         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
2357         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
2358         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
2359         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
2360         elfos.h.
2361         (EH_FRAME_IN_DATA_SECTION): Delete define.
2362         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
2363         (STARTFILE_SPEC): Use crtbegin.o.
2364         (ENDFILE_SPEC): Use crtend.o.
2365         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
2366         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
2367         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
2368         DTOR_LIST_BEGIN): Define.
2369         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
2370         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
2371         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
2372
2373 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
2374
2375         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
2376         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
2377         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
2378         Cleanup handling of replacement text.
2379         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
2380
2381 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2382
2383         * fixinc/tests/base/math.h: removed obsolete results
2384         * fixinc/tests/base/stdlib.h: ditto
2385         * fixinc/tests/base/sys/param.h: ditto
2386         * fixinc/tests/base/sys/stat.h: ditto
2387         * fixinc/tests/base/time.h: ditto
2388         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
2389         * fixinc/tests/base/sys/byteorder.h: ditto
2390         * fixinc/inclhack.def: Remove superfluous backslashes
2391
2392 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
2393
2394         * config/h8300/h8300-protos.h: Add prototypes for
2395         the new functions defined below.
2396         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
2397         define.
2398         (dosize): Emit RTL instead of assembly code.
2399         (push): Likewise.
2400         (pop): Likewise.
2401         (h8300_output_function_prologue): Remove.
2402         (h8300_expand_prologue): New.
2403         (h8300_expand_epilogue): New.
2404         (h8300_output_function_epilogue): Do only the reset of
2405         pragma_saveall.
2406         * config/h8300/h8300.md (push_h8300): New.
2407         (push_h8300hs): Likewise.
2408         (pop_h8300): Likewise.
2409         (pop_h8300hs): Likewise.
2410         (*stm_h8300s_2): Change the name to stm_h8300s_2.
2411         (*stm_h8300s_3): Change the name to stm_h8300s_3.
2412         (*stm_h8300s_4): Change the name to stm_h8300s_4.
2413         (*ldm_h8300s_2): New.
2414         (*ldm_h8300s_3): Likewise.
2415         (*ldm_h8300s_4): Likewise.
2416         (return): Likewise.
2417         (*return_1): Likewise.
2418         (prologue): Likewise.
2419         (epilogue): Likewise.
2420         (monitor_prologue): Likewise.
2421
2422 2003-01-03  Dale Johannesen  <dalej@apple.com>
2423
2424         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
2425           machopic_picsymbol_stub1.
2426           (EXTRA_SECTION_FUNCTIONS):  Ditto.
2427         * rs6000/rs6000.c:  Update copyright.
2428           (machopic_output_stub):  Use them.  Remove an insn from stub code.
2429
2430 2003-01-02  Jason Merrill  <jason@redhat.com>
2431
2432         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
2433
2434         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
2435         static/external decls.
2436
2437         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
2438         outermost scope.
2439         * c-decl.c (c_make_fname_decl): Push the decls there, too.
2440
2441 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
2442
2443         * config/h8300/h8300-protos.h: Add a prototype for
2444         h8300_current_function_interrupt_function_p.
2445         * config/h8300/h8300.c (interrupt_handler): Remove.
2446         (os_task): Likewise.
2447         (monitor): Likewise.
2448         (pragma_interrupt): New.
2449         (WORD_REG_USED): Use
2450         h8300_current_function_interrupt_function_p.
2451         (dosize): Likewise.
2452         (h8300_output_function_prologue): Likewise.
2453         Do not set interrupt_handler, os_task, monitor.
2454         (h8300_output_function_prologue): Use
2455         h8300_current_function_interrupt_function_p.
2456         Do not set interrupt_handler, os_task, monitor.
2457         (h8300_current_function_interrupt_function_p): New.
2458         (h8300_pr_interrupt): Set pragma_interrupt.
2459         (h8300_insert_attributes): Reset pragma_interrupt.
2460
2461 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2462
2463         * doc/install.texi (Configuration): Fix markup for reference to
2464         gcc/config.gcc.
2465
2466 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2467
2468         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
2469         (*iorhi3_two_qi): Likewise.
2470         (*iorsi3_zexthi): Likewise.
2471         (*xorhi3_zextqi): Likewise.
2472         (*xorsi3_zexthi): Likewise.
2473         (*xorsi3_zextqi): Likewise.
2474
2475 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2476
2477         * config/h8300/h8300.c (stack_pointer_operand): New.
2478         (const_int_gt_2_operand): Likewise.
2479         (const_int_ge_8_operand): Likewise.
2480         * config/h8300/h8300.md (a splitter): Likewise.
2481         (a peephole2): Likewise.
2482         * config/h8300/h8300-protos.h: Add prototypes for the new
2483         functions above.
2484
2485 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
2486
2487         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
2488         objc/objc-act.h: Fix copyright years.
2489
2490 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2491
2492         * doc/passes.texi: Fix documentation for -fssa-ccp
2493
2494 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
2495
2496         * gccbug.in: Update for new categories.
2497
2498 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2499
2500         * config/h8300/h8300.md: Reorder some patterns.
2501
2502 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2503
2504         * config/h8300/h8300.c (output_logical_op): Fix a warning.
2505
2506 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2507
2508         * config/darwin-protos.h, config/c4x/c4x-protos.h,
2509         config/cris/cris-protos.h, config/i370/i370-protos.h,
2510         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
2511         config/v850/v850-protos.h: Use struct, and don't conditionally
2512         compile on GCC_C_PRAGMA_H.
2513
2514 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2515
2516         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
2517         * config/h8300/h8300-protos.h: Likewise.
2518         * config/sh/sh-protos.h: Likewise.
2519
2520 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2521
2522         * config/arm/arm-protos.h: Use struct cpp_reader instead of
2523         cpp_reader.
2524         * config/h8300/h8300-protos.h: Likewise.
2525         * config/sh/sh-protos.h: Likewise.
2526
2527 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2528
2529         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
2530         arm_pr_long_calls_off): Use struct.
2531         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
2532         : Similarly.
2533         Don't include cpplib.h.
2534         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
2535         sh_pr_nosave_low_regs): Similarly.
2536
2537 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2538
2539         * config/h8300/h8300.c: Include cpplib.h.
2540
2541 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2542
2543         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
2544           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
2545           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
2546           "GCC" in the copyright header.
2547
2548 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2549
2550         * c-pragma.c (c_register_pragma): New.
2551         (init_pragma): Use it.
2552         * c-pragma.h (cpp_register_pragma): Don't declare.
2553         (c_register_pragma): New.
2554         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
2555         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
2556         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
2557         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2558         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
2559         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
2560         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
2561         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
2562         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
2563         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
2564         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
2565         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
2566
2567 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2568
2569         * config/h8300/h8300-protos.h: Update the prototypes.
2570         * config/h8300/h8300.c (const_le_2_operand): Change to
2571         const_int_le_2_operand.
2572         (const_int_le_6_operand): Change to const_int_le_6_operand.
2573         * config/h8300/h8300.md (two peepholes): Update the function
2574         names.
2575
2576 2002-12-31  Tom Tromey  <tromey@redhat.com>
2577
2578         * doc/install.texi (Testing): Fixed typo.
2579
2580 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2581
2582         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
2583         (TRAMPOLINE_SIZE): Support the normal mode.
2584         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
2585
2586 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
2587
2588         * c-common.h (pending_lang_change): Declare.
2589
2590 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2591
2592         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
2593         descriptions.
2594
2595 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2596
2597         * gcc/doc/invoke.texi (Optimization Options): List the options
2598         enabled by each -O flag.
2599
2600 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2601
2602         * doc/install.texi (Configuration): Explicitly refer
2603         gcc/config.gcc for a list of cpu models.
2604
2605 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2606
2607         * config/h8300/h8300.h: Fix comment typos.
2608
2609 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
2610
2611         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
2612
2613 2002-12-30  Tom Tromey  <tromey@redhat.com>
2614
2615         * doc/install.texi (Testing): Mention Jacks.
2616
2617 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2618
2619         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
2620
2621 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2622
2623         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
2624         cases.
2625         (compute_logical_op_length): Update to reflect the change in
2626         output_logical_op.
2627         (compute_logical_op_cc): Likewise.
2628
2629 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2630
2631         * doc/service.texi: Uncomment and update FAQ link.
2632
2633 2002-12-30  Andreas Jaeger  <aj@suse.de>
2634
2635         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
2636
2637 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2638
2639         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
2640
2641 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2642
2643         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
2644         are clearing the most significant byte.
2645         (compute_logical_op_length): Update to reflect the change in
2646         output_logical_op.
2647         (compute_logical_op_cc): Likewise.
2648
2649 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2650
2651         * config/h8300/h8300.md: Give internal names to anonymous
2652         insns.
2653
2654 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2655
2656         * config/h8300/h8300.md: Reorder some insns.
2657
2658 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2659
2660         * config/h8300/h8300-protos.h: Add prototypes for
2661         const_int_qi_operand and const_int_hi_operand.
2662         * config/h8300/h8300.c (const_int_qi_operand): New.
2663         (const_int_hi_operand): Likewise.
2664         * config/h8300/h8300.md (three peepholes): New.
2665
2666 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2667
2668         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
2669         Use @copying.
2670
2671 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2672
2673         * configure.in: Increase makeinfo version requirement to 4.[2-9].
2674         * configure: Regenerate.
2675         * doc/install.texi: Update Texinfo version requirement.
2676
2677 2002-12-28  Andreas Jaeger  <aj@suse.de>
2678
2679         * config/i386/i386.c (x86_function_profiler): Mark labelno as
2680         possibly unused.
2681
2682         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
2683         correct format.
2684
2685 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
2686
2687         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
2688         *iorhi_ashift_8.
2689         (*iorhi_lshiftrt_8): New.
2690
2691 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
2692
2693         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
2694
2695 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2696
2697         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
2698
2699 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2700
2701         * config/h8300/h8300-protos.h: Fix comment typos.
2702         Update copyright.
2703         * config/h8300/h8300.c: Fix comment typos.
2704
2705 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2706
2707         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
2708
2709 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2710
2711         * config/i386/athlon.md: Fix comment typos.
2712         * config/i386/crtdll.h: Likewise.
2713         * config/i386/djgpp.h: Likewise.
2714         * config/i386/i386-interix.h: Likewise.
2715         * config/i386/i386.c: Likewise.
2716         * config/i386/i386.h: Likewise.
2717         * config/i386/i386.md: Likewise.
2718         * config/i386/k6.md: Likewise.
2719         * config/i386/mingw32.h: Likewise.
2720         * config/i386/pentium.md: Likewise.
2721         * config/i386/sco5.h: Likewise.
2722         * config/i386/winnt.c: Likewise.
2723         * config/i386/xmmintrin.h: Likewise.
2724
2725 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
2726
2727         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
2728         INSN_P before checking to see if it is dead.
2729         (mark_all_insn_unnecessary): Similarly.
2730         (ssa_eliminate_dead_code): Similarly.
2731         * rtl.h (struct rtx_def): Update comments for in_struct usage
2732         in dead code elimination pass.
2733         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
2734
2735 2002-12-26  Andreas Schwab  <schwab@suse.de>
2736
2737         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
2738
2739 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
2740
2741         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
2742         tartet_flags_explicit.
2743         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
2744         Compact target_flags bits.
2745         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
2746         (TARGET_SWITCHES): Delete references to *_SET flags.
2747
2748 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
2749
2750         * i386.md (memory attribute): Fix setcc attribute.
2751
2752 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2753
2754         * output.h: Fix comment typos.
2755         * predict.c: Likewise.
2756         * print-tree.c: Likewise.
2757         * profile.c: Likewise.
2758         * ra-build.c: Likewise.
2759         * ra-colorize.c: Likewise.
2760         * ra-debug.c: Likewise.
2761         * ra-rewrite.c: Likewise.
2762         * ra.c: Likewise.
2763         * ra.h: Likewise.
2764         * real.c: Likewise.
2765         * recog.c: Likewise.
2766         * reg-stack.c: Likewise.
2767         * regclass.c: Likewise.
2768
2769 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2770
2771         * config/h8300/h8300.c (print_operand_address): Do not negate
2772         a negative number when printing one.
2773
2774 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2775
2776         * config/h8300/h8300-protos.h: Add prototypes for
2777         output_plussi, compute_plussi_length, and compute_plussi_cc.
2778         * config/h8300/h8300.c (output_plussi): New.
2779         (compute_plussi_length): Likewise.
2780         (compute_plussi_cc): Likewise.
2781         * config/h8300/h8300.md (addsi_h8300h): Call
2782         output_plussi, compute_plussi_length, and compute_plussi_cc.
2783
2784 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2785
2786         * config/h8300/h8300.md (two peepholes): Use match_dup instead
2787         of match_operand in the new patterns.
2788
2789 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
2790
2791         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
2792
2793 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
2794
2795         * configure.in (enable-coverage): Add SELF_COVERAGE.
2796         * profile.c (end_branch_prob): Use SELF_COVERAGE.
2797
2798 2002-12-24  Jim Wilson  <wilson@redhat.com>
2799
2800         * alias.c (record_set): Handle multi-reg hard registers.
2801
2802 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2803
2804         * regmove.c: Fix comment typos.
2805         * reload.c: Likewise.
2806         * reload1.c: Likewise.
2807         * resource.c: Likewise.
2808         * rtl.def: Likewise.
2809         * rtl.h: Likewise.
2810         * rtlanal.c: Likewise.
2811         * sched-deps.c: Likewise.
2812         * sched-rgn.c: Likewise.
2813         * sibcall.c: Likewise.
2814         * simplify-rtx.c: Likewise.
2815         * ssa-ccp.c: Likewise.
2816         * ssa.c: Likewise.
2817         * stmt.c: Likewise.
2818         * stor-layout.c: Likewise.
2819         * system.h: Likewise.
2820         * tlink.c: Likewise.
2821         * toplev.c: Likewise.
2822         * tracer.c: Likewise.
2823         * tree-inline.c: Likewise.
2824         * tree.c: Likewise.
2825         * tree.h: Likewise.
2826         * unroll.c: Likewise.
2827         * varasm.c: Likewise.
2828
2829 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
2830
2831         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
2832         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
2833         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
2834         DG/UX entries.
2835         * doc/md.texi: Remove AMD 29K entries.
2836         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
2837         1.38.1, NewsOS, RT PC, WE32K entries.
2838
2839 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
2840
2841         PR/8763
2842         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
2843         (altivec_vspltisw_v4sf): Name pattern.
2844         (altivec_vslw_v4sf): New pattern.
2845
2846 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2847
2848         * doc/include/gcc-common.texi: Define DEVELOPMENT.
2849
2850 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
2851
2852         * stor-layout.c (update_alignment_for_field): Correct handling of
2853         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
2854         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
2855         bitfield does not affect alignment.
2856
2857 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
2858
2859         * expr.c (expand_assignment): Apply special treatment to
2860         ARRAY_TYPE.
2861
2862 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2863
2864         * config/h8300/h8300-protos.h: Update the prototype of
2865         expand_a_shift.
2866         * config/h8300/h8300.c (expand_a_shift): Change the return
2867         type to void.
2868         * config/h8300/h8300.md: Update all the uses of
2869         expand_a_shift.
2870
2871 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
2872
2873         * tree.c (save_expr): Allow either side of a dyadic operand to be
2874         constant.
2875
2876         * doc/portability.texi (portability): Update portability goals.
2877
2878 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2879
2880         * config/h8300/h8300.c (output_a_shift): Remove unused code.
2881
2882 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
2883
2884         * stor-layout.c (update_alignment_for_field): Guard use of
2885         ADJUST_FIELD_ALIGN with #ifdef.
2886
2887         * stor-layout.c (update_alignment_for_field): Use
2888         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
2889         bitfield when PCC_BITFIELD_TYPE_MATTERS.
2890
2891 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2892
2893         * genautomata.c: Fix comment typos.
2894
2895 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2896
2897         * params.def (tracer-min-branch-probability-feedback): Fix default.
2898         * final.c (compute_alignments): Use profile to avoid code bloat.
2899
2900 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2901
2902         * config/h8300/h8300.c (get_shift_alg): Make shift insn
2903         sequences end with a valid cc0 whenever possible.
2904
2905 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2906
2907         * config/h8300/h8300.md (negsf2): New.
2908         (*negsf2_h8300): Likewise.
2909         (*negsf2_h8300hs): Likewise.
2910
2911 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
2912
2913         * integrate.c (output_inline_function): Don't hold private
2914         pointers to 'struct function' over GC calls.
2915
2916 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
2917
2918         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
2919         NO_FPSCR_VALUES.
2920         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
2921
2922 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2923
2924         * config/h8300/h8300.md (zero_extendqisi2): Correct the
2925         length.
2926
2927 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2928
2929         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
2930         second alternative "#".
2931         (*zero_extendqihi2_h8300hs): Likewise.
2932         (a define_split): New.
2933
2934 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2935
2936         * config/h8300/h8300-protos.h: Update the prototype for
2937         split_adds_subs.
2938         Add prototypes for const_le_2_operand and const_le_6_operand.
2939         * config/h8300/h8300.c (split_adds_subs): Add an argument to
2940         specify whether inc/dec should be used when possible.
2941         (const_le_2_operand): New.
2942         (const_le_6_operand): Likewise.
2943         * config/h8300/h8300.md (two peepholes): New.
2944
2945 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2946
2947         * config/fr30/fr30.md: Fix a comment typo.
2948         * config/i386/i386.c: Likewise.
2949         * config/ip2k/ip2k.h: Likewise.
2950
2951 2002-12-20  Jim Wilson  <wilson@redhat.com>
2952
2953         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
2954         (__ev_subw, __ev_subiw): New.
2955         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
2956         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
2957
2958 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
2959
2960         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
2961         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
2962         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
2963         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
2964
2965 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2966
2967         * config/h8300/h8300-protos.h: Add prototypes for
2968         incdec_operand and eqne_operator.
2969         * config/h8300/h8300.c (incdec_operand): New.
2970         (eqne_operator): Likewise.
2971         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
2972         (CONST_OK_FOR_O): Likewise.
2973         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
2974         CONST_OK_FOR_O.
2975         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
2976         (addhi3_incdec): New.
2977         (addsi3_incdec): Likewise.
2978         (two peepholes): Likewise.
2979
2980 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2981
2982         * config/h8300/h8300.c (dosize): Remove warnings.
2983         (print_operand): Likewise.
2984
2985 2002-12-20  Richard Henderson  <rth@redhat.com>
2986
2987         * config/alpha/alpha.c (decl_has_samegp): New.
2988         (samegp_function_operand): Use it.  Rename from
2989         current_file_function_operand.
2990         (direct_call_operand): Handle -msmall-text via symbol->jump.
2991         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
2992         (tls_symbolic_operand_type): Likewise.
2993         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
2994         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
2995         (alpha_end_function): Set symbol->jump for functions defined in
2996         the text section.
2997         * config/alpha/alpha-protos.h: Update.
2998         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
2999         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
3000         (PREDICATE_CODES): Update.
3001         * config/alpha/alpha.md (call patterns): Update for
3002         samegp_function_operand rename; use !samegp reloc if
3003         TARGET_EXPLICIT_RELOCS.
3004         * doc/invoke.text: Document -msmall-text and -mlarge-text.
3005
3006 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
3007
3008         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
3009         all registers capable of holding a double float.
3010         (*rcond): change name of "reverse branch" insns to
3011         something more meaningful.
3012         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
3013         comparisons properly.
3014         (*ffs): Change operand 0 from write to read-modify-write.
3015         (*ffsssi2): Drop constraints from define_expand.
3016
3017         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
3018         MOVE_RATIO as default for store operations.
3019
3020         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
3021         LONG_REGS class.
3022         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
3023         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
3024         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
3025
3026         * config/ns32k/STATUS: New File
3027         * config/ns32k/NOTES: New file.
3028
3029 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
3030
3031         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
3032         option for S/390 and zSeries.
3033         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
3034         s390_arch_string): New variables.
3035         (override_options): Checking for options and setting of
3036         appropriate target_flags, cpu and arch flags.
3037         * config/s390/s390.h: (processor_type): New enum.
3038         (TARGET_SWITCHES): New switches -mesa/zarch.
3039         * config/s390/s390.md: New attribute 'cpu'.
3040
3041 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3042
3043         * c-pretty-print.h: Fix comment typos.
3044         * integrate.c: Likewise.
3045         * varasm.c: Likewise.
3046         * config/c4x/c4x.h: Likewise.
3047         * config/c4x/c4x.md: Likewise.
3048         * config/fr30/fr30.md: Likewise.
3049         * config/frv/frv.c: Likewise.
3050         * config/h8300/h8300.c: Likewise.
3051         * config/i386/i386.c: Likewise.
3052         * config/i386/i386.h: Likewise.
3053         * config/ia64/ia64.c: Likewise.
3054         * config/ia64/ia64.h: Likewise.
3055         * config/ip2k/ip2k.md: Likewise.
3056         * config/m68hc11/m68hc11-crt0.S: Likewise.
3057         * config/m68hc11/m68hc11.h: Likewise.
3058         * config/m68hc11/m68hc11.md: Likewise.
3059         * config/m68hc11/m68hc12.h: Likewise.
3060         * config/mcore/mcore.md: Likewise.
3061         * config/mips/mips.c: Likewise.
3062         * config/mips/mips.md: Likewise.
3063         * config/mmix/mmix-modes.def: Likewise.
3064         * config/pa/pa.c: Likewise.
3065         * config/rs6000/rs6000.c: Likewise.
3066         * config/rs6000/rs6000.h: Likewise.
3067         * config/rs6000/rs6000.md: Likewise.
3068
3069 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3070
3071         * config/h8300/h8300.md (output_a_shift): Clean up the code to
3072         output shifts using rotation.
3073
3074 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3075
3076         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
3077
3078 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3079
3080         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
3081         pointer.
3082         (pushqi_h8300hs): Likewise.
3083         (pushhi_h8300): Likewise.
3084         (pushhi_h8300hs): Likewise.
3085
3086 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
3087
3088         * sched-rgn.c (init_regions): Update comment.
3089
3090 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
3091
3092         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
3093         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
3094         attributes.
3095         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
3096         (get_vrsave_internal,set_vrsave_internal): Same.
3097         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
3098         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
3099         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
3100
3101 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
3102             Danny Smith  <dannysmith@users.sourceforge.net>
3103             Eric Kohl  <ekohl@rz-online.de>
3104
3105         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
3106         attributes incompatible with fastcall attribute.
3107         (ix86_handle_regparm_attribute): Likewise.
3108
3109         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
3110         fastcall types.
3111
3112         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
3113         attributes.
3114         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
3115         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
3116         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
3117         i386_pe_output_labelref rather than here.
3118         (gen_fastcall_suffix): New function. Decorates a label name with the
3119         fastcall prefix (@) and the stdcall suffix.
3120         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
3121         has a fastcall attribute.
3122         (i386_pe_output_labelref): New function. Outputs a label reference.
3123         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
3124         valid attribute.
3125         (ix86_return_pops_args): Fastcall functions pop the stack.
3126         (init_cumulative_args): Reserve registers ECX and EDX if function has
3127         fastcall attribute.
3128         (function_arg): Use registers ECX and EDX if function has fastcall
3129         attribute.
3130         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
3131         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
3132         (FASTCALL_PREFIX): Define as '@'.
3133         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
3134         attributes.
3135         * doc/extend.texi: Add documentation of fastcall attribute.
3136
3137 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
3138
3139         * configure.in: FORBUILD when build!=host changed from
3140         ../$build-alias to ../build-$build_alias to match change made
3141         in top directory.
3142         * configure: Regenerated.
3143
3144 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
3145
3146         PR optimization/8988
3147         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
3148         the biv when eliminating.
3149
3150 2002-12-19  Devang Patel  <dpatel@apple.com>
3151         * gcc.c (struct default_compiler): Recognizes input file name with
3152         .CPP extension as C++ source files
3153         * cp/lang-spec.h: Same
3154         * doc/invoke.texi:  Add documentation for .CPP support.
3155
3156 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
3157
3158         PR 8553
3159         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
3160         registers.
3161         ("absv16qi2"): Same.
3162         ("absv4si2"): Same.
3163         ("absv4sf2"): Same.
3164         ("altivec_abss_v16qi"): Same.
3165         ("altivec_abss_v8hi"): Same.
3166         ("altivec_abss_v4si"): Same.
3167
3168 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
3169
3170         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
3171         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
3172
3173 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
3174
3175         PR target/8340
3176         * stmt.c (expand_asm_operands): Produce an error when
3177         the PIC register is clobbered.
3178
3179 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
3180
3181         * Makefile.in (OBJS): Add alloc-pool.o
3182         (alloc-pool.o): New object.
3183
3184         * alloc-pool.c: New file.
3185         * alloc-pool.h: New file.
3186
3187 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
3188
3189         * gcc.c (validate_switches): Robustify against skipping past '\0'.
3190
3191 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3192
3193         * config.gcc: Set extra_objs in the generic Darwin rule,
3194         not in the machine-specific rules.
3195
3196 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3197
3198         * ChangeLog: Follow spelling conventions.
3199         * ChangeLog.2: Likewise.
3200         * ChangeLog.4: Likewise.
3201         * ChangeLog.5: Likewise.
3202         * cppexp.c: Likewise.
3203         * df.c: Likewise.
3204         * gcov.c: Likewise.
3205         * gengtype.c: Likewise.
3206         * reload1.c: Likewise.
3207         * sched-rgn.c: Likewise.
3208         * stmt.c: Likewise.
3209         * stor-layout.c: Likewise.
3210         * timevar.c: Likewise.
3211         * toplev.c: Likewise.
3212         * tree.h: Likewise.
3213         * varasm.c: Likewise.
3214         * config/fr30/fr30.md: Likewise.
3215         * config/i386/i386.c: Likewise.
3216         * config/ia64/ia64.c: Likewise.
3217         * config/pa/pa.c: Likewise.
3218
3219 2002-12-18  Roger Sayle  <roger@eyesopen.com>
3220
3221         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
3222
3223 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
3224
3225         PR 8551
3226         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
3227         macro.
3228         (vec_cmplt C++ functions): Reverse arguments.
3229
3230 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3231
3232         * config/rs6000/t-rs6000: Move contents to t-fprules,
3233         add rules for dependencies of rs6000.o and to build rs6000-c.o
3234         * config/rs6000/t-fprules: New file from t-rs6000.
3235         * config/rs6000/t-beos: Remove soft-fp rules.
3236         * config/rs6000/t-ppccomm: Likewise.
3237         * config/rs6000/t-newas: Likewise.
3238         * config/rs6000/t-rs6000-c-rule: Delete.
3239         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
3240         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
3241         Create generic Darwin rules.
3242
3243         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
3244
3245 2002-12-18  Doug Evans  <dje@sebabeach.org>
3246
3247         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
3248         and LIT_NAME_P.
3249         (move_src_operand): Remove compile-time warning.
3250         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
3251
3252 2002-12-18  Jason Merrill  <jason@redhat.com>
3253
3254         * unwind-dw2-fde.c (frame_downheap): Split out from...
3255         (frame_heapsort): Here.
3256
3257 2002-12-17  Jason Merrill  <jason@redhat.com>
3258
3259         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
3260         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
3261
3262         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
3263
3264         * calls.c (expand_call): Don't try to be clever about expanding
3265         the return slot address.
3266
3267 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
3268
3269         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
3270         Define.
3271
3272 2002-12-17  Jason Merrill  <jason@redhat.com>
3273
3274         * genmultilib: Use 'cd ./foo'.
3275
3276 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3277
3278         * doc/c-tree.texi: Restore deliberate spelling mistakes.
3279
3280 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3281
3282         * doc/c-tree.texi: Fix typos and follow spelling conventions.
3283         * doc/cpp.texi: Likewise.
3284         * doc/extend.texi: Likewise.
3285         * doc/gty.texi: Likewise.
3286         * doc/install.texi: Likewise.
3287         * doc/invoke.texi: Likewise.
3288         * doc/md.texi: Likewise.
3289         * doc/passes.texi: Likewise.
3290         * doc/rtl.texi: Likewise.
3291         * doc/sourcebuild.texi: Likewise.
3292         * doc/tm.texi: Likewise.
3293
3294 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
3295
3296         * doc/invoke.texi: Minor spelling and grammar fixes.
3297
3298 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
3299
3300         * config/s390/s390.c (s390_output_constant_pool): Replace
3301         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
3302
3303 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
3304
3305         * convert.c (convert_to_real): Disable function transformation for
3306         now.
3307
3308 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3309
3310         * gcc.c (handle_braces): Allow '@' as a switch name.
3311
3312 2002-12-16  Jason Merrill  <jason@redhat.com>
3313
3314         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
3315         with special struct-return ABIs.
3316
3317         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
3318         doesn't match the begin SCOPE_STMT in partialness.
3319
3320 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3321
3322         * genmultilib: Create temporary files in unique subdirectory.
3323
3324         * gcc.c (validate_switches): Allow '@' as a switch name.
3325
3326 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
3327
3328         * Makefile.in (gcov-iov.h): Improve portability.
3329
3330 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
3331
3332         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
3333         gas
3334         * mips.md (tablejump insn): Likewise.
3335
3336 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
3337
3338         * doc/include/gcc-common.texi: Change version number to 3.4.
3339
3340 2002-12-16  Bruce Korb  <bkorb@gnu.org>
3341
3342         * fixinc/fixlib.h: add: #include <signal.h>
3343         * fixinc/fixincl.c: remove: #include <signal.h>
3344
3345 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
3346
3347         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
3348         (EXTRA_CONSTRAINT): Use it.
3349         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
3350
3351 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
3352
3353         * config.gcc (need_64bit_hwint): New variable.
3354         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
3355         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
3356         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
3357         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
3358         Set it.
3359         (powerpc*-*-darwin*): Unset it.
3360         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
3361         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
3362         deleted/nonexistent xm-*.h headers.
3363         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
3364         target set need_64bit_hwint in config.gcc.
3365         * configure, config.in: Regenerate.
3366
3367         * hwint.h: Overhaul.  Don't bother trying int for
3368         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
3369         decision to force 64-bit HOST_WIDE_INT on
3370         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
3371         not visible at this point.  Don't allow prior definition of
3372         any macro defined by this file.
3373
3374         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
3375         HOST_BITS_PER_WIDE_INT.
3376         * config/c4x/c4x.h: Adjust redefinition of
3377         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
3378         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
3379         config/i386/xm-i386-interix.h: Delete file.
3380
3381 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
3382             John David Anglin  <dave@hiauly1.hia.nrc.ca>
3383
3384         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
3385         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
3386
3387 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3388
3389         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
3390
3391 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3392
3393         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
3394         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
3395         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
3396         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
3397         config/v850/t-v850:  Correct dependencies and normalize
3398         compilation commands for files that include coretypes.h and tm.h.
3399
3400         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
3401         not config.h and system.h.
3402
3403 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
3404
3405         * i386.c (flags_reg_operand):  New function.
3406         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
3407         * i386.md (cmov splitter, movqicc): Use new predicate.
3408
3409 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
3410
3411         * i386.md (movqicc splitter): Fix template.
3412
3413 2002-12-13  Jason Merrill  <jason@redhat.com>
3414
3415         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
3416         * calls.c (expand_call): Handle it.
3417         * tree-inline.c (struct inline_data): Remove target_exprs field.
3418         (optimize_inline_calls): Don't initialize it.
3419         (expand_call_inline): Don't modify it.  Handle
3420         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
3421         (declare_return_variable): Take return slot addr.
3422         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
3423         to return_slot_addr.
3424         * langhooks-def.h, langhooks.c: Adjust.
3425         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
3426         a decl with no DECL_INITIAL.
3427
3428         * expr.c (expand_expr): Don't discard the target of a call which
3429         returns in memory.
3430
3431 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
3432
3433         * cppinit.c (path_include): Take an environment variable name.
3434         Tidy up.
3435         (init_standard_includes): Simplify environment handling, and
3436         move to ...
3437         (cpp_read_main_file): ...here as -nostdinc should not affect
3438         environment variable paths.
3439
3440 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3441
3442         * pa.c (output_millicode_call): Correct typo.
3443         (output_call): Likewise.
3444
3445 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
3446
3447         * config/mn10300/mn10300.c (print_operand) <case N>: Check
3448         operand's range.  Print value directly, without aid from
3449         output_address.
3450         <case U>: New.
3451         <case S>: Make sure argument to fprintf has the right type.
3452         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
3453         (EXTRA_CONSTRAINT): Adjust.
3454         * config/mn10300/mn10300.md: Add new all-QImode pattern for
3455         bclr.  Use %U for immediate operands of bset and bclr.
3456         (iorqi3): New expand, with insns for AM33 and mn10300.
3457
3458 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
3459
3460         * sh.c (sh_register_operand): New function.
3461         (prepare_move_operands): Use it.
3462         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
3463         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
3464         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
3465         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
3466         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
3467         (movv2si_i): Likewise.
3468
3469 2002-12-13  Jim Wilson  <wilson@redhat.com>
3470
3471         * doc/extend.texi (Complex Numbers): Update info on debug info.
3472
3473 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
3474
3475         * config/h8300/h8300.md (addhi3_h8300): Remove the last
3476         alternative.
3477
3478 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3479
3480         * hooks.h (hook_tree_tree_bool_false): Declare
3481         hook_bool_tree_tree_false instead.
3482
3483 2002-12-12  Devang Patel  <dpatel@apple.com>
3484
3485         * doc/invoke.texi: Document Darwin linker options, -bundle
3486         -bind_at_load, -all_load and -arch_errors_fatal
3487
3488 2002-12-12  Jim Wilson  <wilson@redhat.com>
3489
3490         * dbxout.c (dbxout_fptype_value): New.
3491         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
3492
3493 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3494
3495         * c-decl.c: Fix a comment typo.
3496         * cfg.c: Likewise.
3497         * cfgcleanup.c: Likewise.
3498         * cfglayout.c: Likewise.
3499         * cfgrtl.c: Likewise.
3500         * c-typeck.c: Likewise.
3501         * dominance.c: Likewise.
3502         * dwarf2asm.c: Likewise.
3503         * dwarfout.c: Likewise.
3504         * expmed.c: Likewise.
3505         * expr.c: Likewise.
3506         * final.c: Likewise.
3507         * flow.c: Likewise.
3508         * function.c: Likewise.
3509         * gcc.c: Likewise.
3510         * genautomata.c: Likewise.
3511         * integrate.c: Likewise.
3512         * loop.c: Likewise.
3513         * loop.h: Likewise.
3514         * output.h: Likewise.
3515         * profile.c: Likewise.
3516         * ra.h: Likewise.
3517         * reload1.c: Likewise.
3518         * reload.c: Likewise.
3519         * sched-rgn.c: Likewise.
3520         * stmt.c: Likewise.
3521         * tree.h: Likewise.
3522         * vmsdbgout.c: Likewise.
3523
3524 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3525
3526         * config/h8300/h8300.md: Add a new peephole2.
3527
3528 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3529
3530         * config/h8300/h8300.md (a peephole2): Accept a constant
3531         that's accepted by CONST_OK_FOR_J.
3532
3533 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3534
3535         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
3536         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
3537         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
3538         (*addhi_h8300hs): Likewise.
3539
3540 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
3541
3542         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
3543         (sh_register_move_cost): Add clause for SImode fp-fp moves.
3544         Increase cost for moves involving multiple general purpose registers.
3545         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
3546         TARGET_FMOVD.
3547         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
3548         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
3549         (enum reg_class reg_class_from_letter): No longer const.
3550         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
3551         REGCLASS_HAS_GENERAL_REG.
3552         Handle SImode moves from/to fp registers.
3553         ! TARGET_SHMEDIA && TARGET_FMOVD.
3554         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
3555         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
3556
3557 2002-12-12  Andreas Schwab  <schwab@suse.de>
3558
3559         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
3560         change and some warnings.
3561
3562 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3563
3564         * doc/md.texi (pushm): Fix a typo.
3565
3566 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
3567
3568         * config/mips/mips.c (mips_output_conditional_branch): Support
3569         PIC-safe out-of-range branch and branch-likely.
3570         * config/mips/mips.md (attr length): PIC-safe out-of-range
3571         branches are longer.
3572         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
3573         unused code to support indirect jumps.
3574
3575 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
3576
3577         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
3578         $(tm_file_list).
3579
3580 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
3581
3582         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
3583
3584 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
3585
3586         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
3587
3588 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3589
3590         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
3591         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
3592         BIGGEST_ALIGNMENT.
3593         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
3594         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
3595
3596 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3597
3598         * doc/invoke.texi: Correct dump file names.
3599
3600 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3601
3602         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
3603         name to globalize_label or assemble_name.
3604
3605 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
3606
3607         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
3608         if not TARGET_SHMEDIA.
3609
3610 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
3611
3612         * sh.h (REG_CLASS_HAS_FP_REG): New.
3613         (REGISTER_MOVE_COST) Use it.  Put body into a function and
3614         move it into:
3615         * sh.c (sh_register_move_cost).
3616         * sh-protos.h (sh_register_move_cost): Declare.
3617
3618         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
3619         (sh_adjust_cost): Always return a value.
3620
3621 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
3622
3623         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
3624         (REGISTER_MOVE_COST): Use it.
3625
3626 2002-12-11  Richard Henderson  <rth@redhat.com>
3627
3628         * tree.h (MODULE_LOCAL_P): Kill.
3629         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
3630
3631 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3632
3633         * config/h8300/h8300.md (two define_peephole2): New.
3634
3635 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3636
3637         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
3638         (CONST_OK_FOR_K): Likewise.
3639         (CONST_OK_FOR_M): Likewise.
3640         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
3641
3642 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
3643
3644         * c-common.c (builtin_define_type_max): Handle unsigned
3645         types too.
3646
3647 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
3648
3649         * haifa-sched.c (rank_for_schedule): Correct style.
3650
3651 2002-12-10  Per Bothner  <pbothner@apple.com>
3652
3653         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
3654         directive_index into an unsigned field and a new is_directive field.
3655         * cppinit.c (mark_named_operators):  Update to set new fields.
3656         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
3657         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
3658         No longer need to subtract 1 from directive_index.
3659         (_cpp_init_directives):  No longer need to add 1 to directive_index.
3660         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
3661
3662 2002-12-10  Roger Sayle  <roger@eyesopen.com>
3663
3664         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
3665         check for evaluating sqrt of a constant at compile time.
3666         * simplify-rtx.c (simplify_unary_operation): Likewise.
3667
3668 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
3669
3670         PR other/8882
3671         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
3672
3673 2002-12-10  Devang Patel  <dpatel@appple.com>
3674
3675         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
3676         * doc/invoke.texi: Add new "Darwin Options" section.
3677
3678 2002-12-10  Jim Wilson  <wilson@redhat.com>
3679
3680         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
3681         memory.
3682
3683 2002-12-10  Andrew Haley  <aph@redhat.com>
3684
3685         * cse.c (cse_insn): Don't cse past a basic block boundary.
3686
3687 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
3688
3689         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
3690         -shared.
3691         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
3692         * config/alpha/linux.h (LIB_SPEC): Likewise.
3693         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
3694         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
3695         * config/sparc/linux.h (LIB_SPEC): Likewise.
3696         * config/sparc/linux64.h (LIB_SPEC): Likewise.
3697
3698 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
3699
3700         * doc/invoke.texi: Document UltraSparc III option.
3701
3702 2002-12-09  Richard Henderson  <rth@redhat.com>
3703
3704         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
3705         __tune_pentium2__ and __tune_pentium3__ as necessary.
3706
3707 2002-12-09  Richard Henderson  <rth@redhat.com>
3708
3709         * target.h (gcc_target): Add cannot_force_const_mem.
3710         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
3711         (TARGET_INITIALIZER): Add it.
3712         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
3713         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
3714         * reload1.c (reload): Likewise.
3715         * hooks.c (hook_bool_rtx_false): New.
3716         * hooks.h: Declare it.
3717
3718         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
3719         (TARGET_CANNOT_FORCE_CONST_MEM): New.
3720         (ix86_expand_move): Remove de-const-pooling hack.
3721
3722 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
3723
3724         * toplev.c (dump_file): Fix order to match reality.
3725
3726 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
3727
3728         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
3729         (store_multiple): Likewise.
3730
3731 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3732
3733         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
3734         function pointers in page 0.
3735
3736 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3737
3738         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
3739         definition
3740         (MEMBER_TYPE_FORCES_BLK): Move.
3741         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
3742         aggregate arguments.
3743         (ia64_function_value): Use PARALLEL to return aggregate values.
3744
3745 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3746
3747         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3748         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3749         * calls.c (store_unaligned_arguments_into_pseudos) Remove
3750         FUNCTION_ARG_REG_LITTLE_ENDIAN.
3751         * stmt.c (expand_return): Ditto.
3752         * expr.c (move_block_from_reg): Ditto.
3753         (copy_blkmode_from_reg): Ditto.
3754         * expmed.c (store_bit_field): Ditto.
3755
3756 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
3757
3758         * config.gcc: Added tic4x-* target as an alias to c4x-*
3759
3760 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3761
3762         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
3763         constructing insn directly.
3764
3765 2002-12-06  Per Bothner  <pbothner@apple.com>
3766
3767         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
3768         char to an int bit-field, for hosts where char is unsigned.
3769
3770 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3771             Richard Henderson <rth@redhat.com>
3772
3773         * real.c (ieee_extended_motorola_format,
3774         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
3775         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
3776         Provide appropriate values for new signbit field.
3777
3778 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3779
3780         * real.h (real_format): Add signbit field.
3781         * real.c (ieee_single_format, ieee_double_format,
3782         ieee_extended_motorola_format, ieee_extended_intel_96_format,
3783         ieee_extended_intel_128_format, ibm_extended_format,
3784         ieee_quad_format, vax_f_format, vax_d_format,
3785         vax_g_format, i370_single_format, i370_double_format,
3786         c4x_single_format, c4x_extended_format, real_internal_format):
3787         Provide suitable signbit value, or -1 to avoid bit twiddling.
3788
3789         * optabs.c (expand_unop): Try implementing negation of
3790         floating point modes by flipping the sign bit.
3791         (expand_abs): Try implementing abs of floating point modes
3792         by clearing the sign bit.
3793
3794 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3795
3796         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
3797         of constructing insn directly.
3798
3799 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
3800
3801         * config/h8300/h8300.md (*iorhi_shift_8): New.
3802
3803 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
3804
3805         * doc/invoke.texi: Document FRV port options.
3806         * doc/md.texi: Document FRV register classes.
3807
3808 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3809
3810         * doc/install.texi (Configuration): Improve description of cases
3811         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
3812
3813 2002-12-06  Per Bothner  <pbothner@apple.com>
3814
3815         * cpplib.h (NODE_MACRO_ARG):  New flag.
3816         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
3817         Remove value.operator field.  Move arg_index field to value union.
3818         (directive_index):  Make signed, since also used for C++ operators.
3819         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
3820         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
3821         Save node->value, and set node->value.arg_index.
3822         (_cpp_create_definition):  For each paramater, restore node->value.
3823         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
3824         * cpptrad.c (scan_out_logical_line): Likewise.
3825         (scan_out_logical_line): Check for directive > 0.
3826         * cpplib.c (cpp_handle_directive):  Likewise.
3827         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
3828         by negative of directive_index.
3829         * cppinit.c (mark_named_operators):  Likewise.
3830
3831         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
3832
3833 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
3834
3835         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
3836         FPU.
3837         (push): Generate push_fpscr.
3838         (pop): Generate pop_fpscr.
3839         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
3840         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
3841
3842 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
3843
3844         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
3845         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
3846
3847 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
3848
3849         * sh.md (movdi_i): Name.  Remove inappropriate comment.
3850
3851 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
3852         Merged from basic improvements branch (excerpt):
3853
3854         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
3855         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
3856
3857 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
3858
3859         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
3860
3861 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
3862
3863         * i386.md (dimode peep2s): Re-add "&& 1".
3864
3865 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3866
3867         * i386.c (ix86_expand_prologue):  Add comment, do not use
3868         fast prologues for cold and normal functions.
3869
3870 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
3871
3872         * i386.c (x86_rep_movl_optimal): New variable.
3873         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
3874         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
3875
3876         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
3877         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
3878         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
3879         generate unnecesary subregs.
3880
3881 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3882
3883         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
3884         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
3885
3886 2002-12-05  Dale Johannesen  <dalej@apple.com>
3887
3888         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
3889
3890 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
3891
3892         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
3893         PROFILE_HOOK.
3894         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
3895
3896 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
3897
3898         * config/rs6000/spe.h (__ev_mwlufi): Remove.
3899         (__ev_mwlufia): Remove.
3900         (__ev_mwlumfaaw): Remove.
3901         (__ev_mwlusfaaw): Remove.
3902         (__ev_mwlumfanw): Remove.
3903         (__ev_mwlusfanw): Remove.
3904
3905 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3906
3907         * config/h8300/h8300.md (*andorsi3_shift_8): New.
3908
3909 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3910
3911         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
3912         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
3913         (get_shift_alg): Return optimal assembly instructions for the
3914         shifts mentioned above.
3915
3916 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
3917
3918         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
3919         condtiional moves.
3920
3921 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3922
3923         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
3924         implement ashiftrt:HI by 13 bits on H8S.
3925
3926 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3927
3928         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
3929         * pa.md (canonicalize_funcptr_for_compare): Output library call to
3930         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
3931         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
3932         CTOR_LIST_BEGIN): New defines.
3933         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
3934         (fptr.c): Add make rules.
3935
3936 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
3937
3938         * combine.c (combine_simplify_rtx): Add new canonicalizations.
3939         * doc/md.texi (Insn Canonicalizations): Document new
3940         canonicalizations for multiply/add combinations.
3941         * config/rs6000/rs6000.md: Add and modify floating add/multiply
3942         patterns to ensure they're used whenever they can be.
3943
3944 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3945
3946         * config/h8300/h8300.c: Update the comments related to shifts.
3947
3948 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3949
3950         * config/mips/mips.md (get_fnaddr): Correct length attribute.
3951
3952 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3953
3954         * config/h8300/h8300.md (*extzv_8_8): New.
3955         (*extzv_8_16): Likewise.
3956
3957 2002-12-04  Jason Merrill  <jason@redhat.com>
3958
3959         PR c++/8461, c++/8625
3960         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
3961         references.
3962         * tree-inline.c (initialize_inlined_parameters): Likewise.
3963
3964         * tree.c (variably_modified_type_p): Just return an error_mark_node.
3965
3966 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3967
3968         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
3969         macro instruction in a branch delay slot, to avoid assembler
3970         warnings.
3971
3972 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3973
3974         PR c/7622
3975         * c-semantics (genrtl_scope_stmt): Do not output inlined
3976         nested functions that contain no code.
3977
3978 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
3979
3980         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
3981         to be forced into nonfallthru.
3982
3983 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
3984
3985         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
3986
3987 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
3988
3989         * config/rs6000/spe.md (*movv1di_const0): New pattern.
3990
3991 2002-12-03  Richard Henderson  <rth@redhat.com>
3992
3993         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
3994
3995 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
3996
3997         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
3998         Initialize tmp.using_obstack to 0.
3999
4000 2002-12-03  Andreas Schwab  <schwab@suse.de>
4001
4002         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
4003         (EH_RETURN_STACKADJ_RTX): Define.
4004         (EH_RETURN_HANDLER_RTX): Define.
4005         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4006         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
4007         registers and don't save fixed registers.
4008         (m68k_output_function_prologue): Use it.
4009         (use_return_insn): Likewise.
4010         (m68k_output_function_epilogue): Likewise.
4011
4012 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
4013
4014         * config/h8300/h8300.c (single_one_operand): Fix a warning.
4015         (single_zero_operand): Likewise.
4016
4017 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
4018
4019         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
4020         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
4021         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
4022         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
4023         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
4024         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
4025         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
4026         doc/install-old.texi: Replace hconfig.h with bconfig.h.
4027         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
4028
4029 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
4030
4031         * config/rs6000/rs6000.md (ffssi): Convert to expander.
4032         (ffsdi): Likewise.
4033         (cntlzw2, cntlzd2): New patterns.
4034
4035 2002-12-02  H.J. Lu <hjl@gnu.org>
4036
4037         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
4038         (mips*-*-linux*): Remove mips/t-linux.
4039
4040 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
4041
4042         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
4043
4044 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4045
4046         * config/h8300/h8300.c (dosize): Replace argument op with
4047         sign.
4048         (h8300_output_function_prologue): Update the call to dosize.
4049         (h8300_output_function_epilogue): Likewise.
4050
4051 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
4052
4053         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
4054
4055 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4056
4057         * configure.in: Use "missing" script to generate warning if
4058         flex or bison programs not found, instead of invoking "false".
4059         * configure: Rebuilt.
4060
4061 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
4062
4063         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
4064
4065 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
4066
4067         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
4068
4069 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4070
4071         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
4072         (push): Likewise.
4073         (pop): Likewise.
4074         (h8300_output_function_prologue): Likewise.
4075         (h8300_output_function_epilogue): Likewise.
4076
4077 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
4078
4079         * expmed.c (store_bit_field): Use int_mode_for_mode to find
4080         corresponding mode of non-integer mode, unless it is VOIDmode.
4081
4082 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4083
4084         * config/h8300/h8300.md (stm_h8300s_2): New.
4085         (stm_h8300s_3): Likewise.
4086         (stm_h8300s_4): Likewise.
4087         (five define_peephole2): Likewise.
4088
4089 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4090
4091         * ra-build.c: Fix a comment typo.
4092
4093 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4094
4095         * i386.c (ix86_expand_int_movcc): fix
4096         reversed BRANCH_COST test; be curefull about infinite recursion.
4097
4098 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
4099
4100         * config/h8300/h8300.c (h8300_output_function_prologue):
4101         Remove variable idx.
4102         (h8300_output_function_epilogue): Likewise.
4103
4104 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
4105
4106         * config/frv/xm-frv.h: Delete, unnecessary.
4107
4108 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
4109
4110         * config/h8300/h8300.md: Add comments for define_peephole2.
4111
4112 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
4113
4114         * builtin-types.def (BT_SIZE): Use size_type_node.
4115         * builtins.c (fold_builtin): Make the builtin strlen returns a
4116         size_t, not a sizetype.
4117         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
4118         c_size_type_node.
4119         (c_alignof_expr): Likewise.
4120         (c_common_nodes_and_builtins): Likewise.
4121         * c-common.h (CTI_C_SIZE_TYPE): Remove.
4122         (c_size_type_node): Likewise.
4123         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
4124         * tree.h (TI_SIZE_TYPE): New enumeral.
4125         (size_type_node): Likewise.
4126
4127 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
4128
4129         * configure.in: Don't put ${tm_file} into host_xm_file,
4130         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
4131         Take location of tm-preds.h into account when calculating
4132         tm_p_file_list.
4133         * configure: Regenerate.
4134         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
4135         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
4136         Remove special case code for tm_p.h and *config.h; add new
4137         special case code for tm.h and tconfig.h. Clean up a bit.
4138
4139         * Makefile.in (tm_file, tm_file_list): New variables set from
4140         @-substitutions.
4141         (GCONFIG_H): Deleted.
4142         (GTM_H, TM_H): New.
4143         (CONFIG_H): Is now just config.h $(host_xm_file_list).
4144         (TM_P_H): Move up with the other mkconfig.sh-generated
4145         headers; don't mention tm-preds.h explicitly.
4146         (tm.h, cs-tm.h): New rule.
4147         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
4148         invocations of mkconfig.sh for changes to that program.
4149         (mostlyclean): Delete print-rtl1.c.
4150         (clean): Delete tm.h.
4151         Update dependencies for the files listed below.
4152
4153         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
4154
4155         * coretypes.h: New file.
4156         * system.h: #define malloc to xmalloc and realloc to xrealloc
4157         when FLEX_SCANNER or YYBISON is defined, independent of the
4158         value of GCC_VERSION.
4159         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
4160         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
4161         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
4162         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
4163         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
4164         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
4165         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
4166         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
4167         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
4168         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
4169         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
4170         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
4171         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
4172         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
4173         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
4174         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
4175         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
4176         genconstants.c, genemit.c, genextract.c, genflags.c,
4177         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
4178         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
4179         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
4180         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
4181         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
4182         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
4183         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
4184         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
4185         print-tree.c, profile.c, protoize.c, ra-build.c,
4186         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
4187         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
4188         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
4189         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
4190         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
4191         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
4192         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
4193         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
4194         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
4195         xcoffout.c, config/darwin-c.c, config/darwin.c,
4196         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
4197         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
4198         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
4199         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
4200         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
4201         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
4202         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
4203         config/i960/i960-c.c, config/i960/i960.c,
4204         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
4205         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4206         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
4207         config/mips/irix6-libc-compat.c, config/mips/mips.c,
4208         config/mmix/mmix.c, config/mn10200/mn10200.c,
4209         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
4210         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
4211         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
4212         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
4213         config/sparc/sparc.c, config/stormy16/stormy16.c,
4214         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
4215         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
4216         Include coretypes.h and tm.h.
4217
4218         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
4219         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
4220         genrecog.c: Include coretypes.h and tm.h from the file
4221         generated by this program.
4222
4223         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
4224         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
4225         coretypes.h and tm.h, and tsystem.h when not already included.
4226         No need to include stddef.h nor stdlib.h.
4227
4228         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
4229         include auto-host.h or ansidecl.h/
4230         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
4231         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
4232         include auto-host.h, ansidecl.h, or system.h.
4233         * fixinc/server.c: Likewise.  Also, do not include signal.h,
4234         and do not redefine volatile.
4235
4236 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4237
4238         * i386.md (movdf_integer):  Always enable in 64bit.
4239         (movdf_nointeger): Always disable in 64bit.
4240
4241 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4242
4243         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
4244         pseudo register number plus 1.
4245
4246 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
4247
4248         * expmed.c (store_bit_field): Use int_mode_for_mode to find
4249         corresponding mode of non-integer mode, unless it is VOIDmode.
4250
4251 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
4252
4253         * cpplib.c (_cpp_test_assertion): Default *value to 0.
4254
4255         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
4256
4257 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
4258
4259         * config/s390/t-crtstuff: New target makefile fragment.
4260         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
4261
4262 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
4263
4264         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
4265         alternatives to correct the length when the memory operand is
4266         either pre_dec or post_inc.
4267
4268 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
4269
4270         * config/h8300/h8300.md (an anonymous pattern): Give an
4271         internal name *tst_extzv_bitqi_1_n.
4272         Accept bit_operand instead of bit_memory_operand.
4273         Do not accept bit tests with the MSB.
4274         (*tst_extzv_memqi_1_n): New.
4275
4276 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
4277
4278         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
4279         sharing when operand is SUBREG.
4280
4281 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
4282
4283         * athlon.md (athlon-decodev): New reservation unit.
4284         (athlon-direct0): New reservation.
4285         (athlon-vector): New use athlon-decodev.
4286         (athlon-double, athlon-direct): Better model.
4287         (athlon_imul_k8): Use athlon-direct0.
4288         (athlon_movlpd_load): New insn reservation.
4289
4290 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4291
4292         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
4293         Fix a comment typo.
4294         (h8300_tiny_constant_address_p): Likewise.
4295
4296 2002-11-28  Michael Matz  <matz@suse.de>
4297
4298         * doc/passes.texi: Mention the other register allocator.
4299
4300 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4301
4302         * config/h8300/h8300.md (6 new peephole2 patterns): New.
4303
4304 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
4305
4306         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
4307         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
4308         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
4309
4310 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4311
4312         * config/h8300/h8300.c (h8300_and_costs): New.
4313         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
4314         * config/h8300/h8300-protos.h: Add a prototype for
4315         h8300_and_costs.
4316
4317 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
4318
4319         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
4320         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
4321         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
4322         * i386.md (truncdfsf patterns and splitters): Use
4323         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
4324
4325 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
4326
4327         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
4328         pointer argument in the prototypes of the following builtins
4329         be (const TYPE *) rather than (TYPE *):
4330          + __builtin_altivec_ld_internal_4sf
4331          + __builtin_altivec_ld_internal_4si
4332          + __builtin_altivec_ld_internal_8hi
4333          + __builtin_altivec_ld_internal_16qi
4334          + __builtin_altivec_lvsl
4335          + __builtin_altivec_lvsr
4336          + __builtin_altivec_lvebx
4337          + __builtin_altivec_lvehx
4338          + __builtin_altivec_lvewx
4339          + __builtin_altivec_lvxl
4340          + __builtin_altivec_lvx
4341          + __builtin_altivec_dst
4342          + __builtin_altivec_dstt
4343          + __builtin_altivec_dstst
4344          + __builtin_altivec_dststt
4345
4346 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4347
4348         * except.c (default_exception_section): Move variable into the
4349         scope where it is used.
4350
4351 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
4352
4353         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
4354         correct version.
4355
4356 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4357
4358         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
4359
4360 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4361
4362         * config/h8300/h8300.c (h8300_shift_costs): New.
4363         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
4364         * config/h8300/h8300-protos.h: Add a prototype for
4365         h8300_shift_costs.
4366
4367 2002-11-27  Jim Wilson  <wilson@redhat.com>
4368
4369         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
4370         in output template.
4371
4372 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
4373
4374         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
4375         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
4376         DLL_IMPORT_EXPORT_PREFIX, not '@'.
4377         (i386_pe_dllimport_name_p): Likewise.
4378         (i386_pe_mark_dllexport): Likewise.
4379         (i386_pe_mark_dllimport): Likewise.
4380         (i386_pe_encode_section_info): Likewise.
4381         (i386_pe_strip_name_encoding): Likewise.
4382
4383 2002-11-27  Richard Henderson  <rth@redhat.com>
4384
4385         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
4386         (nm && NF == 3): Set sawsymbol true.
4387         (END): Exit if no symbols seen.
4388         (output): Fix map syntax error if no globals for the version.
4389
4390 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4391
4392         * builtins.def (DEF_C99_BUILTIN): Fix.
4393
4394 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
4395
4396         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
4397         (all): Add .size and .type information.
4398
4399 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
4400
4401         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
4402         partial_reg_stall target.
4403
4404 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4405
4406         * i386.md (movhicc): Allow general operand.
4407         (movqicc): New expander.
4408         (movqicc_noc): New pattern.
4409         * i386.c (ix86_expand_carry_flag_compare): New function.
4410         (ix86_expand_int_movcc): Optimize harder using sbb; support more
4411         HImode conversion; support QImode conditional moves
4412
4413 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
4414
4415         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
4416         (ix86_expand_prologue): Multiply the count by amount of registers to be
4417         pushed.
4418
4419 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4420
4421         * i386.c (override_options): Error about wrong -mcpu on x86-64
4422         compilation.
4423
4424 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
4425
4426         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
4427
4428 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
4429
4430         * i386-protos.h (x86_extended_QIreg_mentioned_p,
4431         x86_extended_reg_mentioned_p): Declare.
4432         * i386.c (extended_reg_mentioned_1): New static function.
4433         (x86_extended_QIreg_mentioned_p,
4434         x86_extended_reg_mentioned_p): New global functions.
4435         * i386.h (REX_SSE_REGNO_P): New macro.
4436         * i386.md (prefix_rex): New attribute.
4437         (length attribute): Add rex.
4438
4439 2002-11-26  Andrew Haley  <aph@redhat.com>
4440
4441         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
4442         from_Unwind_Find_Enclosing_Function.
4443         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
4444         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
4445         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
4446         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
4447         * unwind.h (_Unwind_FindEnclosingFunction): Add.
4448
4449 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4450
4451         * config/s390/s390.c (390_output_constant_pool): Set alignment
4452         before label in 64 bit mode, behind otherwise.
4453
4454 2002-11-26  Richard Henderson  <rth@redhat.com>
4455
4456         * c-common.c (handle_visibility_attribute): Accept "default".
4457         * tree.h (enum symbol_visibility): New.
4458         (decl_visibility): Declare.
4459         * target.h (gcc_target.visibility): Take visibility arg as integer.
4460         * varasm.c (default_assemble_visibility): Likewise.
4461         (decl_visibility): New.
4462         (maybe_assemble_visibility): Use it.
4463         * output.h (default_assemble_visibility): Update prototype.
4464         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
4465         visibility arg as integer.
4466         * doc/extend.texi: Document default visibility.
4467
4468 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
4469
4470         * config/h8300/h8300.c: Adjust spacing.
4471         * config/h8300/h8300.h: Likewise.
4472
4473 2002-11-26  Richard Henderson  <rth@redhat.com>
4474
4475         * hooks.c (hook_bool_void_false, hook_void_tree_int,
4476         hook_void_FILEptr_constcharptr): Rename so that the return
4477         type is first.
4478         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
4479         hook_bool_tree_false): New.
4480         * hooks.h: Update.
4481         * langhooks-def.h: Update for renames.
4482         * target-def.h: Likewise.
4483         * tree.c (default_comp_type_attributes,
4484         default_set_default_type_attributes, default_insert_attributes,
4485         default_function_attribute_inlinable_p,
4486         default_ms_bitfield_layout_p): Remove.
4487         * tree.h: Update.
4488
4489 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4490
4491         * pa-protos.h (function_value): New prototype.
4492         * pa.c (function_value): Use a PARALLEL to return small aggregates on
4493         TARGET_64BIT.
4494         * pa.h (FUNCTION_VALUE): Use function_value.
4495         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
4496         call_value_internal_reg, sibcall_value_internal_symref,
4497         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
4498         value.
4499
4500 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4501
4502         * expr.c (gen_group_rtx, emit_group_move): New functions.
4503         * expr.h (gen_group_rtx, emit_group_move): Prototype.
4504         * function.c (expand_function_start): Use gen_group_rtx to create a
4505         PARALLEL rtx to hold the return value when the real return rtx is a
4506         PARALLEL.
4507         (expand_function_end): Use emit_group_move to move the return value
4508         from a PARALLEL to the real return registers.
4509         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
4510         in PARALLELs.
4511
4512 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4513
4514         * config/t-libc-ok: Fix typo.
4515
4516 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4517
4518         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
4519         before AC_PROG_CC.
4520         * configure: Rebuilt.
4521
4522 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
4523
4524         * c-decl.c: (start_struct): Commonize flag setting.
4525
4526 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4527
4528         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
4529         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
4530         RS6000_CPU_CPP_ENDIAN_BUILTINS.
4531         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
4532
4533 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4534
4535         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
4536         insns.
4537         * config/s390/s390.c (struct machine_function): Introduction of
4538         struct machine_function.
4539         (s390_output_symbolic_const): Use of cfun.
4540         (s390_optimize_prolog): Likewise.
4541         (s390_fixup_clobbered_return_reg): Likewise.
4542         (s390_frame_info): Likewise.
4543         (s390_emit_prologue, s390_emit_epilogue): Likewise.
4544         (s390_init_machine_status): New function.
4545         (override_options): call s390_init_machine_status.
4546         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
4547         prototype.
4548
4549 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4550
4551         * varasm.c (output_constant_pool): For pool constants in mergeable
4552         section ensure each constant is padded to multiple of entity size.
4553
4554 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4555
4556         * varasm.c (default_exception_section): Move to...
4557         * except.c (default_exception_section): ... here. Make
4558         .gcc_except_table read-only if it is not expected to have any
4559         dynamic relocations and linker handles it.
4560         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
4561         if it is not expected to have any dynamic relocations and linker
4562         handles it.
4563         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
4564         when linking read-only and read-write sections together.
4565         * configure, config.in: Rebuilt.
4566         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
4567         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
4568
4569 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
4570
4571         * i386.md (pushsf_rex64): Fix typo.
4572
4573 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4574
4575         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
4576         new function.
4577         (__ev_create_ufix32_fs): Same.
4578         (__ev_get_sfix32_fs_internal): New.
4579         (__ev_get_sfix32_fs): Define to use function.
4580         (__ev_get_ufix32_fs_internal): New.
4581         (__ev_get_ufix32_fs): Define to use function.
4582         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
4583         (__ev_get_lower_ufix32_fs): Same.
4584         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
4585         (__ev_get_lower_sfix32_fs): Same.
4586         (__ev_set_sfix32_fs_internal): New.
4587         (__ev_set_ufix32_fs_internal): New.
4588         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
4589         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
4590         (__ev_set_upper_sfix32_fs): Call function.
4591         (__ev_set_lower_sfix32_fs): Same.
4592         (__ev_set_upper_ufix32_fs): Same.
4593         (__ev_set_lower_ufix32_fs): Same.
4594
4595 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
4596
4597         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
4598
4599 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4600
4601         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
4602         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4603         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4604         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
4605         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
4606         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4607         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
4608         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
4609         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4610         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4611         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
4612         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
4613         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
4614         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4615         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
4616         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
4617         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
4618         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
4619         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
4620         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
4621         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4622         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
4623         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
4624         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
4625         defining.
4626         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
4627         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
4628
4629 2002-11-25  Dave Pitts  <dpitts@cozx.com>
4630
4631         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
4632
4633 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4634
4635         * config/h8300/h8300.md (an anonymous pattern): New.
4636
4637 2002-11-25  Richard Henderson  <rth@redhat.com>
4638
4639         * alias.c (find_base_value): Use new_reg_base_value if it's live.
4640         (copying_arguments): Make boolean.
4641
4642 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4643
4644         * gcc.c (static_spec_functions): Add if-exists-else spec
4645         function.
4646         (if_exists_else_spec_function): New function.
4647         * doc/invoke.texi: Document the if-exists-else spec function.
4648
4649         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
4650         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
4651
4652 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4653
4654         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
4655         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
4656         "${tmake_file} rs6000/t-netbsd".
4657         * config/rs6000/netbsd.h: Rewrite.
4658         * config/rs6000/t-netbsd: New file.
4659
4660 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4661
4662         * config/h8300/h8300.md (an anonymous pattern): Relax the
4663         condition for the pattern.
4664
4665 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4666
4667         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
4668         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
4669         evmwlssfanw, evmwlsmfanw.
4670
4671         * config/rs6000/rs6000.c (bdesc_2arg): Same.
4672
4673         * config/rs6000/spe.md: Same for patterns.
4674
4675 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
4676
4677         PR c/8639
4678         * fold-const.c (extract_muldiv): Don't propagate division unless
4679         both arguments are multiples of C.
4680
4681 2002-11-25  Andrew Haley  <aph@redhat.com>
4682
4683         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
4684         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
4685         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
4686         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
4687
4688 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
4689
4690         * i386.c (x86_use_ffreep): New global variable.
4691         * i386.h (x86_use_frfeep): Declare
4692         (TARGET_USE_FFREEP): New macro
4693         * i386.md  (movs?f*): Use freep when asked for.
4694         (push?f): Remove dead code.
4695
4696 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
4697
4698         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
4699         target help message.
4700
4701 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4702
4703         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
4704         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
4705         crtbeginT.o".
4706         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
4707         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
4708         to "" for a.out configurations.
4709         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
4710
4711 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4712
4713         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
4714         NETBSD_CPP_SPEC directly.
4715         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
4716         netbsd_endfile_spec.
4717         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
4718
4719 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4720
4721         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
4722         NETBSD_STARTFILE_SPEC.
4723         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
4724         (ENDFILE_SPEC): Likewise.
4725         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
4726
4727 2002-11-24  Andreas Schwab  <schwab@suse.de>
4728
4729         * Makefile.in (install-driver): Remove versioned link before
4730         trying to create it.
4731
4732         * config/m68k/m68k.c: Fix typo in last change defining
4733         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
4734
4735 2002-11-23  H.J. Lu <hjl@gnu.org>
4736
4737         * aclocal.m4: Include ../config/accross.m4.
4738         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
4739         (gcc_AC_C_COMPILE_ENDIAN): Removed.
4740         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
4741         instead of $ac_cv_c_compile_endian.
4742
4743         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
4744         AC_COMPILE_CHECK_SIZEOF.
4745         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
4746         * configure: Rebuild.
4747
4748 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
4749
4750         * config/h8300/h8300.c (print_operand): Update the use of
4751         h8300_tiny_constant_address_p.
4752         (h8300_adjust_insn_length): Likewise.
4753         (h8300_tiny_constant_address_p): Check if the given rtx is a
4754         variable declared with __attribute__ ((tiny_data)).
4755
4756 2002-11-22  Dale Johannesen  <dalej@apple.com>
4757
4758         * toplev.c (rest_of_compilation):  Fix comments.
4759
4760 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
4761
4762         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
4763         allow mmap from /dev/zero.  Don't make decisions for the host
4764         based on presence or absence of /dev/zero on the build machine.
4765         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
4766         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
4767         * configure: Regenerate.
4768
4769 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4770
4771         * gcc.c (make_relative_prefix, split_directories)
4772         (free_split_directories): Removed.
4773
4774 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4775
4776         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
4777         * configure: Regenerated.
4778
4779 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
4780
4781         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
4782         length computation when xor.l is output.
4783
4784 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
4785
4786         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
4787         (call_vms_1, call_value_vms_1): Cleanup syntax.
4788
4789 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4790
4791         * athlon.md (define_atuomaton): Add athlon_load.
4792         (athlon-double): New reservation.
4793         (athlon-ieu0): New CPU unit.
4794         (athlon-load?): Use athlon_load automaton.
4795         (*_k8 reservations): New.
4796         (other insn revervations): Activate for K8.
4797
4798 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
4799
4800         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
4801
4802 2002-11-21  Jim Wilson  <wilson@redhat.com>
4803
4804         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
4805         vectors to SI.
4806
4807 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
4808
4809         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
4810         * config/xtensa/xtensa.c (struct machine_function): Add
4811         incoming_a7_copied flag.
4812         (xtensa_copy_incoming_a7): Define.
4813         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
4814         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
4815
4816 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
4817
4818         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
4819         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
4820         x86_64_nonmemory_operand, x86_64_movabs_operand,
4821         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4822         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
4823         (local_symbolic_operand): Do not care the 64bit limits.
4824         (x86_64_sign_extended_value): Remove allow_rip support.
4825         (legitimate_pic_address_disp_p): Handle all cases allowed
4826         with RIP addressing.
4827         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
4828         (legitimize_pic_address): Reorganize.
4829         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
4830
4831 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4832
4833         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
4834         * config/arm/netbsd-elf.h: New file.
4835
4836 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4837
4838         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
4839         subtarget_asm_float_spec.
4840         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
4841         defaults from...
4842         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
4843
4844 2002-11-21  Nick Clifton  <nickc@redhat.com>
4845
4846         * config/fr30/fr30.md (movsf_constant_store): Move code to
4847         detect 0.0 into fr30.c.
4848         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
4849         Prototype.
4850         * config/fr30/fr30.c (fr30_const_double_is_zero): New
4851         function.  Return true if the rtx is 0.0.
4852
4853 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4854
4855         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
4856         if -mlittle-endian is specified.
4857
4858 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4859
4860         PR optimization/2903
4861         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
4862         (anddi_notsesidi_di): Likewise.
4863
4864 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
4865
4866         * config/h8300/h8300.c (print_operand): Use
4867         h8300_eightbit_constant_address_p and
4868         h8300_tiny_constant_address_p.
4869         (h8300_adjust_insn_length): Likewise.
4870         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
4871         (TINY_CONSTANT_ADDRESS_P): Likewise.
4872         (OK_FOR_U): Use eightbit_constant_address_p.
4873
4874 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
4875
4876         * config/s390/libgcc-libc.ver: Add multilib support.
4877         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
4878         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
4879         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
4880         EXTRA_MULTILIB_PARTS): Define.
4881
4882 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4883
4884         * arm.c (arm_get_frame_size): A leaf function does not need its
4885         stack padding to an aligned boundary if it has no frame.
4886         (thumb_get_frame_size): Likewise.
4887
4888 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
4889
4890         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
4891         (override_options): Likewise.
4892
4893 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
4894
4895         * config.gcc: Add k8 target alias support
4896         * i386.c (_cost): Declare costs for various variants of divides and
4897         multiplies.
4898         (k8_cost): New.
4899         (m_K8, m_ATHLON_K8): New macros.
4900         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
4901         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
4902         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
4903         x86_integer_DFmode_moves, x86_partial_reg_dependency,
4904         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
4905         x86_prologue_using_move, x86_epilogue_using_move,
4906         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
4907         x86_sse_typeless_stores): Set for K8
4908         (override_options): Add k8 support; fix athlon alignment;
4909         complain about non-x86-64 capable CPU being used in x86-64 compilation.
4910         (ix86_issue_rate): Set for K8.
4911         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
4912         x86_machine_dependent_reorg): Handle K8 like
4913         * i386.h
4914         (x86_costs):  Change mult_init and divide into array.
4915         (TARGET_K8, TARGET_ATHLON): New macros.
4916         (MODE_INDEX): New macro.
4917         (RTX_COST): Use new costs.
4918         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
4919         (TARGET_CPU_DEFAULT_NAMES): Add k8
4920         (TARGET_CPU_DEFAULT_k8): New constant
4921         (enum processor_type): Add PROCESSOR_K8.
4922         * i386.md (cpu attribute): Add k8.
4923
4924         * invoke.texi: Document -march=k8.
4925
4926         * i386.md (type attribute): Add leave
4927         (mode attribute): Remove unknownfp.
4928         (length_immediate, modrm, memory attributes): Handle leave correctly.
4929         (fp comparison patterns): Determine FP mode.
4930         (leave, leave_rex64): Remove special cases.
4931         * ppro.md (ppro_uops, ppro_p2): Add leave
4932         * pentiun.md (pent_pop): Handle leave too.
4933         * k6.md (k6_load): Handle leave.
4934         * athlon.md (athlon_leave, athlon_pop): Fix.
4935         (athlon_decode): Handle leave.
4936
4937 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
4938
4939         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
4940         to component type using GET_MODE_INNER.
4941         * expr.c (emit_move_insn_1): Ditto.
4942         * optabs.c (expand_binop): Ditto.
4943         (expand_unop): Ditto.
4944         (expand_complex_abs): Ditto.
4945
4946 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
4947
4948         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
4949
4950 2002-11-20  DJ Delorie  <dj@redhat.com>
4951
4952         * config/stormy16/stormy16.c (s16builtins,
4953         xstormy16_init_builtins, xstormy16_expand_builtin): New.
4954         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
4955
4956 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
4957
4958         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
4959         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
4960         (executing gencheck, genconfigs, genconditions, genflags,
4961         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
4962         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
4963         gengtype, genprotos): Prepend $(RUN_GEN).
4964         * configure.in: Move host compiler tests before --enable-checking
4965         tests.
4966         (--enable-checking=valgrind): New.
4967         * config.in, configure: Regenerate.
4968         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4969         Define as empty.
4970         (read_include_file): When doing the mmap+1 trick,
4971         valgrind-annotate the byte after the mmap:ed area as readable.
4972         (purge_cache): Remove above annotation.
4973         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
4974         VALGRIND_PATH -q to each command.
4975
4976         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4977         Define as empty.
4978         (ggc_realloc): Update valgrind annotations.
4979         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4980         Define as empty.
4981         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
4982         valgrind-annotate memory.
4983
4984 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
4985
4986         * recog.c (constrain_operands): Prefer exact match over reloadable
4987         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
4988
4989         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
4990         operands in Pmode.
4991
4992 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
4993
4994         PR c/8518
4995         * c-decl.c (duplicate_decls): Outline the second definition
4996         of an extern inline function in all cases.
4997
4998 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4999
5000         * stor-layout.c (place_field): Update rli->offset as well as
5001         rli->bitpos.
5002
5003 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
5004
5005         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
5006
5007 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
5008
5009         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
5010         into a libcall block.
5011         (divsi3): Likewise divsi3_i4_media.
5012
5013 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
5014
5015         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
5016         out another register.
5017
5018 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
5019
5020         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
5021         (not just mask) are set in C.
5022
5023 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
5024
5025         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
5026
5027 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5028
5029         * profile.c (index_counts_file): Fix obvious mistake.
5030
5031 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5032
5033         * Makefile.in (profile.o): Add hashtab.h dependency.
5034         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
5035         * profile.c: Include hashtab.h.
5036         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
5037         cleanup_counts_index, index_counts_file, struct section_reference,
5038         struct da_index_entry, counts_file_name, counts_file_index): New.
5039         (get_exec_counts, init_branch_prob): Modified.
5040
5041 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
5042
5043         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
5044         to tmake_file. Remove setting gas and gnu_ld here.
5045         * config/sh/libgcc-glibc.ver: New file.
5046         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
5047         (SHLIB_MAPFILES): New.
5048         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
5049         (MD_STARTFILE_PREFIX): Likewise.
5050         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
5051         (DWARF2_UNWIND_INFO): Redefine.
5052         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5053         (LINK_EH_SPEC): Redefine.
5054         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
5055         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
5056         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
5057         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
5058         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
5059         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
5060         SH_DWARF_FRAME_FPSCR): Likewise.
5061         * config/sh/sh-protos.h (sh_set_return_address): Declare.
5062         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
5063         registers if the current function calls EH return.
5064         (sh_expand_epilogue): Handle EH stack adjustments.
5065         (sh_set_return_address): New function.
5066         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
5067         Don't abort even if the number is mapped to -1.
5068         (EH_RETURN_DATA_REGNO): Define.
5069         (EH_RETURN_STACKADJ_RTX): Define.
5070         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
5071         (eh_return): New pattern.
5072         (eh_set_ra_di, eh_set_ra_si): Likewise.
5073         Add splitter to perform EH return after reload.
5074
5075 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
5076
5077         * stor-layout.c (excess_unit_span): New function.
5078         (place_field): Use it.
5079
5080 2002-11-19  Andreas Schwab  <schwab@suse.de>
5081
5082         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
5083         not valid in C++.
5084
5085 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
5086
5087         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
5088         * configure: Regenerate.
5089
5090 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
5091
5092         * convert.c (strip_float_extensions): New function.
5093         (convert_to_real): Optimize some cases.
5094
5095 2002-11-19  Andreas Jaeger  <aj@suse.de>
5096
5097         * loop.c (record_giv): Initialize not_replaceable.
5098         (check_final_value): Likewise.
5099
5100 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5101
5102         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
5103         MASK_H8300S.
5104
5105 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
5106
5107         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
5108         only if -mh or -ms present.
5109         (h8300_eightbit_constant_address_p): Support the normal mode.
5110         (h8300_tiny_constant_address_p): Likewise.
5111         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
5112         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
5113         (Pmode): Evaluate to HImode for the normal mode.
5114         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
5115         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
5116         (ASM_WORD_OP): Evaluate to word for the normal mode.
5117         * config/h8300/h8300.md (tablejump_normal_mode): New.
5118         (indirect_jump_normal_mode): New.
5119         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
5120         directory.
5121         (MULTILIB_DIRNAMES): Create target dependent directory
5122         'normal'.
5123         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
5124         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
5125
5126 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
5127
5128         * i386.md (length_immediate): Do not refer to insn address.
5129         (jcc*, jmp patterns):  Compute length explicitly.
5130
5131 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
5132
5133         PR c/8588
5134         * optabs.c (expand_binop): Convert CONST_INTs in shift
5135         operations too.
5136
5137 2002-11-19  Roger Sayle  <roger@eyesopen.com>
5138
5139         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
5140
5141 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5142
5143         * config/h8300/h8300.md (an anonymous pattern): Relax the
5144         condition to accept the same operands and/or subregs.
5145
5146 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
5147
5148         * config/sh/sh.c (gen_shl_and): Revert previous patch.
5149         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
5150         reload_completed.
5151
5152 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5153
5154         * config/h8300/h8300.c (print_operand): Update the use of
5155         EIGHTBIT_CONSTANT_ADDRESS_P.
5156         (h8300_adjust_insn_length): Likewise.
5157         (h8300_eightbit_constant_address_p): Check if the given rtx is
5158         a variable with __attribute__((eightbit_data)).
5159         * config/h8300/h8300.h (OK_FOR_U): Update the use of
5160         EIGHTBIT_CONSTANT_ADDRESS_P.
5161
5162 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5163
5164         * doc/contrib.texi (Contributors): Add self as second contact in
5165         addition to Jeff Law.
5166
5167 2002-11-19  Andreas Jaeger  <aj@suse.de>
5168
5169         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
5170         find_alloca_call to right place.
5171
5172 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5173
5174         * cppfiles.c: Fix formatting.
5175
5176 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
5177
5178         * gcc.c (The Specs Language): Document spec functions.
5179         (static_spec_functions, lookup_spec_function)
5180         (eval_spec_function, handle_spec_function)
5181         (if_exists_spec_function, alloc_args): New.
5182         (execute): Abort if processing_spec_function is true.
5183         (do_spec_1): Hand off spec to handle_spec_function if %:
5184         is encountered.  If processing_spec_function is true,
5185         end any pending argument when the end of the string is reached.
5186         (main): Use alloc_args to allocate the initial argument vector.
5187         * gcc.h (struct spec_function): New.
5188         (lang_specific_spec_functions): New extern.
5189
5190         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
5191         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
5192         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
5193
5194         * doc/invoke.texi: Document spec functions.
5195
5196         * cppspec.c (lang_specific_spec_functions): New.
5197         * gccspec.c: Likewise.
5198
5199 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
5200
5201         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
5202         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
5203         (fixunstfsi_libfunc): Change.
5204         (fixunstfdi_libfunc): Change.
5205         (sdiv_optab): Don't zero out SImode handler.
5206         (udiv_optab): Don't zero out SImode handler.
5207         (smod_optab): Don't zero out SImode handler.
5208         (umod_optab): Don't zero out SImode handler.
5209
5210 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
5211
5212         PR preprocessor/8524
5213         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
5214         Add a new one in its place, which hopefully works.
5215         (skip_rest_of_line): Change test for bottom-of-context-stack.
5216
5217 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
5218
5219         * i386.md (addqi_1_slp): Fix output template.
5220         (subqi_1_slp): Fix type.
5221
5222 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
5223
5224         * calls.c (alloca_call_p): New global function.
5225         * tree.h (alloca_call_p): New.
5226         * tree-inline.c (inlinable_function_p):  Do not inline when
5227         function calls alloca.
5228         (find_alloca_call, find_alloca_call_1): New functions.
5229
5230 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
5231
5232         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
5233         bst.  Update the insn length.
5234         (*andorhi3): Likewise.
5235         (*andorsi3): Likewise.
5236
5237 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5238
5239         * config/sh/sh-protos.h (sh_mark_label): Declare.
5240         * config/sh/sh.c (sh_mark_label): New function, taken from
5241         movdi_const, but fixing the case when the address has an addend.
5242         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
5243
5244 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5245
5246         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
5247         (add_constant): Set it.
5248         (dump_table): Don't reorder a constant if part_of_sequence_p.
5249         (machine_dependent_reorg): Assume that float constants will
5250         stay in their original order if used as a sequence.
5251
5252 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5253
5254         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
5255         in compact code.
5256
5257 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5258
5259         * config/sh/sh.md (initialize_trampoline): Do not force the
5260         trampoline address into R0_REGS here.
5261
5262 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
5263
5264         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
5265         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
5266         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
5267         generate unnecesary subregs.
5268
5269 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5270
5271         * df.c: Fix formatting.
5272
5273 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5274
5275         * config/h8300/h8300.md (two anonymous patterns): Fix insn
5276         lengths.
5277
5278 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
5279
5280         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
5281         is not an arith_reg_operand.
5282
5283 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
5284
5285         * real.c (real_to_decimal): Fix buffer overrun when buffer size
5286         is smaller than representation.
5287
5288 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5289
5290         * builtins.c: Fix formatting.
5291
5292 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5293
5294         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
5295         floats?dff2_i387):
5296         Work around regclass stupidity.
5297         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
5298
5299 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
5300
5301         * i386.md (fop_df_6): New pattern.
5302         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
5303         (fop_xf_6): Rewrite
5304         (fop_xf_7): Delete.
5305         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
5306         (fop_tf_6): Rewrite
5307         (fop_tf_7): Delete.
5308
5309 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5310
5311         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
5312
5313 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5314
5315         * config/h8300/h8300.md: Fix formatting.
5316
5317 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5318
5319         * config/h8300/h8300.md: Replace spaces with tabs.
5320         * config/h8300/t-h8300: Remove a trailing empty line.
5321
5322 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5323
5324         * tlink.c: Fix formatting.
5325
5326 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
5327
5328         PR 8362
5329         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
5330         * config/rs6000/rs6000.md (movti_string): Remove output modifier
5331         when scratch register never needed.
5332         (ldmsi[3-8]): New patterns.
5333
5334 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5335
5336         * hard-reg-set.h: Follow spelling conventions.
5337         * real.c: Likewise.
5338         * target.h: Likewise.
5339
5340 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
5341
5342         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
5343
5344 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5345
5346         * optabs.c: Fix formatting.
5347
5348 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
5349
5350         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
5351         * i386.md (attribute type): Add type shift1 and rotate1.
5352         (*_slp): Rewrite to have just two operands to avoid reload problems.
5353
5354 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
5355
5356         * config/h8300/h8300.md (4 anonymous patterns): New.
5357
5358 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
5359
5360         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
5361         * doc/invoke.texi: Correct description of what needs to be done to
5362         force collection at every ggc_collect call.
5363
5364 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5365
5366         * config/s390/s390.c (optimization_options): Set
5367         flag_asynchronous_unwind_tables to 1 by default.
5368
5369 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5370
5371         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5372
5373 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5374
5375         * i386-protos.h (x86_function_profiler): New function
5376         * i386.h (MCOUNT_NAME): New.
5377         (PROFILE_COUNT_REGISTER): New.
5378         (FUNCTION_PROFILER): Move offline to ...
5379         * i386.c (x86_function_profiler) ... here; fix 64bit support
5380         * beos-elf.h (FUNCTION_PROFILER): Kill.
5381         (MCOUNT_NAME): New.
5382         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
5383         (MCOUNT_NAME): New.
5384         (PROFILE_COUNT_REGISTER): New.
5385         * linux.h (FUNCTION_PROFILER): Kill.
5386         (MCOUNT_NAME): New.
5387         * x86-64.h (FUNCTION_PROFILER): Kill.
5388         (MCOUNT_NAME): New.
5389         * freebsd.h (FUNCTION_PROFILER): Kill.
5390         (MCOUNT_NAME): New.
5391
5392 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
5393
5394         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
5395         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
5396         * config/arm/arm.c (arm_va_arg,
5397         arm_function_arg_pass_by_reference): New.
5398         * config/arm/arm-protos.h: Add prototypes.
5399
5400 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5401
5402         * gthr-single.h: Fix formatting.
5403
5404 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
5405
5406         * tree.c (tree_vec_elt_check_failed): New function.
5407         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
5408         (TREE_VEC_ELT): Use it.
5409
5410         * tree-inline.c (optimize_inline_calls): Don't copy a
5411         zero-length vector.
5412
5413 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5414
5415         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
5416
5417 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
5418
5419         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
5420         both operands contain local relocations.
5421         (categorize_decl_for_section): Don't use mergeable sections if
5422         initializer has any relocations.
5423
5424 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5425
5426         * gthr-vxworks.h: Fix formatting.
5427
5428 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
5429
5430         * doc/install.texi (Testing): Document extra Java testing.
5431         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
5432
5433 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5434
5435         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
5436         beginning of the spec.
5437         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
5438         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
5439         regarding problems with global constructors when using GNU ld.
5440
5441 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5442
5443         * gthr-solaris.h: Fix formatting.
5444
5445 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5446
5447         * gthr-posix.h: Fix formatting.
5448
5449 2002-11-12  Devang Patel <dpatel@apple.com>
5450         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
5451         (process_command): Same.
5452         * doc/invoke.texi: Info about these two new options.
5453
5454 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5455
5456         * config/h8300/h8300.md (*andorsi3): New.
5457
5458 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5459
5460         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
5461
5462 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5463
5464         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
5465         expressions appropriately.
5466
5467 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5468
5469         * gthr-win32.h: Fix formatting.
5470
5471 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5472
5473         * config/h8300/h8300.c (single_one_operand): Correctly compute
5474         mask when mode is SImode.
5475         (single_zero_operand): Likewise.
5476         * config/h8300/h8300.md (two new anonymous insns): New.
5477
5478 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5479
5480         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
5481         to that entire project.
5482
5483 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5484
5485         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
5486         directories.
5487
5488 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
5489
5490         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
5491         * doc/invoke.texi: Document them.
5492
5493         * ggc-page.c: Include params.h.  Remove definitions of
5494         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
5495         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
5496         (init_gcc): Don't set G.allocated_last_gc here.
5497         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
5498         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
5499         perform collection.
5500         * ggc-simple.c: Similarly.
5501         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
5502         dependencies.
5503
5504 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5505
5506         * gthr-dce.h: Fix formatting.
5507
5508 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5509
5510         PR c/8467
5511         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
5512         mode of DECL_RTL case.
5513
5514 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
5515
5516         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
5517
5518 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
5519
5520         * i386.c (construct_container): Fix handling of SSE_CLASS.
5521
5522 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
5523
5524         * config/m68k/t-crtstuff (crti.o): Use this...
5525         ($(T)crti.o): ... instead.
5526         (crtn.o): Use this...
5527         ($(T)crtn.o): ... instead.
5528
5529 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
5530
5531         PR c/8439
5532         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
5533         if there is something new to be simplified.
5534
5535 2002-11-10  H.J. Lu <hjl@gnu.org>
5536
5537         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
5538         * expr.c (PUSH_ARGS_REVERSED): Likewise.
5539
5540         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
5541
5542 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
5543
5544         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
5545         * config/rs6000/linux.h, config/rs6000/linux64.h,
5546         config/rs6000/windiss.h: ... not here.
5547
5548 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
5549
5550         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
5551         __ABICALLS__ if TARGET_ABICALLS.
5552
5553 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
5554
5555         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
5556
5557 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
5558
5559         * c-decl.c (grokdeclarator): Make error for duplicate type
5560         qualifiers into a pedwarn, disabled for C99.
5561
5562 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
5563
5564         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
5565         as FUNCTION_ARG_PASS_BY_REFERENCE.
5566
5567 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
5568
5569         * doc/install.texi: Add *-*-vxworks* specific installation
5570         instructions.
5571
5572         * config/vxlib.c: Rewrite using generation numbers to identify
5573         valid TSD keys.
5574
5575 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
5576
5577         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
5578
5579 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5580
5581         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
5582
5583         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
5584         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
5585         * pa.c (output_millicode_call): Use symbol difference rather than
5586         $PIC_pcrel$0 when using HP assembler.
5587         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
5588         not elfos.h (i.e., gas) is being used.
5589         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
5590         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
5591         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
5592         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
5593         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
5594         using elfos.h.
5595         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
5596         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
5597         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
5598         using elfos.h.
5599         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5600         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
5601         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
5602         Don't define when not using elfos.h.
5603         (ASM_DECLARE_RESULT): Don't define.
5604         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
5605         doesn't work on hppa64-hp-hpux11.
5606         (hppa*-hp-hpux11): Update.
5607
5608 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
5609
5610         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
5611         to the assembler if -mno-abicalls was specified.
5612
5613 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5614
5615         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
5616         ASM_OUTPUT_DEF): Delete.
5617
5618 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
5619
5620         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
5621
5622 2002-11-08  Roger Sayle  <roger@eyesopen.com>
5623
5624         * real.c (real_sqrt): Update comment with bibliographic reference.
5625
5626 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5627
5628         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
5629
5630 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
5631
5632         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
5633
5634 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
5635
5636         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
5637         (expand_builtin): Likewise.
5638         * builtins.def: Add
5639         __builtin_floor, __builtin_floorf, __builtin_floorl
5640         __builtin_ceil, __builtin_ceilf, __builtin_ceill
5641         __builtin_round, __builtin_roundf, __builtin_roundl
5642         __builtin_trunc, __builtin_truncf, __builtin_truncl
5643         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
5644         * genopinit.c (optabs): Initialize the new optabs.
5645         * optab.c (init_optabs): Likewise.
5646         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
5647         OTI_round, OTI_nearbyint.
5648         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
5649         * doc/md.texi: Document new named patterns.
5650         * doc/extend.texi (builtin functions)  Document
5651         floor, floorf, floorl, ceil, ceilf,
5652         ceill, round, roundf, roundl, trunc,
5653         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
5654
5655 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
5656
5657         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
5658
5659 2002-11-08  Dale Johannesen  <dalej@apple.com>
5660
5661         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
5662
5663 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5664
5665         PR preprocessor/8497
5666         PR preprocessor/8501
5667         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
5668         start a directive.  In assembler, #NUM is not a line directive.
5669
5670 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5671
5672         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
5673         buffers.
5674
5675 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5676
5677         * config/h8300/h8300.md (two anonymous test insns): New.
5678
5679 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5680
5681         * jump.c (mark_jump_label): Handle subregs of label_refs.
5682
5683 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
5684
5685         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
5686         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
5687
5688 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
5689
5690         * config/ia64/crtend.asm: Include "auto-host.h".
5691         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
5692         * config/ia64/crtbegin.asm: Similarly.
5693         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
5694         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
5695
5696         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
5697         * configure.in: Use it if --enable-initfini-array not specified.
5698         * doc/install.texi (Configuration): Document --enable-initfini-array.
5699         * configure, config.in: Rebuild.
5700
5701 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
5702
5703         * config/arm/arm-protos.h (arm_get_frame_size)
5704         (thumb_get_frame_size): New prototypes.
5705         * config/arm/arm.c (arm_get_frame_size)
5706         (thumb_get_frame_size): New functions.
5707         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
5708         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
5709         arm_get_frame_size.
5710         (thumb_expand_prologue, thumb_expand_epilogue): Use
5711         thumb_get_frame_size.
5712         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
5713         (machine_function): Add frame_size member.
5714         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
5715
5716 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5717
5718         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
5719         Adjust code to use portable unsigned bit manipulation.
5720         (insn_flags, tune_flags): Change type to unsigned.
5721         (struct processors): Make flags unsigned long.
5722         (arm_override_options): Change type of count and current_bit_count
5723         to unsigned.
5724
5725 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5726
5727         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
5728
5729 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
5730
5731         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
5732
5733 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
5734
5735         * reg-stack.c (compensate_edge): Fix sanity check.
5736
5737 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
5738
5739         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
5740         crt2.o.  Rearrange t-darwin makefiles.
5741         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
5742         * unwind-dw2-fde-darwin.c: New.
5743         * unwind-dw2-fde-glibc.c: Correct comment.
5744         * unwind-dw2-fde.c (__register_frame_info_bases)
5745         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
5746         (classify_object_over_fdes): Use last_fde.
5747         (add_fdes): Likewise.
5748         (linear_search_fdes): Likewise.
5749         * unwind-dw2-fde.h (struct object)
5750         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
5751         (last_fde): New.
5752         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
5753         (ENDFILE_SPEC): No crtend.o.
5754         * config/t-darwin: New.
5755         * config/i386/t-darwin: Delete.
5756         * config/darwin-crt2.c: New.
5757         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
5758         or config/t-darwin.
5759
5760 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
5761
5762         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
5763         MASK_MS_BITFIELD_LAYOUT
5764         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
5765         MS bitfields for Objective-C.
5766         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
5767         defines.
5768
5769         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
5770         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
5771         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
5772
5773         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
5774         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
5775         (TARGET_SWITCHES): Add above mask.
5776
5777         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
5778         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
5779         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
5780         flags for interix.
5781
5782 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
5783
5784         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
5785         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
5786         assembler.
5787         * config/mips/mips.md (tablejump_internal3): Output .cpadd
5788         before jump on ABI_N32 too.
5789         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
5790         length to match.
5791
5792 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
5793
5794         * i386.md (negsf splitter): Accept memory operand in second register.
5795         (abssf/absdf splitters): Simplify
5796         (sse_loadss, sse_loadsd): Turn into expander.
5797
5798 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
5799
5800         PR target/8480
5801         * config/rs6000/rs6000.md (movdi_internal64): Discourage
5802         FPR to FPR moves.
5803
5804 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
5805
5806         * doc/contrib.texi: Merge in the list from the Java web pages.
5807
5808 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
5809
5810         * config/sparc/freebsd: Fix typo.
5811
5812 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5813
5814         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
5815
5816 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
5817
5818         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
5819         non-SImode addresses.
5820
5821 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
5822
5823         * i386.md (float_truncate SSE splitter): Ensure that operand is not
5824         stack register.
5825         (float SSE splitters): Reorder conditional.
5826
5827 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
5828
5829         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
5830
5831 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
5832
5833         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
5834         (STARTFILE_SPEC): Remove p and pg options.
5835
5836 2002-11-05  Andrew Haley  <aph@redhat.com>
5837
5838         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
5839         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
5840
5841 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
5842
5843         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
5844         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
5845
5846 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
5847
5848         * gthr-vxworks.h: Rewritten from scratch.
5849         * config/vxlib.c: New file.
5850         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
5851         * config/rs6000/t-vxworks: Add config/vxlib.c to
5852         LIB2FUNCS_EXTRA here too, because of clash with
5853         config/rs6000/t-ppccomm.
5854
5855 2002-11-04  Dale Johannesen  <dalej@apple.com>
5856
5857         * doloop.c (doloop_modify_runtime):  Fix loop count computation
5858         for unrolled loops.
5859         * loop.c (loop_invariant_p):  Support calling from unroller.
5860
5861 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
5862
5863         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
5864         for comparison.
5865
5866 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
5867
5868         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
5869
5870         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
5871         (CLASS_CANNOT_CHANGE_MODE): Remove.
5872         (CANNOT_CHANGE_MODE_CLASS): New.
5873
5874         * config/alpha/alpha.h: Same.
5875
5876         * config/ia64/ia64.h: Same.
5877
5878         * config/mips/mips.h: Same.
5879
5880         * config/s390/s390.h: Same.
5881
5882         * config/sh/sh.h: Same.
5883
5884         * config/pa/pa64-regs.h: Same.
5885
5886         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
5887
5888         * config/sh/sh.c (sh_cannot_change_mode_class): New.
5889
5890         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
5891         prototype.
5892
5893         * config/mips/mips.c (mips_cannot_change_mode_class): New.
5894
5895         * doc/tm.texi (Register Classes): Remove
5896         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
5897         Document CANNOT_CHANGE_MODE_CLASS.
5898
5899         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
5900         (push_reload): Same.
5901
5902         * simplify-rtx.c (simplify_subreg): Same.
5903
5904         * reload1.c (choose_reload_regs): Same.
5905
5906         * recog.c (register_operand): Same.
5907
5908         * regrename.c (mode_change_ok): Change to use new
5909         CANNOT_CHANGE_MODE_CLASS infrastructure.
5910
5911         * regclass.c (cannot_change_mode_set_regs): New.
5912         Declare subregs_of_mode.
5913         (regclass): Use subregs_of_mode.
5914         Remove references to reg_changes_mode.
5915         (init_reg_sets_1): Remove class_can_change_mode and
5916         reg_changes_mode code.
5917         (invalid_mode_change_p): New.
5918         (dump_regclass): Use invalid_mode_change_p instead of
5919         class_can_change_mode.
5920         (regclass): Same.
5921         (record_operand_costs): Do not set reg_changes_mode.
5922
5923         * local-alloc.c (struct qty): Remove changes_mode field.
5924         (alloc_qty): Remove changes_mode initialization.
5925         (update_qty_class): Remove set of changes_mode.
5926         (find_free_reg): Use subregs_of_mode.
5927
5928         * global.c (find_reg): Use subregs_of_mode info.
5929
5930         * rtl.h (cannot_change_mode_set_regs): New prototype.
5931         (invalid_mode_change_p): Same.
5932         (REG_CANNOT_CHANGE_MODE_P): New macro.
5933
5934         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
5935         REG_CHANGES_MODE.
5936         (life_analysis): Clear subregs_of_mode.
5937
5938         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
5939         Remove use of CLASS_CANNOT_CHANGE_MODE.
5940         (simplify_set): Same.
5941         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
5942         REG_CHANGES_MODE.
5943
5944         * regs.h: Add extern for subregs_of_mode;
5945         Include hard-reg-set and basic-block.
5946         (REG_CHANGES_MODE): Delete.
5947
5948 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5949
5950         * real.c (real_sqrt): New function to calculate square roots.
5951         * real.h (real_sqrt): Add function prototype.
5952         * builtins.c (fold_builtin): Fold sqrt of constant argument.
5953         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
5954         of constant argument.
5955
5956 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5957
5958         * jump.c (never_reached_warning): Don't set contains_insn until the
5959         first line note is seen.
5960
5961 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
5962
5963         * config/rs6000/rs6000.md (movti_string): Use string instructions.
5964
5965 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5966
5967         PR c/7128
5968         * c-typeck.c (c_expand_asm_operands): Defend against
5969         error_mark_nodes in the output argument to avoid ICE.
5970
5971 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
5972
5973         PR middle-end/8408
5974         * genrecog.c (preds): Handle ADDRESSOF.
5975         (validate_pattern): Mark it as an lvalue.
5976
5977 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
5978
5979         * config/rs6000/rs6000.c (rs6000_override_options): Use string
5980         instructions when optimizing for size.
5981
5982 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
5983
5984         * config/h8300/h8300.h: Fix comment typos.
5985         * config/h8300/h8300.md: Likewise.
5986         * config/h8300/lib1funcs.asm: Likewise.
5987
5988 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5989
5990         Revert this change:
5991
5992         *doc/install.texi (Installing GCC: Configuration): Clarify
5993         the only supported ways to configure gcc.
5994
5995 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5996
5997         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
5998         instead of 'O' for the constraint for the second operand.
5999
6000 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
6001
6002         PR c++/8391
6003         * toplev.c (rest_of_compilation): Do not refuse to output code for
6004         an inline function in a local class.
6005
6006 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
6007
6008         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
6009         (TRANSFER_FROM_TRAMPOLINE): Reformat.
6010         Add comment.
6011
6012 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
6013
6014         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
6015
6016 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
6017
6018         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
6019
6020 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
6021
6022         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
6023         (MASK_INLINE_DIV_THR): Remove.
6024         (TARGET_INLINE_DIV_LAT): Remove.
6025         (TARGET_INLINE_DIV_THR): Remove.
6026         (TARGET_INLINE_DIV): Remove.
6027         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
6028         (MASK_INLINE_FLOAT_DIV_THR): New macro.
6029         (MASK_INLINE_INT_DIV_LAT): New macro.
6030         (MASK_INLINE_INT_DIV_THR): New macro.
6031         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
6032         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
6033         (TARGET_INLINE_INT_DIV_LAT): New macro.
6034         (TARGET_INLINE_INT_DIV_THR): New macro.
6035         (TARGET_INLINE_FLOAT_DIV): New macro.
6036         (TARGET_INLINE_INT_DIV): New macro.
6037         * config/ia64/ia64.md (divsi3): Change to use new macros.
6038         (modsi3): Ditto.
6039         (udivsi3): Ditto.
6040         (umodsi3): Ditto.
6041         (divsi3_internal): Ditto.
6042         (divdi3): Ditto.
6043         (moddi3): Ditto.
6044         (udivdi3): Ditto.
6045         (umoddi3): Ditto.
6046         (divdi3_internal_lat): Ditto.
6047         (divdi3_internal_thr): Ditto.
6048         (divsf3): Ditto.
6049         (divsf3_internal_lat): Ditto.
6050         (divsf3_internal_thr): Ditto.
6051         (divdf3): Ditto.
6052         (divdf3_internal_lat): Ditto.
6053         (divdf3_internal_thr): Ditto.
6054         (divtf3): Ditto.
6055         (divtf3_internal_lat): Ditto.
6056         (divtf3_internal_thr): Ditto.
6057         * config/ia64/ia64.c (ia64_override_options): Change
6058         to check new macros for conflicts in settings.
6059         * doc/invoke.texi (-minline-divide-min-latency): Remove.
6060         (-minline-divide-max-throughput): Remove.
6061         (-minline-float-divide-min-latency): New.
6062         (-minline-float-divide-max-throughput): New.
6063         (-minline-int-divide-min-latency): New.
6064         (-minline-int-divide-max-throughput): New.
6065
6066 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
6067
6068         PR target/7856
6069         * arm.c (use_return_insn): Don't use a return insn if there are
6070         saved integer regs, but LR is not one of them.
6071
6072 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
6073
6074         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
6075         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
6076
6077 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
6078
6079         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
6080         (movps, movpd splitters): Use canonical form.
6081         (movv2di): Fix merge problem.
6082
6083 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
6084
6085         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
6086
6087 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
6088
6089         PR optimization/6162
6090         * doc/md.texi: Document restriction on commutative operand
6091         specification.
6092
6093 2002-10-31  Eric Christopher  <echristo@redhat.com>
6094
6095         * explow.c (convert_memory_address): Use shallow_copy_rtx.
6096
6097 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
6098
6099         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
6100
6101 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
6102
6103         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
6104
6105 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
6106
6107         * config/rs6000/darwin.h:  Correct formatting in previous.
6108
6109 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
6110
6111         * config/rs6000/darwin.h:  Enable -falign-xxx options.
6112
6113 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
6114
6115         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
6116         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
6117         * i386.c (optimization_options): Set flag_omit_frame_pointer,
6118         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
6119         Do not clear -momit-leaf-frame-pointer when profiling.
6120         (ix86_frame_pointer_required): Frame pointer is always required when
6121         profiling.
6122
6123 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
6124
6125         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
6126
6127 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
6128
6129         * sh.h (binary_logical_operator): Declare.
6130         * sh.c (binary_logical_operator): New function.
6131         * sh.md (xordi3+1): New combiner splitter pattern.
6132
6133 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
6134
6135         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
6136         __enable_execute_stack function.
6137
6138 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
6139
6140         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
6141         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
6142         * unwind-sjlj.c (fc_key_dtor): Delete.
6143         (fc_key_init): Adjust __gthread_key_create call to match.
6144
6145 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
6146
6147         * c-common.c: Add GTY to vector_type_node_list.
6148
6149 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
6150
6151         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
6152         * pa-protos.h (attr_length_millicode_call, attr_length_call,
6153         pa_init_machine_status): Declare new global functions.
6154         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
6155         implement new functions.
6156         (attr_length_millicode_call, attr_length_call): Implement.
6157         (total_code_bytes): Change type to long.
6158         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
6159         Reset counter if flag_function_sections.
6160         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
6161         (output_cbranch): Move call to gen_label_rtx.
6162         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
6163         delay slot in all variants, shorten pc-relative calls.
6164         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
6165         slot usage and exposure, various new call variants, and shortened
6166         sequences for some variants on TARGET_PA_20.
6167         Miscellaneous format changes.
6168         * pa.h (total_code_bytes): Change type to long.
6169         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
6170         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
6171         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
6172         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
6173         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
6174         stores on TARGET_ELF32.
6175         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
6176         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
6177         canonicalize_funcptr_for_compare expanders): Calculate attribute length
6178         attr_length_millicode_call().
6179         (call_internal_symref, call_value_internal_symref): Clobber register 1.
6180         Calculate attribute length using attr_length_call().
6181         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
6182         to delay slot.
6183         (sibcall, sibcall_value): Rewrite.
6184         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
6185         register 1.  Use attr_length_call().
6186         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
6187         New patterns.
6188         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
6189         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
6190         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
6191         * doc/invoke.texi (mlong-calls): Document.
6192
6193 2002-10-30  Roger Sayle  <roger@eyesopen.com>
6194
6195         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
6196         handling of cases where one or both branches of the conditional
6197         have void type, i.e. throw an exception or don't return.
6198         (fold): Only apply (and undo) type conversion to the non-void
6199         branches of a COND_EXPR.
6200
6201 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
6202
6203         PR c++/8333
6204         * varasm.c (asm_output_aligned_bss): Do not call
6205         ASM_GLOBALIZE_LABEL.
6206
6207 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
6208             Torbjorn Granlund  <tege@swox.com>
6209
6210         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
6211         for addressibility.
6212         (load_toc_v4_PIC_1b): Same.
6213
6214 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
6215
6216         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
6217         Truncate the addresses for H8/300 using HImode.
6218
6219 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
6220
6221         * i386.md (negdf splitter): Fix construction of the constant.
6222
6223 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
6224
6225         * i386.md (negsf, negdf): Reorganize to use vector modes
6226         for SSE variants.
6227         (abssf, absdf): Use force_reg.
6228         (movv4sf, movv2df): New splitters.
6229         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
6230         * i386.c (zero_extended_scalar_load_operand
6231
6232         * i386-protos.h (ix86_expand_call): Update prototype.
6233         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
6234         (ix86_expand_call): Use r11 for indirect sibcalls.
6235         * i386.md (call, call_value, untyped_call, call_value_pop):
6236         update x86_expand_call call.
6237         (sibcall, sibcall_value): new patterns
6238         (call_rex64, call_value_rex64): Do not accept sibcalls.
6239         (sibcall_rex64, sibcall_value_rex64,
6240         sibcall_rex64_v, sibcall_value_rex64_v): New.
6241
6242 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6243
6244         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6245         before final pass.
6246
6247 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
6248
6249         * toplev.c (rest_of_type_compilation): Return early in case of
6250         errors.
6251         (check_global_declarations): Don't call debug_hooks->global_decl
6252         in case of errors.
6253
6254 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
6255
6256         * doc/c-tree.texi (Tree overview): Fix typos.
6257
6258 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
6259
6260         * Makefile.in (gnucompare*):  Only record bad comparisons
6261         if there really was a bad comparison.
6262
6263 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
6264
6265         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
6266         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
6267         * md.texi (machine dependent constraints): Document 'C'
6268
6269         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
6270
6271         * i386.c (ix86_expand_vector_move): Fix.
6272
6273         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
6274         * i386.md (sse2_maskmovdqu_rex64): New pattern
6275
6276         PR target/8322
6277         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
6278         (ix86_init_mmx_sse_builtins): Fix type.
6279
6280 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
6281
6282         * gthr-posix.h: Include <unistd.h> for feature tests.
6283         (sched_get_priority_max, sched_get_priority_min)
6284         (pthread_getschedparam, pthread_setschedparam): Only use
6285         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
6286         (__gthread_objc_thread_set_priority): Don't treat all nonzero
6287         returns from sched_get_priority_max and sched_get_priority_min
6288         as an error.
6289
6290 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6291
6292         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
6293         MASK_QUICKCALL.
6294
6295 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6296
6297         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
6298         (h8300_tiny_constant_address_p): Likewise.
6299         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
6300         h8300_eightbit_constant_address_p.
6301         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
6302         * config/h8300/h8300-protos.h: Add the prototypes for the two
6303         new functions.
6304
6305 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6306
6307         * reload1.c (update_eliminables): Unconditionally check if
6308         frame_pointer_needed has changed.
6309
6310 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6311
6312         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6313         before final pass.
6314
6315 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
6316
6317         PR optimization/8334
6318         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
6319         check for zero operands explicitly.
6320
6321 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
6322
6323         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
6324         memory after adjusting to BLKmode.
6325
6326 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6327
6328         * config/h8300/h8300.h (MASK_*): New.
6329         (TARGET_*): Use MASK_*.
6330
6331 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
6332
6333         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
6334         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
6335         config/rs6000/vxworks.h: New files.
6336         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
6337
6338         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
6339         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
6340         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
6341         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
6342         sparc-*-vxsim*): Delete stanzas.
6343         * gthr-vxworks.h: Rip out all substantive code and just
6344         include gthr-single.h.
6345
6346         * config/alpha/vxworks.h, config/arm/vxarm.h,
6347         config/i386/vxi386.h, config/i960/t-vxworks960,
6348         config/i960/vx960-coff.h, config/i960/vx960.h,
6349         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
6350         config/mips/vxworks.h, config/rs6000/vxppc.h,
6351         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
6352         config/sparc/vxsim.h, config/sparc/vxsparc.h,
6353         config/sparc/vxsparc64.h: Delete files.
6354
6355 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
6356
6357         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
6358         tm_defines if pthreads are enabled.
6359         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
6360         if NETBSD_ENABLE_PTHREADS is defined.
6361
6362 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
6363
6364         * ChangeLog.1: Fix typos.
6365         * cse.c: Fix a comment typo.
6366         * reload1.c: Likewise.
6367
6368 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
6369
6370         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
6371         * fixinc/tests/base/_G_config.h: New file.
6372
6373 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6374
6375         * combine.c: Fix comment formatting.
6376         * loop.c: Likewise.
6377         * real.c: Likewise.
6378         * regclass.c: Likewise.
6379         * regmove.c: Likewise.
6380         * regrename.c: Likewise.
6381         * reg-stack.c: Likewise.
6382         * reload1.c: Likewise.
6383         * reload.c: Likewise.
6384         * reload.h: Likewise.
6385         * unroll.c: Likewise.
6386
6387 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6388
6389         * reload1.c (reload): Fix a comment typo.
6390
6391 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
6392
6393         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
6394
6395 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6396
6397         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
6398         * dwarf2out.c: Include hashtab.h.
6399         (is_main_source): New static variable.
6400         (attr_checksum, die_checksum): Modified to handle die references.
6401         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
6402         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
6403         record_comdat_symbol_number): New static functions.
6404         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
6405         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
6406         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
6407         declarations added.
6408
6409 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
6410
6411         * config/h8300/h8300.c (initial_offset): Change to
6412         h8300_initial_elimination_offset.
6413         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
6414         h8300_initial_elimination_offset.
6415         * config/h8300/h8300-protos.h: Update the prototype.
6416
6417 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
6418
6419         * config/mmix/mmix.h (LIBCALL_VALUE): Use
6420         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
6421         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
6422         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
6423         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
6424         and RTX_CODE.
6425         (mmix_function_value_regno_p): Declare.
6426
6427         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
6428         invalid for floating point mode result, with fix.
6429
6430 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
6431
6432         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
6433         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
6434         (stage1_build): Likewise.
6435
6436 2002-10-25  Mike Stump  <mrs@apple.com>
6437
6438         Fixes gcc.dg/warn-1.c.
6439         * c-typeck.c (warn_for_assignment): Don't print argument number,
6440         if zero.
6441
6442 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
6443
6444         * toplev.c (dump_file_index): Add DFI_ce3.
6445         (dump_file_info): Likewise.
6446         (rest_of_compilation): Run first ifcvt pass before tracer.
6447
6448 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
6449
6450         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
6451
6452 2002-10-25  Richard Henderson  <rth@redhat.com>
6453
6454         * real.c (real_to_decimal): If the >1 tens reduction loop results
6455         in a negative exponent, fall into the <1 pten computation.
6456
6457 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
6458
6459         PR middle-end/6994
6460         * c-objc-common.c (inline_forbidden_p): Can not inline
6461         functions containing structures or unions containing VLAs.
6462         * tree-inline.c (walk_tree): For all class 't' nodes, walk
6463         TYPE_SIZE and TYPE_SIZE_UNIT.
6464         (copy_tree_r): Copy types if they are variably modified.
6465
6466 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6467
6468         * config/s390/s390.md: Remove old-style peepholes.
6469
6470 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6471
6472         * config/s390/s390.c (s390_decompose_address): Do not range check the
6473         displacement if base or index is the argument pointer register.
6474
6475 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
6476
6477         PR other/3337
6478         PR bootstrap/6763
6479         PR bootstrap/8122
6480         * fixinc/inclhack.def (libc1_G_va_list): New fix.
6481         * fixinc/fixincl.x: Regenerate.
6482         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
6483         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
6484         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
6485         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
6486         * config.in, configure: Regenerate.
6487
6488 2002-10-24  Igor Shevlyakov <igor@microunity.com>
6489
6490         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
6491
6492 2002-10-24  Richard Henderson  <rth@redhat.com>
6493
6494         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
6495
6496 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6497
6498         * config/h8300/h8300.c (initial_offset): Simplify by using
6499         round_frame_size.
6500
6501 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
6502
6503         * doc/install.texi (avr): Update required binutils version.
6504
6505 2002-10-24  Theodore A. Roth  <troth@openavr.org>
6506
6507         * doc/install.texi: Point avr users at more up-to-date information.
6508
6509 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6510
6511         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
6512         to pull operands out of the literal pool where possible.
6513
6514 2002-10-24  Denis Chertykov  <denisc@overta.ru>
6515
6516         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
6517
6518 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
6519
6520         * expr.c (convert_move): If unsignedp is less then zero there
6521         is no equivalent code.
6522
6523 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
6524
6525         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
6526
6527 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6528
6529         * config/s390/s390.h: Rework comments; re-sort target macro definitions
6530         according to the sequence they are defined in the manual.
6531         (POINTER_BOUNDARY): Remove.
6532
6533 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6534
6535         * config/h8300/h8300.c (round_frame_size): Replace 8 with
6536         BITS_PER_UNIT.
6537
6538 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6539
6540         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
6541         64-bit safe.
6542         (TINY_CONSTANT_ADDRESS_P): Likewise.
6543
6544 2002-10-24  Richard Henderson  <rth@redhat.com>
6545
6546         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6547         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
6548         vcall offset.
6549
6550 2002-10-24  Richard Henderson  <rth@redhat.com>
6551
6552         PR opt/7944
6553         * reload.c (find_reloads_toplev): Mode of X is not important
6554         when simplifying subregs of constants.
6555
6556 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6557
6558         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
6559         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
6560         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
6561         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
6562         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
6563
6564 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6565
6566         * optabs.c (expand_binop): Don't reuse the shift target in the
6567         middle of shift sequences.
6568
6569 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
6570
6571         * i386.md (abs splitters): Do not produce nested subregs.
6572
6573 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
6574
6575         * i386.md (movti_rex64): Fix constraints.
6576
6577 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
6578
6579         * i386.md (abssf,absdf): Use vector operands for SSE
6580         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
6581         vector operand.
6582
6583 2002-10-23  Ziemowit Laski <zlaski@apple.com>
6584
6585         * objc/objc-act.c (get_static_reference): Remove unneeded
6586         TYPE_BINFO initialization.
6587         (get_object-reference): Likewise.
6588         (build_constructor): Tighten precondition check.
6589         (finish_message_expr): Likewise.
6590
6591 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
6592
6593         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
6594         after CONST test.
6595
6596 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
6597
6598         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
6599         in HFAs.
6600
6601 2002-10-23  Richard Henderson  <rth@redhat.com>
6602
6603         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6604         (alpha_output_mi_thunk_osf): Handle vcall_offset.
6605
6606 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
6607
6608         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
6609         var_mod_type_p.
6610         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
6611         hook_tree_bool_false.
6612
6613         * tree.c (variably_modified_type_p): Moved here from
6614         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
6615         language-specific cases.  Due to this, must weaken some 'if
6616         and only if' checks to merely 'if'.
6617         * tree.h: Prototype variably_modified_type_p.
6618
6619         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
6620
6621 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6622
6623         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
6624         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
6625
6626         * config/s390/s390-protos.h (fp_operand): Remove.
6627         * config/s390/s390.c (fp_operand): Remove.
6628         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
6629         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
6630         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
6631         (movdi_31, movdf_31 splitters): Likewise.
6632
6633         * config/s390/s390.h (IEEE_FLOAT): Remove.
6634         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
6635         (INT_REGNO_P): Rename to ...
6636         (GENERAL_REGNO_P): ... this.
6637         (FLOAT_REGNO_P): Rename to ...
6638         (FP_REGNO_P): ... this.
6639         (ADDR_REGNO_P): New macro.
6640         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
6641         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
6642         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
6643         (HARD_REGNO_NREGS): Adapt to macro renaming.
6644         (HARD_REGNO_MODE_OK): Likewise.
6645
6646 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
6647             Geoff Keating  <geoffk@apple.com>
6648
6649         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
6650         (rs6000_memory_move_cost): New function.
6651         * config/rs6000/rs6000-protos.h: Declare them.
6652         * config/rs6000/rs6000.h: Use them.
6653
6654 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6655
6656         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
6657         inlining it into other libgcc2 routines.
6658         (__udivmoddi4): Likewise.
6659
6660 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
6661
6662         * doc/sourcebuild.texi (Test Suites): Improve.
6663
6664 2002-10-22  Stan Shebs  <shebs@apple.com>
6665
6666         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
6667         case for Darwin.
6668
6669 2002-10-22  Jim Wilson  <wilson@redhat.com>
6670
6671         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
6672
6673 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
6674
6675         PR other/8289
6676         * xmmintrin.h: Add const to the argument of loads.
6677
6678         * i386.md (pushv2di): New pattern.
6679         PR target/6890
6680         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
6681
6682 2002-10-22  Richard Henderson  <rth@redhat.com>
6683
6684         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
6685         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
6686         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
6687         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6688         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6689         (TARGET_ASM_OUT): Update.
6690         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
6691         (hook_bool_tree_hwi_hwi_tree_true): New.
6692         (default_can_output_mi_thunk_no_vcall): New.
6693         * hooks.h: Declare them.
6694         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
6695
6696         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6697         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
6698         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
6699         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
6700         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
6701         config/stormy16/stormy16.c: Similarly.
6702
6703         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
6704         Handle 64-bit properly.  Streamline.
6705         (x86_output_mi_vcall_thunk): Remove.
6706         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
6707         (x86_can_output_mi_thunk): New.
6708         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6709         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6710         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
6711
6712         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
6713         output_mi_thunk; make static; always use function_section.
6714         (TARGET_ASM_OUTPUT_MI_THUNK): New.
6715         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6716         (rs6000_ra_ever_killed): Test no_new_pseudos not
6717         targetm.asm_out.output_mi_thunk in conjunction with thunks.
6718         * config/rs6000/rs6000-protos.h: Update.
6719         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6720         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
6721         xcoffout_declare_function when using rs6000_output_mi_thunk.
6722
6723         * config/s390/s390.c (s390_output_mi_thunk): Rename from
6724         s390_output_mi_vcall_thunk.
6725         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6726         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6727
6728         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
6729         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6730         * config/vax/vax-protos.h: Update.
6731         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
6732
6733 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
6734
6735         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
6736         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
6737         * i386.md (movti_internal): Use 'C'
6738
6739         * xmmintrin.h (_mm_cmplt_epi*): New.
6740
6741 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6742
6743         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
6744         ("*movdf_64"): Likewise.
6745         ("*lshrdi3_64"): Likewise.
6746         ("blockage"): Add length attribute.
6747         ("lit"): Likewise.
6748
6749 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
6750
6751         * i386.md: FIx typo.
6752         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
6753         (sse2_umulv2siv2di3): Fix predicate.
6754         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
6755         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
6756         * xmmintrin.h (_mm_mul_epu16): Rename to...
6757         (_mm_mul_epu32): This one.
6758         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
6759
6760         (contains_128bit_aligned_vector_p): Undo accidental checkin.
6761
6762 2002-10-22  Eric Christopher  <echristo@redhat.com>
6763
6764         * config/sparc/sparc.h: Add #error.
6765
6766 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6767
6768         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
6769         [s390x-*-linux*]: Likewise.
6770         * config/s390/t-linux: Remove.
6771         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
6772
6773 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
6774
6775         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
6776         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
6777         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
6778         * i386.md (mmx_punpck?dq): Simplify.
6779         (sse2_pubpcklqdq): Fix.
6780         (sse2_pubpckhqdq): New.
6781         * xmmintrin.h (_mm_unpackhi_epi32): New.
6782
6783         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
6784         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
6785
6786 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
6787
6788         PR c++/7209
6789         * fold_const.c (fold_binary_op_with_conditional_arg): Always
6790         build compound_expr if we used save_expr.
6791
6792 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
6793
6794         * output.h (SECTION_NOTYPE): Define.
6795         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
6796         init array sections.
6797         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
6798         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
6799         merge TLS support.
6800
6801 2002-10-21  Richard Henderson  <rth@redhat.com>
6802
6803         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
6804         the function type, not the return type.
6805
6806 2002-10-21  Richard Henderson  <rth@redhat.com>
6807
6808         * real.c (sticky_rshift_significand): Return inexact, don't
6809         or it in immediately.
6810         (sub_significands): Accept incomming carry.
6811         (div_significands, rtd_divmod): Update for sub_significands change.
6812         (round_for_format): Update for sticky_rshift_significand change.
6813         (do_add): Don't involve the inexact bit in addition, do give the
6814         inexact bit as the subtraction carry-in.
6815         (encode_internal, decode_internal, real_internal_format): New.
6816         * real.h (real_internal_format): Declare.
6817
6818 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6819
6820         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
6821         don't define sdiv_qrnnd.
6822
6823 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6824
6825         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
6826         using IN_RANGE.
6827         (TINY_CONSTANT_ADDRESS_P): Likewise.
6828
6829 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
6830
6831         * i386.c (builtin_description): Add punpcklqdq and movdq2q
6832         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
6833         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
6834         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
6835         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
6836         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
6837         __builtin_ia32_setzero128.
6838         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
6839         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
6840         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
6841         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
6842         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
6843         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
6844         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
6845         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
6846         sse2_movq): New patterns.
6847         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
6848         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
6849         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
6850         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
6851         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
6852         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
6853         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
6854         (_mm_insert_epi16): Fix.
6855
6856 2002-10-21  Dale Johannesen  <dalej@apple.com>
6857
6858         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
6859             unsafe math reversals correctly for RTL generation.
6860           (output_cbranch):  Replace rs6000_reverse_condition call
6861             by its former definition.
6862
6863 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
6864
6865         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
6866         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
6867         from constant pool or LABEL_REFs as sign extended if allow_rip.
6868         Change all +-1GB limits to +-16MB.
6869         (x86_64_general_operand, x86_64_szext_general_operand,
6870         x86_64_nonmemory_operand, x86_64_movabs_operand,
6871         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
6872         legitimate_address_p, ix86_expand_int_movcc): Update callers.
6873         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
6874         in CM_SMALL_PIC model.
6875         (legitimate_pic_address_disp_p): Don't check offsets before
6876         calling local_symbolic_operand.
6877         (legitimize_pic_address): Force offsets bigger than +-16MB into
6878         register.
6879         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
6880         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
6881         prototype.
6882
6883         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
6884         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
6885         * configure: Rebuilt.
6886         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
6887         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
6888         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
6889         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
6890         -fpic.
6891         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
6892         non-pic code if TARGET_64BIT.
6893         (legitimize_address): Generate 64-bit TLS sequences.
6894         (output_pic_addr_const): Support x86-64 TLS operators.
6895         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
6896         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
6897         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
6898         (output_addr_const_extra): Support x86-64 TLS operators.
6899         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
6900         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
6901         unconditionally.
6902         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
6903         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
6904         (*tls_global_dynamic_sun): Renamed to...
6905         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
6906         (tls_global_dynamic): Renamed to...
6907         (tls_global_dynamic_32): ... this.
6908         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
6909         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
6910         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
6911         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
6912         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
6913         (tls_local_dynamic_base_dynamic): Renamed to...
6914         (tls_local_dynamic_base_dynamic_32): ... this.
6915         (tls_local_dynamic_base_dynamic_64,
6916         *tls_local_dynamic_base_dynamic_64): New.
6917         (*tls_local_dynamic_once): Renamed to...
6918         (*tls_local_dynamic_32_once): ... this.
6919
6920 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6921
6922         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
6923         __divdi3, __umoddi3, or __moddi3.
6924
6925 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6926
6927         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
6928         instead of just opt_index as switch expression.
6929
6930         * calls.c (store_one_arg): Change type of 'excess_align'
6931         to unsigned int.
6932
6933         * profile.c (output_gcov_string): Change type of 'temp'
6934         to size_t.
6935
6936 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6937
6938         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
6939         (__fixunssfdi, __fixsfdi): Likewise.
6940         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
6941         (s390_single_qi): Likewise.
6942         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
6943         unsigned comparison warning.
6944         (s390_return_addr_rtx): New function.
6945         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
6946         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
6947         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
6948
6949 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6950
6951         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
6952         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
6953         (s390_output_mi_thunk): Remove.
6954         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6955
6956 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6957
6958         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
6959
6960 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
6961
6962         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
6963         inverted test in the conditional determining the possibility
6964         of sibcalls in PIC mode.
6965
6966 2002-10-20  Richard Henderson  <rth@redhat.com>
6967
6968         * target.h (struct gcc_target): Line wrap.
6969
6970         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
6971         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
6972         * config/alpha/alpha.h: ... not here.
6973         * config/alpha/alpha-protos.h: Update.
6974
6975         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
6976         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
6977         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6978         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
6979         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
6980         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
6981         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
6982         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6983         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
6984         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
6985         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
6986         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
6987         config/sparc/sparc.c, config/sparc/sparc.h,
6988         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
6989         config/stormy16/stormy16.h: Similarly.
6990
6991         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
6992         selection logic from call patterns.
6993
6994 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
6995
6996         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
6997
6998 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6999
7000         PR other/8202
7001         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
7002         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
7003         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
7004         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
7005
7006 2002-10-20  Roger Sayle  <roger@eyesopen.com>
7007
7008         PR c/761
7009         * toplev.c (flag_unsafe_profile_arcs): Remove.
7010         (flag_bounded_pointers): Remove.
7011         (flag_bounds_check): Correct comments.
7012         (lang_independent_options): Remove -funsafe-profile-arcs and
7013         -fbounded-pointers.  Correct -fbounds-check comments.
7014
7015         * flags.h: Correct flag_schedule_interblock comments.
7016         (flag_bounded_pointers): Remove prototype.
7017         (flag_bounds_check): Correct comments.
7018
7019         * c-opts.c (c_common_init_options): No need to mark
7020         flag_bounds_check as unspecified.
7021         (c_common_post_options): And no need to set it from
7022         flag_bounded_pointers if its still unspecified.
7023
7024         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
7025         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
7026         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
7027         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
7028
7029 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
7030         Angela Marie Thomas  <angela@releasedominatrix.com>
7031         Brendan Kehoe  <brendan@zen.org>
7032         Nick Clifton  <nickc@redhat.com>
7033         Andrew Haley  <aph@redhat.com>
7034
7035         * configure.in (--with-sysroot): New.  Don't inhibit libc if
7036         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
7037         and CROSS_SYSTEM_HEADER_DIR.
7038         * configure: Rebuilt.
7039         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
7040         (TARGET_SYSTEM_ROOT): New.
7041         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
7042         CROSS_SYSTEM_HEADER_DIR.
7043         (install-gcc-tooldir): New target.
7044         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
7045         if SYSTEM_HEADER_DIR does not exist and it's not the default
7046         sys-include directory.
7047         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
7048         (install-mkheaders): Likewise.
7049         * gcc.c (target_system_root): New variable.
7050         (add_sysrooted_prefix): New function.
7051         (process_command): Recompute run-time target_system_root from
7052         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
7053         does not exist.
7054         (do_spec_1): Process 'R' spec.
7055         (main): Add md_exec_prefix to exec_prefixes regardless of
7056         startfile_prefix_spec.  Use add_sysrooted_prefix for
7057         startfile_prefixes, and don't skip the default ones when cross
7058         compiling with sysroot enabled.  Removed unused case of
7059         non-absolute standard_startfile_prefix.
7060         * config/interix.h: Remove the only potential, yet disabled,
7061         occurrence of non-absolute (empty) standard_startfile_prefix.
7062         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
7063         linking.
7064         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
7065         * doc/install.texi (--with-sysroot): Document.
7066         (--with-headers, --with-libs): Deprecate.
7067
7068 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7069             Mark Mitchell  <mark@codesourcery.com>
7070
7071         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
7072         match target.h.
7073         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
7074         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
7075         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
7076         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
7077         x86_output_mi_thunk): Likewise.
7078         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
7079         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
7080         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
7081         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
7082         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
7083         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
7084         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
7085         Likewise.
7086         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
7087
7088         * target.h (gcc_target): Update output_mi_thunk and
7089         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
7090         vcall_index.
7091
7092         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
7093         TARGET_ASM_OUTPUT_MI_THUNK in comments.
7094         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
7095         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
7096         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
7097         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
7098         signature.
7099         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
7100         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
7101         TARGET_ASM_OUTPUT_MI_THUNK in comments.
7102         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
7103         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
7104         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
7105         TARGET_ASM_OUTPUT_MI_THUNK in comments.
7106         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
7107         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
7108
7109         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
7110         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
7111
7112 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
7113
7114         * real.c (do_add): Fix 0+0 sign corner case.
7115         (do_divide): Fix Inf/0 corner case.
7116
7117 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
7118
7119         * i386.c (classify_argument): Pass MMX arguments in memory
7120         (ix86_expand_builtin): Expand proper address mode for cflush.
7121         * i386.md (movdqa): Fix typo.
7122         (sse2_cflush): Accept DImode addresses.
7123
7124         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
7125         (_mm_max_sd): Fix pasto.
7126         (_mm_storeh_pd, _mm_storel_pd): Fix.
7127
7128         * i386.c (bdesc_comi): Fix to match specification.
7129         (ix86_expand_sse_comi): Emit the comparison properly.
7130         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
7131         Do not use comparison operator.
7132         (vnmaskcmp): Fix template.
7133
7134         * xmmintrin.h (_mm_cvtps_pi16): Fix.
7135
7136 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
7137
7138         * dependence.c : Removed.
7139         * Makefile.in : Remove dependence.o.
7140
7141 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
7142
7143         * mmintrin.h (__m64): typedef it to v2si.
7144         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
7145         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
7146         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
7147         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
7148         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
7149         * xmmintrin.h (_mm_setzero_si64): Likewise.
7150
7151         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
7152         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
7153
7154         PR target/7693
7155         Patch by Shawn Wagner
7156         * mmintrin.h: Replace pi64 by si64.
7157
7158 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
7159
7160         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
7161         Use length of 4 not *.
7162         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
7163         (movdf_softfloat64): Likewise.
7164         (movdi_internal32): Use length of 4 not *.
7165         (movti_power): Same.
7166         (ctrsi, ctrdi): Same.
7167
7168 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
7169
7170         * c-decl.c (start_decl): Point users of the old initialized-
7171         typedef extension at __typeof__.
7172
7173 2002-10-18  Richard Henderson  <rth@redhat.com>
7174
7175         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
7176         (real_to_decimal): Re-implement using the logic from the
7177         gcc 3.2 etoasc.  Comment heavily.
7178         (div_significands): Simplify loop startup and comparison logic.
7179
7180 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
7181
7182         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
7183         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
7184         (TARGET_ASM_OUT): Add them.
7185         * target.h (asm_out): Add output_mi_thunk and
7186         output_mi_vcall_thunk.
7187         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7188         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7189         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
7190         * config/arm/arm.c (arm_output_mi_thunk): Define.
7191         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7192         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7193         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7194         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7195         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7196         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7197         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
7198         prototype.
7199         (x86_output_mi_vcall_thunk): Declare.
7200         * config/i386/i386.c (override_options): Clear
7201         output_mi_vcall_thunk in 64-bit mode.
7202         (ix86_fntype_regparm): New function.
7203         (ix86_return_pops_args): Use it.
7204         (ia32_this_parameter): New function.
7205         (x86_output_mi_vcall_thunk): New function.
7206         (x86_output_mi_thunk): Use it
7207         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
7208         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
7209         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
7210         * config/i960/i960.c (i960_output_mi_thunk): New function.
7211         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
7212         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
7213         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
7214         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7215         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7216         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
7217         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7218         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7219         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7220         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7221         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7222         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7223         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7224         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7225         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7226         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7227         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
7228         * config/s390/s390.c (s390_output_mi_thunk): Define.
7229         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7230         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7231         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7232         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7233         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7234         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7235         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
7236         * config/vax/vax.c (vax_output_mi_thunk): Define.
7237         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7238         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7239         * doc/tm.texi: Adjust documentation.
7240
7241 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
7242
7243         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
7244         __enable_execute_stack function.
7245         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
7246         as NETBSD_ENABLE_EXECUTE_STACK.
7247         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7248         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7249         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7250         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7251         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7252
7253 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
7254
7255         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
7256         to __enable_execute_stack with the address of the trampoline
7257         if TRANSFER_FROM_TRAMPOLINE is defined.
7258         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
7259         constant if building libgcc2.
7260
7261 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
7262
7263         * i386.c (pentium4_cost): Fix according to Intel recommendations.
7264         (ix86_memory_move_cost): Fix for 64bit compilation.
7265
7266 2002-10-17  Roger Sayle  <roger@eyesopen.com>
7267
7268         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
7269
7270 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
7271
7272         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
7273         in CTR/LR/MQ.
7274         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
7275         to/from CTR/LR/MQ.
7276         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
7277         (movsf_softfloat): Likewise.
7278
7279 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
7280
7281         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
7282
7283 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
7284
7285         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
7286         tramp, not addr, to pass the trampoline address to
7287         __enable_execute_stack.
7288
7289 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
7290
7291         * mmintrin.h: Guard by __MMX__
7292         * xmmintrin.h: Guard by __SSE__
7293
7294         PR other/8062
7295         * xmmintrin.h (_MM_SHUFFLE2): New macro.
7296         (_mm_load*_?d): New functions.
7297         (_mm_set*_?d): New functions.
7298         (_mm_store*_?d): New functions.
7299
7300 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
7301
7302         Really commit patch announced at Oct 14
7303         PR c/7344
7304         * predict.c (can_predict_insn_p): New function.
7305         (estimate_probability): Avoid unnecesary work.
7306         (process_note_prediction): Likewise.
7307         * toplev.c (rest_of_compilation): Account early branch prediction pass
7308         as TV_BRANCH_PROB.
7309
7310         PR other/8048
7311         Found by Ian Ollmann
7312         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
7313         (_mm_load?_pd): Likewise.
7314         (_mm_store?_pd): Likewise.
7315
7316         PR target/7386
7317         * i386.c (builtin_description):Drop cmpg[te]s[sd].
7318         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
7319         swapped alternative.
7320
7321         PR opt/7630
7322         * reload1.c (reload_inner_reg_of_subreg): New argument output;
7323         (push_reload): Update call.
7324
7325 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
7326
7327         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
7328         if using mips/elf.h or mips/elf64.h.
7329         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
7330         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
7331
7332 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
7333
7334         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
7335         SI.
7336
7337 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
7338
7339         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
7340         (LPREFIX): Likewise.
7341         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
7342         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
7343         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
7344         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
7345         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
7346
7347         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
7348         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
7349         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7350         BSS_SECTION_ASM_OP): Move from linux.h.
7351         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7352         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7353
7354         * config/s390/s390.c (s390_function_profiler): Use
7355         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7356
7357 2002-10-15  Eric Christopher  <echristo@redhat.com>
7358
7359         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
7360         * java/parse.y (obtain_incomplete_type): Make pointer
7361         ptr_mode.
7362
7363 2002-10-15  Richard Henderson  <rth@redhat.com>
7364
7365         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
7366         as arguments.  Bound DIGITS by the available buffer size.
7367         (real_to_hexadecimal): Likewise.
7368         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
7369         (REAL_VALUE_TO_DECIMAL): Remove.
7370         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
7371         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
7372         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
7373         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7374         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
7375         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
7376         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
7377         use real_to_decimal directly, and with the proper arguments.
7378         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
7379
7380 2002-10-15  Jim Wilson  <wilson@redhat.com>
7381
7382         * reload1.c (merge_assigned_reloads): After converting overlapping
7383         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
7384
7385         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
7386
7387 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
7388
7389         * expr.c (do_tablejump): Fix typo in my previous commit.
7390
7391 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
7392
7393         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
7394
7395 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7396
7397         * config/s390/s390.c (s390_split_branches): Add return
7398         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
7399
7400         (find_base_register_in_addr): New function.
7401         (find_base_register_ref): New function.
7402         (replace_base_register_ref): New function.
7403
7404         (struct constant_pool): Add members pool_insn, insns, and anchor.
7405         Remove member last_insn.
7406         (s390_start_pool): Initialize them.
7407         (s390_end_pool): Emit pool placeholder insn.
7408         (s390_add_pool_insn): New function.
7409         (s390_find_pool): Use insns bitmap instead of addresses.
7410         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
7411         Replace unspec 104 by local-pool-relative references.
7412         (s390_output_constant_pool): Output anchor label if required.
7413         (s390_output_symbolic_const): Handle unspec 104 and 105.
7414         (s390_add_pool): Remove, replace by ...
7415         (s390_add_constant, s390_find_constant): ... these new functions.
7416         (s390_add_anchor): New function.
7417
7418         (s390_chunkify_pool): Delete, replace by ...
7419         (s390_chunkify_start, s390_chunkify_finish,
7420         s390_chunkify_cancel): ... these new functions.
7421         (s390_optimize_prolog): Add parameter TEMP_REGNO.
7422         Recompute register live data for special registers.
7423         (s390_fixup_clobbered_return_reg): New function.
7424         (s390_machine_dependent_reorg): Rewrite to use new
7425         s390_chunkify_... routines.
7426
7427         config/s390/s390.md ("reload_base"): Rename to ...
7428         ("reload_base_31"): ... this.
7429         ("reload_base_64"): New insn.
7430         ("reload_base2"): Remove.
7431         ("reload_anchor"): New insn.
7432         ("pool"): New insn.
7433
7434         s390.c (s390_pool_overflow): Remove.
7435         s390.h (s390_pool_overflow): Likewise.
7436         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
7437
7438 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
7439
7440         * sh.md (movv8qi_i+2): Don't split if source is -1.
7441
7442 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
7443
7444         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
7445
7446 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7447
7448         PR opt/7409
7449         * loop.c (loop_regs_scan): Mark registers used for function
7450         argument passing as MAY_NOT_OPTIMIZE.
7451
7452 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7453
7454         * gcov-io.h (gcov_info): Fix type.
7455         * profile.c (create_profiler): Fix type mismatch.
7456
7457 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
7458
7459         * i386.md (movv2di_internal): New pattern.
7460         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
7461         (movv2di): New expander.
7462         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
7463
7464         * i386.c (ix86_expand_timode_binop_builtin): Delete.
7465         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
7466         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
7467         (ix86_expand_builtin): Likewise.
7468         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7469         sse_andti3,
7470         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7471         sse_andnti3,
7472         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
7473         sse_orti3,
7474         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
7475         sse_xorti3): Kill.
7476         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
7477          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
7478         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
7479          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7480         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
7481          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7482
7483         * xmmintrin.h (__m128i): Define as __v2di.
7484
7485         PR c++/6419
7486         (expand_expr): Use DECL_RTL_SET_P.
7487
7488 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7489
7490         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
7491
7492 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7493             Zack Weinberg <zack@codesourcery.com>
7494
7495         * config/i386/i386.c (k6_cost): Correct typo.
7496
7497 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
7498
7499         PR optimization/6631
7500         * alias.c (objects_must_conflict_p): Check honor_readonly when
7501         examining TYPE_READONLY.
7502         * function.c (assign_stack_temp_for_type): Likewise.
7503
7504 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
7505
7506         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
7507         Swap zero extension arguments.
7508         (umaxhi3): Fix instruction class.
7509         PR target/7211
7510         (prefetch): Fix prefetch instructions.
7511         PR target/7238
7512         (pkwb): Fix output constraint.
7513
7514 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
7515
7516         * config/mips/mips.c (print_operand): Increase buffer size for
7517         real numbers.
7518
7519 2002-10-14  Richard Henderson  <rth@redhat.com>
7520
7521         PR opt/8165
7522         * gcse.c (adjust_libcall_notes): Revert last change.
7523         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
7524
7525 2002-10-14  Andrew Haley  <aph@redhat.com>
7526
7527         * tree-inline.c (remap_block): All local class initialization
7528         flags go in the outermost scope.
7529         (expand_call_inline): Call java_inlining_map_static_initializers.
7530         (expand_call_inline): Call java_inlining_merge_static_initializers.
7531         * java/lang.c (merge_init_test_initialization): New.
7532         (java_inlining_merge_static_initializers): New.
7533         (inline_init_test_initialization): New.
7534         (java_inlining_map_static_initializers): New.
7535
7536         * tree-inline.c (expand_call_inline): Convert retvar to expected
7537         type.
7538
7539 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
7540
7541         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
7542
7543 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
7544
7545         * stmt.c: Fix typo in comment.
7546
7547 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7548
7549         * c-common.c (c_common_type_for_mode): Add V2HImode case.
7550         * tree.c (build_common_tree_nodes_2): Initialize
7551         unsigned_V2HI_type_node and V2HI_type_node.
7552         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
7553         (unsigned_V2HI_type_node, V2HI_type_node): Define.
7554
7555 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
7556
7557         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
7558         Handle TARGET_64BIT.
7559
7560 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7561
7562         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
7563         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
7564         (MULTILIB_DIRNAMES): Remove long32.
7565         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
7566         (MULTILIB_REDUNDANT_DIRS): Remove.
7567
7568 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7569
7570         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
7571         * gcc.c (driver_self_specs): New variable.
7572         (do_self_spec): New function.
7573         (main): Use it to process driver_self_specs.
7574
7575 2002-10-13  Richard Henderson  <rth@redhat.com>
7576
7577         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
7578         indirect sibcalls when regparm >= 3.
7579
7580         * config/i386/i386.c (sibcall_insn_operand): New.
7581         * config/i386/i386.h (PREDICATE_CODES): Update.
7582         * config/i386/i386-protos.h: Update.
7583         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
7584
7585         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
7586
7587 2002-10-12  Roger Sayle  <roger@eyesopen.com>
7588
7589         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
7590         arithmetic right shifts of ~0 during RTL simplifications.
7591
7592 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
7593
7594         PR preprocessor/7862
7595         PR preprocessor/8190
7596         * gcc.c (cpp_unique_options): Don't delete .d files.
7597         Remove stray whitespace.
7598
7599 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
7600
7601         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
7602         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
7603         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
7604         (pdp11_output_function_epilogue, output_ascii): Likewise.
7605         (output_addr_const_pdp11): Likewise.
7606         * pdp11.md (movdi): Use offsetable memory for floating store.
7607         (lshrsi3, negsi2): Delete irrelevant comment.
7608
7609 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
7610
7611         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
7612         indirect calls to be sibcall optimized.
7613         * config/i386/i386.md (sibcall_1): New.
7614         (call_1): Add no-sibcalls condition.
7615         (sibcall_value_1): New.
7616         (call_value_1): Add no-sibcalls condition.
7617
7618 2002-10-11  Eric Christopher  <echristo@redhat.com>
7619
7620        * output.h (default_valid_pointer_mode): Declare.
7621        * varasm.c (default_valid_pointer_mode): Define.
7622        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
7623        * target.h: Ditto.
7624        * tree.c (build_pointer_type_for_mode): New function.
7625        (build_pointer_type): Use.
7626        (build_reference_type_for_mode): New function.
7627        (build_reference_type): Use.
7628        * tree.h: Declare new functions.
7629        * c-common.c (handle_mode_attribute): Use new functions, check
7630        for type.
7631        * stor-layout.c (layout_type): Depend on machine mode for
7632        REFERENCE_TYPE and POINTER_TYPE.
7633        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
7634        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
7635        and REFERENCE_TYPE.
7636        * config/mips/mips.c (mips_valid_pointer_mode): New function.
7637        (TARGET_VALID_POINTER_MODE): Use and define.
7638        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
7639
7640 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
7641
7642         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
7643         not the address of the REG.
7644         (struct cse_reg_info): Make subreg_ticked unsigned.
7645
7646 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
7647
7648         * doc/compat.texi: Add info about C++ libraries.
7649
7650 2002-10-11  Richard Henderson  <rth@redhat.com>
7651
7652         PR opt/8165
7653         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
7654
7655 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7656
7657         * cfganal.c (dfs_enumerate_from): Use PARAMS.
7658         * genautomata.c (output_insn_code_cases): Likewise.
7659         * real.c (real_format): Likewise.
7660         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
7661         ensure value is promoted before doing subtraction.
7662
7663 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
7664
7665         * calls.c (expand_call): Simplify noreturn call.
7666
7667         PR c/7344
7668         * cfgbuild.c (make_edges): Create edge cache when we do have
7669         large jumptable.
7670         * expr.c (do_tablejump): Note size of maximal jumptable.
7671         * function.c (prepare_function_start): Zero out size.
7672         * function.h (function): Add max_jumptable_ents.
7673
7674         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7675
7676 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
7677
7678         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
7679         register for mperm_w operation.
7680
7681 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
7682
7683         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
7684         an integer, use simplify_gen_subreg.
7685
7686 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
7687
7688         * calls.c (flags_from_decl_or_type): Make extern.
7689         (ECF_*): Move ...
7690         * rtl.h (ECF_*): ... here.
7691         (flags_from_decl_or_type): Declare.
7692
7693 2002-10-10  Roger Sayle  <roger@eyesopen.com>
7694             Nathan Sidwell <nathan@codesourcery.com>
7695
7696         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
7697         shifts of the form -1 >> x.
7698
7699 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
7700
7701         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7702
7703 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
7704
7705         * extend.texi (Vector Extensions): Remove comment about single
7706         element vectors.
7707
7708 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7709
7710         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
7711         * function.c (insns_for_mem_hash): Likewise.
7712         * varasm.c (STRHASH): Likewise.
7713
7714 2002-10-10  Stuart Hastings  <stuart@apple.com>
7715
7716         * cse.c (struct cse_reg_info): Add subreg_ticked.
7717         (SUBREG_TICKED): New.
7718         (get_cse_reg_info): Initialize SUBREG_TICKED.
7719         (mention_regs): Use it.
7720         (invalidate): Set SUBREG_TICKED.
7721         (invalidate_for_call): Likewise.
7722         (addr_affects_sp_p): Likewise.
7723
7724 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
7725
7726         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
7727         into proper operand.
7728
7729 2002-10-10  Denis Chertykov  <denisc@overta.ru>
7730
7731         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
7732         deallocation.
7733         * config/ip2k/libgcc.S: Combine routines used by function
7734         epilogue.
7735
7736 2002-10-10  Jim Wilson  <wilson@redhat.com>
7737
7738         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
7739         UDIV.
7740
7741 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
7742
7743         * config/rs6000/aix52.h: New file.
7744         * config/rs6000/t-aix52: New File.
7745         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
7746         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
7747
7748 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
7749
7750         PR target/5610
7751         * invoke.texi (-msse-math): Kill
7752         (-msse): Add note to mfpmath=sse.
7753
7754 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
7755
7756         PR target/7723
7757         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
7758
7759 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
7760
7761         PR preprocessor/8179
7762         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
7763         as cc1_options.
7764         (default_compilers): Pass debug options when preprocessing
7765         stdin.
7766
7767 2002-10-06  Richard Henderson  <rth@redhat.com>
7768
7769         * toplev.c (rest_of_compilation): Revert opt/2960 change.
7770
7771 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
7772
7773         * i386.c (*_cost): Add branch costs.
7774         (override_options): set ix86_branch_cost.
7775         (ix86_expand_int_movcc): Use BRANCH_COST.
7776         * i386.h (costs): Add branch_cost.
7777
7778 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
7779
7780         PR c/7353
7781         * c-decl.c (start_decl): Unconditionally issue error for
7782         'typedef foo = bar'.
7783         (finish_decl): Remove special case for TYPE_DECL with initializer.
7784
7785         * doc/extend.texi: Delete "Naming Types" section.  Change all
7786         cross-references to that section to refer to "Typeof" instead.
7787         Add the useful safe-max()-macro example from "Naming Types" to
7788         "Typeof", rewritten using that extension.  Add some compatibility
7789         notes to "Typeof."
7790
7791 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7792
7793         * loop.c: Revert 2002-08-15 change.
7794         (LOOP_REGNO_NREGS): Ensure type is int.
7795
7796 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7797
7798         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
7799         which copies first FPR and clears second.
7800         (extendsftf2): Same.
7801         (floatditf2): Fix typo.
7802         (floatsitf2): Same.
7803         (fix_trunctfdi2): Same.
7804         (fix_trunctfsi2): Same.
7805
7806 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7807
7808         * conflict.c (arc_hash): Change return type to hashval_t.
7809         * cselib.c (get_value_hash): Likewise.
7810         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
7811         state_hash, automata_list_hash): Likewise.
7812         * read-rtl.c (def_hash): Likewise.
7813         * tree.c (type_hash_hash): Likewise.
7814
7815 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
7816
7817         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
7818         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
7819
7820 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7821
7822         * sh.md (ffssi2): Fix emitted code.
7823
7824 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
7825
7826         * cse.c (insn_live_p): Pass insn pattern, not full insn
7827         to may_trap_p.
7828
7829 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
7830
7831         * cppmacro.c (paste_tokens): Only allow / to paste with =.
7832
7833 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7834
7835         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
7836         64-bit hosts.
7837         (movtf_internal): Reference correct displacement for second value
7838         in memory.
7839         (movtf splitter): Correct generation of constants in 64-bit mode.
7840
7841 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
7842
7843         * libgcc2.c (__floatdisf): Properly cure double rounding.
7844
7845 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7846
7847         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
7848         * doc/cpp.texi (Common Predefined Macros): Document.
7849
7850 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7851
7852         PR doc/7484
7853         * doc/invoke.texi (Option Summary): List
7854         -Wmissing-declarations as a C only option.
7855
7856 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7857
7858         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
7859         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
7860         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
7861
7862 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7863
7864         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7865         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
7866         variables.
7867         (safe_vector_operand): Update sse_clrv4sf call.
7868         (ix86_expand_buildin): Likewise
7869         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7870         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
7871         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
7872         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
7873         macros.
7874         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
7875         movv4si):  Obey the new flags.
7876         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
7877         reformating penalty.
7878         (anddf, cmov patterns): Avoid reformating by first converting.
7879         (sse_cvtsd2ss): Fix predicate.
7880         (sse2_clrti): Fix mode,
7881         (sse_clrv4sf): Avoid unspec.
7882
7883 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
7884
7885         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
7886         mno-app-regs|mcmodel=medany.
7887         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
7888         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
7889         (CRTSTUFF_T_CFLAGS): Define.
7890
7891 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7892
7893         PR target/8087
7894         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
7895         pool references that are constructed using LO_SUM.
7896
7897 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
7898
7899         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
7900         -Wall.
7901         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
7902         message.
7903         * flags.h (warn_strict_aliasing): Declare.
7904         * toplev.c (warn_strict_aliasing): Define.
7905         (lang_independent_options): Add it.
7906         * doc/invoke.texi (-Wstrict-aliasing): Document it.
7907
7908 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
7909
7910         * system.h (GCCBUGURL): Delete.
7911         * version.c (bug_report_url): New.  Add commentary about
7912         modifying both these strings in modified distributions.
7913         * version.h: Declare bug_report_url.
7914
7915         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
7916         bug_report_url.
7917
7918 2002-10-08  Nick Clifton  <nickc@redhat.com>
7919
7920         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
7921         convert uint64_t into __ev64_opaque__.
7922         (__ev_set_acc_s64): Likewise, but using signed types.
7923
7924 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
7925
7926         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
7927         ("*doloop_di_long"): Likewise.
7928
7929 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
7930
7931         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
7932
7933 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
7934
7935         * config/mips/mips.md (define_attr cpu): Add r4111.
7936
7937 2002-10-08  Anthony Green  <green@redhat.com>
7938
7939         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
7940
7941 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7942
7943         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
7944         for REAL_VALUE_TO_DECIMAL output.
7945
7946 2002-10-07  Richard Henderson  <rth@redhat.com>
7947
7948         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
7949         function; cleanup PLUS case by using recursion.  Update all users.
7950         (NONZERO_BASE_PLUS_P): Remove.
7951         (find_comparison_args): Use rtx_addr_can_trap_p instead.
7952         (fold_rtx): Use nonzero_address_p.
7953         * rtl.h (nonzero_address_p): Declare.
7954         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
7955         (rtx_addr_can_trap_p): Likewise.
7956         (nonzero_address_p): New.
7957         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
7958         (simplify_relational_operation): Use nonzero_address_p.
7959
7960 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
7961
7962         * config/rs6000/rs6000.c (rs6000_override_options): Set
7963         real_format_for_mode for IBM extended format, if enabled.
7964         (easy_fp_constant): Add TFmode.
7965         (rs6000_legitimize_address): Add TFmode.
7966         (rs6000_legitimate_address): Same.
7967         (function_arg_advance): TFmode uses two FPRs.
7968         (rs6000_emit_prologue): Fix warning.
7969         (rs6000_output_function_epilogue): Add TFmode.
7970         (output_toc): Add TFmode.
7971         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
7972         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
7973         * rs6000.md (movtf splitter): Load TFmode constant.
7974
7975 2002-10-07  Dale Johannesen  <dalej@apple.com>
7976
7977         * rtl.h:  Add NOTE_PRECONDITIONED.
7978         * unroll.c:  Set it.
7979         * loop.c:  Set loop_info->preconditioned from it.
7980         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
7981
7982 2002-10-07  Richard Henderson  <rth@redhat.com>
7983
7984         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
7985         new rtx for comparing the argument pointer against zero.
7986         (i960_va_start): Similarly.
7987
7988 2002-10-07  Richard Henderson  <rth@redhat.com>
7989
7990         * config/i960/i960.md (*): Use TFmode, not XFmode.
7991         * config/i960/i960.c (*): Likewise.
7992         (i960_arg_size_and_align): Remove XFmode alignment hack.
7993         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
7994         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
7995         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
7996         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
7997
7998 2002-10-07  Richard Henderson  <rth@redhat.com>
7999
8000         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
8001         entry points; use void return value and argument list.
8002
8003 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
8004
8005         * calls.c (expand_call): Fix function-is-volatile check.
8006
8007 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
8008
8009         * t-pdp11: Add MULTILIB support for msoft-float.
8010         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
8011
8012         * t-pdp11: Add LIB2FUNCS_EXTRA.
8013         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
8014         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
8015         'fldd' to 'ldd', rename 'fstd' to 'std'.
8016         (pdp11_output_function_epilogue): Likewise.
8017         (output_move_quad): Make the comment gas compatible.
8018         (output_ascii): Add preceding 0 to the octal constant.
8019         (print_operand_address): Add pre_modify, post_modify.
8020         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
8021         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
8022         with the indication of Paul Koning.
8023         (PRINT_OPERAND): Fix floating constant.
8024         * pdp11.md (movdi): Restrict matching pattern.
8025         (movqi): Generalize the matching pattern.
8026         (movdf): Restrict matching pattern.
8027         (zero_extendqihi2): Change constant representation.
8028         (floatsidf2): Fix wrong operands.
8029         (addqi3): Fix wrong instruction name.
8030         (subqi3): Fix wrong instruction name.
8031         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
8032         (xorsi3): Fix wrong insn.
8033         (one_cmplqi2): Add two operand pattern.
8034         (lsrsi3): New.
8035         (negsi2): New.
8036         (call): Add register indirect case.
8037         (mod): Fix wrong subreg.
8038
8039 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
8040             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
8041
8042         PR c/7411
8043         * expr.c (expand_expr) [PLUS]: Simplify after the operands
8044         have been expanded in EXPAND_NORMAL mode.
8045
8046 2002-10-06  Richard Henderson  <rth@redhat.com>
8047
8048         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
8049
8050 2002-10-06  Richard Henderson  <rth@redhat.com>
8051
8052         PR optimization/2960
8053         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
8054         optimize_size.
8055
8056 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
8057
8058         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
8059         previously definitions.
8060
8061 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
8062
8063         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
8064         * c-opts.c (find_opt): Similarly.
8065
8066 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
8067
8068         * athlon.md: rewrite to DFA.
8069         * i386 (ix86_adjust_cost): Drop memory latency code.
8070         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
8071
8072 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
8073
8074         * gcc.c (set_multilib_dir): Don't access *end.
8075         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
8076         (print_multilib_info): Don't show paths starting with ".:".
8077         * genmultilib: Add new option, "yes" if multilibs are enabled.
8078         Update comments.  If multilibs not enabled, print .:${osdirout}
8079         for each directory.  If multilibs are enabled, always print
8080         ${dirout}:${osdirout}, even if the two are the same.
8081         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
8082         Pass all MULTILIB_* variables to genmultilib even if
8083         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
8084
8085 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
8086
8087         * gcc.c (process_command): Set .validated for -pipe.  Correct
8088         grammar in comment.
8089
8090 2002-10-04  Bruce Korb  <bkorb@gnu.org>
8091
8092         * fixinc/inclhack.def(hpux11_abs):  use format fix
8093         * fixinc/fixincl.x: regenerate
8094         * fixinc/tests/base/stdlib.h: accommodate new fix test
8095
8096 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
8097
8098         * c-common.c (cb_register_builtins):  Use really_no_inline.
8099
8100 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
8101
8102         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
8103         copied instruction if the note is not loop invariant.
8104
8105 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
8106
8107         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
8108
8109 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
8110
8111         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
8112         and -mhp-ld options to list of options.  Add -mgnu-ld
8113         and -mhp-ld option descriptions.
8114
8115 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
8116
8117         * fixinc/inclhack.def (hpux11_abs):  New.
8118         (stdio_va_list): change __va_list__ to __gnuc_va_list.
8119         * fixinc/fixincl.x: Rebuild.
8120
8121 2002-10-04  Roger Sayle  <roger@eyesopen.com>
8122
8123         * config/i386/i386.h (processor_costs): Add new fields fadd,
8124         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
8125         (RTX_COSTS): Use these fields to determine the RTX costs
8126         of floating point addition/subtraction, multiplication,
8127         division, fabs, negation and square root respectively.
8128         * config/i386/i386.c (size_cost): Provide instruction sizes
8129         for these new fields.
8130         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
8131         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
8132         counts for these new fields for all x86 processor variants.
8133
8134 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8135
8136         * mips.c (mips_const_double_ok): Delete unused variable.
8137
8138         * gengtype.c (rtx_next): Change type to int.
8139
8140 2002-10-04  Andreas Jaeger  <aj@suse.de>
8141
8142         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
8143
8144 2002-10-04  Richard Henderson  <rth@redhat.com>
8145
8146         * real.h (SIGNIFICAND_BITS): Add one more word.
8147         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
8148         * real.c (times_pten): New.
8149         (real_to_decimal, real_from_string): Use it.
8150         (sticky_rshift_significand): Use & to find modulus.
8151         (rshift_significand, lshift_significand): Likewise.
8152         (do_divide): Apply sticky bit after normalization.
8153         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
8154
8155 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
8156
8157         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
8158         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8159
8160 2002-10-03  Andreas Jaeger  <aj@suse.de>
8161
8162         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
8163         to unsigned long, adjust printf format string.
8164         (output_mangled_typename): Likewise.
8165
8166 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
8167
8168         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
8169         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
8170         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
8171         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
8172         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
8173         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
8174         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
8175         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
8176
8177 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
8178
8179         * doc/invoke.texi (-Wabi): Document mangling bug.
8180
8181 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
8182
8183         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
8184         name for the tbtab label that depends on the function asm name.
8185         Don't output tbtab label unless optional_tbtab.
8186         (output_mi_thunk): Formatting.
8187
8188 2002-10-03  Richard Henderson  <rth@redhat.com>
8189
8190         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
8191         * config/m68k/m68k.c (override_options): ... here.
8192         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
8193         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
8194         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8195         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8196
8197 2002-10-03  Richard Henderson  <rth@redhat.com>
8198
8199         * real.h (struct real_value): Use ENUM_BITFIELD.
8200
8201 2002-10-03  Richard Henderson  <rth@redhat.com>
8202
8203         * config/i960/i960.md (call, call_value): Use emit_call_insn.
8204
8205 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
8206
8207         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
8208
8209 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
8210
8211         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
8212         * config/pa/pa.h (MASK_GNU_LD): New.
8213         (TARGET_GNU_LD): New.
8214         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
8215         on gnu-ld and MASK_GNU_LD.
8216         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
8217
8218 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
8219
8220         * i386.c (athlon_cost): Fix the move costs.
8221
8222 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
8223
8224         * final.c (final): Use symbol name as function name for profiling.
8225         * profile.c (get_exec_counts): Likewise.
8226         (branch_prob): Likewise.
8227
8228 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
8229
8230         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
8231
8232 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
8233
8234         * gcc.c (print_multi_os_directory): New variable.
8235         (option_map): Support --print-multi-os-directory.
8236         (struct prefix_list): Add os_multilib field.
8237         (multilib_os_dir): New variable.
8238         (static_specs): Add multilib_options.
8239         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
8240         subdirs if nonzero.
8241         (read_specs, execute): Update callers.
8242         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
8243         pass 1 as multilib option.
8244         (display_help): Include --print-multi-os-directory.
8245         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
8246         (process_command): Update callers.  Handle --print-multi-os-directory.
8247         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
8248         set.
8249         (main): Update find_a_file and add_prefix callers.
8250         Handle print_multi_os_directory.
8251         (struct mdswitchstr): New.
8252         (mdswitches, n_mdswitches): New variables.
8253         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
8254         present on the command line nor their mutually incompatible
8255         switches.
8256         (default_arg): Optimize.
8257         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
8258         array.
8259         (print_multilib_info): Only print GCC multilib dir name, not OS
8260         multilib dirname.
8261         * genmultilib: Add osdirnames parameter.  Output multilib_options
8262         variable.  If osdirnames is specified, output dirnames as
8263         dirname:osdirname.
8264         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
8265         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
8266         to compute libgcc_s soname and install path.
8267         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
8268         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
8269         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
8270         argument.
8271
8272         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8273         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8274         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
8275         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
8276         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
8277         and -m64.
8278         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
8279         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8280         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
8281         (STARTFILE_ARCH_SPEC): Remove.
8282         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8283         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8284         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
8285         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
8286         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8287
8288 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
8289
8290         * predict.c (choose_function_section): Avoid choice for linkonce functions.
8291
8292 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
8293
8294         * i386.md (lea to mul peep2): Fix condition.
8295
8296 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8297
8298         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
8299         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
8300
8301 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
8302
8303         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
8304         attribute "unused".
8305
8306         * config/t-libunwind: Mention unwind-sjlj.c.
8307         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
8308         to #ifndef __USING_SJLJ_EXCEPTIONS__.
8309
8310         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
8311         before inclusion of config.gcc, but after configuring the compiler etc.
8312         Determine default value for --enable-libunwind-exceptions based on
8313         whether the host has a libunwind library (not guaranteed to be correct,
8314         but it's a reasonable first guess and can always be overridden with an
8315         explicit --enable/disable-libunwind-exceptions.
8316         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
8317         tmake_file when $use_libunwind_exceptions is enabled.
8318         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
8319         ia64 (e.g., config/t-linux also updates it).
8320         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
8321         along with the shared version of libgcc since the latter requires
8322         the former.
8323         * unwind-libunwind.c: New file.
8324         * config/t-libunwind: Ditto.
8325
8326 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8327
8328         * config.gcc: Remove support for vax-*-vms*.
8329         * config/vax/vms.h: Remove.
8330         * config/vax/xm-vms.h: Remove.
8331         * config/vax/vax-protos.h: Remove VMS-specific code.
8332         * config/vax/vax.c: Remove VMS-specific code.
8333
8334 2002-10-02  Richard Henderson  <rth@redhat.com>
8335
8336         PR opt/7124
8337         * config/i386/i386.c (ix86_register_move_cost): Increase cost
8338         for secondary_memory_needed pairs.
8339
8340 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8341
8342         * doc/vms.texi: Blow away false include file section.
8343
8344 2002-10-02  Roger Sayle  <roger@eyesopen.com>
8345
8346         PR optimization/6627
8347         * toplev.c (force_align_functions_log): New global variable.
8348         * flags.h (force_align_functions_log): Add extern prototype.
8349         * varasm.c (assemble_start_function): Use it to force minimum
8350         function alignment.
8351         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
8352         minimum function alignment to one byte.
8353         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
8354         the least significant bit of vtable member function pointers.
8355         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
8356         here from cp/cp-tree.h.
8357
8358 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
8359
8360         * i386.c (print_operand_address): Use RIP addressing for offsetted
8361         label refs too.
8362
8363 2002-09-30  David S. Miller  <davem@redhat.com>
8364
8365         PR middle-end/7151
8366         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
8367         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
8368
8369 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
8370
8371         * calls.c (expand_call): Remove the `no indirect check'
8372         for sibcall optimization; use function_ok_for_sibcall
8373         target hook; refine check for `function is volatile'.
8374         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
8375         * hooks.c (hook_tree_tree_bool_false): New.
8376         * hooks.h (hook_tree_tree_bool_false): Declare.
8377         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8378         (TARGET_INITIALIZER): Add it.
8379         * target.h (struct gcc_target): Add function_ok_for_sibcall.
8380         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
8381         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8382         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8383         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
8384         Remove function declaration.
8385         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
8386         function static and accept another argument of type `tree'.
8387         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8388         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8389         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8390         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
8391         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8392         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8393         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8394         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
8395         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
8396         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8397         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8398         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
8399         Remove function declaration.
8400         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
8401         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
8402         rename first argument to `decl'; accept another argument
8403         of type `tree'; make static.
8404         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8405         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8406         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
8407         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8408         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8409         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
8410         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8411         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8412         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8413
8414 2002-10-01  Roger Sayle  <roger@eyesopen.com>
8415
8416         * unroll.c (loop_iterations): Revert 2002-09-08 change.
8417
8418 2002-10-01  Richard Henderson  <rth@redhat.com>
8419
8420         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
8421         (real_to_hexadecimal): Likewise.
8422         * print-rtl.c (print_rtx): If we are linked with real.c, don't
8423         dump the XWINT fields of a floating point CONST_DOUBLE.
8424
8425 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
8426
8427         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
8428
8429 2002-10-01  Richard Henderson  <rth@redhat.com>
8430
8431         * calls.c (precompute_register_parameters): Force non-legitimate
8432         constants into pseudos.
8433
8434 2002-10-01  Nick Clifton  <nickc@redhat.com>
8435
8436         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
8437         to assembler template.
8438
8439 2002-10-01  Richard Henderson  <rth@redhat.com>
8440
8441         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
8442         for TLS debug info to !DECL_EXTERNAL.
8443
8444 2002-10-01  Matt Thomas  <matt@3am-software.com>
8445             Jason Thorpe  <thorpej@wasabisystems.com>
8446
8447         * config.gcc (vax-*-netbsdelf*): Enable configuration.
8448         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
8449         if not already defined.
8450         * config/vax/elf.h: New file.
8451         * config/vax/netbsd-elf.h: New file.
8452         * config/vax/vax.c: Include "debug.h".
8453         (vax_output_function_prologue): Add dwarf2 support.  Use
8454         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
8455         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
8456         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
8457         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
8458         (VAX_ISTREAM_SYNC): Remove.
8459         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
8460         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8461         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
8462         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
8463         and assemble_name.
8464         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8465         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
8466         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
8467         (INCOMING_RETURN_ADDR_RTX): Define.
8468         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
8469         (VUNSPEC_SYNC_ISTREAM): Define.
8470         (blockage): Use VUNSPEC_BLOCKAGE.
8471         (sync_istream): New insn.
8472
8473 2002-10-01  Richard Henderson  <rth@redhat.com>
8474
8475         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
8476         (*call_value_pop, call, call_value): Add dwarf2 EH support.
8477         (*call): New insn.
8478
8479 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8480
8481         PR c/8083
8482         * c-typeck.c (build_c_cast): Warn about type punning which breaks
8483         type based aliasing.
8484
8485 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
8486
8487         * stor-layout.c (update_alignment_for_field): New function.
8488         (place_union_field): Use it.
8489         (place_field): Likewise.
8490
8491 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8492
8493         PR other/8077
8494         * gcc.c (cc1_options): Add space on -auxbase-strip.
8495
8496 2002-10-01  Jim Wilson  <wilson@redhat.com>
8497
8498         * config/v850/v850.h (EPILOGUE_USES): Define.
8499
8500 2002-09-30  Andrew Haley  <aph@redhat.com>
8501
8502         * flow.c (insn_dead_p): When using non-call-exceptions, don't
8503         eliminate insns that may trap.
8504         * cse.c (insn_live_p): Likewise.
8505
8506 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8507
8508         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
8509         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
8510         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
8511         * config/mips/mips.md: Apply same renaming here.
8512
8513 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8514
8515         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
8516         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
8517         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
8518         * config/mips/mips.md (define_attr cpu): Remove r4320.
8519         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
8520
8521 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8522
8523         * config/mips/mips.c (mips16_strings): New variable.
8524         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
8525         symbol in mips16_strings.  Free the list.
8526         (mips_encode_section_info): Keep track of local strings.
8527
8528 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8529
8530         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
8531         (sordered_df, sordered_sf): Remove.
8532         * config/mips/mips.c (get_float_compare_codes): New fn.
8533         (gen_int_relational, gen_conditional_move): Use it.
8534
8535 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8536
8537         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
8538         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
8539         * config/mips/mips.c (fcc_register_operand): New function.
8540         (mips_emit_fcc_reload): New function, extracted from reload_incc.
8541         (override_options): Allow TFmode values in float registers
8542         if ISA_HAS_8CC.
8543         * cnfig/mips/mips.md (reload_incc): Change destination prediate
8544         to fcc_register_operand.  Remove misleading source constraint.
8545         Use mips_emit_fcc_reload.
8546         (reload_outcc): Duplicate reload_incc.
8547
8548 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
8549
8550         * gcc.c (validate_switches): Handle all new forms of spec
8551         syntax introduced recently.  Now returns a char *.
8552         (validate_all_switches): Repetitive logic broken out to...
8553         (validate_switches_from_spec): ...here.
8554         * mklibgcc.in: Don't @-flag commands to generate .oS files.
8555
8556 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
8557
8558         * longlong.h: Partially synchronize with GMP-4.1 version:
8559         Use i370 definitions also for s390.
8560         Add generic definition of umul_ppmm in terms of smul_ppmm.
8561         [s390] (umul_ppmm): Remove.
8562         [s390] (smul_ppmm): Fix incorrect assembler constraints.
8563         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
8564
8565 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
8566
8567         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
8568         Add new RL_REGS register class.
8569         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
8570         Call xtensa_preferred_reload_class for both input and output reloads.
8571         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
8572         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
8573         instead of either AR_REGS or GR_REGS classes.
8574         (xtensa_secondary_reload_class): Use new RL_REGS class.
8575         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
8576
8577 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8578
8579         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
8580         (pa_strip_name_encoding): Strip '@' and '*', in that order.
8581         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
8582         there is a '*' prefix in NAME.
8583
8584 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
8585
8586         * reload.c (push_reload): Handle subregs and secondary memory.
8587         * reload1.c (gen_reload): Likewise.
8588
8589         * jump.c (reg_or_subregno): New function.
8590         * rtl.h (reg_or_subregno): Declare
8591         * unroll.c (find_splittable_givs): Handle subregs.
8592
8593 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
8594
8595         * store-layout.c (finish_record_layout): Add free_p parameter.
8596         (layout_type): Pass it.
8597         * tree.h (finish_record_layout): Update prototype.
8598
8599 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
8600
8601         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
8602
8603         * gcse.c (cprop_jump): Check that the register has not
8604         been modified
8605         (cprop_jump): Likewise.
8606
8607 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
8608
8609         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
8610         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
8611         that we have a SImode access, and only then if reload hasn't completed;
8612         for all other cases, use LO_REGS.
8613
8614 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8615
8616         * openbsd.h: Fix typo in last change.
8617
8618 2002-09-29  Richard Henderson  <rth@redhat.com>
8619
8620         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
8621
8622 2002-09-29  Richard Henderson  <rth@redhat.com>
8623
8624         PR c/8002
8625         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
8626         for CONST_INT.
8627
8628 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
8629
8630         * real.h (ibm_extended_format): Declare.
8631         * real.c (encode_ibm_extended, decode_ibm_extended): New
8632         functions.
8633
8634 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8635
8636         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
8637
8638         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
8639
8640 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8641
8642         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
8643
8644 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
8645
8646         * builtins.def: Fix comment formatting.
8647         * c-common.def: Likewise.
8648         * cfgcleanup.c: Likewise.
8649         * combine.c: Likewise.
8650         * gengtype.c: Likewise.
8651         * params.def: Likewise.
8652         * predict.def: Likewise.
8653         * rtl.def: Likewise.
8654         * stab.def: Likewise.
8655         * stor-layout.c: Likewise.
8656         * tree.def: Likewise.
8657         * config/darwin.c: Likewise.
8658         * config/darwin.h: Likewise.
8659         * config/dbxcoff.h: Likewise.
8660         * config/elfos.h: Likewise.
8661         * config/fp-bit.c: Likewise.
8662         * config/freebsd-spec.h: Likewise.
8663         * config/interix.h: Likewise.
8664         * config/libgloss.h: Likewise.
8665         * config/linux-aout.h: Likewise.
8666         * config/linux.h: Likewise.
8667         * config/lynx-ng.h: Likewise.
8668         * config/lynx.h: Likewise.
8669         * config/netbsd-aout.h: Likewise.
8670         * config/netbsd.h: Likewise.
8671         * config/netware.h: Likewise.
8672         * config/psos.h: Likewise.
8673         * config/ptx4.h: Likewise.
8674
8675 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
8676
8677         * ChangeLog.4: Fix typos.
8678         * ChangeLog.6: Likewise.
8679         * FSFChangeLog.10: Likewise.
8680         * genattrtab.c: Fix comment typos.
8681         * haifa-sched.c: Likewise.
8682         * real.c: Likewise.
8683         * tree.h: Likewise.
8684         * config/arm/arm.c: Likewise.
8685         * config/arm/crti.asm: Likewise.
8686         * config/arm/crtn.asm: Likewise.
8687         * config/frv/frv.c: Likewise.
8688         * config/frv/frv.md: Likewise.
8689         * config/h8300/h8300.md: Likewise.
8690         * config/i386/rtemself.h: Likewise.
8691         * config/ia64/unwind-ia64.c: Likewise.
8692         * config/ip2k/ip2k.h: Likewise.
8693         * config/m88k/m88k.c: Likewise.
8694         * config/m88k/m88k.md: Likewise.
8695         * config/mips/sr71k.md: Likewise.
8696         * config/mmix/mmix.c: Likewise.
8697         * config/rs6000/rs6000.c: Likewise.
8698         * config/sh/sh.md: Likewise.
8699
8700 2002-09-26  Theodore A. Roth  <troth@verinet.com>
8701
8702         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
8703         * config/avr/avr.md: Ditto.
8704
8705 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
8706
8707         PR preprocessor/8055
8708         * cppmacro.c (stringify_arg): Do not overflow the buffer
8709         with the terminating NUL when the argument to be stringified
8710         has no tokens.
8711
8712 2002-09-27  Richard Henderson  <rth@redhat.com>
8713
8714         * unroll.c (simplify_cmp_and_jump_insns): New.
8715         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
8716         instead of expand_simple_foo.
8717
8718 2002-09-27  Richard Henderson  <rth@redhat.com>
8719
8720         PR optimization/7520
8721         * cfganal.c (flow_active_insn_p): New.
8722         (forwarder_block_p): Use it.
8723
8724 2002-09-27  Richard Henderson  <rth@redhat.com>
8725
8726         * emit-rtl.c (active_insn_p): Revert last change.
8727
8728 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
8729
8730         * doc/extend.texi (tls_model): Document.
8731         * varasm.c (decl_tls_model): New.
8732         * c-common.c (handle_tls_model_attribute): New.
8733         (c_common_attribute_table): Add tls_model.
8734         * config/alpha/alpha.c (alpha_encode_section_info): Use
8735         decl_tls_model.
8736         * flags.h (enum tls_model, flag_tls_default): Move...
8737         * tree.h (enum tls_model, flag_tls_default): ...here.
8738         (decl_tls_model): New prototype.
8739         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
8740         * config/i386/i386.c (ix86_encode_section_info): Likewise.
8741         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
8742         Allow !flag_pic.
8743
8744 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8745
8746         * LANGUAGES: Follow spelling conventions.
8747         * rtl.def: Likewise.
8748         * sbitmap.c: Likewise.
8749         * sched-int.h: Likewise.
8750         * sched-rgn.c: Likewise.
8751         * sibcall.c: Likewise.
8752         * simplify-rtx.c: Likewise.
8753         * ssa.c: Likewise.
8754         * stab.def: Likewise.
8755         * stmt.c: Likewise.
8756         * stor-layout.c: Likewise.
8757         * target.h: Likewise.
8758         * timevar.c: Likewise.
8759         * toplev.c: Likewise.
8760         * tree-dump.c: Likewise.
8761         * tree-inline.c: Likewise.
8762         * tree.c: Likewise.
8763         * tree.def: Likewise.
8764         * tree.h: Likewise.
8765         * unroll.c: Likewise.
8766         * varasm.c: Likewise.
8767         * vmsdbgout.c: Likewise.
8768         * treelang/treelang.texi: Likewise.
8769         * treelang/treetree.c: Likewise.
8770
8771 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8772
8773         * config/h8300/h8300.c (compute_saved_regs): Use a macro
8774         instead of a hard register number.
8775         (get_shift_alg): Use an enumerated type instead of numbers.
8776         (h8300_shift_needs_scratch_p): Likewise.
8777
8778 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8779
8780         * varasm.c (force_data_section): Remove.
8781         (assemble_constant_align): Likewise.
8782         * output.h: Remove corresponding prototypes.
8783
8784 2002-09-26  Roger Sayle  <roger@eyesopen.com>
8785
8786         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
8787         jump, if the loop to exit is the top of the current nesting stack.
8788
8789 2002-09-26  Torbjorn Granlund  <tege@swox.com>
8790
8791         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
8792         arithmetic.
8793
8794 2002-09-26  David S. Miller  <davem@redhat.com>
8795
8796         PR optimization/7335
8797         * calls.c (emit_library_call_value_1): Passing args by reference
8798         converts a CONST function into a PURE one.
8799
8800 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8801
8802         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
8803         text_section.
8804         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
8805         text section.
8806         * config/rs6000/rs6000.c (rs6000_override_options): Allow
8807         function-sections and data-sections functionality on AIX.
8808
8809 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8810             Dale Johannesen  <dalej@apple.com>
8811
8812         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
8813         in RTL for sub-word loads from memory.
8814
8815 2002-09-26  Richard Henderson  <rth@redhat.com>
8816
8817         PR c/7160
8818         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
8819         on call insns.
8820
8821 2002-09-26  Richard Henderson  <rth@redhat.com>
8822
8823         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
8824
8825 2002-09-26  Chris Lattner  <sabre@nondot.org>
8826
8827         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
8828         handling undefined values.
8829
8830 2002-09-26  Richard Henderson  <rth@redhat.com>
8831
8832         PR opt/7520
8833         * emit-rtl.c (active_insn_p): Consider a clobber of the
8834         function return value to be active even after reload.
8835
8836 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
8837
8838         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
8839         by absolute loop increment, not loop increment.
8840
8841 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8842
8843         * c-common.h: Follow spelling conventions.
8844         * cpplex.c: Likewise.
8845         * cpplib.h: Likewise.
8846         * gthr-dce.h: Likewise.
8847         * gthr-posix.h: Likewise.
8848         * optabs.c: Likewise.
8849         * output.h: Likewise.
8850         * profile.c: Likewise.
8851         * protoize.c: Likewise.
8852         * ra-rewrite.c: Likewise.
8853         * real.c: Likewise.
8854         * recog.c: Likewise.
8855         * reg-stack.c: Likewise.
8856         * regclass.c: Likewise.
8857         * regmove.c: Likewise.
8858         * reload.c: Likewise.
8859         * reload.h: Likewise.
8860         * reload1.c: Likewise.
8861         * reorg.c: Likewise.
8862         * resource.c: Likewise.
8863         * rtl.h: Likewise.
8864         * rtlanal.c: Likewise.
8865
8866 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8867
8868         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
8869         for symbol address.
8870
8871 2002-09-24  Eric Christopher  <echristo@redhat.com>
8872
8873         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
8874         * config/mips/elf64.h: Ditto.
8875
8876 2002-09-24  Eric Christopher  <echristo@redhat.com>
8877
8878         * except.c (expand_builtin_extract_return_address): Handle case
8879         where Pmode != ptr_mode.
8880
8881 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8882
8883         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
8884
8885 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8886
8887         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
8888
8889 2002-09-26  Igor Shevlyakov <igor@microunity.com>
8890
8891         * combine.c (simplify_set): Don't call to force_to_mode if size
8892         of integer type is larger than HOST_BITS_PER_WIDE_INT.
8893
8894 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
8895
8896         * Makefile.in (qmtest-g++): Fix file path.
8897
8898 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8899
8900         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
8901         A + (-const) on RTX level, even for unsigned types.
8902
8903 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8904
8905         * reload.c (dup_replacements): New function.
8906         (find_reloads): Use it to duplicate replacements at the top level
8907         of match_dup operands.
8908
8909 2002-09-26  Miles Bader  <miles@gnu.org>
8910
8911         * v850.md ("length"): Change default value to 4.
8912
8913 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8914
8915         * ChangeLog.1: Follow spelling conventions.
8916         * ChangeLog.4: Likewise.
8917         * ChangeLog.6: Likewise.
8918         * FSFChangeLog.11: Likewise.
8919         * doc/cpp.texi: Likewise.
8920         * doc/invoke.texi: Likewise.
8921         * doc/tm.texi: Likewise.
8922
8923 2002-09-26  Nick Clifton  <nickc@redhat.com>
8924
8925         * config.gcc: Add x prefix to v850e case for handling
8926         --with-cpu=v850e.
8927
8928 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
8929
8930         * gcc.c (input_suffix_matches, switch_matches,
8931         mark_matching_switches, process_marked_switches,
8932         process_brace_body): New functions - split from handle_braces.
8933         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
8934         and ignore whitespace in more places.
8935         (specs documentation comment): Document %{S:X;T:Y;:D}.
8936         Clarify other %{...} docs.
8937         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
8938         %{...} docs.
8939
8940         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
8941         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
8942
8943 2002-09-25  David S. Miller  <davem@redhat.com>
8944
8945         PR target/7842
8946         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
8947         extend.
8948
8949 2002-09-25  Richard Henderson  <rth@redhat.com>
8950
8951         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
8952         fp CONST_DOUBLE; use real_identical.
8953
8954 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
8955
8956         * doc/invoke.texi: Add more -Wabi examples.
8957
8958 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
8959
8960         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
8961
8962 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
8963
8964         * profile.c (end_branch_prob): Only look for __gcov_init on
8965         weak-enabled native compilers.
8966
8967 2002-09-24  Denis Chertykov  <denisc@overta.ru>
8968
8969         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
8970         cases of optimizing "add sp,w" to "inc sp".
8971
8972 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8973
8974         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
8975         epilogue for naked functions.
8976
8977 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8978             Nick Clifton  <nickc@redhat.com>
8979
8980         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
8981         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
8982         is defined.
8983
8984 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
8985
8986         * config/s390/s390.c (preferred_la_operand_p): New function.
8987         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
8988         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
8989         ("*la_64_cc", "*la_31_cc", splitters): ... these.
8990         ("*la_31"): Deactivate for TARGET_64BIT.
8991         ("*la_31_and", "*la_31_and_cc"): New.
8992
8993 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8994
8995         * real.h (real_value): Make `exp' explicitly signed.
8996
8997 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
8998
8999         * config/elfos.h: Follow spelling conventions.
9000         * config/alpha/alpha.h: Likewise.
9001         * config/arc/arc.h: Likewise.
9002         * config/arm/arm.md: Likewise.
9003         * config/avr/avr.h: Likewise.
9004         * config/cris/cris.md: Likewise.
9005         * config/d30v/d30v.h: Likewise.
9006         * config/frv/frv.c: Likewise.
9007         * config/frv/frv.h: Likewise.
9008         * config/h8300/h8300.c: Likewise.
9009         * config/h8300/h8300.h: Likewise.
9010         * config/h8300/h8300.md: Likewise.
9011         * config/i386/cygwin.h: Likewise.
9012         * config/i386/i386.h: Likewise.
9013         * config/i386/sysv3.h: Likewise.
9014         * config/i960/i960.h: Likewise.
9015         * config/ia64/ia64.h: Likewise.
9016         * config/ia64/ia64.md: Likewise.
9017         * config/ip2k/ip2k.h: Likewise.
9018         * config/m32r/m32r.h: Likewise.
9019         * config/m68k/m68k.h: Likewise.
9020         * config/m88k/m88k.h: Likewise.
9021         * config/mcore/mcore.c: Likewise.
9022         * config/mcore/mcore.h: Likewise.
9023         * config/mcore/mcore.md: Likewise.
9024         * config/mips/mips.h: Likewise.
9025         * config/mmix/mmix.h: Likewise.
9026         * config/mmix/mmix.md: Likewise.
9027         * config/ns32k/netbsd.h: Likewise.
9028         * config/ns32k/ns32k.h: Likewise.
9029         * config/ns32k/ns32k.md: Likewise.
9030         * config/pa/pa.h: Likewise.
9031         * config/romp/romp.h: Likewise.
9032         * config/rs6000/rs6000.h: Likewise.
9033         * config/rs6000/rs6000.md: Likewise.
9034         * config/sparc/sparc.h: Likewise.
9035         * config/stormy16/stormy-abi: Likewise.
9036         * config/stormy16/stormy16.h: Likewise.
9037         * config/vax/vax.h: Likewise.
9038
9039 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
9040
9041         * config/alpha/alpha.h: Remove commented-out macro
9042         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
9043         * config/avr/avr.h: Likewise.
9044         * config/d30v/d30v.h: Likewise.
9045         * config/dsp16xx/dsp16xx.h: Likewise.
9046         * config/i370/i370.h: Likewise.
9047         * config/i386/i386.h: Likewise.
9048         * config/i960/i960.h: Likewise.
9049         * config/m68k/m68k.h: Likewise.
9050         * config/m88k/m88k.h: Likewise.
9051         * config/mips/mips.h: Likewise.
9052         * config/ns32k/ns32k.h: Likewise.
9053         * config/pdp11/pdp11.h: Likewise.
9054         * config/romp/romp.h: Likewise.
9055         * config/rs6000/rs6000.h: Likewise.
9056         * config/s390/s390.h: Likewise.
9057         * config/sh/sh.h: Likewise.
9058         * config/sparc/sparc.h: Likewise.
9059         * config/stormy16/stormy16.h: Likewise.
9060         * config/vax/vax.h: Likewise.
9061
9062 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
9063
9064         * function.c (push_temp_slots_for_block): Remove.
9065         (push_temp_slots_for_target): Likewise.
9066         (get_target_temp_slot_level): Likewise.
9067         (set_target_temp_slot_level): Likewise.
9068         (get_first_block_beg): Likewise.
9069         * function.h: Remove corresponding prototypes.
9070
9071 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
9072
9073         * version.c (version_string): Now const char[].
9074         * version.h: Update to match.
9075
9076 2002-09-23  Richard Henderson  <rth@redhat.com>
9077
9078         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
9079         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
9080         (TARGET_SWITCHES): Don't reference them.
9081         * config/i386/i386.c (override_options): Use target_flags_explicit
9082         to examine bits set by the user.
9083
9084 2002-09-23  Dale Johannesen  <dalej@apple.com>
9085
9086         * dbxout.c (dbxout_parms):  Set current_sym_code for params
9087         passed on stack by invisible reference.
9088
9089 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
9090
9091         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
9092         at least one byte of space.
9093
9094 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
9095
9096         * c-common.h (flag_abi_version): Fix typo in comment.
9097         * doc/invoke.texi (flag_abi_version): Document default value.
9098
9099 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
9100
9101         * doc/extend.texi (Extended Asm): Clarify that overlap between
9102         asm-declared register variables used in an asm and the asm clobber
9103         list is not allowed.
9104         * stmt.c (decl_conflicts_with_clobbers_p): New function.
9105         (expand_asm_operands): Keep track of clobbered registers.  Call
9106         decl_conflicts_with_clobbers_p for each input and output operand.
9107         If no conflicts found before, also do conflict sanity check when
9108         emitting clobbers.
9109
9110 2002-09-23  Richard Henderson  <rth@redhat.com>
9111
9112         * c-common.c (cpp_define_data_format): Remove.
9113         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
9114         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
9115         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
9116         * doc/cpp.texi: Don't document them either.
9117         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
9118         __LONG_LONG_MAX__): Document.
9119         (__TARGET_FLOAT_FORMAT__): Remove.
9120
9121 2002-09-23  Richard Henderson  <rth@redhat.com>
9122
9123         * real.c (do_multiply): Normalize U before addition.
9124
9125 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
9126
9127         * c-common.c (flag_abi_version): New variable.
9128         * c-common.h (flag_abi_version): Declare it.
9129         * c-opts.c (missing_arg): Add -fabi-version.
9130         (c_common_decode_option): Process -fabi-version.
9131         * doc/invoke.texi (-fabi-version): Document it.
9132         (-Wabi): Add information about bit-fields in unions.
9133
9134 2002-09-22  Roger Sayle  <roger@eyesopen.com>
9135
9136         * expr.c (STORE_BY_PIECES_P): New target macro.
9137         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
9138         instead of MOVE_BY_PIECES_P.
9139         * doc/tm.texi: Document this new macro.
9140
9141 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
9142
9143         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
9144         unless -fno-pic or -fno-PIC is specified.
9145
9146 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9147
9148         * c-common.c (preprocessing_trad_p): Define.
9149         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
9150         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
9151         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
9152         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
9153         * pa-linux.h (CPP_PREDEFINES): Delete.
9154         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
9155         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
9156         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
9157         (TARGET_OS_CPP_BUILTINS): Define.
9158         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
9159         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
9160         (SUBTARGET_SWITCHES): Provide default definition.
9161         (TARGET_OPTIONS): Reformat.  Use N_() macro.
9162         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
9163         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
9164         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
9165         (TARGET_CPU_CPP_BUILTINS): Define.
9166         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
9167         * doc/invoke.texi (msio, mwsio): Document new hppa options.
9168         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
9169         preprocessing_trad_p().
9170
9171 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
9172
9173         * doc/install.texi: Document behavior of --with-headers and
9174         --with-libs when arguments are omitted.
9175
9176 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
9177
9178         * dbxout.c: Follow spelling conventions.
9179         * defaults.h: Likewise.
9180         * df.c: Likewise.
9181         * diagnostic.h: Likewise.
9182         * doloop.c: Likewise.
9183         * dwarf2out.c: Likewise.
9184         * dwarfout.c: Likewise.
9185         * emit-rtl.c: Likewise.
9186         * except.c: Likewise.
9187         * explow.c: Likewise.
9188         * expmed.c: Likewise.
9189         * expr.c: Likewise.
9190         * expr.h: Likewise.
9191         * flags.h: Likewise.
9192         * flow.c: Likewise.
9193         * fold-const.c: Likewise.
9194         * function.c: Likewise.
9195         * function.h: Likewise.
9196         * gcc.c: Likewise.
9197         * gcov-io.h: Likewise.
9198         * gcov.c: Likewise.
9199         * gcse.c: Likewise.
9200         * genattrtab.c: Likewise.
9201         * genconfig.c: Likewise.
9202         * genrecog.c: Likewise.
9203         * ggc-page.c: Likewise.
9204         * ggc.h: Likewise.
9205         * global.c: Likewise.
9206         * gthr-win32.h: Likewise.
9207         * integrate.c: Likewise.
9208         * jump.c: Likewise.
9209         * langhooks.c: Likewise.
9210         * langhooks.h: Likewise.
9211         * line-map.h: Likewise.
9212         * local-alloc.c: Likewise.
9213         * longlong.h: Likewise.
9214         * loop.c: Likewise.
9215         * loop.h: Likewise.
9216
9217 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
9218
9219         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
9220
9221 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
9222
9223         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
9224         for -Os/TARGET_64BIT too.
9225
9226 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
9227
9228         * ChangeLog: Follow spelling conventions.
9229         * ChangeLog.0: Likewise.
9230         * ChangeLog.1: Likewise.
9231         * ChangeLog.2: Likewise.
9232         * ChangeLog.3: Likewise.
9233         * ChangeLog.4: Likewise.
9234         * ChangeLog.5: Likewise.
9235         * ChangeLog.6: Likewise.
9236         * FSFChangeLog.10: Likewise.
9237         * FSFChangeLog.11: Likewise.
9238         * alias.c: Likewise.
9239         * basic-block.h: Likewise.
9240         * c-aux-info.c: Likewise.
9241         * c-common.c: Likewise.
9242         * c-common.h: Likewise.
9243         * c-decl.c: Likewise.
9244         * c-format.c: Likewise.
9245         * c-semantics.c: Likewise.
9246         * c-typeck.c: Likewise.
9247         * calls.c: Likewise.
9248         * cfganal.c: Likewise.
9249         * cfgloop.c: Likewise.
9250         * collect2.c: Likewise.
9251         * combine.c: Likewise.
9252         * conflict.c: Likewise.
9253         * cppexp.c: Likewise.
9254         * cppfiles.c: Likewise.
9255         * cpphash.h: Likewise.
9256         * cppinit.c: Likewise.
9257         * cpplex.c: Likewise.
9258         * cpplib.c: Likewise.
9259         * cpplib.h: Likewise.
9260         * cppmacro.c: Likewise.
9261         * cse.c: Likewise.
9262
9263 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
9264
9265         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
9266         LINK_SPEC.
9267         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
9268         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
9269         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
9270
9271 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
9272
9273         PR opt/7930
9274         * cse.c (fold_rtx): Calculate old_cost before we fold each
9275         operand.
9276
9277 2002-09-21  Richard Henderson  <rth@redhat.com>
9278
9279         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
9280         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
9281         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
9282         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
9283         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
9284         * doc/cpp.texi: Don't document them.
9285
9286 2002-09-21  Richard Henderson  <rth@redhat.com>
9287
9288         * c-common.c (builtin_define_float_constants): Use real_format
9289         to get the floating-point parameters.
9290
9291 2002-09-21  Richard Henderson  <rth@redhat.com>
9292
9293         * real.c (struct real_format): Move to real.h.
9294         (real_format_for_mode): Rename from fmt_for_mode; update all users;
9295         initialize with ieee defaults.
9296         (real_to_target_fmt, real_from_target_fmt): New.
9297         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9298         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9299         ieee_quad_format, i370_single_format, i370_double_format,
9300         c4x_single_format, c4x_extended_format): Rename from s/_format//.
9301         (ieee_quad_format): Fix emin.
9302         (format_for_size, init_real_once): Remove.
9303         * real.h (struct real_format): Move from real.c.
9304         (real_format_for_mode): Declare.
9305         (real_to_target_fmt, real_from_target_fmt): Declare.
9306         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9307         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9308         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
9309         i370_single_format, i370_double_format, c4x_single_format,
9310         c4x_extended_format): Declare.
9311         * toplev.c (do_compile): Don't call init_real_once.
9312
9313         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9314         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9315
9316         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
9317         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
9318         * config/alpha/alpha.c (override_options): Set real_format_for_mode
9319         for VAX, if enabled.
9320
9321         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
9322         for C4X.
9323
9324         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
9325         * config/i370/i370.c (override_options): New.
9326         * config/i370/i370-protos.h: Update.
9327
9328         * config/i386/i386.c (override_options): Set real_format_for_mode
9329         for Intel 80-bit extended.
9330         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9331
9332         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
9333         (OVERRIDE_OPTIONS): Move code...
9334         * config/i960/i960.c (i960_initialize): ... here.  Set
9335         real_format_for_mode for Intel 80-bit extended.
9336
9337         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
9338         for Intel 80-bit extended, if enabled.
9339
9340         * config/m68k/m68k.c (override_options): Set real_format_for_mode
9341         for Motorola 96-bit extended.
9342
9343         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
9344         * config/vax/vax.c (override_options): New.
9345         * config/vax/vax-protos.h: Update.
9346
9347 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
9348
9349         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
9350         #if TARGET_MACHO.
9351
9352         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
9353         insns.  Supply missing clobber of scratch reg.
9354
9355 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
9356
9357         * config/m32r/m32r.c: Follow spelling conventions.
9358         * config/m32r/m32r.h: Likewise.
9359         * config/m32r/m32r.md: Likewise.
9360         * config/m68k/m68k.c: Likewise.
9361         * config/m88k/m88k.c: Likewise.
9362         * config/mcore/mcore.c: Likewise.
9363         * config/mips/mips.c: Likewise.
9364         * config/mips/mips.h: Likewise.
9365         * config/mmix/mmix.c: Likewise.
9366         * config/mn10200/mn10200.c: Likewise.
9367         * config/ns32k/ns32k.h: Likewise.
9368         * config/pa/pa.c: Likewise.
9369         * config/pa/pa64-linux.h: Likewise.
9370         * config/pdp11/pdp11.h: Likewise.
9371         * config/romp/romp.c: Likewise.
9372         * config/romp/romp.h: Likewise.
9373         * config/rs6000/eabi.asm: Likewise.
9374         * config/rs6000/linux64.h: Likewise.
9375         * config/rs6000/rs6000.c: Likewise.
9376         * config/rs6000/rs6000.h: Likewise.
9377         * config/rs6000/rs6000.md: Likewise.
9378         * config/rs6000/sysv4.h: Likewise.
9379         * config/rs6000/xcoff.h: Likewise.
9380
9381 2002-09-20  Jim Wilson  <wilson@redhat.com>
9382
9383         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
9384
9385 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9386
9387         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
9388         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
9389         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
9390         (legitimate_address_p): Likewise.
9391         (legitimize_address): Use @gotntpoff and @indntpoff.
9392         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
9393         (output_addr_const_extra): Likewise.
9394
9395 2002-09-20  Jim Wilson  <wilson@redhat.com>
9396
9397         * combine.c (try_combine): When split an instruction pair, where the
9398         first has a sign_extend src, verify that the src and dest modes match.
9399
9400 2002-09-20  Richard Henderson  <rth@redhat.com>
9401
9402         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
9403         (override_options): Do not initialize them.
9404         (mips_const_double_ok): Allow no fp constants except zero,
9405         and not even that for mips16.
9406         (const_float_1_operand): Use dconst1.
9407         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
9408         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
9409         Don't allow arbitrary constants; fix predicates and C constraint.
9410
9411 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
9412
9413         * cppmacro.c: Don't warn about function-like macros without
9414         '(' during pre-expansion.
9415
9416 2002-09-20  Jim Wilson  <wilson@redhat.com>
9417
9418         * config/v850/v850.c (current_function_anonymous_args): Delete.
9419         (expand_prologue): Use current_function_args_info.anonymous_args.
9420         (expand_epilogue): Delete use of current_function_anonymous_args.
9421         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
9422         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
9423         (current_function_anonymous_args): Delete extern declaration.
9424         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
9425
9426 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
9427
9428         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
9429         to load_macho_picbase.
9430         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
9431         (load_macho_picbase): Take the symbol to use as a parameter.
9432         (macho_correct_pic): New insn.
9433         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
9434
9435         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
9436         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
9437         (CAN_ELIMINATE): Likewise.
9438         (INITIAL_ELIMINATION_OFFSET): Likewise.
9439         (TOC_REGISTER): Likewise.
9440
9441 2002-09-20  Richard Henderson  <rth@redhat.com>
9442
9443         * real.c (real_hash): New.
9444         * real.h: Declare it.
9445         * cse.c (canon_hash): Use it.
9446         * cselib.c (hash_rtx): Likewise.
9447         * emit-rtl.c (const_double_htab_hash): Likewise.
9448         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
9449         * varasm.c (struct rtx_const): Reduce vector size; separate
9450         integer and fp vectors.
9451         (HASHBITS): Remove.
9452         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
9453         take modulus MAX_HASH_TABLE.
9454         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
9455         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
9456         (SYMHASH): Don't use HASHBITS.
9457         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
9458         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
9459         (simplify_subtraction): Fix kind comparison.
9460         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
9461         Use a union to pun integer array.
9462         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
9463         only hash two words of integral CONST_DOUBLE.
9464
9465 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
9466
9467         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
9468         (STARTFILE_PREFIX_SPEC): New.
9469         (LINK_SPEC): Modify.
9470         (LIB_SPEC): Modify.
9471         (LIBGCC_SPEC): New.
9472
9473 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9474
9475         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
9476         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
9477
9478 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
9479
9480         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
9481         Add clobber of the condition code register.
9482
9483 2002-09-20  Richard Henderson  <rth@redhat.com>
9484
9485         * real.c (do_fix_trunc): Static.
9486         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
9487         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
9488         encode_i370_single, encode_i370_double, encode_c4x_single,
9489         encode_c4x_extended): Add default abort case.
9490
9491 2002-09-20  Richard Henderson  <rth@redhat.com>
9492
9493         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
9494         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
9495         (struct realvaluetype): Remove.
9496         (REAL_VALUE_TYPE): Use struct real_value.
9497         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
9498         (test_real_width): New.
9499         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
9500         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
9501         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
9502         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
9503         real_to_integer, real_to_integer2, real_to_decimal,
9504         real_to_hexadecimal, real_from_string, real_from_integer,
9505         real_inf, real_nan, real_2expN, real_convert, real_to_target,
9506         real_from_target): Likewise.
9507         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
9508         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
9509
9510 2002-09-20  Richard Henderson  <rth@redhat.com>
9511
9512         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
9513         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
9514         * defaults.h: ... here.
9515         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
9516         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
9517         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
9518         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
9519
9520 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
9521
9522         * config/mmix/mmix.md ("negdf2"): Rewrite.
9523         ("*expanded_negdf2"): New.
9524
9525 2002-09-19  Jim Wilson  <wilson@redhat.com>
9526
9527         * combine.c (simplify_set): When optimizing a subreg src with a
9528         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
9529
9530 2002-09-19  Dale Johannesen <dalej@apple.com>
9531         * combine.c (make_extraction): Don't create
9532         invalid subreg.
9533
9534 2002-09-19  Roger Sayle  <roger@eyesopen.com>
9535
9536         * tree.c (integer_nonzerop): New predicate for nonzero integers.
9537         * tree.h (integer_nonzerop): Add function prototype.
9538         * stmt.c (expand_end_loop):  Don't rotate the loop when there
9539         are no instructions in the test, i.e. the loop is unconditional.
9540         (expand_exit_loop_if_false):  Optimize RTL generation of loop
9541         tests when the condition is always true or always false.
9542         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
9543         do-loops when the condition is always true.
9544         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
9545         the for-expression is empty.
9546
9547 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
9548
9549         * gcc.c (use_pipes): New flag.
9550         (process_command): Set it.  Adjust check for -pipe conflicting
9551         with -time or -save-temps.
9552         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
9553         %<SWITCH.  Drop %| (without a SUFFIX).
9554         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
9555         (give_switch): Third argument eliminated.
9556         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
9557         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
9558         (specs documentation comment): Update.
9559
9560         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
9561         config/svr4.h, config/i386/freebsd-aout.h,
9562         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
9563         config/m68k/openbsd.h, config/mips/openbsd.h,
9564         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
9565         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
9566         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
9567         * config/cris/cris.h: Update comment.
9568
9569         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
9570         error messages.  Don't use %{^SWITCH}.
9571         * ada/misc.c (gnat_decode_option): Handle -I with a
9572         separate argument.
9573
9574         * f/lang-specs.h: Use %| and %m.
9575         * java/jvspec.c: Use %m and %(invoke_as).  Change all
9576         uses of %{<SWITCH} to %<SWITCH.
9577
9578         * doc/invoke.texi: Update documentation of specs.
9579         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
9580
9581 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
9582
9583         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
9584         and STRICT_LOW_PART within SET_DEST.
9585         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
9586         splitters, replacing pre-reload splitters.
9587         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
9588         "*zero_extendqihi2_31"): New insns.
9589         ("*zero_extendqihi2_64"): Do not clobber CC.
9590
9591 2002-09-18  Devang Patel  <dpatel@apple.com>
9592
9593         * cp/cp-tree.h: New prototype for walk_vtables().
9594         * cp/decl.c (walk_vtables_r): New function.
9595         (struct cp_binding_level): Add new members, namespaces,
9596         names_size and vtables.
9597         (add_decl_to_level): Add decl in namespaces or vtables
9598         chain, if conditions match.
9599         (walk_vtables): New function.
9600         (walk_namespaces_r): Travers separate namespace chain
9601         for namespace decls.
9602         (wrapup_globals_for_namespace): Use names_size instead
9603         of list_length().
9604         * cp/decl2.c (finish_file): Use walk_vtables() instead of
9605         walk_globals() to walk vtable decls.
9606
9607 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
9608
9609         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
9610         (DTORS_SECTION_ASM_OP): Ditto.
9611         (READONLY_DATA_SECTION_ASM_OP): Moved.
9612         (DATA_SECTION_ASM_OP): New.
9613         (SDATA_SECTION_ASM_OP): New.
9614         (BSS_SECTION_ASM_OP): New.
9615         (SBSS_SECTION_ASM_OP): New.
9616         (TEXT_SECTION_ASM_OP): New.
9617
9618 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
9619
9620         * config/fp-bit.c: Follow spelling conventions.
9621         * config/d30v/d30v.c: Likewise.
9622         * config/d30v/d30v.h: Likewise.
9623         * config/fr30/fr30.c: Likewise.
9624         * config/fr30/fr30.h: Likewise.
9625         * config/fr30/fr30.md: Likewise.
9626         * config/frv/frv.c: Likewise.
9627         * config/frv/frv.h: Likewise.
9628         * config/h8300/h8300.c: Likewise.
9629         * config/h8300/lib1funcs.asm: Likewise.
9630         * config/i370/i370.c: Likewise.
9631         * config/i386/i386.h: Likewise.
9632         * config/i386/i386.md: Likewise.
9633         * config/i386/pentium.md: Likewise.
9634         * config/i386/winnt.c: Likewise.
9635         * config/i960/i960.c: Likewise.
9636         * config/ia64/ia64.h: Likewise.
9637         * config/ip2k/ip2k.c: Likewise.
9638         * config/ip2k/ip2k.h: Likewise.
9639         * config/ip2k/ip2k.md: Likewise.
9640         * config/ip2k/libgcc.S: Likewise.
9641
9642 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
9643
9644         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
9645         (GOTOFF_P): Extend to allow gotoff plus constant.
9646
9647 2002-09-18  Richard Henderson  <rth@redhat.com>
9648
9649         * ifcvt.c (noce_process_if_block): Correctly detect X modified
9650         with INSN_B before COND_EARLIEST.  Don't check A and B for
9651         modification in condition range.  Reorder INSN_B for A==B properly.
9652         (if_convert): Iterate until no matches for a block.
9653
9654 2002-09-18  Richard Henderson  <rth@redhat.com>
9655
9656         * calls.c (store_one_arg): Rename default_align to parm_align;
9657         always adjust parm_align for downward padding.
9658
9659 2002-09-18  Richard Henderson  <rth@redhat.com>
9660
9661         * toplev.c (backend_init): Move init_real_once invocation ...
9662         (do_compile): ... here.
9663
9664 2002-09-18  Richard Henderson  <rth@redhat.com>
9665
9666         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
9667         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
9668
9669 2002-09-18  Richard Henderson  <rth@redhat.com>
9670
9671         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
9672
9673 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
9674
9675         * config/rs6000/rs6000.md: (floatdisf2): Rename to
9676         floatdisf2_internal1.
9677         (floatdisf2): New define_expand.
9678         (floatdisf2_internal2): Likewise.
9679
9680 2002-09-18  Richard Henderson  <rth@redhat.com>
9681
9682         * real.c (sticky_rshift_significand): Collect sticky as
9683         unsigned long, not bool.
9684
9685 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
9686
9687         * config/s390/s390.c (s390_address_cost): New function.
9688         config/s390/s390-protos.h (s390_address_cost): Add prototype.
9689         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
9690         (RTX_COST): Use COSTS_N_INSNS.
9691
9692 2002-09-18  Douglas Rupp  <rupp@gnat.com>
9693             Donn Terry  <donnte@microsoft.com>
9694
9695         * stor-layout.c (place_field): Handle alignment of whole
9696         structures when MSVC compatible bitfields are involved.
9697         Change method of computing location of MS bitfields to
9698         be compatible with #pragma pack(n).
9699
9700         * tree.h (record_layout_info): Add new field
9701         remaining_in_alignment.
9702
9703         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
9704         (pragma pack): Add paragraph on MSVC bitfield packing.
9705
9706 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
9707
9708         PR optimization/7967
9709         * arm.md (ne_zeroextractsi): Add clobber of the condition code
9710         register.
9711
9712 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
9713
9714         * config/s390/s390.c: Follow spelling conventions.
9715         * config/sh/lib1funcs.asm: Likewise.
9716         * config/sh/sh.c: Likewise.
9717         * config/sh/sh.h: Likewise.
9718         * config/sparc/sparc.c: Likewise.
9719         * config/sparc/sparc.h: Likewise.
9720         * config/sparc/sparc.md: Likewise.
9721         * config/stormy16/stormy16.c: Likewise.
9722         * config/stormy16/stormy16.h: Likewise.
9723         * config/v850/v850.c: Likewise.
9724         * config/v850/v850.h: Likewise.
9725         * config/vax/vax.c: Likewise.
9726         * config/vax/vax.h: Likewise.
9727
9728 2002-09-18  Nick Clifton  <nickc@redhat.com>
9729
9730         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
9731         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
9732         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
9733
9734 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9735
9736         * function.c (max_parm_reg_num): Remove.
9737         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
9738         drop_through_at_end_p, move_cleanups_up,
9739         expand_end_case_dummy, case_index_expr_type): Likewise.
9740         * stor-layout.c (pos_from_byte): Likewise.
9741         * tree.c (chain_member_value, chain_member_purpose, listify,
9742         tree_int_cst_msb, index_type_equal): Likewise.
9743         * tree.h: Remove prototypes for unused functions.
9744
9745 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
9746
9747         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
9748         statement that the only translation is to en_UK.
9749
9750 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9751
9752         * config/alpha/alpha.c: Follow spelling conventions.
9753         * config/alpha/alpha.h: Likewise.
9754         * config/alpha/alpha.md: Likewise.
9755         * config/arc/arc.h: Likewise.
9756         * config/arm/arm.c: Likewise.
9757         * config/arm/arm.h: Likewise.
9758         * config/arm/arm.md: Likewise.
9759         * config/arm/pe.c: Likewise.
9760         * config/arm/unknown-elf.h: Likewise.
9761         * config/avr/avr.c: Likewise.
9762         * config/avr/avr.h: Likewise.
9763         * config/c4x/c4x.c: Likewise.
9764         * config/cris/cris.c: Likewise.
9765         * config/cris/cris.h: Likewise.
9766
9767 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
9768
9769         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
9770         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
9771         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
9772
9773 2002-09-17  Dale Johannesen  <dalej@apple.com>
9774
9775         * cfgcleanup.c (try_forward_edges):  Do not forward a
9776         branch to just after a loop exit before loop optimization;
9777         this interfered with doloop detection.
9778
9779 2002-09-17  Nick Clifton  <nickc@redhat.com>
9780
9781         * config/arm/arm.c (output_return_instruction): Do not
9782         writeback the stack pointer when it is being loaded.
9783         (arm_output_epilogue): Likewise.
9784
9785 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9786
9787         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
9788         generate a pseudo reg that receives the result of a libcall.
9789         (prepare_float_lib_cmp): Likewise.
9790
9791 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
9792
9793         * config/ia64/elf.h: Remove CPP_PREDEFINES.
9794
9795 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9796
9797         Fix PR/7014 and related objc bugs:
9798         * c-typeck.c (comp_target_types): Added a reflexive argument.
9799         Pass it to ObjC when/if calling objc_comptypes().  Updated all
9800         callers to provide the appropriate reflexive argument.
9801         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
9802         typechecking for all cases of comparisons and assignments,
9803         particularly the obscure and less common ones involving protocols.
9804
9805 2002-09-17  Nick Clifton  <nickc@redhat.com>
9806
9807         * machmode.def (V1DImode): New mode.  A single element vector.
9808         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
9809         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
9810         * tree.c (build_common_tree_nodes_2): Build
9811         unsigned_V1DI_type_node and V1D1_type_node.
9812         * c-common.c (c_common_type_for_mode): Return
9813         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
9814         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
9815
9816 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9817
9818         * doc/objc.texi (Constant string objects): Extended documentation
9819         to make clear that the constant string class ivar layout is
9820         completely fixed.
9821
9822 2002-09-17  Roger Sayle  <roger@eyesopen.com>
9823
9824         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
9825         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
9826
9827 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9828
9829         * config/mips/mips.c (save_restore_insns): Remove unused variable.
9830         * gcc.c (make_relative_prefix): Likewise.
9831         * loop.c (check_final_value): Likewise.
9832         * jump.c (init_label_info): Remove return value.
9833         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
9834
9835 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9836
9837         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
9838         (ASM_PN_FORMAT): Define.
9839
9840 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9841
9842         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
9843         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
9844         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
9845         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
9846         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
9847         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
9848         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
9849         Delete.
9850         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
9851         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
9852         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
9853
9854         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
9855         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
9856
9857 2002-09-16  Richard Henderson  <rth@redhat.com>
9858
9859         * expr.c (emit_block_move): Set memory block size as appropriate
9860         for the copy.
9861
9862 2002-09-16  Richard Henderson  <rth@redhat.com>
9863
9864         PR fortran/3924
9865         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
9866
9867 2002-09-16  Richard Henderson  <rth@redhat.com>
9868
9869         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
9870         as well as OFFSET for BITPOS.
9871
9872 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
9873
9874         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
9875         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
9876         winchip2 and c3.
9877         * doc/invoke.texi: Mention new aliases.
9878
9879 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9880
9881         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
9882         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
9883         downward.
9884         * function.c (pad_below):  Always compile.
9885         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
9886         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
9887         Pad below when the argument is not in a register and the padding
9888         direction is downward.
9889
9890         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
9891         (PAD_VARARGS_DOWN): Define.
9892         * pa.c (function_arg_padding): Revise padding directions to make them
9893         compatible with the 32 and 64-bit runtime architecture documentation.
9894         (hppa_va_arg):  Add code to handle variable and size zero arguments
9895         passed by reference on TARGET_64BIT.  Reformat.
9896         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
9897         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
9898         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
9899         Add comments.
9900         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
9901         (RETURN_IN_MEMORY): Return size zero types in memory.
9902         (FUNCTION_VALUE): Return TFmode in general registers.
9903         (MUST_PASS_IN_STACK): Define.
9904         (FUNCTION_ARG_BOUNDARY): Simplify.
9905         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
9906         by reference.
9907         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
9908
9909 2002-09-16  Richard Henderson  <rth@redhat.com>
9910
9911         * real.c (do_fix_trunc): New.
9912         (real_arithmetic): Call it.
9913         * simplify-rtx.c (simplify_unary_operation): Handle FIX
9914         with a floating-point result mode.
9915
9916 2002-09-16  Richard Henderson  <rth@redhat.com>
9917
9918         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
9919         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
9920         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
9921         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
9922         * builtins.c (fold_builtin_nan): New.
9923         (fold_builtin): Call it.
9924         * real.c (real_nan): Parse a non-empty string.
9925         (round_for_format): Fix NaN significand truncation.
9926         * real.h (real_nan): Return bool.
9927         * doc/extend.texi: Document new builtins.
9928
9929 2002-09-16  Jason Merrill  <jason@redhat.com>
9930             Danny Smith  <dannysmith@users.sourceforge.net>
9931
9932         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
9933         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
9934         (i386_pe_mark_dllimport): Not here.
9935
9936 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
9937
9938         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
9939
9940 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
9941
9942         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
9943         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
9944         < 64.
9945         (rs6000_emit_cmove): Use real_isinf not target_isinf.
9946
9947 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9948
9949         * calls.c (emit_library_call_value_1): Don't refer to
9950         hard_libcall_value.
9951         * optabs.c (prepare_float_lib_cmp): Likewise.
9952
9953 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
9954
9955         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
9956         mangling.
9957
9958         The following changes are merged from pch-branch:
9959
9960         * doc/gty.texi (GTY Options): Document %a.
9961         * gengtype.c (do_scalar_typedef): New function.
9962         (process_gc_options): Handle `length' option.
9963         (set_gc_used_type): A pointer to an array of structures doesn't
9964         qualify as a pointer to a structure.
9965         (output_escaped_param): Add `%a' escape.
9966         (write_gc_structure_fields): Allow 'desc' on array of unions.
9967         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
9968         do_scalar_typedef.
9969
9970         * gengtype.c (enum rtx_code): Make global.
9971         (rtx_format): Make global.
9972         (rtx_next): New.
9973         (gen_rtx_next): New.
9974         (write_rtx_next): New.
9975         (adjust_field_rtx_def): Skip fields marked by chain_next.
9976         (open_base_files): Delete redundant prototype.
9977         (write_enum_defn): New.
9978         (output_mangled_typename): Correct abort call.
9979         (write_gc_marker_routine_for_structure): Handle chain_next and
9980         chain_prev options.
9981         (finish_root_table): Don't output redundant \n.
9982         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
9983         * c-tree.h (union lang_tree_node): Add chain_next option.
9984
9985         * gengtype.h (NUM_PARAM): New definition.
9986         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
9987         * gengtype.c (find_param_structure): New.
9988         (adjust_field_type): Handle param<n>_is option.
9989         (process_gc_options): Detect use_params option.  Update callers.
9990         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
9991         'use_params' option.
9992         (open_base_files): Add splay-tree.h to list of files included.
9993         (output_mangled_typename): New.
9994         (write_gc_structure_fields): Update 'param' parameter to support
9995         multiple parameters.  Change name mangling.  Allow parameterized
9996         fields to have an apparent scalar type.  Handle param<n>_is options,
9997         use_param option.
9998         (write_gc_marker_routine_for_structure): Update for change to name
9999         mangling.  Better guess the output file for parameterized types.
10000         (write_gc_types): Update for change to name mangling.
10001         (write_gc_root): Update for change to name mangling.  Handle (ignore)
10002         param<n>_is options.
10003         * doc/gty.texi (GTY Options): Add description of param<n>_is
10004         options, use_params option.
10005         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
10006         * gengtype-lex.l: Produce token for param<n>_is.
10007         * gengtype-yacc.y: Parse param<n>_is.
10008
10009         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
10010
10011         * rtl.c: Update comment describing rtx_format.
10012         * rtl.h (union rtunion): Separate definition and typedef.
10013         (struct rtx_def): Use gengtype to mark.
10014         * Makefile.in (gengtype.o): Also depend on rtl.def.
10015         * ggc.h (ggc_mark_rtx_children): Delete prototype.
10016         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
10017         * ggc-common.c (ggc_mark_rtx_children): Delete.
10018         (ggc_mark_rtx_children_1): Delete.
10019         (gt_ggc_m_rtx_def): Delete.
10020         * gengtype.c (adjust_field_rtx_def): New.
10021         (adjust_field_type): Call adjust_field_rtx_def.
10022         (write_gc_structure_fields): Add 'default' case to switch if none
10023         is specified; remove unused code.
10024
10025         * tree.h (struct tree_exp): Update for change to meaning
10026         of special.
10027         * gengtype.c (adjust_field_tree_exp): New function.
10028         (adjust_field_type): Handle `tree_exp' special here.
10029         (write_gc_structure_fields): Don't handle `tree_exp' special here.
10030         Handle new `dot' option.
10031
10032         * gengtype.h: Make `info' a pointer-to-const.
10033         * gengtype-yacc.y (yacc_ids): Use xasprintf.
10034
10035         * gengtype.c (write_gc_structure_fields): Remove implementation
10036         of `always' option, add `default' option.
10037         * doc/gty.texi (GTY Options): Remove documentation of `always',
10038         add `default'.
10039
10040 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
10041
10042         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
10043
10044 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10045
10046         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
10047
10048         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
10049         instead of the *-protos.h file directly.
10050         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
10051         * darwin.c (machopic_output_stub): Move prototype ...
10052         * darwin-protos.h (machopic_output_stub): ... here.
10053         * rs6000-protos.h (machopic_output_stub): Don't declare.
10054
10055 2002-09-16  Richard Henderson  <rth@redhat.com>
10056
10057         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
10058
10059 2002-09-16  Richard Henderson  <rth@redhat.com>
10060
10061         * real.c, real.h: Rewrite from scratch.
10062
10063         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
10064         (paranoia): New target.
10065         * builtins.c (fold_builtin_inf): Use new real.h interface.
10066         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
10067         * c-lex.c (interpret_float): Likewise.
10068         * emit-rtl.c (gen_lowpart_common): Likewise.
10069         * optabs.c (expand_float): Use real_2expN.
10070         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
10071         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
10072         (FLOAT_WORDS_BIG_ENDIAN): New.
10073         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
10074         directly to REAL_VALUE_NEGATIVE.
10075         * loop.c (canonicalize_condition): Likewise.
10076         * simplify-rtx.c: Include tree.h.
10077         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
10078         with floating-point result modes.
10079         * toplev.c (backend_init): Call init_real_once.
10080
10081         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
10082         * tree.c (build_real): Likewise.
10083         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
10084         float_values, inited_float_values, check_float_value): Remove.
10085         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
10086         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
10087         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
10088         (VAX_HALFWORD_ORDER): Remove.
10089
10090 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
10091
10092         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
10093         (s390_load_address): ... this new function.
10094         (s390_decompose_address): Allow the argument pointer and all
10095         virtual registers as 'pointer' registers.
10096         (s390_expand_plus_operand): Use s390_load_address.
10097         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
10098         ("force_la_31"): New insn pattern.
10099         config/s390/s390-protos.h (legitimize_la_operand): Remove.
10100         (s390_load_address): Add prototype.
10101
10102         * config/s390/s390.c: Include "optabs.h".
10103         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
10104         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
10105         s390_expand_cmpstr): Add prototypes.
10106         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
10107         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
10108         for operands 0 and 1 to "memory_operand".  Add type attribute.
10109         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
10110         for operands 0 and 1 to "memory_operand".  Add type attribute.
10111         ("movstrdi_long", "movstrsi_long"): Remove.
10112         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
10113         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
10114         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
10115         ("clrstrsico"): Remove, replace by ...
10116         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
10117         ("clrstrsi_64"): Rename to "clrstr_long_64".
10118         ("clrstrsi_31"): Rename to "clrstr_long_31".
10119         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
10120         ("cmpstr_const"): Remove, replace by ...
10121         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
10122         ("cmpstr_64"): Rename to "cmpstr_long_64".
10123         ("cmpstr_31"): Rename to "cmpstr_long_31".
10124
10125 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
10126
10127         * ABOUT-NLS: Follow spelling conventions.
10128         * ChangeLog: Likewise.
10129         * ChangeLog.1: Likewise.
10130         * ChangeLog.2: Likewise.
10131         * ChangeLog.3: Likewise.
10132         * ChangeLog.4: Likewise.
10133         * ChangeLog.5: Likewise.
10134         * ChangeLog.6: Likewise.
10135         * FSFChangeLog.10: Likewise.
10136         * FSFChangeLog.11: Likewise.
10137         * c-common.c: Likewise.
10138         * c-lex.c: Likewise.
10139         * c-objc-common.c: Likewise.
10140         * cppexp.c: Likewise.
10141         * cppinit.c: Likewise.
10142         * cpplex.c: Likewise.
10143         * doloop.c: Likewise.
10144         * flow.c: Likewise.
10145         * function.c: Likewise.
10146         * integrate.c: Likewise.
10147         * loop.c: Likewise.
10148         * reg-stack.c: Likewise.
10149         * reload.h: Likewise.
10150         * ssa.c: Likewise.
10151
10152 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10153
10154         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
10155         * vmsdbgout.c: Include "target.h".
10156
10157 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10158
10159         * ChangeLog: Follow spelling conventions.
10160         * ChangeLog.0: Likewise.
10161         * ChangeLog.1: Likewise.
10162         * ChangeLog.2: Likewise.
10163         * ChangeLog.4: Likewise.
10164         * ChangeLog.6: Likewise.
10165         * config.gcc: Likewise.
10166         * dwarfout.c: Likewise.
10167         * reload1.c: Likewise.
10168         * simplify-rtx.c: Likewise.
10169         * unwind-sjlj.c: Likewise.
10170         * config/avr/avr.h: Likewise.
10171         * config/d30v/d30v.h: Likewise.
10172         * config/frv/frv.c: Likewise.
10173         * config/frv/frv.h: Likewise.
10174         * config/ip2k/ip2k.h: Likewise.
10175         * config/m88k/m88k-move.sh: Likewise.
10176         * config/stormy16/stormy16.c: Likewise.
10177         * config/stormy16/stormy16.h: Likewise.
10178         * doc/extend.texi: Likewise.
10179         * doc/interface.texi: Likewise.
10180         * doc/invoke.texi: Likewise.
10181         * doc/md.texi: Likewise.
10182         * doc/rtl.texi: Likewise.
10183         * doc/tm.texi: Likewise.
10184         * doc/trouble.texi: Likewise.
10185         * ginclude/float.h: Likewise.
10186         * treelang/treelang.texi: Likewise.
10187
10188 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10189
10190         * i386-protos.h (i386_pe_dllexport_name_p,
10191         i386_pe_dllimport_name_p, i386_pe_unique_section,
10192         i386_pe_declare_function_type, i386_pe_record_external_function,
10193         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
10194         prototype.
10195         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
10196         * i386/t-interix (winnt.o): Likewise.
10197
10198         * v850-protos.h (v850_output_addr_const_extra): Prototype.
10199
10200 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10201
10202         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
10203         MIPS ABI CPP macros.
10204         (TARGET_CPU_CPP_BUILTINS): Redefine.
10205         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
10206         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
10207
10208 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10209
10210         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
10211
10212 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10213
10214         * ChangeLog: Follow spelling conventions.
10215         * ChangeLog.0: Likewise.
10216         * ChangeLog.1: Likewise.
10217         * ChangeLog.2: Likewise.
10218         * ChangeLog.3: Likewise.
10219         * ChangeLog.4: Likewise.
10220         * ChangeLog.5: Likewise.
10221         * ChangeLog.6: Likewise.
10222         * FSFChangeLog.10: Likewise.
10223         * FSFChangeLog.11: Likewise.
10224         * c-common.c: Likewise.
10225         * c-common.h: Likewise.
10226         * c-format.c: Likewise.
10227         * c-opts.c: Likewise.
10228         * cpplib.c: Likewise.
10229         * langhooks.h: Likewise.
10230         * real.c: Likewise.
10231         * reg-stack.c: Likewise.
10232         * toplev.c: Likewise.
10233         * config/arm/arm.c: Likewise.
10234         * config/arm/arm.md: Likewise.
10235         * config/arm/linux-gas.h: Likewise.
10236         * config/arm/netbsd.h: Likewise.
10237         * config/c4x/c4x.c: Likewise.
10238         * config/c4x/c4x.h: Likewise.
10239         * config/c4x/c4x.md: Likewise.
10240         * config/c4x/libgcc.S: Likewise.
10241         * config/fr30/fr30.md: Likewise.
10242         * config/frv/frv.md: Likewise.
10243         * config/ia64/ia64.md: Likewise.
10244         * config/mips/mips.h: Likewise.
10245         * config/mn10300/mn10300.c: Likewise.
10246         * config/stormy16/stormy16.c: Likewise.
10247         * config/v850/v850.md: Likewise.
10248         * doc/extend.texi: Likewise.
10249         * doc/invoke.texi: Likewise.
10250         * doc/md.texi: Likewise.
10251
10252 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10253
10254         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
10255         library if -pthread is specified.
10256
10257 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10258
10259         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
10260         for --enable-threads=yes and --enable-threads=posix.
10261
10262 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10263
10264         * config/sparc/cypress.md: Replace Sparc with SPARC.
10265         * config/sparc/freebsd.h: Likewise.
10266         * config/sparc/gmon-sol2.c: Likewise.
10267         * config/sparc/hypersparc.md: Likewise.
10268         * config/sparc/lb1spc.asm: Likewise.
10269         * config/sparc/lb1spl.asm: Likewise.
10270         * config/sparc/linux.h: Likewise.
10271         * config/sparc/linux64.h: Likewise.
10272         * config/sparc/lynx.h: Likewise.
10273         * config/sparc/sol2.h: Likewise.
10274         * config/sparc/sparc-modes.def: Likewise.
10275         * config/sparc/sparc.c: Likewise.
10276         * config/sparc/sparc.h: Likewise.
10277         * config/sparc/sparc.md: Likewise.
10278         * config/sparc/sparclet.md: Likewise.
10279         * config/sparc/supersparc.md: Likewise.
10280         * config/sparc/sysv4.h: Likewise.
10281         * config/sparc/vxsim.h: Likewise.
10282         * config/sparc/vxsparc64.h: Likewise.
10283
10284 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10285
10286         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
10287         * collect2.c (ignore_library, aix_std_libs): Move into the context
10288         where it is used.
10289         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
10290         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
10291         * m88k.c (output_call): Wrap variables with macro controlling use.
10292         * rs6000.md: Likewise.  Const-ify variable.
10293         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
10294         * final.c (only_leaf_regs_used): Likewise.
10295         * regrename.c (maybe_mode_change): Mark parameter with
10296         ATTRIBUTE_UNUSED.
10297         * reload.c (find_valid_class): Likewise.  Likewise for variable.
10298         (find_reloads_address_1): Likewise.
10299         * varasm.c (weak_finish): Wrap variable with macro controlling use.
10300
10301 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
10302
10303         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
10304
10305 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10306
10307         * ChangeLog: Follow spelling conventions.
10308         * ChangeLog.0: Likewise.
10309         * ChangeLog.2: Likewise.
10310         * ChangeLog.3: Likewise.
10311         * ChangeLog.4: Likewise.
10312         * ChangeLog.5: Likewise.
10313         * ChangeLog.6: Likewise.
10314         * cppfiles.c: Likewise.
10315         * cppinit.c: Likewise.
10316         * cpplib.h: Likewise.
10317         * cse.c: Likewise.
10318         * debug.h: Likewise.
10319         * df.c: Likewise.
10320         * dominance.c: Likewise.
10321         * hashtable.c: Likewise.
10322         * hashtable.h: Likewise.
10323         * loop.c: Likewise.
10324         * config/arm/README-interworking: Likewise.
10325         * config/arm/arm.c: Likewise.
10326         * config/arm/arm.h: Likewise.
10327         * config/arm/arm.md: Likewise.
10328         * config/dsp16xx/dsp16xx.h: Likewise.
10329         * config/frv/frv.c: Likewise.
10330         * config/frv/frv.h: Likewise.
10331         * config/ip2k/ip2k.h: Likewise.
10332         * config/rs6000/rs6000.c: Likewise.
10333         * config/stormy16/stormy-abi: Likewise.
10334         * config/stormy16/stormy16.h: Likewise.
10335         * config/v850/v850.c: Likewise.
10336
10337 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10338
10339         * loop.c: Fix a comment typo.
10340
10341 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10342
10343         * config/fr30/fr30.h: Fix comment typos.
10344         * config/frv/frv.c: Likewise.
10345         * config/i386/xmmintrin.h: Likewise.
10346         * config/mips/mips.c: Likewise.
10347         * config/sh/sh.c: Likewise.
10348
10349 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10350
10351         * haifa-sched.c: Follow spelling conventions.
10352         * regclass.c: Likewise.
10353         * regrename.c: Likewise.
10354         * config/fp-bit.c: Likewise.
10355         * config/frv/frv.h: Likewise.
10356         * config/m88k/m88k.c: Likewise.
10357         * config/mcore/mcore.c: Likewise.
10358         * config/rs6000/darwin.h: Likewise.
10359         * config/rs6000/gnu.h: Likewise.
10360         * config/rs6000/linux.h: Likewise.
10361         * config/rs6000/linux64.h: Likewise.
10362         * config/rs6000/rs6000.c: Likewise.
10363         * config/rs6000/rs6000.h: Likewise.
10364         * config/sh/sh.c: Likewise.
10365         * config/sparc/sparc.c: Likewise.
10366         * config/sparc/ultra1_2.md: Likewise.
10367
10368 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
10369
10370         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
10371         memory operand when source is 0 (K constraint).
10372         ("movsi_internal"): Likewise.
10373         ("movdf_internal"): Likewise.
10374         ("movsf_internal"): Likewise.
10375
10376 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10377
10378         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
10379         targetm.binds_local_p to set SYMBOL_REF_FLAG.
10380         (rs6000_xcoff_encode_section_info): Likewise.
10381         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10382
10383 2002-09-10  Theodore A. Roth  <troth@verinet.com>
10384
10385         * gcc/config/avr/avr.h: Set default options for C++ for avr.
10386
10387 2002-09-13  Roger Sayle  <roger@eyesopen.com>
10388
10389         * stmt.c (struct nexting): Remove unused alt_end_label field.
10390         (expand_start_loop): Delete initialization of alt_end_label.
10391         (expand_start_null_loop): Likewise.
10392         (expand_exit_loop_if_false): Delete updating of alt_end_label.
10393
10394 2002-09-13  Richard Henderson  <rth@redhat.com>
10395
10396         * Makefile.in (toplev.o): Depend on real.h.
10397         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
10398
10399 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10400
10401         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
10402         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
10403         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
10404
10405 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
10406
10407         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
10408
10409 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10410
10411         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
10412         ia64*-*-linux*): Set extra_parts.
10413         * config/ia64/t-aix (EXTRA_PARTS): Remove.
10414         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
10415
10416 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10417
10418         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
10419         * config/h8300/h8300.c: Likewise.
10420         * config/h8300/h8300.h: Likewise.
10421         * config/h8300/h8300.md: Likewise.
10422         * doc/invoke.texi: Likewise.
10423
10424 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10425
10426         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
10427
10428 2002-09-13  Richard Henderson  <rth@redhat.com>
10429
10430         * config/alpha/alpha.md (attr type): Add callpal.
10431         (imb, trap, load_tp, set_tp): Use it.
10432         * config/alpha/ev4.md (ev4_callpal): New.
10433         * config/alpha/ev5.md (ev5_callpal): New.
10434         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
10435         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
10436         (alphaev5_insn_pipe): Likewise.
10437
10438 2002-09-13  Andreas Jaeger  <aj@suse.de>
10439
10440         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
10441
10442 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10443
10444         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
10445         LIB2ADDEH): New, set to NULL.
10446         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
10447
10448 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10449
10450         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
10451         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
10452         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
10453         Add declarations.
10454         (_U_Qfneg): Remove.
10455
10456 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
10457
10458         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
10459         for H8/300, H8S aa:8 mode.
10460         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
10461         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
10462         for H8/300 aa:8 mode.
10463
10464 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
10465
10466         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
10467         insns.
10468
10469 2002-09-12  Richard Henderson  <rth@redhat.com>
10470
10471         * Makefile.in (HOST_PRINT): Use print-rtl1.o
10472         (print-rtl.o): Don't define GENERATOR_FILE.
10473         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
10474         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
10475         unless GENERATOR_FILE.
10476
10477 2002-09-12  Stan Shebs  <shebs@apple.com>
10478
10479         * config/darwin.h (USER_LABEL_PREFIX): Define here...
10480         * config/i386/darwin.h: ... instead of here.
10481
10482         * target.h (struct gcc_target): New field
10483         terminate_dw2_eh_frame_info.
10484         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10485         (TARGET_INITIALIZER): Add it.
10486         * dwarf2out.c (output_call_frame_info): Use target hook.
10487         * dwarf2asm.c (dw2_asm_output_delta): Use macro
10488         ASM_OUTPUT_DWARF_DELTA if defined.
10489         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
10490         (ASM_OUTPUT_DWARF_DELTA): Ditto.
10491         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
10492         (ASM_OUTPUT_DWARF_PCREL): Ditto.
10493         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
10494         (powerpc-*-darwin*): Ditto.
10495         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
10496         to work correctly for Darwin.
10497         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
10498         (STARTFILE_SPEC): Add crtbegin.o.
10499         (ENDFILE_SPEC): Define.
10500         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
10501         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
10502         (ASM_OUTPUT_DWARF_DELTA): Define.
10503         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10504         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
10505
10506 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
10507
10508         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
10509         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
10510         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
10511
10512 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
10513
10514         * toplev.c: Move default definition of USER_LABEL_PREFIX...
10515         * defaults.h: ... here.
10516
10517 2002-09-12  Richard Henderson  <rth@redhat.com>
10518
10519         * vax.c: Include tree.h earlier.
10520
10521 2002-09-12  Stan Shebs  <shebs@apple.com>
10522
10523         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
10524         (machopic_operand_p): Ditto.
10525
10526 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10527
10528         * config/arm/arm.c (arm_compute_initial_elimination_offset):
10529         Fix a comment typo.
10530
10531 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10532
10533         * toplev.c (do_abort): Fix a comment typo.
10534
10535 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10536
10537         * cselib.c: Fix comment formatting.
10538         * gengtype.c: Likewise.
10539
10540 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10541
10542         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
10543         (udivmodhi4): Likewise.
10544
10545 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
10546             Roger Sayle  <roger@eyesopen.com>
10547
10548         * i386.c (any_fp_register_operand, fp_register_operand,
10549         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
10550         New predicate functions.
10551         * i386-protos.h:  Add their prototypes.
10552         * i386.h: Add them to PREDICATE_CODES.
10553         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
10554         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
10555         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
10556         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
10557         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
10558         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
10559         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
10560         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
10561         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
10562         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
10563         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
10564         Use these new predicates to simplify and correct the use of
10565         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
10566
10567 2002-09-12  Jason Merrill  <jason@redhat.com>
10568
10569         * diagnostic.c (output_add_identifier): New fn.
10570         * diagnostic.h: Declare it.
10571
10572         * calls.c (store_one_arg): Use size_in_bytes to determine the
10573         amount of space to push.
10574
10575 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
10576
10577         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
10578
10579 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
10580
10581         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
10582         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
10583         (s390_select_ccmode): Likewise.
10584         (s390_branch_condition_mask): Likewise.
10585         (optimization_options): Do not set flag_branch_on_count.
10586         (s390_split_branches): Handle doloop branches.
10587         (s390_chunkify_pool): Likewise.
10588         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
10589         ("doloop_end"): New expander.
10590         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
10591         associated splitters): New.
10592
10593 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10594
10595         * genattrtab.c (simplify_cond): Remove unused variable(s).
10596         * global.c (record_conflicts): Likewise.
10597         * jump.c (rebuild_jump_labels): Likewise.
10598         * loop.c (scan_loop, check_final_value): Likewise.
10599         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
10600         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
10601         * rtlanal.c (reg_set_p): Likewise.
10602         * stmt.c (expand_asm_operands, expand_decl): Likewise.
10603         * genautomata.c (empty_reserv): Remove.
10604         * loop.c (max_luid): Likewise.
10605         * sched-rgn.c (bitlst_table_size): Likewise.
10606
10607 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
10608
10609         Reimplement gcov format.
10610         * gcov-io.h: Replace.
10611         * gcov.c: Reimplement.
10612         * gcov-iov.c: New file.
10613         * gcov-dump.c: New file.
10614         * libgcc2.c (L_bb): Replace with ...
10615         (L_gcov): ... this.
10616         (struct bb_function_info, struct bb): Remove.
10617         (inhibit_libc): Never inhibit.
10618         (gcov_list, gcov_crc): New static variables.
10619         (gcov_version_mismatch): New static function.
10620         (__bb_exit_func): Renamed to ...
10621         (__gcov_exit): ... here. Made static. Reimplement.
10622         (__gcov_init_func): Rename to ...
10623         (__gcov_init): ... here. Check version, update crc.
10624         (__bb_fork_func): Rename to ...
10625         (__gcov_flush): ... here.
10626         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
10627         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
10628         * calls.c (expand_call): Call __gcov_flush.
10629         * profile.c (bb_file, last_bb_file_name): Remove.
10630         (bbg_file_name): New global variable.
10631         (output_gcov_string): Remove.
10632         (get_exec_counts): Reimplement.
10633         (branch_prob): Reimplement gcov file writing.
10634         (init_branch_prob): Create bbg_file_name, don't create
10635         bb_file_name.
10636         (end_branch_prob): Adjust. Don't remove counter file when
10637         instrumenting ourselves.
10638         (create_profiler): Adjust.
10639         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
10640         point to gcov-io.h.
10641         * Makefile.in (LANGUAGES): Add gcov-dump.
10642         (coverageexts): Remove .bb.
10643         (STAGESTUFF): Add gcov-dump.
10644         (LIB2FUNCS_ST): Replace _bb with _gcov.
10645         (profile.o): Depend on gcov-iov.h.
10646         (final.o): Don't depend on profile.h, gcov.h.
10647         (gcov.o): Depend on gcov-iov.h.
10648         (gcov-iov.o): New target.
10649         (gcov-iov): New target.
10650         (gcov-iov.h): New target.
10651         (gcov-dump.o): New target.
10652         (GCOV_DUMP_OBJS): New variable.
10653         (gcov-dump): New target.
10654         (distclean): Remove coverageexts.
10655         (stage1): Remove coverageexts.
10656
10657 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
10658
10659         * fold-const.c (make_range): Only narrow to signed range if
10660         the signed range is smaller than the unsigned range.
10661
10662 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
10663
10664         * emit-rtl.c (set_mem_size): New function.
10665         * expr.h (set_mem_size): Declare.
10666         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
10667         (expand_block_move): Instead, use adjust_address and
10668         replace_equiv_address to generate proper aliasing info.
10669         Move common code out of conditionals.  Localize vars.
10670
10671 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
10672
10673         * optabs.c (expand_binop): Minor cleanup.
10674         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
10675
10676 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
10677
10678         * print-tree.c (print_node): Print the restrict qualifier.
10679
10680 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
10681
10682         * doc/install.texi: Fix typos.
10683
10684 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
10685
10686         * Makefile.in: Remove all references to s-under and underscore.c.
10687         * collect2.c, tlink.c: Change all uses of prepends_underscore
10688         to look directly at USER_LABEL_PREFIX.
10689
10690 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
10691
10692         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
10693         alignment to csect.
10694         (rs6000_xcoff_unique_section): Only set section name for public
10695         data.
10696         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
10697         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
10698         duplicate definition.
10699
10700 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10701
10702         * pa.md (extzv): Check predicates before emitting extzv_32.
10703         (insv): Likewise.
10704
10705 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
10706
10707         * config/s390/s390.h (MOVE_MAX): Define to correct value.
10708         (MAX_MOVE_MAX): Define.
10709         (MOVE_BY_PIECES_P): Define.
10710         (CLEAR_BY_PIECES_P): Define.
10711
10712 2002-09-10  Denis Chertykov  <denisc@overta.ru>
10713
10714         * config/avr/avr.md (movstrhi): Use right operands for conversion.
10715
10716 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
10717
10718         PR c/7873
10719         * arm.md (insv): Use reg_or_int_operand for operand[3].
10720
10721 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
10722
10723         * rs6000.c (rs6000_assemble_visibility): Protect declaration
10724         inside macro.  Correct function definition typo.
10725         (rs6000_xcoff_section_type_flags): New function.
10726         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
10727         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
10728         with appropriate PIC test.
10729         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
10730         determine readonly.
10731         (rs6000_binds_local_p): Combine PIC flags.
10732         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
10733         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
10734
10735 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10736
10737         * h8300.md: Fix signed/unsigned warnings.
10738         * mcore.md: Likewise.
10739         * mn10300.c (mask_ok_for_mem_btst): Likewise.
10740
10741 2002-09-09  Per Bothner  <per@bothner.com>
10742
10743         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
10744         characters, and only print TREE_STRING_LENGTH chars.
10745
10746 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
10747
10748         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
10749         (ASM_FILE_END) New.
10750         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
10751         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
10752         * config/ia64/ia64.c (ia64_asm_output_external): Create list
10753         of external functions if TARGET_HPUX_LD is true.
10754         (ia64_hpux_add_extern_decl): New, routine to put names on
10755         list of external functions.
10756         (ia64_hpux_asm_file_end): Put out declarations for external
10757         functions if and only if they are used.
10758
10759 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10760
10761         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
10762         on TARGET_64BIT before pic register restore.
10763
10764 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
10765
10766         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
10767         (TARGET_HAVE_TLS): New description.
10768
10769 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
10770
10771         * doc/extend.texi (Statement Exprs): Fix broken link.
10772
10773 2002-09-09  Denis Chertykov  <denisc@overta.ru>
10774
10775         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
10776         right conversion of operands[1].
10777
10778 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
10779
10780         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
10781         commutative.  Use "nonimmediate_operand" instead of "register_operand"
10782         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
10783
10784         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
10785         as commutative.
10786
10787         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
10788         mark as commutative.  Use "nonimmediate_operand" instead of
10789         "register_operand" as predicate for operand 1.
10790
10791         ("movstrictsi"): Fix typo in insn name.
10792
10793 2002-09-09  Jan Hubicka  <jh@suse.cz>
10794
10795         * i386.c (index_register_operand): New.
10796         * i386.h (predicate_codes): Add new predicate.
10797         * i386.md (lea_general_*): Use index_register_operand
10798         (ashift to lea splitter): Do not produce invalid leas
10799         (ashift to mov+ashift split): New.
10800
10801 2002-09-09  Nick Clifton  <nickc@redhat.com>
10802
10803         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
10804         Fix folding marks.
10805
10806 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10807             J"orn Rennecke <joern.rennecke@superh.com>
10808
10809         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
10810
10811 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
10812
10813         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
10814         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
10815         attributes.
10816
10817 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
10818
10819         * basic_block.h (gcov_type): Explain why it is signed.
10820         * final.c: Don't include profile.h.
10821         (struct function_list, functions_head, functions_tail,
10822         end_final): Moved to profile.c
10823         (final): Move arc chaining code to profile.c.
10824         * function.c (prepare_function_start): Remove duplicate line.
10825         * output.h (end_final): Remove prototype.
10826         * predict.c (estimate_loops_at_level): Use gcov_type.
10827         * profile.c (struct function_list, functions_head,
10828         functions_tail): Moved from final.c
10829         (need_func_profiler): Remove.
10830         (instrument_edges): Don't set need_func_profiler.
10831         (get_exec_counts): Avoid signed/unsigned warning.
10832         (compute_checksum): Use crc32.
10833         (branch_prob): Adjust. Chain onto functions_head.
10834         (init_branch_prob): Absorb init_edge_profiler.
10835         (init_edge_profiler): Remove.
10836         (create_profiler): Moved and renamed from final.c:end_final.
10837         Emit data and constructor.
10838         (output_func_start_profiler): Remove.
10839         * profile.h (struct profile_info): checksum is unsigned.
10840         * rtl.h (output_func_start_profiler): Remove prototype.
10841         (create_profiler): Declare.
10842         * toplev.c (compile_file): Call create_profiler, if instrumenting
10843         arcs. Don't call end_final.
10844
10845 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10846
10847         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
10848
10849 2002-09-08  Richard Henderson  <rth@redhat.com>
10850
10851         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
10852         (DW_OP_GNU_push_tls_address): New.
10853         (DW_OP_lo_user): Fix.
10854         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
10855         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
10856         (size_of_loc_descr): Likewise.
10857         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
10858         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
10859         (loc_descriptor_from_tree): Handle TLS variables.
10860         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
10861         (add_location_or_const_value_attribute): ... not here.  Defer
10862         to loc_descriptor_from_tree for TLS variables.
10863
10864         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
10865         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
10866         * config/i386/i386-protos.h: Update.
10867
10868 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10869
10870         PR optimization/6405
10871         * unroll.c (loop_iterations): last_loop_insn should be the previous
10872         non-note instruction before loop->end.
10873         * loop.c (strength_reduce): The conditional jump is the last
10874         non-note instruction before loop->end (as above).
10875
10876 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10877
10878         * combine.c (try_combine): Handle the case that undobuf.other_insn
10879         has been turned into a return or unconditional jump, by inserting
10880         a BARRIER if necessary.
10881         (simplify_set):  Test if a condition code setter has a constant
10882         comparison at compile time, if so convert this insn to a no-op move
10883         and update/simplify the condition code user (undobuf.other_insn).
10884
10885 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
10886
10887         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
10888         (CLEAR_INSN_CACHE): Define.
10889
10890 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10891
10892         * basic-block.h: Fix comment formatting.
10893         * c-common.c: Likewise.
10894         * c-common.h: Likewise.
10895         * c-lex.c: Likewise.
10896         * c-pretty-print.c: Likewise.
10897         * cfglayout.c: Likewise.
10898         * cfgloop.c: Likewise.
10899         * defaults.h: Likewise.
10900         * et-forest.c: Likewise.
10901         * explow.c: Likewise.
10902         * function.h: Likewise.
10903         * gcov.c: Likewise.
10904         * genattrtab.c: Likewise.
10905         * gengtype.c: Likewise.
10906         * ifcvt.c: Likewise.
10907         * libgcc2.c: Likewise.
10908         * loop.c: Likewise.
10909         * profile.c: Likewise.
10910         * ra-build.c: Likewise.
10911         * real.c: Likewise.
10912         * rtl.h: Likewise.
10913         * tracer.c: Likewise.
10914         * tree-inline.c: Likewise.
10915         * varasm.c: Likewise.
10916
10917 2002-09-08  Jan Hubicka  <jh@suse.cz>
10918
10919         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
10920         handling.
10921
10922         * loop.c (loop_givs_reduce):  Emit addition after.
10923
10924 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10925
10926         * varasm.c (default_assemble_visibility): Rename from
10927         assemble_visibility.
10928         * output.h: Here too.
10929         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
10930         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
10931
10932 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10933
10934         * reload.c (find_reloads <p constraint>): Pass operand_mode to
10935         find_reloads_address.
10936
10937 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10938
10939         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
10940         (anonymous pattern): Likewise.
10941
10942 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10943
10944         * machmode.def: Add modes for half-float vectors.
10945
10946 2002-09-07  Scott Snyder  <snyder@fnal.gov>
10947
10948         PR target/7374
10949         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
10950
10951 2002-09-07  Roger Sayle  <roger@eyesopen.com>
10952
10953         * basic-block.h (struct loop): Remove unused cont_dominator field.
10954
10955 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10956
10957         * varasm.c (decode_rtx_const): Don't check undefined field for
10958         CONST_VECTOR.
10959
10960 2002-09-07  Glen Nakamura  <glen@imodulo.com>
10961
10962         PR opt/7814
10963         * sched-deps.c (sched_analyze_insn): Make sure to add insn
10964         to reg_last->sets after flushing the dependency lists to guarantee
10965         that subsequent clobbers will be dependent on it.
10966
10967 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10968
10969         * combine.c (simplify_shift_const): Calculate rotate count
10970         correctly for vector operands.
10971
10972 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
10973
10974         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
10975         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
10976         tree_expr_nonnegative_p.
10977         (build_conditional_expr): Likewise.
10978         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
10979
10980 2002-09-07  Richard Henderson  <rth@redhat.com>
10981
10982         * builtins.def (inf, inff, infl): Mark const.
10983         (huge_val, huge_valf, huge_vall): Likewise.
10984         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
10985
10986         * real.c (ereal_inf): Clear E before use.
10987
10988 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10989
10990         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
10991         an expander and an anonymous pattern.  Zero out the upper half
10992         of the dividend in the expander.
10993         (udivmodqi4): Likewise.
10994
10995 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10996
10997         * config/h8300/h8300.c: Fix formatting.
10998         * config/h8300/h8300.h: Likewise.
10999         * config/h8300/h8300.md: Likewise.
11000
11001 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11002
11003         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
11004         information.
11005
11006 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
11007
11008        * rtlanal.c (dead_or_set_regno_p): Fix typo.
11009
11010 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
11011
11012         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
11013
11014         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
11015         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
11016         (TARGET_ASM_OUT): Add the above here.
11017         * target.h (struct gcc_target): Add "visibility" field.
11018         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
11019         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
11020         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
11021         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
11022
11023 2002-09-06  Ziemowit Laski <zlaski@apple.com>
11024
11025         * c-lang.c (objc_is_id): New stub.
11026         * c-tree.h (objc_is_id): New forward declaration.
11027         * c-typeck.c (build_c_cast): Do not strip protocol
11028         qualifiers from 'id' type.
11029         * objc/objc-act.c (objc_comptypes): Correct handling
11030         of protocol qualifiers.
11031         (objc_is_id): New.
11032
11033 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
11034
11035         * pentium.md (pentium-firstvboth): Fix typo.
11036
11037 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
11038
11039         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
11040         (enum shift_type, enum h8_cpu): Likewise.
11041         (INL, ROT, LOP, SPC macros): Likewise.
11042         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
11043         const designator.
11044         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
11045         space efficient algorithms when optimize for codesize.
11046
11047 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11048
11049         Fix PR/1727 and long-standing failing testcase
11050         objc/formal-protocol-6.m.
11051         * objc-act.c (build_protocol_expr): If compiling for the GNU
11052         runtime, create a list of Protocol statically allocated instances
11053         if it doesn't exist, then add the Protocol object to this same
11054         list.
11055         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
11056         instead of TREE_CHAIN.
11057
11058 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11059
11060         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
11061         10k.  Fixed category dumping - print out category names with the
11062         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
11063         interface.
11064         (finish_objc): Fixed the -gen-decls option.  It was printing out
11065         only the last class.  Dump an interface declaration of all classes
11066         being compiled instead.
11067
11068 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
11069
11070         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
11071         prototype.
11072         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
11073         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
11074         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
11075         rather than GEN_INT.
11076         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
11077         (return_addr_mask, *check_arch2): New.
11078
11079 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
11080
11081         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
11082         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
11083         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
11084         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
11085         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
11086         "adddf3", "*adddf3", "*adddf3_ibm",
11087         "addsf3", "*addsf3", "*addsf3_ibm",
11088         "muldi3", "mulsi3", "mulsidi3",
11089         "muldf3", "*muldf3", "*muldf3_ibm",
11090         "mulsf3", "*mulsf3", "*mulsf3_ibm",
11091         "*anddi3_cc", "*anddi3_cconly", "anddi3",
11092         "*andsi3_cc", "*andsi3_cconly", "andsi3",
11093         "*iordi3_cc", "*iordi3_cconly", "iordi3",
11094         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
11095         "*xordi3_cc", "*xordi3_cconly", "xordi3",
11096         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
11097         instead of "register_operand" as predicate for "%0" operand.
11098
11099 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
11100
11101         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
11102         unconditionally when gcc_cv_as_flags64 checks are gone.
11103         * configure: Rebuilt.
11104
11105 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
11106
11107         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
11108         2002-07-26 change.  Comment.
11109
11110 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11111
11112         * frv.c (frv_unique_section, frv_select_section,
11113         frv_select_rtx_section): Delete.
11114         (frv_in_small_data_p): New.
11115         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
11116         TARGET_ASM_SELECT_RTX_SECTION): Delete.
11117         (TARGET_IN_SMALL_DATA_P): Define.
11118
11119 2002-09-05  Dale Johannesen  <dalej@apple.com>
11120
11121         * reload1.c (reload):  Retain only those memory clobbers
11122         added for variable-array handling.
11123
11124 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
11125
11126         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
11127         return-in-memory rules.
11128         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
11129
11130 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
11131
11132         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
11133         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
11134
11135 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
11136
11137         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
11138         not a compile-time constant for the non-IBM case.
11139         * config/arm/arm-protos.h (arm_float_words_big_endian): New
11140         prototype.
11141         * config/arm/arm.c (arm_float_words_big_endian): New function.
11142         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
11143         if TARGET_VFP  and not TARGET_HARD_FLOAT.
11144         (ARM_FLAG_VFP, TARGET_VFP): Define.
11145         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
11146
11147 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
11148
11149         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
11150         URLs.  Fix AIX wording.
11151
11152 2002-09-05  Stan Shebs  <shebs@apple.com>
11153
11154         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
11155         -fPIC equivalent on Darwin.
11156
11157 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11158
11159         * sh.c (sh_expand_builtin): Return early if encountering an
11160         error_mark for a type.
11161
11162 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
11163
11164         * config/s390/s390.c (s390_expand_plus_operand): Do not require
11165         double-word scratch register.
11166         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
11167
11168         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
11169         "*cli"): Replace s_operand by memory_operand.
11170         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
11171
11172 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
11173
11174         * config/h8300/h8300.c (asm_file_start): Add a missing
11175         semicolon.
11176
11177 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
11178
11179         * c-typeck.c (build_function_call): Remove unused variable(s).
11180         (build_c_cast): Likewise.
11181         * calls.c (rtx_for_function_call): Likewise.
11182         * cfglayout.c (duplicate_insn_chain): Likewise.
11183         * cfgloop.c (flow_loop_nodes_find): Likewise.
11184         * cfgrtl.c (split_edge): Likewise.
11185         * df.c (df_ref_create): Likewise.
11186         * except.c (expand_end_catch): Likewise.
11187         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
11188         * function.c (emit_return_into_block): Likewise.
11189         (reposition_prologue_and_epilogue_notes): Likewise.
11190         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
11191         * combine.c (subst_prev_insn, need_refresh): Remove.
11192         * dwarf2out.c (primary_filename): Remove.
11193         * final.c (new_block): Remove.
11194         * gcse.c (orig_bb_count): Remove.
11195
11196 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11197
11198         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
11199         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
11200         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
11201         directly instead of using a function pointer.
11202
11203 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
11204
11205         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
11206         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
11207         (ix86_output_addr_diff_elt) Likewise.
11208         (x86_output_mi_thunk) Likewise.
11209         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
11210
11211 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11212
11213         * frv.c (frv_encode_section_info): Fix error in last change.
11214
11215 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11216
11217         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
11218         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
11219         (TARGET_BINDS_LOCAL_P): Define.
11220         (rs6000_override_options): Save original flag_pic value.
11221         (rs6000_elf_select_section): Call default_elf_select_section_1.
11222         (rs6000_elf_unique_section): Call default_unique_section_1.
11223         (rs6000_elf_in_small_data_p): New function.
11224         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
11225         (rs6000_xcoff_select_section): Update based on defaults.
11226         (rs6000_xcoff_unique_section): Set to basic name if not common.
11227         (rs6000_binds_local_p): New function.
11228         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
11229         targetm.have_srodata_section if SDATA_EABI.
11230         (TARGET_IN_SMALL_DATA_P): Define.
11231
11232 2002-09-04  Dale Johannesen  <dalej@apple.com>
11233
11234         * varasm.c (struct rtx_const, decode_rtx_const):
11235         Make veclo and vechi fields not share storage.
11236
11237 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
11238
11239         * loop.c (scan_loop): Don't mark separate insns out of a libcall
11240         for moving.
11241         (move_movables): Abort if we see the first insn of a libcall.
11242
11243 2002-09-04  Richard Henderson  <rth@redhat.com>
11244
11245         * builtin-types.def (BT_FN_FLOAT): New.
11246         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
11247         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
11248         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
11249         * builtins.c (fold_builtin_inf): New.
11250         (fold_builtin): Call it.
11251         * real.c (ereal_inf): New.
11252         * real.h: Declare it.
11253         * doc/extend.texi: Document new builtins.
11254
11255 2002-09-04  Richard Henderson  <rth@redhat.com>
11256
11257         * cse.c (cse_insn): Avoid subreg games if the equivalence
11258         is already in the proper mode.
11259
11260 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
11261
11262         PR c/7102
11263         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
11264
11265 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11266
11267         * pa.md (setccfp0, setccfp1): New patterns.
11268
11269 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11270
11271         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
11272         frv_select_section, frv_select_rtx_section,
11273         frv_encode_section_info, frv_unique_section): Delete.
11274         * frv.c: Update for target hooks.
11275         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
11276         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
11277         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
11278
11279 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11280
11281         * ip2k-protos.h (function_prologue, function_epilogue,
11282         encode_section_info): Update to match target hook specification.
11283         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
11284         (function_prologue, function_epilogue, encode_section_info):
11285         Update to match target hook specification.
11286         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
11287         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
11288         (NOTICE_UPDATE_CC): Cast to void.
11289         * ip2k.md: Add defaults in switch statements.
11290
11291 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11292
11293         * doc/trouble.texi (Interoperation): Update information about C++ ABI
11294         issues.
11295
11296 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
11297
11298         * config/sparc/t-netbsd64: Disable multilib for now.
11299
11300 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11301
11302         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
11303         * target.h (gcc_target): Add have_srodata_section member.
11304         * varasm.c (section_category): Add SECCAT_SRODATA.
11305         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
11306         READONLY_SDATA_SECTION defined.
11307         (decl_readonly_section_1): True for SECCAT_SRODATA also.
11308         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
11309         (default_unique_section_1): Likewise.
11310
11311 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11312
11313         * expr.c (emit_group_load): Revise to allow splitting TCmode source
11314         into DImode pieces.
11315
11316         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
11317         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
11318         for floating-point register class.
11319         * pa.c (function_arg): Fix handling of modes wider than one word for
11320         TARGET_64BIT.
11321
11322 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
11323
11324         * combine.c (make_compound_operation): Don't generate zero / sign
11325         extensions in floating point modes.
11326
11327 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11328
11329         * doc/c-tree.texi: Fix overfull hboxes.
11330         * doc/cppopts.texi: Ditto.
11331         * doc/extend.texi: Ditto.
11332         * doc/gty.texi: Ditto.
11333         * doc/invoke.texi: Ditto.
11334         * doc/makefile.texi: Ditto.
11335         * doc/rtl.texi: Ditto.
11336         * doc/standards.texi: Ditto.
11337         * doc/tm.texi: Ditto.
11338
11339 2002-09-04  Richard Henderson  <rth@redhat.com>
11340
11341         * c-common.c (builtin_define_with_hex_fp_value): New.
11342         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
11343
11344 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11345
11346         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
11347         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
11348         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
11349         Warn that these options can break ABI compatibility.
11350
11351 2002-09-04  Richard Henderson  <rth@redhat.com>
11352
11353         * real.c (ereal_to_decimal): Add digits parameter.
11354         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
11355         * c-pretty-print.c (pp_c_real_literal): Update call.
11356         * print-rtl.c (print_rtx): Likewise.
11357         * print-tree.c (print_node_brief, print_node): Likewise.
11358         * sched-vis.c (print_value): Likewise.
11359         * config/arc/arc.c (arc_print_operand): Likewise.
11360         * config/c4x/c4x.c (c4x_print_operand): Likewise.
11361         * config/i370/i370.h (PRINT_OPERAND): Likewise.
11362         * config/i386/i386.c (print_operand): Likewise.
11363         * config/i960/i960.c (i960_print_operand): Likewise.
11364         * config/ip2k/ip2k.c (asm_output_float): Likewise.
11365         * config/m32r/m32r.c (m32r_print_operand): Likewise.
11366         * config/m68hc11/m68hc11.c (print_operand): Likewise.
11367         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
11368         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11369         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
11370         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11371         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
11372         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11373         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
11374         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11375         * config/mips/mips.c (print_operand): Likewise.
11376         * config/ns32k/ns32k.c (print_operand): Likewise.
11377         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
11378         * config/vax/vax.h (PRINT_OPERAND): Likewise.
11379         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
11380
11381 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
11382
11383         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
11384         xtensa_multibss_section_type_flags.
11385         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
11386
11387 2002-09-04  Richard Henderson  <rth@redhat.com>
11388
11389         * doc/install-old.texi: Don't mention enquire.
11390         * doc/sourcebuild.texi: Update float.h description.
11391
11392 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
11393
11394         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
11395
11396 2002-09-03  Roger Sayle  <roger@eyesopen.com>
11397
11398         * builtins.c (build_function_call_expr): Remove prototype, export
11399         as non-static and add a comment above function definition.
11400         (builtin_mathfn_code): New function to check for math builtins.
11401         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
11402         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
11403         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
11404         log(sqrt(x)) as log(x)/2.0.
11405
11406         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
11407         in new "builtins.c" section.  Place the build_range_type prototype
11408         with the other prototypes from "tree.c".
11409
11410         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
11411         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
11412         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
11413         x/exp(y) as x*exp(-y).
11414
11415 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
11416
11417         * varasm.c (default_section_type_flags): Append _1 to name with
11418         shlib parameter.  Use original name to call new function with
11419         implicit flag_pic.
11420         (decl_readonly_section): Likewise.
11421         (default_elf_select_section): Likewise.
11422         (default_unique_section): Likewise.
11423         (default_bind_local_p): Likewise.
11424         (categorize_decl_for_section): Add shlib parameter to use in place
11425         of implicit flag_pic.
11426         * output.h: Declare new functions with _1 and shlib argument.
11427
11428 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
11429
11430         * doc/install.texi: Fix typos, formatting problems, and obvious
11431         overfull/underfull boxes.
11432
11433         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
11434         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
11435         include its file, compat.texi.
11436         * doc/compat.texi: New file with new chapter, Binary Compatibility.
11437
11438 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
11439
11440         Debian BTS Bug #157416
11441         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
11442         * cpplib.c (destringize_and_run): Kludge around getting
11443         tokens from in-progress macros.
11444         (_cpp_do__Pragma): Simplify.
11445
11446 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11447
11448         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
11449         (CPP_CPU_SPEC): Remove.
11450         (TARGET_CPU_CPP_BUILTINS): New.
11451         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
11452         (CPP_SPEC): Remove.
11453         (TARGET_OS_CPP_BUILTINS): New.
11454         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
11455         (TARGET_OS_CPP_BUILTINS): New.
11456         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
11457         TARGET_OS_CPP_BUILTINS.
11458         (CPP_PREDEFINES): Remove.
11459         (CPLUSPLUS_CPP_SPEC): Remove.
11460         (TARGET_OS_CPP_BUILTINS): New.
11461
11462 2002-09-03  Richard Henderson  <rth@redhat.com>
11463
11464         * Makefile.in (USER_H): Add ginclude/float.h.
11465         (FLOAT_H): Remove.
11466         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
11467         (mostlyclean): Don't remove float.h intermediate files.
11468         (distclean): Don't remove float.h.
11469         * config.gcc: Remove all float_format references.
11470         * configure.in (float_format, float_h_file): Remove.
11471
11472         * c-common.c: Include tree-inline.h.
11473         (builtin_define_with_int_value): New.
11474         (builtin_define_type_precision): Use it.
11475         (builtin_define_float_constants): New.
11476         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
11477         __FLT_EVAL_METHOD__.
11478         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
11479         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
11480         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
11481         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
11482         (TARGET_FLT_EVAL_METHOD): New.
11483
11484         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
11485         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
11486         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
11487         * ginclude/float.h: New.
11488
11489 2002-09-03  Stan Shebs  <shebs@apple.com>
11490
11491         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
11492         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
11493         (PREFERRED_DEBUGGING_TYPE): Ditto.
11494         (ASM_OUTPUT_IDENT): Remove empty definition.
11495
11496 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11497
11498         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
11499         cxx_target.
11500         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
11501         handling routine for builtin pragma.
11502         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
11503         Registered pragma handling routine.
11504         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
11505         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
11506         If builtin pragma seen for math routine and C89 conformance is
11507         requested use different math function in order to set errno.
11508         * t-ia64 (ia64-c.o): Add new rule for new file.
11509
11510 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11511
11512         * config/s390/s390.md ("movti"): Add Q->Q alternative.
11513         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
11514         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
11515
11516         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
11517         "*movsf_ss"): Remove.
11518
11519 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11520
11521         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
11522         Delete macros.
11523
11524 2002-09-03   Arati Dikey  <aratid@kpit.com>
11525
11526         * h8300.c (asm_file_start): Corrected optimization comment.
11527
11528 2002-09-03  Stan Shebs  <shebs@apple.com>
11529
11530         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
11531         * c-tree.h (recognize_objc_keyword): Remove decl.
11532         * c-typeck.c (comp_target_types): Update a comment.
11533
11534 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11535
11536         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
11537         and register validity checks.
11538         (general_s_operand): Adapt to s390_decompose_address interface change.
11539         (q_constraint): Likewise.
11540         (s390_expand_plus_operand): Likewise.
11541         (legitimiate_address_p): Likewise.
11542         (legitimate_la_operand_p): Likewise.
11543         (legitimize_la_operand): Likewise.
11544         (print_operand_address): Likewise.
11545         (print_operand): Likewise.
11546
11547 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11548
11549         PR objc/5956:
11550         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
11551         was causing the new selector never to match the existing ones
11552         (Patch by Alexander Malmberg <alexander@malmberg.org>).
11553
11554 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11555
11556         * config/i386/i386.md ("femms"): Add "memory" attr "none".
11557
11558 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11559
11560         * expr.c (expand_expr): Remove extraneous comment and code.
11561
11562 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
11563
11564         * stor-layout (finish_builtin_struct): Renamed and moved from c++
11565         frontend. Take chain of fields. Allow NULL alignment type.
11566         * tree.h (finish_builtin_struct): Declare.
11567
11568 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11569
11570         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
11571         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
11572         config/arc/arc.c config/arc/arc.h config/arm/aout.h
11573         config/arm/arm.c config/arm/arm.h config/arm/arm.md
11574         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
11575         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
11576         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
11577         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
11578         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
11579         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
11580         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
11581         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
11582         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
11583         config/pa/pa.h config/pa/pa.md config/romp/romp.h
11584         config/rs6000/linux64.h config/rs6000/lynx.h
11585         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
11586         config/s390/s390.c config/s390/s390.md config/sh/sh.c
11587         config/sparc/sparc.c config/sparc/sysv4.h
11588         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
11589         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
11590         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
11591
11592         * doc/tm.texi: Update docs.
11593         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
11594         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
11595
11596 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11597
11598         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
11599         * arc.c (arc_internal_label): New function.
11600         (TARGET_ASM_INTERNAL_LABEL): Set.
11601         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11602         * arm.c (arm_internal_label): New function.
11603         (TARGET_ASM_INTERNAL_LABEL): Set.
11604         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11605         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11606         * i370.c (i370_internal_label): New function.
11607         (TARGET_ASM_INTERNAL_LABEL): Set.
11608         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11609         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11610         * m68k.c (m68k_hp320_internal_label): New function.
11611         (TARGET_ASM_INTERNAL_LABEL): Set.
11612         * m88k.c (m88k_internal_label): New function.
11613         (TARGET_ASM_INTERNAL_LABEL): Set.
11614         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11615         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
11616         * genoutput.c (output_prologue): Include target.h in output file.
11617         * output.h (default_internal_label): Declare.
11618         * sdbout.c: Include target.h.
11619         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
11620         TARGET_ASM_OUT.
11621         * target.h (internal_label): Add to struct gcc_target.
11622         * varasm.c (default_internal_label): New function.
11623
11624 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11625
11626         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11627         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11628         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11629         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11630         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11631         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11632         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11633         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11634         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11635         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11636         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11637         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11638         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11639         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11640         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11641         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11642         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11643         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11644         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11645         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11646         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11647         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11648         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11649         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11650         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11651         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
11652         * mmix.c (mmix_asm_output_internal_label): Likewise.
11653         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11654         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11655         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11656         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11657         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11658         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11659         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11660         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11661         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11662         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11663         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11664         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11665         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11666         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11667         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11668         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11669         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11670         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11671         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11672
11673         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
11674
11675 2002-08-31  Richard Henderson  <rth@redhat.com>
11676
11677         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
11678
11679 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11680
11681         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
11682
11683 2002-08-30  Richard Henderson  <rth@redhat.com>
11684
11685         PR opt/7515
11686         * c-objc-common.c: Include target.h.
11687         (c_cannot_inline_tree_fn): Don't auto-inline functions that
11688         don't bind locally.  Factor setting DECL_UNINLINABLE.
11689         * Makefile.in (c-objc-common.o): Update.
11690
11691 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
11692
11693         * doc/install.texi (Configuration, Building): Fix a typo and
11694         some formatting directives.
11695
11696 2002-08-30  Paul Koning <pkoning@equallogic.com>
11697
11698         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
11699         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
11700         implemented" note.
11701         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
11702         for alphabetic order.
11703         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
11704         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
11705         (VAX_HALFWORD_ORDER): Document.
11706         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
11707         IEEE float format.
11708         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
11709         (ASM_OUTPUT_LABEL_REF): Fix font.
11710         (CASE_VECTOR_SHORTEN_MODE): Ditto.
11711
11712 2002-08-30  Denis Chertykov  <denisc@overta.ru>
11713
11714         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
11715         stuff.
11716         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
11717         CONST_DOUBLE constants.
11718
11719 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
11720
11721         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
11722         related defines to...
11723         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
11724         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
11725         as a no-op.
11726
11727 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
11728
11729         * config/arm/arm.c (arm_asm_output_labelref): New function.
11730         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
11731         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
11732
11733 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
11734
11735         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
11736         memory exhausted" workarounds.
11737
11738 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11739
11740         * diagnostic.c (fancy_abort): Don't repeat "internal error".
11741         * toplev.c (crash_signal): Likewise.
11742
11743 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11744
11745         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
11746         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
11747         Extended, updated documentation.
11748         (-Wundeclared-selector): Documented.
11749
11750 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
11751
11752         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
11753         the value 1.  Do not undef before defining.
11754         * config/darwin.h: Likewise.
11755         * config/dbx.h: Likewise.
11756         * config/dbxcoff.h: Likewise.
11757         * config/dbxelf.h: Likewise.
11758         * config/elfos.h: Likewise.
11759         * config/interix.h: Likewise.
11760         * config/lynx-ng.h: Likewise.
11761         * config/lynx.h: Likewise.
11762         * config/netware.h: Likewise.
11763         * config/psos.h: Likewise.
11764         * config/svr3.h: Likewise.
11765         * config/alpha/alpha.h: Likewise.
11766         * config/alpha/elf.h: Likewise.
11767         * config/alpha/vms.h: Likewise.
11768         * config/arc/arc.h: Likewise.
11769         * config/arm/aout.h: Likewise.
11770         * config/arm/coff.h: Likewise.
11771         * config/c4x/c4x.h: Likewise.
11772         * config/h8300/h8300.h: Likewise.
11773         * config/i386/cygwin.h: Likewise.
11774         * config/i386/djgpp.h: Likewise.
11775         * config/i386/gas.h: Likewise.
11776         * config/i386/gstabs.h: Likewise.
11777         * config/i386/i386-coff.h: Likewise.
11778         * config/i386/i386-interix.h: Likewise.
11779         * config/i386/sco5.h: Likewise.
11780         * config/i386/svr3dbx.h: Likewise.
11781         * config/i386/sysv3.h: Likewise.
11782         * config/i386/win32.h: Likewise.
11783         * config/i386/x86-64.h: Likewise.
11784         * config/i960/i960.h: Likewise.
11785         * config/ia64/ia64.h: Likewise.
11786         * config/ip2k/ip2k.h: Likewise.
11787         * config/m32r/m32r.h: Likewise.
11788         * config/m68k/3b1.h: Likewise.
11789         * config/m68k/3b1g.h: Likewise.
11790         * config/m68k/ccur-GAS.h: Likewise.
11791         * config/m68k/coff.h: Likewise.
11792         * config/m68k/hp2bsd.h: Likewise.
11793         * config/m68k/hp310g.h: Likewise.
11794         * config/m68k/hp320g.h: Likewise.
11795         * config/m68k/hp3bsd.h: Likewise.
11796         * config/m68k/hp3bsd44.h: Likewise.
11797         * config/m68k/linux-aout.h: Likewise.
11798         * config/m68k/m68k-aout.h: Likewise.
11799         * config/m68k/mot3300.h: Likewise.
11800         * config/m68k/netbsd.h: Likewise.
11801         * config/m68k/openbsd.h: Likewise.
11802         * config/m68k/pbb.h: Likewise.
11803         * config/m68k/plexus.h: Likewise.
11804         * config/m68k/sun2.h: Likewise.
11805         * config/m68k/sun3.h: Likewise.
11806         * config/m68k/tower-as.h: Likewise.
11807         * config/m68k/vxm68k.h: Likewise.
11808         * config/m88k/aout-dbx.h: Likewise.
11809         * config/m88k/m88k-aout.h: Likewise.
11810         * config/mcore/mcore-elf.h: Likewise.
11811         * config/mcore/mcore-pe.h: Likewise.
11812         * config/mips/elf.h: Likewise.
11813         * config/mips/elf64.h: Likewise.
11814         * config/mips/iris5gas.h: Likewise.
11815         * config/mips/iris6.h: Likewise.
11816         * config/mips/mips.h: Likewise.
11817         * config/mips/sni-gas.h: Likewise.
11818         * config/mmix/mmix.h: Likewise.
11819         * config/ns32k/netbsd.h: Likewise.
11820         * config/pa/pa64-hpux.h: Likewise.
11821         * config/romp/romp.h: Likewise.
11822         * config/rs6000/sysv4.h: Likewise.
11823         * config/rs6000/xcoff.h: Likewise.
11824         * config/sh/coff.h: Likewise.
11825         * config/sh/elf.h: Likewise.
11826         * config/sparc/linux64.h: Likewise.
11827         * config/sparc/liteelf.h: Likewise.
11828         * config/sparc/netbsd.h: Likewise.
11829         * config/sparc/openbsd.h: Likewise.
11830         * config/sparc/pbd.h: Likewise.
11831         * config/sparc/sp64-elf.h: Likewise.
11832         * config/sparc/sp86x-elf.h: Likewise.
11833         * config/sparc/sparc.h: Likewise.
11834         * config/vax/vax.h: Likewise.
11835         * config/vax/vaxv.h: Likewise.
11836
11837 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
11838
11839         * h8300.c (shift_alg_hi): Various tweaks to improve performance
11840         of HImode shifts.
11841         (get_shift_alg): Corresponding changes.
11842
11843 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11844
11845         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
11846
11847 2002-08-29  Richard Henderson  <rth@redhat.com>
11848
11849         * expr.h (enum block_op_methods): New.
11850         (emit_block_move): Update prototype.
11851         * expr.c (block_move_libcall_safe_for_call_parm): New.
11852         (emit_block_move_via_loop): New.
11853         (emit_block_move): Use them.  New argument METHOD.
11854         (emit_push_insn): Always respect the given alignment.
11855         (expand_assignment): Update call to emit_block_move.
11856         (store_expr, store_field, expand_expr): Likewise.
11857         * builtins.c (expand_builtin_apply): Likewise.
11858         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
11859         * function.c (expand_function_end): Likewise.
11860         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
11861         * config/sparc/sparc.c (sparc_va_arg): Likewise.
11862         * calls.c (expand_call, emit_library_call_value_1): Likewise.
11863         (save_fixed_argument_area): Use emit_block_move with
11864         BLOCK_OP_CALL_PARM instead of move_by_pieces.
11865         (restore_fixed_argument_area): Likewise.
11866         (store_one_arg): Fix alignment parameter to emit_push_insn.
11867
11868 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11869
11870         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
11871
11872 2002-08-29  Catherine Moore  <clm@redhat.com>
11873
11874         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
11875         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
11876         (PREDICATE_CODES): Include new predicates.
11877         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
11878         (TARGET_SWITCHES):  Add strict-align.
11879         (TARGET_STRICT_ALIGN): New.
11880         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
11881         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
11882         Define.
11883         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
11884         v850_muldi3.
11885         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
11886         L_callt_save_r2_r31, L_return_r2_r31,
11887         L_save_all_interrupt): Change addi to add.
11888         (L_save_interrupt, L_return_interrupt): Rework.
11889         (__return_r31):  Correct .size directive.
11890         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
11891         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
11892         New routines.
11893         * config/v850/v850.c (expand_prologue): Call
11894         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
11895         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
11896         (reg_or_int9_operand): New predicate.
11897         (reg_or_const_operand): New routine.
11898         * config/v850/v850.md (return_interrupt): Changed from
11899         restore_interrupt.
11900         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
11901         (callt_save_interrupt): Change save sequence.
11902         (callt_return_interrupt): New.
11903         (save_interrupt): Don't use runtime function for LONG_CALLS
11904         and TARGET_PROLOG_FUNCTION.
11905         (save_all_interrupt): Likewise.
11906         (mulsi3): Use new predicate.
11907         (moviscc): Disallow some combination of constants.
11908         Fix define_split for sasf insns, so that it will not generate bad
11909         code if operand0 and operand5 are the same.
11910         * config/v850/v850-protos.h: Prototype new predicates.
11911
11912 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
11913
11914         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
11915         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
11916
11917 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11918
11919         * c-common.c (builtin_define_type_precision): New function.
11920         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
11921         wchar_t is unsigned in C++.
11922         * doc/cpp.texi (Common Predefined Macros): Document
11923         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
11924         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11925         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11926
11927 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
11928
11929         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
11930         section.  Mention that it is enabled by -Wall.
11931         (-Wall): Mention that there can be language-specific warnings as well.
11932         (-Wctor-dtor-privacy): Mention that it is enabled by default.
11933         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
11934
11935 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
11936
11937         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
11938         if it is ever live.
11939
11940         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
11941         attribute for SHCOMPACT.
11942
11943         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
11944         appropriately.
11945         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
11946         by the ABI.
11947
11948         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
11949
11950 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
11951
11952         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
11953         "MASK_GAS|MASK_ABICALLS".
11954         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
11955         (TARGET_DEFAULT): Remove.
11956         (MACHINE_TYPE): Undefine before defining.
11957         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
11958
11959 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
11960
11961         * c-common.c (warn_abi): New variable.
11962         * c-common.h (warn_abi): Likewise.
11963         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
11964         (c_common_decode_option): Handle it.
11965         * doc/invoke.texi: Document -Wabi.
11966
11967 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11968
11969         * c-common.c (warn_undeclared_selector): New variable.
11970         * c-common.h (warn_undeclared_selector): Idem.
11971         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
11972         to on when -Wundeclared-selector is found.
11973         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
11974         * objc/objc-act.c (build_selector_expr): If
11975         warn_undeclared_selector is set, check that the selector has
11976         already been defined, and emit a warning if not.
11977
11978 2002-08-27  Nick Clifton  <nickc@redhat.com>
11979             Catherine Moore  <clm@redhat.com>
11980             Jim Wilson  <wilson@cygnus.com>
11981
11982         * config.gcc: Add v850e-*-* target.
11983         Add --with-cpu= support for v850.
11984         * config/v850/lib1funcs.asm: Add v850e callt functions.
11985         * config/v850/v850.h: Add support for v850e target.
11986         * config/v850/v850.c: Add functions to support v850e target.
11987         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
11988         * config/v850/v850.md: Add patterns for v850e instructions.
11989         * doc/invoke.texi: Document new v850e command line switches.
11990
11991 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11992                           Aldy Hernandez <aldyh at redhat dot com>
11993
11994         * doc/tm.texi: Applied numerous fixes to the automaton based
11995         scheduler descrition.
11996
11997 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
11998
11999         * i386.c (classify_argument): Handle variable sized objects.
12000
12001 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
12002
12003         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
12004
12005 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
12006
12007         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
12008
12009 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
12010
12011         * i386.c (classify_argument): Properly compute word size of the analyzed object.
12012
12013 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
12014
12015         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
12016         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
12017         accordingly.
12018         (attribute insn_class): Provide default definitions based on type.
12019         Remove all insn-specific settings.
12020         (various function units): Remove old SH4 scheduling.
12021         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
12022         New attributes.  Set them where appropriate.
12023         (cpu unit FS): Don't define / use.
12024         (F3, load_store): New cpu units.
12025         (F01): New reservation.
12026         (all insn_reservations): Make dependent on sh4 pipeline model.
12027         Fix latencies.
12028         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
12029         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
12030         (mt insn_reservation): Use type mt_group.
12031         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
12032         sh4_fload and sh4_store.
12033         (insn_reservation branch_zero and branch): Replace with sh4_branch.
12034         (insn_reservation branch_far): Replace with sh4_return.
12035         (insn_reservation return_from_exp): Rename to:
12036         (sh4_return_from_exp).  Change to be just d_lock*5.
12037         (insn_reservation lds_to_pr): Rename to:
12038         (sh4_lds_to_pr).  Change to be just d_lock*2.
12039         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
12040         d_lock*2.
12041         (insn_reservation prload_mem): Rename to:
12042         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
12043         (insn_reservation fpscr_store): Rename to:
12044         (fpscr_load).  Change to d_lock,nothing,F1*3.
12045         (insn_reservation fpscr_store_mem): Rename to:
12046         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
12047         (insn_reservation multi): Change to
12048         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
12049         (insn_reservation fp_arith): Change to issue,F01,F2.
12050         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
12051         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
12052         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
12053         (insn_reservation fp_double_cmp): Change to
12054         d_lock,(d_lock+F01),F1+F2,F2.
12055         (insn_reservation dp_div): Change to
12056         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
12057         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
12058         (sh_adjust_cost, SHcompact): Differentiate between different
12059         kinds of dependencies.  Drop factor of ten for superscalar.
12060         Use new instruction types.  Add new exception rules.
12061
12062         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
12063
12064         * sh.md (mperm_w): Add DONE.
12065
12066 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
12067
12068         * longlong.h: Import current PowerPC defintion from GMP-4.1.
12069
12070         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
12071
12072         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
12073
12074 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
12075
12076         * sh.h (MAX_FIXED_MODE_SIZE): Define.
12077
12078 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
12079
12080         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
12081         delimiter.
12082
12083 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12084
12085         * c-common.c (cpp_define_data_format): New function.
12086         (cb_register_builtins): Call it.
12087
12088         * doc/cpp.texi (Common Predefined Macros): Document
12089         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
12090         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
12091         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
12092         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
12093         __TARGET_USES_VAX_H_FLOAT__.
12094
12095 2002-08-26  Ziemowit Laski <zlaski@apple.com>
12096
12097         * objc/objc-act.c (get_super_receiver): If inside a class method
12098         of a category, cast the receiver to 'id' before accessing the 'isa'
12099         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
12100
12101 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
12102
12103         * config/s390/s390-protos.h (s390_function_prologue,
12104         s390_function_epilogue): Remove.
12105         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
12106         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
12107
12108         config/s390/s390.c (s390_machine_dependent_recorg): New function.
12109         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
12110         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
12111         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
12112         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
12113
12114         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
12115         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
12116         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
12117         function is not a leaf function.  Use save_gprs and restore_gprs.
12118         (s390_emit_epilogue): Likewise.
12119         (save_gprs, restore_gprs): New functions.
12120         (struct s390_frame): Remove return_reg_saved_p member.
12121         (save_fprs_p): Remove.
12122         (s390_optimize_prolog): New function.
12123         (s390_legitimate_reload_constant): Remove now unnecessary check.
12124
12125         (s390_function_count): Remove.
12126         (s390_output_symbolic_const): Replace s390_function_count by
12127         current_function_funcdef_no.
12128         (s390_output_constant_pool): Likewise.
12129
12130         (legitimize_pic_address): Use regs_ever_live to track PIC register
12131         instead of current_function_uses_pic_offset_table.
12132         (s390_emit_prologue): Likewise.
12133         config/s390/s390.md ("call", "call_value"): Likewise.
12134
12135 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
12136
12137         * c-opts.c (find_opt): Don't complain about wrong languages
12138         here.  Return exact matches even for wrong language.
12139         (c_common_decode_option): Complain about wrong languages
12140         here.
12141
12142 2002-08-24  Stuart Hastings  <stuart@apple.com>
12143
12144         * function.h (struct function): Add flag
12145         all_throwers_are_sibcalls.
12146         * except.c (set_nothrow_function_flags): Replaces
12147         nothrow_function_p. Set new flag.
12148         * except.h (set_nothrow_function_flags): Replaces
12149         nothrow_function_p.
12150         * dwarf2out.c (struct dw_fde_struct): Add flag
12151         all_throwers_are_sibcalls.
12152         (output_call_frame_info): Test it.
12153         (dwarf2out_begin_prologue) Propagate it from cfun to
12154         dw_fde_struct.
12155         * toplev.c (rest_of_compilation): Update calls to
12156         nothrow_function_p.
12157
12158 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
12159
12160         * ggc-page.c (compute_inverse): Short circuit calculation for
12161         object sizes larger than half a page.
12162
12163 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
12164
12165         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
12166         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
12167         default.
12168         (rs6000_elf_unique_section): Likewise.
12169
12170 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12171
12172         * ns32k.c (ns32k_globalize_label): Delete.
12173         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
12174
12175 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
12176
12177         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
12178         for loading delta with num_insns_constant_wide.  Calculate
12179         delta_low, delta_high without using a conditional.
12180
12181 2002-08-22  Jason Merrill  <jason@redhat.com>
12182
12183         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
12184         * c-common.def: Adjust.
12185         * c-dump.c (c_dump_tree): Adjust.
12186         * c-semantics.c (genrtl_return_stmt): Adjust.
12187         * c-pretty-print.c (pp_c_statement): Adjust.
12188         * tree-inline.c (copy_body_r): Adjust.
12189
12190 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
12191
12192         * ggc-page.c: Avoid division in ggc_set_mark.
12193         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
12194         compute_inverse): New.
12195         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
12196         (init_ggc): Initialize inverse_table.
12197
12198 2002-08-22  Tom Tromey  <tromey@redhat.com>
12199
12200         * doc/install.texi (Configuration): Document --datadir.
12201
12202 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
12203
12204         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
12205
12206 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
12207
12208         * gengtype-lex.l (ID): Allow underscore as first character.
12209
12210 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
12211
12212         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
12213         function.
12214         (rs6000_xcoff_asm_named_section): Rename.
12215         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12216
12217 2002-08-21  Tom Tromey  <tromey@redhat.com>
12218
12219         For PR java/6005 and PR java/7611:
12220         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
12221         (fold): Likewise.
12222         * langhooks.c (lhd_can_use_bit_fields_p): New function.
12223         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
12224         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
12225         (LANG_HOOKS_INITIALIZER): Use it.
12226         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
12227         field.
12228
12229 2002-08-21  Stan Shebs  <shebs@apple.com>
12230
12231         * tree.c (finish_vector_type): Fix a typo in a comment.
12232         * Makefile.in: Fix "the the" stutters in comments.
12233         * genautomata.c: Ditto.
12234         * ifcvt.c: Ditto.
12235         * regrename.c: Ditto.
12236         * config/alpha/alpha.c: Ditto.
12237         * config/alpha/vms-crt0-64.c: Ditto.
12238         * config/alpha/vms-crt0.c: Ditto.
12239         * config/alpha/vms-psxcrt0-64.c: Ditto.
12240         * config/alpha/vms-psxcrt0.c: Ditto.
12241         * config/d30v/d30v.h: Ditto.
12242         * config/fr30/fr30.h: Ditto.
12243         * config/rs6000/rs6000.c: Ditto.
12244         * config/stormy16/stormy16.h: Ditto.
12245         * doc/md.texi: Ditto.
12246
12247 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12248
12249         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
12250
12251 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
12252
12253         * c-decl.c (grokdeclarator): Make invalid combinations with long,
12254         short, signed or unsigned into hard errors.  Fixes PR c/4319.
12255         Also make duplicate modifiers such as "short short" into hard
12256         errors.
12257
12258 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
12259             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12260
12261         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
12262         to the actual end.  Add '@end table' and '@table @code'.
12263
12264 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
12265
12266         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
12267
12268         * unroll.c (biv_total_increment): Don't try to compute the total
12269         increment for FP BIVs.
12270
12271 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12272
12273         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
12274         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
12275         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12276         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
12277         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
12278         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
12279         (GLOBAL_ASM_OP): Define.
12280         * arm.c (aof_globalize_label): New function.
12281         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
12282         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12283         * c4x.c (c4x_globalize_label): New function.
12284         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
12285         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
12286         (GLOBAL_ASM_OP): Define.
12287         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12288         * darwin-protos.h (darwin_globalize_label): Declare.
12289         * darwin.c (darwin_globalize_label): New function.
12290         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
12291         (ASM_GLOBALIZE_LABEL): Delete.
12292         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
12293         * dsp16xx.c (asm_output_common): Use target hook.
12294         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
12295         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
12296         (GLOBAL_ASM_OP): Define.
12297         * i370.c (i370_globalize_label): New function.
12298         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
12299         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
12300         * i386.c (ix86_asm_file_end): Use target hook.
12301         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
12302         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12303         * ia64.c (ia64_asm_output_external): Likewise.
12304         * ia64/sysv4.h: Update comment.
12305         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12306         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12307         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
12308         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12309         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
12310         * mmix-protos.h (mmix_asm_globalize_label): Delete.
12311         * mmix.c (mmix_asm_globalize_label): Likewise.
12312         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
12313         (GLOBAL_ASM_OP): Define.
12314         * ns32k.c (ns32k_globalize_label): New function.
12315         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
12316         (ASM_GLOBALIZE_LABEL): Delete.
12317         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
12318         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
12319         * pa.c (pa_globalize_label): New function.
12320         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
12321         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
12322         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
12323         (GLOBAL_ASM_OP): Define.
12324         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
12325         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12326         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
12327         (GLOBAL_ASM_OP): Define.
12328         * v850.c (v850_output_aligned_bss): Use target hook.
12329         * vax.c (vms_globalize_label): New function.
12330         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
12331         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
12332         (GLOBAL_ASM_OP): Define.
12333         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
12334         * doc/tm.texi: Update docs.
12335         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
12336         target hook.
12337         * final.c (output_alternate_entry_point): Likewise.
12338         * hooks.c (hook_FILEptr_constcharptr_void): New function.
12339         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
12340         * output.h (assemble_global): Delete.
12341         (default_globalize_label): Declare.
12342         * system.h (ASM_GLOBALIZE_LABEL): Poison.
12343         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12344         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
12345         * target.h (gcc_target): Add globalize_label member.
12346         * varasm.c (asm_output_bss, asm_output_aligned_bss,
12347         globalize_decl): Use target hook.
12348         (assemble_global): Delete.
12349         (default_globalize_label): New function.
12350
12351 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12352
12353         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
12354
12355 2002-08-20  Devang Patel  <dpatel@apple.com>
12356         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
12357
12358 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12359
12360         * arc.c (output_shift): Use stdio instead of asm_fprintf.
12361         * arm.c (thumb_output_function_prologue): Likewise.
12362         * avr.c (print_operand): Likewise.
12363         * c4x.c (c4x_print_operand): Likewise.
12364         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
12365         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
12366         * cris.c (cris_target_asm_function_prologue,
12367         cris_asm_output_mi_thunk): Likewise.
12368         * h8300.c (print_operand): Likewise.
12369         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12370         * ip2k.c (print_operand): Likewise.  Fix format specifier.
12371         * m68hc11.c (asm_print_register, print_operand,
12372         print_operand_address): Use stdio instead of asm_fprintf.
12373         (print_operand_address): Fix format specifier.
12374         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
12375         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
12376         asm_fprintf.
12377         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12378         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12379         * m68k.c (m68k_output_function_prologue,
12380         m68k_output_function_epilogue, print_operand): Likewise.
12381         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
12382         Likewise.  Fix format specifier.
12383         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12384         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12385         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12386
12387 2002-08-15  Eric Christopher  <echristo@redhat.com>
12388             Jeff Knaggs  <jknaggs@redhat.com>
12389
12390         * config.gcc (mipsisa64sr71k-elf): New target.
12391         * config/mips/sr71k.md: New file.
12392         * config/mips/mips.md: Use it.
12393         (rot*): Add sr71k specifics.
12394         * config/mips/t-sr71k: New file.
12395         * config/mips/mips.h (sr71k): New cpu.
12396         (TARGET_SR71K): Use it.
12397         (TUNE_SR71K): Ditto.
12398         (GENERATE_BRANCHLIKELY): Ditto.
12399         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
12400         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
12401         * config/mips/mips.c (sr71k): New cpu.
12402         (mips_use_dfa_pipeline_interface): Use.
12403
12404 2002-08-15  Eric Christopher  <echristo@redhat.com>
12405             Richard Sandiford <rsandifo@redhat.com>
12406             Aldy Hernandez  <aldyh@redhat.com>
12407             Graham Stott    <grahams@redhat.com>
12408             Michael Meissner  <meissner@redhat.com>
12409             Gavin Romig-Koch  <gavin@redhat.com>
12410             Ken Raeburn  <raeburn@cygnus.com>
12411             Alexandre Oliva <aoliva@redhat.com>
12412
12413         * config.gcc (mips64vr-elf): New target.
12414         * config/mips/5400.md: New file.
12415         * config/mips/5500.md: Ditto.
12416         * config/mips/mips.md: Use them.
12417         (frsqrt): New.
12418         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
12419         cpus.
12420         (mips_issue_rate): Use them.
12421         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
12422         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
12423         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
12424         cpus.
12425         (TARGET_MIPSx): Use them.
12426         (TUNE_MIPSx): Ditto.
12427         (GETNATE_MULT3_SI): Ditto.
12428         (ISA_HAS_BRANCHLIKELY): Ditto.
12429         (ISA_HAS_CONDMOVE): Ditto.
12430         (ISA_HAS_NMADD_NMSUB): Ditto.
12431         (ISA_HAS_MULHI): New. Ditto.
12432         (ISA_HAS_MULS): Ditto.
12433         (ISA_HAS_MSAC): Ditto.
12434         (ISA_HAS_MACC): Ditto.
12435         (ISA_HAS_ROTR_SI): Ditto.
12436         (ISA_HAS_ROTR_DI): Ditto.
12437         (RTX_COSTS): Use.
12438
12439 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12440
12441         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
12442         at head.
12443         (remove_dup_nonsys_dirs): New function.
12444         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
12445         (merge_include_chains): Remove non-system include directories from
12446         quote and bracket include chains when they duplicate equivalent system
12447         directories.
12448         * doc/cpp.texi (-I): Update.
12449         * doc/cppopts.texi (-I): Update.
12450         * doc/install.texi (--with-local-prefix): Further document usage of
12451         this option.
12452         * doc/invoke.texi (-I): Update.
12453
12454 2002-08-20  Richard Henderson  <rth@redhat.com>
12455
12456         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
12457         (emit_block_move): Split out subroutines.
12458         (emit_block_move_via_movstr): New.
12459         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
12460         (emit_block_move_libcall_fn): New.  Construct function prototype for
12461         bcopy as well.
12462         (clear_storage): Split out subroutines.
12463         (clear_storage_via_clrstr): New.
12464         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
12465         (clear_storage_libcall_fn): New.  Construct function prototype for
12466         bzero as well.
12467         (emit_push_insn): Use emit_block_move.
12468         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
12469         (store_constructor): Likewise.
12470
12471 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12472
12473         * objc/objc-act.c (building_objc_message_expr): Rename to
12474         current_objc_message_selector.
12475
12476 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12477
12478         * objc/objc-act.c (build_ivar_chain): Remove.
12479         (objc_copy_list): Likewise.
12480         (get_class_ivars): Inline call to removed build_ivar_chain
12481         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
12482         slot; use that slot (rather than CLASS_IVARS) when accessing
12483         ivars for base classes.  Call copy_list and chainon instead of
12484         objc_copy_list.
12485         (build_private_template): Call get_class_ivars instead of
12486         build_ivar_chain.
12487         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
12488         (continue_class): Call get_class_ivars instead of
12489         build_ivar_chain.
12490         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
12491         of DECL_BIT_FIELD (which may have been cleared).
12492         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
12493
12494 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12495
12496         * genautomata.c (output_translate_vect, output_state_ainsn_table,
12497         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
12498         in output file.
12499         (output_internal_min_issue_delay_func): Initialize variable in
12500         output file.
12501
12502 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
12503
12504         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
12505         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
12506
12507 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
12508             Steve Ellcey  <sje@cup.hp.com>
12509
12510         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
12511         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
12512         * explow.c (trunc_int_for_mode): Abort when the mode is not
12513         a scaler integer mode.
12514         * combine.c (expand_compound_operation): Don't expand Vector
12515         or Complex modes into shifts.
12516         (expand_field_assignment): Don't do bitwise arithmatic and
12517         shifts on Vector or Complex modes.
12518         (simplify_comparison): Don't call trunc_int_for_mode
12519         for VOIDmode.
12520         * recog.c (general_operand): Likewise.
12521         (immediate_operand): Likewise.
12522         (nonmemory_operand): Likewise.
12523
12524 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
12525
12526         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
12527         multi-instruction SImode constant.  Add REG_EQUAL note.
12528         * config/rs6000/rs6000.md (movsi splitter): Use
12529         rs6000_emit_set_const.
12530
12531 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12532
12533         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
12534         the macro test controlling its use.
12535
12536 2002-08-18  H.J. Lu  (hjl@gnu.org)
12537
12538         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
12539         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
12540         gnu_ld=yes.
12541         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
12542         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
12543         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
12544         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
12545         here.
12546         (cris-*-linux*): Remove setting thread_file here.
12547
12548 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
12549
12550         PR preprocessor/7602
12551         * cppinit.c (path_include): Treat the system environment
12552         variables as being cxx_aware.
12553
12554 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
12555
12556         * c-decl.c (flexible_array_type_p): New function.
12557         (grokdeclarator, finish_struct): Use it.
12558         * doc/extend.texi: Document constraints on use of structures with
12559         flexible array members.
12560
12561 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
12562
12563         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
12564         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
12565         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
12566
12567 2002-08-16  Stan Shebs  <shebs@apple.com>
12568
12569         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
12570         for ObjC with -fnext-runtime.
12571         * doc/cpp.texi: Document it.
12572
12573 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
12574
12575         * doc/install.texi (Final installation): Replace links to individual
12576         build status pages with a link to a common page that lists them all.
12577
12578 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
12579
12580         * doc/invoke.texi: Fix typo.
12581
12582 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
12583
12584         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
12585
12586 2002-08-16  Andrew Haley  <aph@redhat.com>
12587
12588         * tree-inline.c: Add includes for Java inliner.
12589         (remap_decl): Don't handle anonymous types for Java.
12590         (remap_block): Add handling for Java trees.
12591         (copy_scope_stmt): Conditionalize for non-Java use only.
12592         (copy_body_r): Handle Java trees.  Add handling for
12593         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
12594         (initialize_inlined_parameters):  Handle Java trees.
12595         (declare_return_variable): Likewise.
12596         (expand_call_inline): Handle Java trees.
12597         (walk_tree): Likewise.
12598         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
12599         (add_stmt_to_compound): New function.
12600
12601 2002-08-15  Richard Henderson  <rth@redhat.com>
12602
12603         * Makefile.in (LOOSE_WARN): Remove -fno-common.
12604         (NOCOMMON_FLAG): New substitution point.
12605         (GCC_WARN_CFLAGS): Include it.
12606         * configure.in (ac_checking): Set nocommon_flag.
12607         (nocommon_flag): New substitution point.
12608
12609 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
12610
12611         * c-tree.h (skip_evaluation): Move declaration...
12612         * c-common.h: ... here.
12613         * c-typeck.c (build_external_ref): Don't assemble_external nor
12614         mark a tree as used if skip_evaluation is set.
12615         * c-parse.in (typeof): New non-terminal to set skip_evaluation
12616         around TYPEOF.
12617         (typespec_nonreserved_nonattr): Use it.
12618
12619 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
12620
12621         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
12622         (xcoff_debug_hooks): Update end_prologue.
12623         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
12624         * debug.h (end_prologue): Add file arg.
12625         (end_epilogue): Add line and file args.
12626         (dwarf2out_end_epilogue): Add line and file args.
12627         (vmsdbgout_after_prologue): Remove.
12628         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
12629         (dwarf2_debug_hooks): Update end_prologue.
12630         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
12631         (dwarfout_end_prologue): Add file arg.
12632         * final.c (vmsdbgout_after_prologue): Remove
12633         (final_end_function): Update end_epilogue call.
12634         (final_scan_insn): Update end_prologue call.
12635         * sdbout.c (sdbout_end_epilogue): Add line and file args.
12636         (sdbout_end_prologue): Add file arg.
12637         (sdb_debug_hooks): Update end_prologue.
12638         (sdb_begin_prologue): Update sdbout_end_prologue call.
12639         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
12640         vmsdbgout_end_function.
12641         (vmsdbgout_end_prologue): New function renamed from
12642         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
12643         (vmsdbgout_end_function): New function.
12644         (vmsdbgout_end_epilogue): Add line and file args. Call
12645         vmsdbgout_source_line.
12646         (write_pclines): Write only valid line numbers.
12647         (write_srccorr): Don't write source correlation records if 0 lines.
12648         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
12649
12650 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
12651
12652         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
12653         (_Unwind_Internal_Ptr): 32 bit version for use in
12654         read_encoded_value_with_base.
12655         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
12656         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
12657         right size.
12658
12659 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12660
12661         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
12662         signed/unsigned warnings.
12663
12664         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
12665         record_reg_classes): Likewise.
12666
12667         * reload.c (reload_inner_reg_of_subreg, push_reload,
12668         find_reloads_address_1): Likewise.
12669
12670 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
12671
12672         * rs6000.c (output_mi_thunk): Return to function section on
12673         TARGET_ELF.
12674
12675         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
12676
12677 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
12678
12679         * config/s390/s390.c (legitimize_address): Optimize loading
12680         of large displacements.
12681
12682 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
12683
12684         * config/alpha/alpha-protos.h: Update.
12685
12686         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
12687         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
12688         (alpha_linkage_symbol_p): New static function.
12689         (print_operand_address): Print linkage operand.
12690
12691         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
12692         variables.
12693         (reloc_kind): New enum.
12694         (struct alpha_funcs): New struct.
12695         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
12696
12697         (alpha_need_linkage): Rewrite.
12698         (alpha_use_linkage): New global function.
12699         (alpha_write_linkage): Rewrite and make static.
12700         (alpha_write_one_linkage): Rewrite
12701
12702         (alpha_start_function): Remove procedure descriptor output.
12703         (alpha_end_function): Write linkages at end of each function.
12704
12705         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
12706         (call_vms_1, call_value_vms_1): Rewrite.
12707
12708         * config/alpha/vms.h (ASM_FILE_END): Remove.
12709
12710 2002-08-14  Richard Henderson  <rth@redhat.com>
12711
12712         * ggc-page.c (RTL_SIZE): New.
12713         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
12714         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
12715
12716 2002-08-14  Richard Henderson  <rth@redhat.com>
12717
12718         * calls.c: Include target.h.
12719         * Makefile.in (calls.o): Update.
12720
12721         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
12722         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
12723
12724 2002-08-14  Richard Henderson  <rth@redhat.com>
12725
12726         * Makefile.in (LOOSE_WARN): Add -fno-common.
12727         * c-common.h (constant_string_class_name): Add missing extern.
12728
12729 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
12730
12731         PR preprocessor/7358
12732         * c-opts.c (check_deps_environment_vars): Ignore main file
12733         for SUNPRO_DEPENDENCIES.
12734         * cppfiles.c (stack_include_file): Ignore main file if
12735         appropriate.
12736         * cpplib.h (struct cpp_options): New member in deps.
12737         * doc/cppenv.texi: Update.
12738
12739 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12740
12741         PR preprocessor/7526
12742         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
12743
12744 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
12745
12746         * doc/invoke.texi (-a): Remove documentation.
12747         (-fprofile-arcs): Remove reference to -a, -ax options.
12748         * doc/gcov.texi (Gcov Data Files): Data might be merged.
12749
12750 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12751
12752         Fix PR/7566
12753         * c-semantics.c (genrtl_case_label): Don't (mis)use
12754         warning_with_decl.
12755
12756 2002-08-14  Dale Johannesen  <dalej@apple.com>
12757
12758         * explow.c (emit_stack_restore):  Emit memory clobbers
12759         preceding the stack pop, to prevent the scheduler from
12760         moving refs to variable arrays below this pop.
12761         * reload1.c (reload):  Preserve these clobbers for sched2.
12762         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
12763
12764 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12765
12766         * c-opts.c (c_common_post_options): Correct test.
12767
12768 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12769
12770         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
12771         order in call to fprintf.
12772
12773 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12774
12775         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
12776
12777 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
12778
12779         * reload.c (find_reloads): Handle constraint letters marked by
12780         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
12781         (alternative_allows_memconst): Likewise.
12782         * reload1.c (maybe_fix_stack_asms): Likewise.
12783         * recog.c (asm_operand_ok, preprocess_constraints,
12784         constrain_operands): Likewise.
12785         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
12786         * local-alloc.c (block_alloc, requires_inout): Likewise.
12787         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
12788
12789         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
12790         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
12791         * doc/tm.texi: Document these two new target macros.
12792
12793         * config/s390/s390.c (s390_expand_plus_operand): Accept already
12794         valid operands.
12795         (q_constraint): New function.
12796         config/s390/s390-protos.h (q_constraint): Declare it.
12797         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
12798         (EXTRA_MEMORY_CONSTRAINT): New macro.
12799
12800         * config/s390/s390.md: Throughout the machine description,
12801         replace all instances of the constraint combinations 'Qo'
12802         or 'oQ' with simply 'Q'.
12803
12804 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12805
12806         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
12807         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
12808         (LIBGCC2_CFLAGS): Compile with -mrelax.
12809
12810 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12811
12812         * doc/invoke.texi: Document -minmax for 68HC12.
12813
12814         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
12815         ("uminqi3"): Likewise.
12816         ("uminhi3", "umaxhi3"): Likewise.
12817
12818         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
12819         (TARGET_MIN_MAX): Define.
12820         (TARGET_SWITCHES): New option -minmax/-mnominmax.
12821
12822 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12823
12824         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
12825         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
12826
12827         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
12828         (ret, declare, farsym): New gas macros.
12829         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
12830         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
12831         and declare the symbol far when compiled with -mlong-calls.
12832         (__far_trampoline): New for 68HC12 trampoline code to invoke a
12833         far handler using jsr/bsr.
12834
12835         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
12836         (jsr): New macro to transform a 'jsr' into a 'call'.
12837
12838 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12839
12840         * doc/invoke.texi: Document -mlong-calls for 68HC12.
12841
12842         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
12843         -mlong-calls is specified.
12844         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
12845         assembler directives.
12846         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
12847         (TARGET_SWITCHES): Add -mlong-calls options.
12848         (current_function_far): Declare.
12849
12850         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
12851         into account the page register saved on the stack.
12852         (m68hc11_override_options): Take into account -mlong-calls option.
12853         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
12854
12855         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
12856         if the function is going to be in 68HC12 banked memory (-mlong-calls).
12857         ("*return_16bit"): Likewise.
12858         ("*return_void"): Likewise.
12859         ("call", "call_value"): Use call for a far function call.
12860
12861 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12862
12863         * toplev.c (parse_options_and_default_flags): Don't call
12864         post_options here.
12865         (general_init): Initialize GC, pools and tree hash here,
12866         instead of lang_independent_init.
12867         (lang_independent_init): Rename backend_init.
12868         (do_compile): Call post_options hook; exit early if there
12869         have been errors after switch processing.
12870         (toplev_main): Update.
12871
12872 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12873
12874         * c-pretty-print.h: Guard against multiple inclusion.
12875         Robustify macros.
12876         (pp_c_attributes): Declare.
12877         * c-pretty-print.c (pp_c_attributes): New function.
12878
12879 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12880
12881         * m68k.c (m68k_output_function_prologue,
12882         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
12883         and NEWS/MOTOROLA.
12884         * genattrtab.c: Remove dpx2 comment.
12885         * libgcc2.c (__enable_execute_stack): Delete versions for
12886         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
12887         sony_news/SYSTYPE_BSD.
12888         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
12889         __gmicro__, __i860__, __NeXT__ and __pyr__.
12890         * rtl.h: Remove convex comment.
12891         * varasm.c: Likewise.
12892
12893 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12894
12895         * c-opts.c (lang_flags): Const-ify.
12896         * ra-build.c (undef_table): Likewise.
12897         * ra.c (eliminables): Likewise.
12898
12899 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12900
12901         * tree.h: Guard against multiple inclusion.
12902
12903 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
12904
12905         * reload1.c (reload_cse_simplify): Before checking
12906         REG_FUNCTION_VALUE_P, check REG_P.
12907
12908 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
12909
12910         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
12911
12912 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12913
12914         * c-opts.c (c_common_init_options): Extra braces needed.
12915
12916 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12917
12918         * sh.c (sh_init_builtins): Add PARAMS to declaration.
12919         (sh_media_init_builtins, sh_expand_builtin): Likewise.
12920         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
12921         (sh_expand_binop_v2sf): Likewise.
12922         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
12923         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
12924         (sh_initialize_trampoline): Likewise.
12925
12926 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
12927
12928         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
12929         new condition code modes.
12930         s390.c (s390_match_ccmode_set): Handle those new CC modes.
12931         (s390_select_ccmode): Likewise.
12932         (s390_branch_condition_mask): Likewise.
12933
12934         * s390-protos.h (s390_tm_ccmode): Declare.
12935         s390.c (s390_tm_ccmode): New function.
12936         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
12937
12938         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
12939         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
12940         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
12941
12942         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
12943         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
12944         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
12945         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
12946         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
12947
12948         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
12949         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
12950         "*cmpqi_ccs_0"): Remove, replace by ...
12951         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
12952         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
12953         "*tstqi", "*tstqi_cconly"): ... these new patterns.
12954
12955         ("*cmpsidi_ccs"): Remove, replace by ...
12956         ("*cmpsi_ccs_sign"): ... this new pattern.
12957         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
12958
12959         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
12960         ("*cli"): ... this new pattern.
12961
12962         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
12963         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
12964         New patterns.
12965         ("adddi3_64"): Rename to "*adddi3_64".
12966         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
12967         ("adddi3"): Adapt expander.
12968
12969         ("*addsi3_cc"): Allow "general_operand" for operand 2.
12970         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
12971         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
12972
12973         ("addhi3", "addqi3"): Remove, replace by ...
12974         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
12975
12976         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
12977         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
12978         ("subdi3"): Replace by insn and splitter "*subdi3_31".
12979         ("subdi3"): New expander.
12980
12981         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
12982
12983         ("subhi3", "subqi3"): Remove, replace by ...
12984         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
12985
12986         ("*muldi3_sign"): New pattern.
12987         ("muldi3"): Do not clobber CC.
12988         ("mulsi3"): Likewise.
12989         ("mulsi_6432"): Likewise.
12990
12991 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12992
12993         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
12994         which can change CC0.
12995
12996 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
12997
12998         * gcse.c (adjust_libcall_notes): New function.
12999         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
13000
13001 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
13002
13003         * libgcc2.c (L_bb): Remove unneeded #includes.
13004         (__global_counters, __gthreads_active): Remove unused globals.
13005         (__bb_exit_func): Merge counts into files rather than appending.
13006         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
13007         (ALL_CFLAGS): ... to here.
13008
13009 2002-08-13  Denis Chertykov  <denisc@overta.ru>
13010
13011         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
13012         (function_epilogue): Don't calculate function size.
13013         (ip2k_set_compare): Don't use lookup_const_double.
13014         (asm_file_start): Initialization of commands_in_file removed.
13015         (asm_file_end): Output of commands_in_file removed.
13016
13017         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
13018         __INT_MAX__.
13019
13020 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
13021
13022         * c-opts.c (c_common_init_options): Check option array is
13023         sorted if checking enabled.
13024
13025 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
13026
13027         * c-pretty-print.c: #include "c-tree.h".
13028         (pp_c_simple_type_specifier): Tweak.
13029         (pp_c_storage_class_specifier): New.
13030         (pp_c_function_specifier): Likewise.
13031         (pp_c_declaration_specifiers): Likewise.
13032         (pp_c_init_declarator): Likewise.
13033         (pp_c_declaration): Likewise.
13034         (pp_c_direct_declarator): Stub.
13035         (pp_c_declarator): Likewise.
13036         (pp_c_parameter_declaration): Likewise.
13037
13038 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
13039
13040         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
13041         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
13042         struct deferred_opt): New.
13043         (COMMAND_LINE_OPTIONS): Add -M*.
13044         (missing_arg): Update.
13045         (c_common_decode_option): Handle -M*.
13046         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
13047         don't call cpp_post_options.
13048         (c_common_finish, check_deps_environment_vars): Update.
13049         * cppfiles.c (stack_include_file, handle_missing_header): Update.
13050         * cpphash.h (CPP_PRINT_DEPS): Remove.
13051         * cppinit.c: Don't include version.h.
13052         (cpp_create_reader): Don't call deps_init.  Initialize
13053         warn_long_long.
13054         (cpp_read_main_file): Init deps if necessary.
13055         (cpp_destroy): Conditionally free deps.
13056         (cpp_finish): Update.
13057         (no_tgt): Remove.
13058         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
13059         (cpp_post_options): Rename post_options.
13060         * cpplib.h (struct cpp_options): Remove some dependency options;
13061         move others to a new structure.
13062         (cpp_post_options): Remove.
13063         (cpp_finish): Comment.
13064         * fix-header.c (read_scan_file): Don't call cpp_post_options.
13065
13066 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
13067
13068         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
13069         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
13070         MMIX_rR_REGNUM as clobbered.
13071         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
13072
13073 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
13074
13075         * diagnostic.h (output_formatted_scalar): Rename from
13076         output_formatted_integer.
13077         * diagnostic.def: Add DK_DEBUG.
13078         * diagnostic.c (output_decimal): Adjust.
13079         (output_long_decimal): Likewise.
13080         (output_unsigned_decimal): Likewise.
13081         (output_octal): Likewise.
13082         (output_long_octal): Likewise.
13083         (output_hexadecimal): Likewise.
13084         (output_long_hexadecimal): Likewise.
13085         * c-pretty-print.c (pp_c_type_specifier): New function.
13086         (pp_c_specifier_qualifier_list): Likewise.
13087         (pp_c_abstract_declarator): Likewise.
13088         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
13089
13090 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
13091
13092         * doc/trouble.texi (Disappointments): Add static constructor and
13093         destructor dependency information for AIX.
13094
13095 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
13096
13097         * cpphash.h (struct printer): New from cppmain.c.
13098         (cpp_reader): New member.
13099         * cppmain.c (struct printer): Move to cpphash.h.
13100         (options, print): Remove.
13101         (account_for_newlines, print_line, maybe_print_line,
13102         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
13103         scan_translation_unit_trad, cb_line_change, cb_ident,
13104         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
13105         cb_def_pragma): Make reentrant.
13106
13107 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13108
13109         * real.c (ieee_64): Always define.
13110         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
13111         (dec_h): Not used yet, hide it.
13112         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
13113         macro controlling use.
13114         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
13115
13116 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
13117
13118         * i386.md (tablejump): Sign extend the operand.
13119         * i386.c (classify_argument): Fix missed case from previous patch.
13120
13121 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
13122
13123         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
13124         to c-copts.c.
13125         (warn_multichar): Die.
13126         (cb_register_builtins): Export.
13127         * c-common.h (warn_multichar, preprocess_file): Remove.
13128         (cb_register_builtins): New.
13129         * c-lang.c (c_init): Remove.
13130         (LANG_HOOKS_INIT): Use c_objc_common_init.
13131         * c-lex.c (init_c_lex): Don't canonicalize filename.
13132         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
13133         (preprocess_file): Make static.  Update for cpplib.
13134         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
13135         (c_common_post_options): Set some cpp options here.
13136         (c_common_init): Move from c-common.c.
13137         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
13138         * cpplib.h (struct cpp_options): Remove in_fname.
13139         (cpp_preprocess_file): Update.
13140         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
13141
13142 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13143
13144         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
13145
13146 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13147
13148         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
13149         backslash in comment preceeding macro definition.
13150         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
13151         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
13152         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
13153
13154 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
13155
13156         * expr.c (store_expr): In condition for checking if value is
13157         generated in TARGET, move call to expr_size last.
13158
13159 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
13160
13161         * c-common.c (c_common_init): Call preprocess_file instead.
13162         (c_common_finish): Move to c-opts.c.
13163         * c-common.h (preprocess_file): new.
13164         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
13165         check_deps_environment_vars, c_common_finish): New.
13166         (c_common_decode_option): Update for out_fname and dependencies.
13167         * cppinit.c (init_dependency_output, output_deps): Remove.
13168         (cpp_destroy): Update prototype.
13169         (cpp_add_dependency_target): New.
13170         (cpp_read_main_file): Don't overlay a buffer.
13171         (cpp_finish): Take a deps output stream and write deps to it.
13172         Return the error count.
13173         (cpp_post_options): Don't canonicalize out_fname, or do anything
13174         with dependencies.
13175         * cpplib.h (struct cpp_options): Remove out_fname and
13176         preprocess_only.
13177         (cpp_add_dependency_target): New.
13178         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
13179         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
13180         set preprocess_only.  Don't handle the output stream directly.
13181
13182 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13183
13184         * dsp16xx.c (print_operand): Fix format specifier.
13185         * dsp16xx.md: Avoid automatic aggregate initialization.
13186         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
13187         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
13188         integer constant modifier.
13189         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
13190         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
13191         guards.
13192         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
13193         * v850.c (v850_select_section): Mark parameter with
13194         ATTRIBUTE_UNUSED.
13195         * global.c (global_alloc): Const-ify.
13196         * ra-colorize.c (hardregset_to_string): Fix format specifier.
13197
13198 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13199
13200         * darwin-c.c (darwin_pragma_options): Const-ify.
13201         * darwin.c (machopic_non_lazy_ptr_name,
13202         machopic_validate_stub_or_non_lazy_ptr): Likewise.
13203         (machopic_indirect_data_reference): Wrap variables in macros
13204         controlling their use.
13205         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
13206         (machopic_select_section): Use parentheses around && within ||.
13207         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
13208
13209 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13210
13211         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
13212         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
13213         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
13214         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
13215         mdr_try_remove_redundant_insns, track_w_reload,
13216         mdr_try_wreg_elim): Make function static to match prototype.
13217         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
13218         parameter with ATTRIBUTE_UNUSED.
13219
13220 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13221
13222         * arc.c (arc_init): Don't use ISO C style function definitions.
13223         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
13224         arm_get_strip_length, arm_strip_name_encoding): Likewise.
13225         * avr.h (progmem_section): Likewise.
13226         * h8300.c h8300_asm_insn_count): Likewise.
13227         * m32r.c (init_idents): Likewise.
13228         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
13229         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
13230         * xtensa.c (xtensa_build_va_list): Likewise.
13231
13232 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
13233
13234         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
13235         * c-opts.c (parse_option): Rename find_opt.
13236         (set_std_c99): New function.
13237         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
13238         (missing_arg): Remove OPT_std_bad.  Handle -o.
13239         (c_common_decode_option): Handle input and output file names,
13240         -o and -remap.  Clean up -std= handling.
13241         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
13242         (cpp_handle_option): Similarly.  Don't handle filenames.
13243
13244 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
13245
13246         * i386.c (classify_argument): Fix computing of field's offsets.
13247
13248 2002-08-11  Andreas Jaeger  <aj@suse.de>
13249
13250         PR target/7531:
13251         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
13252
13253 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
13254
13255         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
13256         reference to clk_objective_c with flag_objc.
13257         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
13258         Likewise.
13259         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
13260
13261 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
13262
13263         * c-opts.c (set_std_cxx98, set_std_c89): New.
13264         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13265         (c_common_decode_option): Handle new switches from cppinit.c.
13266         Add -std=gnu++98.
13267         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
13268         (no_arg, no_num): Remove.
13269         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
13270         switches apart from -lang-objc and lang-asm.
13271         (cpp_handle_option): Similarly.
13272         * cpplib.h (cpp_set_lang): New.
13273         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
13274         -std=gnu++98.
13275         * objc/lang-specs.h: Remove -ansi.
13276
13277 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
13278                                Graham Stott
13279
13280         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
13281         errors.
13282
13283 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13284
13285         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
13286         emit_jump_insn): Fix uninitialized variable.
13287         * gcov.c (init_line_info): Likewise.
13288         * genautomata.c (transform_3): Add braces around ambiguous
13289         else.
13290         * ifcvt.c (cond_exec_process_insns): Mark parameter with
13291         ATTRIBUTE_UNUSED.
13292         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
13293         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
13294         variable.
13295
13296         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
13297         warnings in output files.
13298
13299 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
13300
13301         * c-common.c (flag_objc): New.
13302         * c-common.h (c_language_kind): Get rid of clk_objective_c
13303         enum value.
13304         (flag_objc): New extern declaration.
13305         * c-decl.c (implicitly_declare): Call objc_check_decl
13306         instead of maybe_objc_check_decl.
13307         (finish_decl): Likewise.
13308         (grokfield): Likewise.
13309         (finish_struct): Likewise.
13310         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
13311         (maybe_objc_comptypes): Rename to objc_comptypes.
13312         (maybe_building_objc_message_expr): Rename to
13313         objc_message_selector.
13314         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
13315         replace with flag_objc as needed.
13316         * c-opts.c (c_common_init_options): Likewise.
13317         (c_common_decode_option): Likewise.
13318         * c-parse.in (init_reswords): Likewise.
13319         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
13320         (maybe_objc_comptypes): Rename to objc_comptypes.
13321         (maybe_building_objc_message_expr): Rename to
13322         objc_message_selector.
13323         * c-typeck.c (comptypes): Call objc_comptypes instead of
13324         maybe_objc_comptypes, and/or objc_message_selector instead of
13325         maybe_building_objc_message_expr.
13326         (comp_target_types): Likewise.
13327         (convert_for_assignment): Likewise.
13328         (warn_for_assignment): Likewise.
13329         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
13330         independently of those for other languages.
13331         * objc/objc-act.c (maybe_objc_comptypes): Delete.
13332         (maybe_objc_check_decl): Delete.
13333         (maybe_building_objc_message_expr): Rename to
13334         objc_message_selector.
13335         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
13336         clk_objective_c; set flag_objc flag.
13337
13338 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
13339
13340         * ifcvt.c (find_if_case_2): Test correct basic block for size.
13341
13342 2002-08-09  Dale Johannesen  <dalej@apple.com>
13343
13344         * config/rs6000/rs6000.md: Add sibcall patterns.
13345         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
13346         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
13347         Rewritten to handle sibcalls.
13348         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
13349         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
13350
13351 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13352
13353         * profile.c (da_file_name): New static var.
13354         (init_branch_prob): Initialize it.
13355         (end_branch_prob): Remove da file.
13356
13357         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
13358         * configure.in (coverage_flags): Default to nothing.
13359         * configure: Rebuilt.
13360
13361 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
13362
13363         * Makefile.in (c-opts.o): Update
13364         * c-opts.c: Include intl.h.
13365         (print_help): Move from cppinit.c.  Remove unused options.
13366         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13367         (missing_arg): Complain for switches without an argument.
13368         (c_common_decode_option): Reject missing joined arguments.
13369         Handle new switches from cppinit.c.
13370         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13371         (cpp_handle_option): Similarly.
13372         (print_help): Moved to c-opts.c.
13373         * cpplib.h (struct cpp_options): Remove help_only.
13374         * gcc.c (cpp_unique_options): Remove -$.
13375         * doc/cppopts.texi: Undocument -h.
13376
13377 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13378
13379         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
13380         legitimate constant.
13381         (legitimate_pic_operand_p): Neither pic operand.
13382         (legitimate_address_p): But legitimate address.
13383         (get_thread_pointer): Generate MEM/u instead of CONST around
13384         UNSPEC_TP.
13385         (print_operand): Remove printing of UNSPEC_TP.
13386         (print_operand_address): And print it here.
13387
13388 2002-08-08  Devang Patel  <dpatel@apple.com>
13389
13390         * objc/objc-act.c (build_selector_translation_table): Issue warning,
13391         when  -Wselector is used,if method for which selector is being
13392         created does not exist.
13393
13394 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
13395
13396         * config/sh/sh.c (prepare_move_operands): Only call
13397         target_reg_operand if TARGET_SHMEDIA.
13398
13399 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13400
13401         * config/rs6000/rs6000.h, config/rs6000/aix.h,
13402         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
13403         two patches.
13404         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
13405
13406 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
13407             Richard Henderson  <rth@redhat.com>
13408
13409         * emit-rtl.c (gen_rtx_REG): After reload, only return
13410         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
13411
13412 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13413
13414         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
13415         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
13416         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
13417         macro.
13418
13419 2002-08-08  Adam Nemet  <anemet@lnxw.com>
13420
13421         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
13422         register.
13423         (thumb_expand_prologue): Likewise.
13424         (thumb_output_function_prologue): Likewise.
13425         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
13426         the additional push of the PIC register.
13427
13428 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13429
13430         * configure.in (enable_coverage): New enable switch.
13431         * configure: Rebuilt.
13432         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
13433         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
13434         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
13435         (mostlyclean): Remove coverage files.
13436         * doc/install.texi: Document enable_coverage.
13437
13438         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
13439         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
13440         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
13441         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
13442         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
13443         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
13444         files.
13445
13446 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
13447
13448         * c-opts.c (cpp_opts): New.
13449         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
13450         (c_common_decode_options): Handle cpplib switches.
13451         (c_common_init_options): Set cpp_opts.
13452         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13453         (cpp_handle_option): Similarly.
13454
13455 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
13456
13457         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
13458         (TARGET_ALTIVEC_ABI): Same.
13459         (TARGET_ALTIVEC_VRSAVE): Same.
13460
13461         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
13462         icode not CODE_FOR_nothing.  Change switch to if.
13463
13464 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
13465
13466         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
13467
13468 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13469
13470         * stor-layout.c (place_union_field): For bitfields if
13471         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
13472         TYPE_USER_ALIGN.
13473
13474 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13475
13476         * pa.c (struct deferred_plabel): Constify name field.
13477
13478 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13479
13480         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
13481
13482 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13483
13484         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
13485         local_prefix are the same.
13486         * configure: Rebuilt.
13487
13488 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
13489             Richard Henderson  <rth@redhat.com>
13490
13491         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
13492         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
13493         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
13494         (place_field): Likewise.
13495         * config/i386/i386.c (x86_field_alignment): Don't check
13496         DECL_USER_ALIGN here.
13497         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
13498         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
13499         prototype.
13500         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
13501         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
13502         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
13503         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
13504         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
13505         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
13506
13507 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13508
13509         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
13510         * c-common.c: Don't include tree-inline.h.
13511         (c_common_init_options, c_common_post_options): Move to c-opts.c.
13512         * c-common.h (c_common_decode_option): New.
13513         * c-decl.c (c_decode_option): Remove.
13514         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
13515         * c-opts.c: New file.
13516         * c-tree.h (c_decode_option): Remove.
13517         * doc/passes.texi: Update.
13518         * objc/objc-act.c (objc_decode_option): Remove.
13519         * objc/objc-act.h (objc_decode_option): Remove.
13520         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
13521         c_common_decode_option.
13522
13523 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
13524
13525         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
13526         dependency on TARGET_DOUBLE_FLOAT.
13527
13528 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
13529
13530         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
13531         overwrite callee-save registers.  Fix comment.
13532
13533 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
13534
13535         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
13536         in target_flags based on ISA, if it was not set on the command
13537         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
13538         support Branch Likely instructions.
13539         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
13540         (TARGET_BRANCHLIKELY): Likewise.
13541         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
13542         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
13543         ISA_HAS_BRANCHLIKELY.
13544         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
13545         * doc/invoke.texi: Document new MIPS -mbranch-likely and
13546         -mno-branch-likely options.
13547
13548 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13549
13550         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
13551
13552         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
13553         $(GCONFIG_H).
13554
13555 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
13556
13557         * c-decl.c (duplicate_decls): Error out for incompatible TLS
13558         declarations.
13559
13560         * testsuite/gcc.dg/tls/diag-3.c: New.
13561
13562 2002-08-06  Dale Johannesen  <dalej@apple.com>
13563
13564         * c-common.c (fname_decl): Use line number 0 for
13565         __func__, to avoid confusing debuggers.
13566
13567 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
13568
13569         * gcov.c: Tidy.
13570         (struct line_info, struct coverage): New structures.
13571         (gcov_file_name, gcov_file): Remove globals.
13572         (output_data): Take source file parameter. Fix memory leak. Break
13573         up into ...
13574         (init_line_info, output_line_info, make_gcov_file_name,
13575         accumulate_branch_counts): ... here.
13576         (calculate_branch_probs, function_summary): Adjust.
13577         (main): Adjust.
13578         (function_*): Remove global variables.
13579
13580 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13581
13582         * dwarf2out.c: Remove unused macros.
13583
13584 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13585
13586         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
13587
13588 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13589
13590         * cppinit.c (struct lang_flags): Rename trigraphs std.
13591         (set_lang): Update.
13592         * cpplib.h (struct cpp_options): New member std.
13593         * cppmacro.c (_cpp_builtin_macro_text): Use std.
13594         (collect_args): Flag whether to swallow a possible future
13595         comma pasted with varargs.
13596         (replace_args): Use this flag.
13597         * doc/cpp.texi: Update varargs extension documentation.
13598
13599 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13600
13601         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
13602
13603 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13604
13605         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
13606         and MODE_CLASS_INT modes.
13607
13608 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13609
13610         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
13611         --{enable,disable}-threads is given to configure.
13612         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
13613         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
13614         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
13615         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
13616         Remove thread_file setting here.
13617
13618 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
13619
13620         * doc/install.texi (Binaries): Update Bull Freeware URL.
13621
13622 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13623
13624         * doc/gcc.texi (Top): Rename Index to Keyword Index.
13625
13626 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
13627
13628         * gcov.c (output_data): Round to % to nearest, tweak formatting.
13629
13630 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
13631
13632         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
13633         of the operands into MINUS_EXPR if code is PLUS_EXPR.
13634
13635 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
13636
13637         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
13638         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
13639         drectve_section): Define.
13640         * config/i386/t-interix: Replace interix.o rule with winnt.o.
13641         * config/i386/interix.c: Remove.
13642
13643 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
13644
13645         * attribs.c: Don't include obstack.h.
13646         * builtins.c: Likewise.
13647         * cfganal.c: Likewise.
13648         * cfgbuild.c: Likewise.
13649         * cfgcleanup.c: Likewise.
13650         * emit-rtl.c: Likewise.
13651         * loop.c: Likewise.
13652         * stmt.c: Likewise.
13653
13654         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
13655
13656 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
13657
13658         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
13659
13660 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
13661
13662         * doc/invoke.texi: Remove duplicated paragraph describing
13663         TARGET_SWITCHES.
13664
13665 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
13666
13667         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
13668         * collect2.h (permanent_obstack): Delete declaration.
13669         * collect2.c (permanent_obstack): Delete definition.
13670         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
13671         * expr.c: Don't include obstack.h.
13672         (permanent_obstack): Delete declaration.
13673         * function.c: Don't include obstack.h.
13674         (permanent_obstack): Delete declaration.
13675         * integrate.c: Don't include obstack.h.
13676         (function_maybepermanent_obstack): Delete declaration.
13677         * print-tree.c (debug_tree): Use x*alloc not permalloc.
13678         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
13679         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
13680         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
13681         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
13682         of permalloc, expralloc, perm_calloc.
13683         * tree.c (permanent_obstack): Delete definition.
13684         (init_ttree): Rename from init_obstacks.
13685         (permalloc): Delete.
13686         (perm_calloc): Delete.
13687         (dump_tree_statistics): Don't print information about
13688         permanent_obstack.
13689         * varasm.c (assemble_start_function): Use xstrdup instead of
13690         permalloc/strcpy.
13691         (assemble_variable): Likewise.
13692         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
13693         permalloc.
13694         (unicosmk_add_extern): Likewise.
13695         * config/c4x/c4x.c (c4x_external_ref): Likewise.
13696         (c4x_global_label): Likewise.
13697         * config/frv/frv.c (frv_encode_section_info): Likewise.
13698         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
13699         (i386_pe_record_exported_symbol): Likewise.
13700         * config/mips/mips.c (mips_output_external): Likewise.
13701         (mips_output_external_libcall): Likewise.
13702         * config/pa/pa.c: (permanent_obstack): Delete declaration.
13703         (output_call): Use ggc_strdup instead of allocating on
13704         permanent_obstack.
13705         * config/romp/romp.c: Include ggc.h.
13706         (get_symref): Don't declare permanent_obstack, use ggc_strdup
13707         intead of permanent_obstack.
13708         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
13709         instead of permalloc.
13710         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
13711         instead of permalloc
13712         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
13713         instead of permalloc.
13714         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
13715         permalloc.
13716
13717 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
13718
13719         Contribute a port developed primarily by Michael Meissner,
13720         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
13721         * config.gcc: Add frv-elf target.
13722         * config/frv/cmovd.c: New file.
13723         * config/frv/cmovh.c: New file.
13724         * config/frv/cmovw.c: New file.
13725         * config/frv/frv-abi.h: New file.
13726         * config/frv/frv-asm.h: New file.
13727         * config/frv/frv-modes.def: New file.
13728         * config/frv/frv-protos.h: New file.
13729         * config/frv/frv.c: New file.
13730         * config/frv/frv.h: New file.
13731         * config/frv/frv.md: New file.
13732         * config/frv/frvbegin.c: New file.
13733         * config/frv/frvend.c: New file.
13734         * config/frv/lib1funcs.asm: New file.
13735         * config/frv/media.h: New file.
13736         * config/frv/modi.c: New file.
13737         * config/frv/t-frv: New file.
13738         * config/frv/uitod.c: New file.
13739         * config/frv/uitof.c: New file.
13740         * config/frv/ulltod.c: New file.
13741         * config/frv/ulltof.c: New file.
13742         * config/frv/umodi.c: New file.
13743         * config/frv/xm-frv.h: New file.
13744
13745         * config/frv/media.h: Removed again.
13746
13747 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13748
13749         * gcov.c (bb_file_time): New static variable.
13750         (object_directory): May also be object file.
13751         (preserve_paths): New static variable.
13752         (print_usage): Adjust.
13753         (options): Adjust.
13754         (process_args): Adjust.
13755         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
13756         file. Find modification date on bb file.
13757         (read_profile): Don't rewind a NULL file.
13758         (format_hwint): New static function.
13759         (function_summary): Use format_hwint.
13760         (output_data): SOURCE_FILE_NAME is never relative to
13761         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
13762         mangling. Adjust output format to make it more machine readable.
13763         * doc/gcov.texi: Document & clarify semantics.
13764
13765 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
13766
13767         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
13768
13769 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13770
13771         * gcc.c (cc1_options): Pass output file as auxbase when
13772         appropriate.
13773         * profile.c (init_branch_prob): FILENAME has already had ending
13774         stripped.
13775         * final.c (end_final): Likewise.
13776         * toplev.c (aux_base_name): New global.
13777         (compile_file): Pass aux_base_name to init init_branch_prob and
13778         end_final.
13779         (independent_decode_option, case 'a'): New auxinfo options.
13780         (case 'd'): Protect against mising basename.
13781         (do_compile): Initialize aux_base_name.
13782         * toplev.h (aux_base_name): New global.
13783         * doc/invoke.texi: Adjust documentation.
13784
13785 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13786
13787         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
13788         of TARGET_ALIGN_DOUBLE.
13789
13790 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
13791
13792         * diagnostic.c (inform): New function.
13793         * diagnostic.h (inform): Declare.
13794
13795 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
13796
13797         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
13798         (movhi_internal): Same.
13799         (movqi_internal): Same.
13800         (movdi_internal64): Same.
13801
13802         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
13803
13804         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
13805         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
13806         (COMMON_ASM_OP): Define.
13807         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
13808         Use ALIGN parameter.
13809         (LOCAL_COMMON_ASM_OP): Define.
13810         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
13811
13812 2002-08-03  Roger Sayle  <roger@eyesopen.com>
13813
13814         * builtins.def: Define new builtin functions exp, expf, expl,
13815         log, logf and logl (and their __builtin_* variants).
13816         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
13817         Define exp_optab and log_optab.
13818         * optabs.c (init_optans): Initialize exp_optab and log_optab.
13819         * genopinit.c (optabs): Implement exp_optab and log_optab
13820         using exp?f2 and log?f2 patterns.
13821         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
13822         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
13823         (expand_builtin): Ignore the new builtins (and all cos and
13824         sin variants) when not optimizing.  Expand new builtins via
13825         expand_builtin_mathfn when flag_unsafe_math_optimizations.
13826
13827         * doc/extend.texi: Document new exp and log builtins.
13828         * doc/md.texi: Document new exp?f2 and log?f2 patterns
13829         (and previously undocumented cos?f2 and sin?f2 patterns).
13830
13831 2002-08-03  Jason Merrill  <jason@redhat.com>
13832
13833         * explow.c (int_expr_size): New fn.
13834         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
13835         * expr.h: Declare it.
13836
13837 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
13838
13839         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
13840         gengtype-* dependencies.
13841
13842 2002-08-02  Eric Christopher  <echristo@redhat.com>
13843
13844         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
13845         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
13846         #ifndef to #undef.
13847         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
13848
13849 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
13850
13851         PR optimize/7067
13852         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
13853         small if optimizing for size.
13854
13855 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
13856
13857         * configure.in (FORBUILD): Use $build_alias.
13858         * configure: Regenerated.
13859
13860 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
13861
13862         * config.gcc: Don't include mips/abi64.h in $tm_file.
13863         * hard-reg-set.h (call_really_used_regs): Declare.
13864         * config/mips/abi64.h: Remove file.
13865         * config/mips/linux.h,
13866         * config/mips/iris6.h: Don't include it.
13867         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
13868         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
13869         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
13870         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
13871         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
13872         Bring across definitions from abi64.h.
13873         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
13874         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
13875         (struct mips_args): Use it.
13876         * config/mips/mips.c (mips_conditional_register_usage): Define.
13877
13878 2002-08-02  Jason Merrill  <jason@redhat.com>
13879
13880         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
13881         * langhooks.c (lhd_expr_size): Define default.
13882         * langhooks.h (struct lang_hooks): Add expr_size.
13883         * explow.c (expr_size): Call it.
13884         * expr.c (store_expr): Don't copy an expression of size zero.
13885         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
13886         to store.
13887         * Makefile.in (builtins.o): Depend on langhooks.h.
13888
13889 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13890
13891         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
13892         * ra-debug.c: Include "tm_p.h".
13893         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
13894
13895 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
13896
13897         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
13898         when not honoring signalling NaNs.
13899         (simplify_ternary_operation): a == b has a definite value
13900         when not honoring NaNs.
13901
13902 2002-08-02  Jason Merrill  <jason@redhat.com>
13903
13904         * gdbinit.in (pct): New macro.
13905
13906 2002-08-01  Stan Shebs  <shebs@apple.com>
13907             Andreas Tobler  <toa@pop.agri.ch>
13908
13909         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
13910         plays nice with Darwin headers.
13911         (_BSD_RUNE_T_DEFINED_): Likewise.
13912
13913 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13914
13915         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
13916         * cppinit.c (cpp_post_options): Likewise.
13917
13918         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
13919         warning about 'LL' suffix (but not 'ULL' etc) when
13920         -Wno-long-long is in effect.
13921
13922         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
13923         Check for failing time()/localtime(), issue a warning, and
13924         make __TIME__ and __DATE__ expand to fallback strings.
13925
13926         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
13927         and __TIME__ when the date and time cannot be determined.
13928
13929 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13930
13931         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
13932
13933 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
13934
13935         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
13936
13937 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13938
13939         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
13940         (mipsisa64sb1el-*-elf*): Likewise.
13941         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
13942         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
13943         (TARGET_SB1, TUNE_SB1): New macros.
13944         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
13945         -mtune flags.
13946
13947 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
13948
13949         * varasm.c (asm_emit_uninitialized): Return false if global BSS
13950         and ASM_EMIT_BSS not supported by target.
13951         (assemble_variable): Do not duplicate uninitialized logic.
13952         Fall through if asm_emit_uninitialized failed.
13953
13954 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13955
13956         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
13957
13958 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13959
13960         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
13961         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
13962
13963         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
13964         HOST_BITS_PER_WIDE_INT == 64.
13965
13966 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13967
13968         * df.c (df_insn_table_realloc): Change parameter to unsigned.
13969         * optabs.c (expand_binop): Make variable unsigned.
13970         * simplify-rtx.c (simplify_subreg): Likewise.
13971         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
13972
13973 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13974
13975         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
13976
13977 2002-08-01  Richard Henderson  <rth@redhat.com>
13978
13979         * toplev.c (parse_options_and_default_flags): Don't set
13980         flag_reorder_blocks for -Os.
13981
13982         * config/avr/avr.c (avr_optimization_options): Remove.
13983         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
13984         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
13985         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
13986
13987 2002-08-01  H.J. Lu <hjl@gnu.org>
13988             Richard Henderson  <rth@redhat.com>
13989
13990         * output.h (DECL_READONLY_SECTION): Remove.
13991         (decl_readonly_section): Declare.
13992         * varasm.c (decl_readonly_section): New.
13993         (default_section_type_flags, default_select_section): Use it.
13994         * config/arm/pe.c (arm_pe_unique_section): Likewise.
13995         * config/i386/interix.c (i386_pe_unique_section): Likewise.
13996         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
13997         * config/mcore/mcore.c (mcore_unique_section): Likewise.
13998         * config/mips/mips.c (mips_unique_section): Likewise.
13999
14000 2002-08-01  Richard Henderson  <rth@redhat.com>
14001
14002         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
14003         refers to a subroutine parameter.
14004
14005 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
14006
14007         * varasm.c (assemble_visibility): Strip name encoding.
14008
14009 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
14010
14011         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
14012         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
14013         when there is no frame pointer.
14014         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
14015         registers properly.
14016         * config/ns32k/__unorddf2.c: New file.
14017         * config/ns32k/__unordsf2.c: New file.
14018         * config/ns32k/t-ns32k: New file.
14019         * config.gcc (ns32k-*-netbsd*): Use it.
14020
14021 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
14022
14023         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
14024
14025 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14026
14027         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
14028
14029 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
14030
14031         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
14032
14033 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
14034
14035         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
14036
14037 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14038
14039         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
14040         n_sets): Removed.
14041         (expr_hash_table, set_hash_table): Type changed to ...
14042         (struct hash_table): New type.
14043         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
14044         insert_expr_in_table, insert_set_in_table, compute_hash_table,
14045         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
14046         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
14047         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
14048         (alloc_hash_table): New.
14049         (free_set_hash_table, free_expr_hash_table): Merged to ...
14050         (free_hash_table): New.
14051         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
14052         (compute_hash_table_work): New.
14053         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
14054         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
14055         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
14056         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
14057         hoist_code, one_code_hoisting_pass,
14058         trim_ld_motion_mems): Altered due to changed type of hash tables.
14059
14060 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
14061
14062         * final.c (output_alternate_entry_point):
14063         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
14064
14065 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14066
14067         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
14068         avoid ISO C style function definition.
14069
14070         * expr.c (expand_assignment): Delete unused variable.
14071
14072 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
14073
14074         * c-common.c (cb_register_builtins): Set
14075         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
14076         is given, and to 0 otherwise.
14077         * combine.c (simplify_if_then_else): HONOR_NANS
14078         implies FLOAT_MODE_P.
14079
14080 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14081
14082         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
14083         (cpp_handle_option): Don't handle it.
14084         (print_help): Update.
14085         * doc/cppopts.texi: Update.
14086
14087 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14088
14089         * c-common.c (cb_register_builtins): If C++, define
14090         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
14091         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
14092 cp:
14093         * lang-specs.h: Simplify in accordance with new code in
14094         c-common.c.
14095
14096 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14097
14098         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
14099         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
14100         * c-decl.c: Move all warning and flag variables to c-common.c.
14101         * c-format.c: Move all warning variables to c-common.c.
14102         * c-tree.h: Move all warning and flag declarations to c-common.h.
14103         * objc/objc-act.c: Move all warning variables to c-common.c.
14104         (flag_warn_protocol): Rename warn_protocol.
14105
14106 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14107
14108         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
14109
14110 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
14111
14112         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
14113         .section prefix.
14114
14115 2002-07-31  Stan Shebs  <shebs@apple.com>
14116
14117         * config.gcc (i[34567]86-*-darwin*): New configuration.
14118         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
14119         defining.
14120         (TARGET_ENCODE_SECTION_INFO): Ditto.
14121         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
14122         * config/darwin.c (machopic_indirect_data_reference): Remove
14123         setting of RTX_UNCHANGING_P.
14124         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
14125         not to be applied to sums.
14126         * config/i386/t-darwin: New file.
14127         * config/i386/darwin.h: New file.
14128         * config/i386/i386.h (TARGET_MACHO): Add default definition.
14129         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
14130         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
14131         label and not the GOT add.
14132         (constant_address_p): For Mach-O, seeing a CONST is enough.
14133         (legitimate_pic_address_disp_p): Add a Mach-O case.
14134         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
14135         (legitimize_pic_address): Use generic Mach-O code to legitimize.
14136         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
14137         if outputting a difference.
14138         (ix86_output_addr_diff_elt): Add Mach-O case.
14139         (ix86_expand_move): Similarly.
14140         (ix86_expand_call): Similarly.
14141         (current_machopic_label_num): New global.
14142         (machopic_output_stub): New function.
14143         (ix86_value_regno): New function.
14144         (ix86_function_value): Use it instead of VALUE_REGNO.
14145         (ix86_libcall_value): Ditto.
14146         * config/i386/unix.h (VALUE_REGNO): Remove.
14147
14148 2002-07-31  Graham Stott  <grahas@btinternet.com>
14149
14150         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
14151         hash for LABEL_REF's.
14152
14153 2002-07-31  Graham Stott  <grahams@btinternet.com>
14154
14155         * config/rs6000/rs6000.c (spe_init_builtins,
14156         altivec_init_builtins, rs6000_common_init_builtins):
14157         Replace ANSI with K&R function def.
14158
14159 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
14160
14161         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
14162         for CCFPmode.
14163
14164 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
14165
14166         * config/mips/crtn.asm: Don't use __mips16 to determine the
14167         return-address offset.  Define RA to a suitable temporary
14168         register for the return address.
14169
14170 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
14171
14172         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
14173         constraints to 'd'.
14174
14175 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
14176
14177         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
14178         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
14179         patch on 2002-07-29.)
14180         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14181
14182 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14183
14184         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
14185         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
14186         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
14187         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
14188         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
14189         (ASM_GLOBALIZE_LABEL): Delete.
14190         (GLOBAL_ASM_OP): Define.
14191
14192         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
14193
14194         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
14195         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
14196
14197 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
14198
14199         * doc/extend.texi (Hints implementation): Document that GCC
14200         mostly ignores `register'.
14201
14202 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
14203
14204         * flags.h: Declare flag_finite_math_only.
14205         Use it in definition of HONOR_NANS and
14206         HONOR_INFINITIES.
14207         * c-common.c (cb_register_builtins): Emit
14208         __FINITE_MATH_ONLY__ when flag_finite_math_only
14209         is set.
14210         * combine.c (simplify_if_then_else): If
14211         flag_finite_math_only is set, a == b has a
14212         definite value.
14213         * toplev.c: Initialize flag_finite_math_only.
14214         (set_flags_fast_math): Set it on -ffast-math.
14215         (flag_fast_math_set_p): Test it.
14216         * doc/invoke.texi: Document -ffinite-math-only.
14217
14218 2002-07-30  Richard Henderson  <rth@redhat.com>
14219
14220         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
14221         (noce_process_if_block): Likewise.
14222
14223 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
14224
14225         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
14226         Bail out early if false_expr is NULL and we'd crash due to this.
14227         * genemit.c (gen_expand): Recognize return insns even if the return
14228         appears in a parallel.
14229         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
14230         * config/fp-bit.c: Likewise.
14231         * doc/tm.texi: Document it.
14232
14233 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
14234             Zack Weinberg  <zack@codesourcery.com>
14235
14236         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
14237         CODE_FOR_nothing.  Change switch to if.
14238         (rs6000_expand_binop_builtin): Same.
14239         (rs6000_expand_builtin): Expand builtin if target support enabled.
14240         (rs6000_init_builtins): Init builtin if target support enabled.
14241         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
14242
14243 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14244
14245         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
14246
14247 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
14248
14249         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
14250
14251 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
14252
14253         * sh.md (cond_delay_slot): New attribute.
14254         (cbranch delay): Use it for anulled-true case.
14255         (stuff_delay_slot): New pattern.
14256         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
14257         delay slot insn.
14258         (gen_far_branch): Emit stuff_delay_slot pattern.
14259
14260 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
14261
14262         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
14263
14264 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
14265
14266         * fold-const.c: Fix comment typos.
14267         * gcse.c: Likewise.
14268         * reload1.c: Likewise.
14269
14270 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14271
14272         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
14273         for TARGET_SPE.
14274
14275 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14276
14277         * c-pretty-print.h (pp_c_statement): Declare.
14278         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
14279         (pp_c_statement): Define.
14280
14281 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14282
14283         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
14284         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
14285         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
14286         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
14287         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
14288         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
14289
14290         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
14291         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
14292
14293 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14294
14295         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
14296         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
14297         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
14298         (pp_c_expression): Update.
14299
14300 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14301
14302         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
14303         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
14304         * alpha/vms-ld.c (main): Likewise.
14305         * dsp16xx.c (double_reg_to_memory): Likewise.
14306         * mcore.c (mcore_expand_prolog): Likewise.
14307         * cppfiles.c (read_name_map): Likewise.
14308         * gensupport.c (process_rtx, identify_predicable_attribute,
14309         alter_test_for_insn): Likewise.
14310         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
14311
14312 2002-07-29  Roger Sayle  <roger@eyesopen.com>
14313
14314         * builtins.c (expand_builtin):  Change the default behavior to
14315         only issue an error if the builtin function doesn't have a
14316         fallback library call.  Remove several cases handled by the
14317         new default.
14318
14319 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
14320
14321         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
14322         floating point format of the target is IEEE.
14323         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
14324         format of the target is DEC.
14325
14326 2002-07-29  Richard Henderson  <rth@redhat.com>
14327
14328         * unroll.c (verify_addresses): Remove.
14329         (find_splittable_givs): Never split DEST_ADDR givs.
14330
14331 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
14332
14333         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
14334         is exhaustive.
14335         (Files): Improve documentation on generated source files.
14336
14337         * doc/extend.texi (Translation implementation): Document what
14338         diagnostics look like.
14339         (Identifiers implementation): Document that there's normally no
14340         limit on identifier names.
14341         (Integers implementation): Document two's complement.
14342         (Hints implementation): Document that GCC honors 'inline', mostly.
14343         (Preprocessing directives implementation): Document that GCC
14344         requires the current time.
14345
14346 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14347
14348         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
14349         (pp_initializer): New macro.
14350         (pp_c_initializer): Declare.
14351         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
14352         (pp_c_initializer): Define.
14353         (pp_c_initializer_list): New function.
14354         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
14355         VECTOR_CST, CONSTRUCTOR.
14356         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
14357         IMAGPART_EXPR.
14358         (pp_c_cast_expression): Handle FLOAT_EXPR.
14359         (pp_c_assignment_expression): Handle INIT_EXPR.
14360         (pp_c_expression): Update.
14361
14362 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
14363
14364         * objc/objc-act.c (objc_init): Return immediately if filename
14365         is NULL.
14366
14367 2002-07-29  Eric Christopher  <echristo@redhat.com>
14368
14369         * config/mips/elf.h: Remove ecoff.h and gofast includes.
14370         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
14371         (SDB_DEBUGGING_INFO): Undefine.
14372         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
14373         (PUT_SDB_SIZE): Remove.
14374         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
14375         (STARTFILE_SPEC): Add isa3264 define.
14376         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
14377         * config/mips/ecoff.h: Remove. and here...
14378         * config/mips/iris3.h: and here...
14379         * config/mips/sni-svr4.h: and here...
14380         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
14381         Add assembler -mmdebug options for non-dwarf debugging.
14382         * config/mips/r3900.h: Remove debug info defines.
14383         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
14384         * config/mips/isa3264.h: Ditto.
14385         * config/mips/t-isa3264: Fix up for file removal and gofast configure
14386         change.
14387         * config/mips/t-elf: Ditto.
14388         * config/mips/t-ecoff: Ditto.
14389         * config/mips/t-r3900: Ditto.
14390         * config/mips/t-iris5-6: Ditto.
14391         * config/mips/t-isa3264: Ditto.
14392         * config/mips/t-linux: Remove.
14393         * config/mips/t-netbsd: Remove.
14394         * config/mips/t-mips: New file.
14395         * config/mips/t-gofast: Ditto.
14396         * config/mips/netbsd.h: Remove unnecessary undefines.
14397         * config/mips/linux.h: Remove #include of mips.h.
14398         * config.gcc: Add mips.h include for elf targets. Remove tm_file
14399         for ecoff. Add gofast configure option for mips.
14400
14401 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
14402
14403         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
14404         linker scripts use STARTUP directives consistently.
14405         * configure: Regenerate.
14406         * config.in: Regenerate.
14407         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
14408         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
14409         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14410         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
14411         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
14412         will be the same.
14413
14414 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14415
14416         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
14417
14418 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14419
14420         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
14421
14422 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
14423
14424         * config/rs6000/rs6000.md: Move altivec patterns from here...
14425
14426         * config/rs6000/altivec.md: ...to here.
14427
14428 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14429
14430         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
14431
14432 2002-07-29  Richard Henderson  <rth@redhat.com>
14433
14434         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
14435         set_mem_attributes and add BITPOS argument.  Subtract it from
14436         OFFSET when same is adjusted.
14437         (set_mem_attributes): New wrapper function.
14438         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
14439         remove offset adjustment hack.
14440         * expr.h (set_mem_attributes_minus_bitpos): Declare.
14441
14442 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14443
14444         * Makefile.in (C_OBJS): Include c-pretty-print.o
14445         (c-pretty-print.o): Add depency rule.
14446         * pretty-print.h: Add more macros.
14447         * c-pretty-print.c: New file.
14448         * c-pretty-print.h: Likewise.
14449
14450 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14451
14452         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
14453         constants to __ev64_s32__.
14454         (__internal_ev_mwhgsmian): Same.
14455         (__internal_ev_mwhgsmfan): Same.
14456         (__internal_ev_mwhgssfan): Same.
14457         (__internal_ev_mwhgumiaa): Same.
14458         (__internal_ev_mwhgsmiaa): Same.
14459         (__internal_ev_mwhgsmfaa): Same.
14460         (__internal_ev_mwhgssfaa): Same.
14461
14462 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
14463
14464         * varasm.c (assemble_variable): Narrow test for uninitialized
14465         without BSS target support.
14466
14467 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
14468
14469         * profile.c: Add file comment describing the overall algorithm and
14470         structures.
14471         (struct edge_info): Add comments.
14472         (struct bb_info): Add comments.
14473         * basic-block.h (EDGE_*): Add comments.
14474         * doc/gcov.texi (Gcov Data Files): Document bit flags.
14475
14476 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
14477
14478         * config/xtensa/elf.h, config/xtensa/linux.h
14479         (TARGET_OS_CPP_BUILTINS): Define.
14480         (CPP_PREDEFINES): Remove.
14481         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
14482         (CPP_SPEC): Remove.
14483
14484 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
14485
14486         * gensupport.c: Include hashtab.h.
14487         (insn_elision, condition_table, hash_c_test, cmp_c_test,
14488         maybe_eval_c_test): New routines and data structures to
14489         support insn elision.
14490         (init_md_reader): Read and initialize the condition_table.
14491         (read_md_rtx): Discard insn patterns whose C test is provably
14492         always false.
14493         * gensupport.h: Declare new functions and data structures.
14494
14495         * genconditions.c, dummy-conditions.c: New files.
14496         * Makefile.in: Build genconditions; run it to construct
14497         insn-conditions.c; build that and link it into most gen*
14498         programs.
14499         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
14500         (GEN): Delete, unused.
14501         (STAGESTUFF): Update.
14502
14503         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
14504         CODE_FOR_nothing for all elided patterns.
14505         (main): Tweaked to support this.
14506         * genflags.c (gen_proto): Emit a static inline generator
14507         function here for all elided patterns, which simply returns
14508         NULL_RTX.
14509         (gen_insn): Do not define HAVE_xxx for elided patterns.
14510         (main): Tweaked to support this.  No need to forward-declare
14511         struct rtx_def.
14512         * genrecog.c: Do not bother emitting the C test if it's known
14513         to be true at compile time.
14514
14515 2002-07-29  Mike Stump  <mrs@apple.com>
14516
14517         * config.gcc (target_gtfiles): Initialize, as otherwise cross
14518         compilers hosted on powerpc-apple-darwin6.0 won't even build.
14519
14520 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
14521
14522         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
14523         remove clobber of LR.
14524         (sibcall_insn, sibcall_value_insn): Update accordingly.
14525         (sibcall_epilogue): Remove debugging comment from assembler stream.
14526
14527 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14528
14529         * pretty-print.h: Define more macros.
14530         * diagnostic.h (output_formatted_integer): Moved from...
14531         * diagnostic.c: ... here.
14532
14533 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14534
14535         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
14536
14537 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
14538
14539         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
14540         arguments.  Always use ".-symbol" as expression argument.
14541         * doc/tm.texi: Update to match.  Document requirement for
14542         ".size symbol, .-symbol" to be acceptable to assembler.
14543
14544         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14545         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
14546         config/i386/freebsd-aout.h, config/i386/sco5.h,
14547         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
14548         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
14549
14550 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14551
14552         * Makefile.in (gengtype-lex.c): Fix error in last change.
14553
14554         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
14555         backslash.
14556
14557         * Makefile.in (vmsdbgout.o): Depend on function.h.
14558
14559         * vmsdbgout.c: Include function.h.
14560
14561 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
14562
14563         * prefix.c (update_path): Don't strip single `.' path components
14564         unless stripping a later `..' component.  Exit loop as soon as
14565         a valid path is found.
14566
14567 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14568
14569         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
14570         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
14571         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
14572         floating point unordered comparisons (e.g. __builtin_isgreater)
14573         as const, and leave the remaining GCC_BUILTINs unchanged.
14574
14575         * c-decl.c (builtin_function): No need to explicitly mark
14576         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
14577
14578 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14579
14580         * Makefile.in: rtlanal.o now depends upon real.h.
14581
14582         * flags.h [flag_signaling_nans]: New flag.
14583         [HONOR_SNANS]: New macro.
14584
14585         * toplev.c [flag_signaling_nans]: Initialize to false.
14586         (f_options): Add processing for "-fsignaling-nans".
14587         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
14588         (process_options): flag_signaling_nans implies flag_trapping_math.
14589
14590         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
14591         when -fsignaling-nans.  First step to implementing WG14's N965.
14592
14593         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
14594         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
14595         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
14596
14597         * simplify-rtx.c (simplify_relational_operation): Conditionalize
14598         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
14599
14600         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
14601         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
14602         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
14603         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
14604         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
14605
14606         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
14607
14608 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14609
14610         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
14611         * gengtype-lex.l (YY_USE_PROTOS): Undef.
14612         (YY_DECL): Define.
14613
14614 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14615
14616         * doc/invoke.texi: Document that both -fno-builtin-foo and
14617         -fno-builtin are supported by the g++ front-end.
14618
14619 2002-07-27  Stan Shebs  <shebs@apple.com>
14620
14621         * configure.in: Rename config_gtfiles to target_gtfiles.
14622         * configure: Regenerate.
14623         * doc/gty.texi: Update reference.
14624         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
14625         instead of appending to it.
14626
14627 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
14628
14629         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
14630         vectors are split into two registers.
14631         (function_arg): Same.
14632
14633 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
14634
14635         * pa.md (extv): Check predicates before emitting extv_32.
14636
14637 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
14638
14639         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
14640         (rs6000_traceback): New var.
14641         (rs6000_override_options): Set rs6000_traceback.
14642         (rs6000_output_function_epilogue): Implement traceback options.
14643         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
14644         (rs6000_traceback_name): Declare.
14645
14646         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
14647         label reference when NO_PROFILE_COUNTERS.
14648
14649 2002-07-26  Jason Merrill  <jason@redhat.com>
14650
14651         * function.c (assign_parms): Handle frontend-directed pass by
14652         invisible reference.
14653
14654 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14655
14656         * doc/cppopts.texi: Update.
14657
14658 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14659
14660         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
14661         warnings on assertions.
14662
14663 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14664
14665         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
14666         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
14667         RID_COMPL): Remove.
14668         * c-parse.in (rid_to_yy): Similarly.
14669
14670 2002-07-26  Jason Merrill  <jason@redhat.com>
14671
14672         * c-dump.c: Resurrect.
14673         * tree-dump.c: Move C-specific stuff to c-dump.c.
14674         * c-common.h: Declare c_dump_tree.
14675         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
14676         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
14677         (c-dump.o): New rule.
14678
14679 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
14680
14681         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
14682         PowerPC64.  Replace "T" and "S" constraints with "n" when the
14683         predicate will do.  Formatting fixes.
14684         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
14685         as for extzvsi_internal1.
14686
14687 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14688
14689         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
14690         DERIV_END_LABEL_FMT): Remove.
14691         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
14692
14693 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14694
14695         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
14696         Remove.
14697
14698 2002-07-25  Stan Shebs  <shebs@apple.com>
14699
14700         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
14701         local var dwarfp.
14702         (output_compiler_stub): Remove unused locals.
14703         (output_call): Always initialize line number.
14704
14705 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14706
14707         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
14708         * sh.md (truncdiqi2, movqi_media): Likewise.
14709
14710 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14711
14712         * gcse.c (obstack_chunk_alloc): Remove.
14713         (gcse_alloc): Fix to count allocated bytes.
14714         * collect2.c (SYMBOL__MAIN): Remove.
14715
14716 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14717
14718         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
14719         HAVE_TARGET_EXECUTABLE_SUFFIX.
14720
14721 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14722
14723         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
14724         SIZE, EXPR and OFFSET.
14725
14726 2002-07-25  Richard Henderson  <rth@redhat.com>
14727
14728         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
14729         in ARRAY_REF of DECL_P case.
14730
14731 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14732
14733         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
14734         description.  Document -mips32, -mips64, and the associated -march
14735         values.  Describe the "mipsN" arguments to -march.  Say that the
14736         -mipsN options are equivalent to -march.  Reword the description
14737         of default type sizes.
14738         * toplev.h (target_flags_explicit): Declare.
14739         * toplev.c (target_flags_explicit): New var.
14740         (set_target_switch): Update target_flags_explicit.
14741         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
14742         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
14743         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
14744         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
14745         * config/mips/mips.h (mips_cpu_info): New struct.
14746         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14747         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
14748         (MIPS_CPP_SET_PROCESSOR): New macro.
14749         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
14750         Define _MIPS_ARCH and _MIPS_TUNE.
14751         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
14752         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
14753         MIPS_ISA_DEFAULT were already defined.
14754         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
14755         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
14756         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
14757         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
14758         (ABI_GAS_ASM_SPEC): Remove.
14759         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
14760         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
14761         Invoke %(asm_abi_default_spec) if no ABI was specified.
14762         (CC1_SPEC): Remove ISA -> register-size rules.
14763         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
14764         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
14765         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14766         (mips_cpu_info_table): New array.
14767         (mips_set_architecture, mips_set_tune): New fns.
14768         (override_options): Rework to make -mipsN equivalent to -march.
14769         Detect more erroneous cases, including those removed from CC1_SPEC.
14770         Don't change the ABI based on architecture, or vice versa.
14771         Unify logic with GAS.
14772         (mips_asm_file_start): Get architecture name from mips_arch_info.
14773         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
14774         (mips_parse_cpu): Take the name of the option as argument.  Handle
14775         'from-abi'.  Raise an error if the option is wrong.
14776         (mips_cpu_info_from_isa): New fn.
14777
14778 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14779
14780         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
14781         (tablejump_mips162): Likewise.
14782
14783 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
14784
14785         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
14786         int_mode_for_mode.
14787
14788 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
14789
14790         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
14791         complaining.
14792         * c-common.h (c_sizeof): Adjust definition.
14793         (c_alignof): Likewise.
14794         * c-tree.h (c_sizeof_nowarn): Now macro.
14795         * c-typeck.c (c_sizeof_nowarn): Remove definition.
14796
14797 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14798
14799         * c-decl.c (c_decode_option): No need to handle switches
14800         cpplib handles.
14801
14802 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
14803
14804         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
14805         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
14806         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
14807         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14808
14809         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14810         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
14811         config/cris/aout.h, config/i386/freebsd-aout.h,
14812         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
14813         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
14814         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
14815         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
14816         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
14817         config/xtensa/elf.h, config/xtensa/linux.h:
14818         Use the new macros.
14819         Where possible, remove redundant definitions of SIZE_ASM_OP,
14820         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14821
14822 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
14823
14824         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
14825         TARGET_ISEL, and TARGET_FPRS.
14826
14827         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
14828         -mabi=spe, -mabi=no-spe, and -misel=.
14829
14830         * config/rs6000/rs6000-protos.h: Add output_isel.
14831         Move vrsave_operation prototype here.
14832
14833         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
14834         (smaxsi3): Same.
14835         (uminsi3): Same.
14836         (umaxsi3): Same.
14837         (abssi2_nopower): Disallow when TARGET_ISEL.
14838         (*ne0): Same.
14839         (negsf2): Change to expand and rename old pattern to *negsf2.
14840         (abssf2): Change to expand and rename old pattern to *abssf2.
14841
14842         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
14843         fixunssfsi2.
14844
14845         Change patterns that check for TARGET_HARD_FLOAT or
14846         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
14847
14848         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
14849         rs6000_isel, rs6000_fprs, rs6000_isel_string.
14850         (rs6000_override_options): Add 8540 case to
14851         processor_target_table.
14852         Set rs6000_isel for the 8540.
14853         Call rs6000_parse_isel_option.
14854         (enable_mask_for_builtins): New.
14855         (rs6000_parse_isel_option): New.
14856         (rs6000_parse_abi_options): Add spe and no-spe.
14857         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
14858         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
14859         for TARGET_HARD_FLOAT.
14860         Add case for SPE_VECTOR_MODE.
14861         (rs6000_legitimize_reload_address): Handle SPE vector modes.
14862         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
14863         vector modes.
14864         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
14865         (rs6000_emit_move): Check for TARGET_FPRS.
14866         Add cases for SPE vector modes.
14867         (function_arg_boundary): Return 64 for SPE vector modes.
14868         (function_arg_advance): Check for TARGET_FPRS and
14869         Handle SPE vectors.
14870         (function_arg): Same.
14871         (setup_incoming_varargs): Check for TARGET_FPRS.
14872         (rs6000_va_arg): Same.
14873         (struct builtin_description): Un-constify mask field.  Move up in
14874         file.
14875         (bdesc_2arg): Un-constify and add SPE builtins.
14876         (bdesc_1arg): Same.
14877         (bdesc_spe_predicates): New.
14878         (bdesc_spe_evsel): New.
14879         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
14880         (rs6000_expand_binop_builtin): Same.
14881         (bdesc_2arg_spe): New.
14882         (spe_expand_builtin): New.
14883         (spe_expand_predicate_builtin): New.
14884         (spe_expand_evsel_builtin): New.
14885         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
14886         (rs6000_init_builtins): Initialize SPE builtins.  Call
14887         rs6000_common_init_builtins.
14888         (altivec_init_builtins): Move all non-altivec builtin code to...
14889         (rs6000_common_init_builtins): ...here.  New function.
14890         (branch_positive_comparison_operator): Allow NE code for SPE.
14891         (ccr_bit): Return correct ccr bit for SPE fp.
14892         (print_operand): Emit crnor in 'D' case for SPE.
14893         New case 't'.
14894         Add SPE code for 'y' case.
14895         (rs6000_generate_compare): Generate rtl for SPE fp.
14896         (output_cbranch): Handle SPE hard floats.
14897         (rs6000_emit_cmove): Handle isel.
14898         (rs6000_emit_int_cmove): New.
14899         (output_isel): New.
14900         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
14901         64-bits for SPE.
14902         (debug_stack_info): Add SPE info.
14903         (gen_frame_mem_offset): New.
14904         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
14905         Change mode of frame pointer, when saving it, to Pmode.
14906         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
14907         Misc cleanups and use gen_frame_mem_offset when appropriate.
14908
14909         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
14910         (TARGET_SPE_ABI): New.
14911         (TARGET_SPE): New.
14912         (TARGET_ISEL): New.
14913         (TARGET_FPRS): New.
14914         (FIXED_SCRATCH): New.
14915         (RTX_COSTS): Add PROCESSOR_PPC8540.
14916         (ASM_CPU_SPEC): Add case for 8540.
14917         (TARGET_OPTIONS): Add isel= case.
14918         (rs6000_spe_abi): New.
14919         (rs6000_isel): New.
14920         (rs6000_fprs): New.
14921         (rs6000_isel_string): New.
14922         (UNITS_PER_SPE_WORD): New.
14923         (LOCAL_ALIGNMENT): Adjust for SPE.
14924         (HARD_REGNO_MODE_OK): Same.
14925         (DATA_ALIGNMENT): Same.
14926         (MEMBER_TYPE_FORCES_BLK): New.
14927         (FIRST_PSEUDO_REGISTER): Set to 113.
14928         (FIXED_REGISTERS): Add SPE registers.
14929         (reg_class): Same.
14930         (REG_CLASS_NAMES): Same.
14931         (REG_CLASS_CONTENTS): Same.
14932         (REGNO_REG_CLASS): Same.
14933         (REGISTER_NAMES): Same.
14934         (DEBUG_REGISTER_NAMES): Same.
14935         (ADDITIONAL_REGISTER_NAMES): Same.
14936         (CALL_USED_REGISTERS): Same.
14937         (CALL_REALLY_USED_REGISTERS): Same.
14938         (SPE_ACC_REGNO): New.
14939         (SPEFSCR_REGNO): New.
14940         (SPE_SIMD_REGNO_P): New.
14941         (HARD_REGNO_NREGS): Adjust for SPE.
14942         (VECTOR_MODE_SUPPORTED_P): Same.
14943         (REGNO_REG_CLASS): Same.
14944         (FUNCTION_VALUE): Same.
14945         (LIBCALL_VALUE): Same.
14946         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
14947         (SPE_VECTOR_MODE): New.
14948         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
14949         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
14950         (rs6000_stack): Add spe_gp_size, spe_padding_size,
14951         spe_gp_save_offset.
14952         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
14953         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
14954         (SPE_CONST_OFFSET_OK): New.
14955         (rs6000_builtins): Add SPE builtins.
14956
14957         * testsuite/gcc.dg/ppc-spe.c: New.
14958
14959         * config/rs6000/eabispe.h: New.
14960
14961         * config/rs6000/spe.h: New.
14962
14963         * config/rs600/spe.md: New.
14964
14965         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
14966         __SIMD__ for TARGET_SPE.
14967
14968         * config.gcc: Add powerpc-*-eabispe* case.
14969         Add spe.h to user headers for powerpc.
14970
14971 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14972
14973         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
14974         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14975         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
14976
14977 2002-07-24  Richard Henderson  <rth@redhat.com>
14978
14979         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
14980         form when not optimizing.
14981
14982 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
14983
14984         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
14985         thread_pointer_rtx as unchanging.
14986
14987 2002-07-24  Michael Matz  <matz@suse.de>
14988
14989         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
14990         (free_reg): Use it.
14991
14992 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
14993
14994         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
14995         pattern.
14996         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
14997         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
14998
14999 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
15000
15001         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
15002         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
15003         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
15004
15005 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
15006
15007         * toplev.c (rest_of_compilation): Dump loops before clobbering
15008         the structure.
15009
15010 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
15011
15012         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
15013
15014 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
15015
15016         PR optimization/7291
15017         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
15018         problem on x86_64.
15019
15020 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
15021
15022         * pretty-print.h: Add macros from cp/error.c
15023
15024 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
15025
15026         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
15027         (mask64_2_operand): Declare.
15028         (build_mask64_2_operands): Declare.
15029         (and64_2_operand): Declare.
15030         (extract_MB): Declare.
15031         (extract_ME): Declare.
15032         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
15033         CONST_DOUBLE code.
15034         (mask_operand_wrap): New insn predicate.
15035         (mask64_2_operand): Likewise.
15036         (and64_2_operand): Likewise.
15037         (build_mask64_2_operands): New function.
15038         (extract_MB): New function.
15039         (extract_ME): New function.
15040         (print_operand <case m,M>): Use extract_MB and extract_ME.
15041         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
15042         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
15043         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
15044         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
15045         * config/rs6000/rs6000.md (andsi3_internal3): New
15046         (andsi3_internal3+1): Enable split for powerpc64.
15047         (andsi3_internal3+2): New split.
15048         (andsi3_internal4): Renamed old andsi3_internal3.
15049         (andsi3_internal5): New.
15050         (andsi3_internal5+1): Enable split for powerpc64.
15051         (andsi3_internal5+2): New split.
15052         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
15053         (anddi3): Handle 't' constraint.
15054         (anddi3+1): New split.
15055         (anddi3_internal2): Handle 't' constraint.
15056         (anddi3_internal2+1): New split.
15057         (anddi3_internal3): Handle 't' constraint.
15058         (anddi3_internal3+1): New split.
15059
15060 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
15061
15062         * config/rs6000/rs6000.md: Remove scratch reg on insns using
15063         addze and similar (plus (comparison r1 r2) r3) insns.  Add
15064         missing scratch reg in one case.  Formatting fixes.
15065
15066 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
15067
15068         * cppexp.c (parse_defined): Mark macro used.
15069         * cpphash.h (struct cpp_macro): New member "used".
15070         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
15071         (struct cpp_reader): New member.
15072         * cppinit.c (cpp_finish_options): Set first_unused_line.
15073         (cpp_finish): Warn of unused macros if requested.
15074         (OPT_TABLE): New switches.
15075         (cpp_handle_option): Handle them.
15076         * cpplib.c (do_undef): Warn if macro unused.
15077         (do_ifdef, do_ifndef): Mark macro used.
15078         * cpplib.h (struct cpp_options): New member.
15079         * cppmacro.c (_cpp_warn_if_unused_macro): New.
15080         (enter_macro_context): Mark macro used.
15081         (_cpp_create_definition): Mark macro unused; warn if unused
15082         when redefined.
15083         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
15084         Mark macros used.
15085         * doc/cppopts.texi: Update.
15086
15087 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15088
15089         * dwarf2out.c (SECTION_ASM_OP,
15090         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15091         * system.h (SECTION_ASM_OP): Poison.
15092         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
15093         * config/alpha/alpha-interix.h, config/mips/linux.h
15094         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15095         * config/mmix/mmix-protos.h, config/mmix/mmix.c
15096         (mmix_asm_output_define_label_difference_symbol): Remove.
15097         * config/mmix/mmix.h
15098         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15099         * doc/tm.texi: Remove documentation.
15100
15101 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
15102
15103         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
15104         (constrain_operands): Likewise.
15105         * regclass.c (record_reg_classes): Likewise.
15106         * reload.c (find_reloads): Likewise.
15107         * doc/md.texi: Likewise.
15108
15109         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
15110         * simplify-rtx.c (simplify_subreg): When converting to a non-int
15111         mode, try to convert to an integer mode of matching size first.
15112
15113         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
15114         from individual subregs, check that each subreg has been generated
15115         sucessfully.
15116
15117 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15118
15119         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
15120         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
15121         FOR_EACH_BB_IN_SBITMAP): Remove.
15122         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
15123         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
15124         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
15125         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
15126         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
15127         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
15128
15129 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15130
15131         * pretty-print.h: New file.
15132
15133 2002-07-23      Paul Koning     <pkoning@equallogic.com>
15134
15135         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
15136         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
15137         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
15138         (TARGET_G_FLOAT): Default to 0 if not defined.
15139         (ieeetoe): New, common routine to convert target format floats
15140         to internal form.
15141         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
15142         vs. others.
15143         (e113toe): Change to use ieeetoe.
15144
15145 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
15146
15147         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
15148         IBM.
15149         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
15150         (e64toe): Remove special cases for DEC and IBM. Remove support for
15151         ARM_EXTENDED_IEEE_FORMAT.
15152         (e24toe): Remove special cases for DEC.
15153         (significand_size): Simplify. Indent.
15154         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
15155         (etoieee, toieee): New.
15156         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
15157         etoieee and toieee for IEEE arithmetic.
15158
15159 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15160
15161         * doc/extend.texi: Say ISO C90, not ISO C89.
15162         * doc/invoke.texi: Likewise.
15163         * doc/standards.texi: Likewise.
15164
15165 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
15166
15167         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
15168         Fix permutation of conversion and plus/mult.
15169         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
15170         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
15171         (expand_builtin_strncpy) Ditto.
15172         (expand_builtin_memset) Ditto.
15173
15174 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15175
15176         Fix PR/7363:
15177         * c-common.c (c_sizeof_or_alignof_type): New function.
15178         (c_alignof): Remove definition.
15179         * c-common.h (c_sizeof, c_alignof): Define as macros.
15180         (c_sizeof_or_alignof_type): Declare.
15181         (my_friendly_assert): Moved from cp/cp-tree.h
15182         * c-typeck.c (c_sizeof): Remove definition.
15183
15184 2002-07-23  Jan Hubicka  <jh@suse.cz>
15185
15186         * gcse.c (try_replace_reg): Use num_changes_pending.
15187         * recog.c (num_changes_pending): New function.
15188         (validate_replace_src): Use validate_repalce_src_group.
15189         (validate_replace_src_group): New.
15190         * recog.h (validate_repalce_src_group): New.
15191         (num_changes_pending): Likewise.
15192
15193 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15194
15195         * calls.c (emit_library_call_value_1): If
15196         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
15197         libcall, const call nor pure call.
15198
15199 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15200
15201         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
15202
15203 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15204
15205         * vmsdbgout.c (SECTION_ASM_OP): Remove.
15206
15207 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15208
15209         * config/i386/i386.c (AT_BP): Remove.
15210
15211 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15212
15213         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
15214         Default definition.
15215         * gcse.c: Don't define obstack_chunk_free.
15216         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
15217         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
15218         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
15219         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
15220         Don't define obstack macros.
15221
15222 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
15223
15224         PR target/6744
15225         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
15226         ASM_OPERANDS instructions.
15227
15228 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
15229
15230         PR target/7361
15231         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
15232         constant addresses only on 68HC12.
15233
15234 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
15235
15236         * cppfiles.c (stack_include_file): Correct test of whether
15237         a dependency should be output.
15238
15239 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
15240
15241         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
15242
15243 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
15244
15245         * arm.md (movqi): If optimizing and we can create pseudos, use
15246         a ZERO_EXTEND to load from memory, then copy the result into the
15247         target.
15248         (movhi): Likewise, but only for ARMv4.
15249
15250 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
15251
15252         * ssa-ccp.c (PHI_PARMS): Remove.
15253
15254 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
15255
15256         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
15257         on big-endian targets.
15258
15259 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15260
15261         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
15262         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
15263         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
15264         New formatting macros.
15265
15266         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
15267
15268 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
15269
15270         * rtlanal.c (subreg_regno_offset): Return correct offset for
15271         big endian paradoxical subregs.
15272
15273         * optabs.c (expand_vector_unop): Don't expand using sub_optab
15274         if we got the wrong mode.
15275
15276         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
15277         * genrecog.c (write_switch, write_cond): Use it.
15278         * genemit.c (gen_exp): Likewise.
15279
15280 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15281
15282         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
15283
15284 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15285
15286         * c-decl.c (build_compound_literal): Defer compound literal decls
15287         until until file end to emit them only if they are actually used.
15288
15289 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15290
15291         * ra-build.c (check_conflict_numbers): Hide unused function.
15292         (livethrough_conflicts_bb): Avoid automatic aggregate
15293         initialization.
15294         (parts_to_webs_1): Avoid `U' integer constant modifier.
15295         (conflicts_between_webs): Wrap a variable in the macro controlling
15296         its usage.
15297         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
15298         (dump_igraph, dump_graph_cost): Avoid string concatenation
15299         (dump_static_insn_cost): Avoid automatic aggregate
15300         initialization.
15301         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
15302         initialization.
15303         (dump_cost): Avoid string concatenation
15304
15305 2002-07-21  Richard Henderson  <rth@redhat.com>
15306
15307         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
15308         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
15309
15310 2002-07-21  Richard Henderson  <rth@redhat.com>
15311
15312         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
15313         that are not unrolled completely.
15314
15315 2002-07-21  Richard Henderson  <rth@redhat.com>
15316
15317         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
15318         * loop.c (strength_reduce): Update.
15319         * toplev.c (rest_of_compilation): Do unrolling in the first
15320         loop pass, not the second.
15321
15322 2002-07-21  Richard Henderson  <rth@redhat.com>
15323
15324         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
15325         when flag_argument_noalias == 2.
15326         * alias.c (nonoverlapping_memrefs_p): Handle that.
15327         * print-rtl.c (print_mem_expr): Likewise.
15328
15329 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
15330
15331         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
15332         instead of __negdi2 directly.
15333
15334 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15335
15336         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
15337         * function.c (SYMBOL__MAIN): Remove definition.
15338         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
15339         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
15340         * profile.c (GCOV_INDEX_TO_BB): Remove.
15341         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
15342         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
15343
15344 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15345
15346         * c-lex.c (GET_ENVIRONMENT): Remove.
15347         * collect2.c (GET_ENV_PATH_LIST): Remove.
15348         (prefix_from_env): Use GET_ENVIRONMENT.
15349         * cppinit.c (GET_ENV_PATH_LIST): Remove.
15350         (init_standard_includes): Use GET_ENVIRONMENT.
15351         * defaults.h (GET_ENVIRONMENT): Define here if not already.
15352         * gcc.c (GET_ENV_PATH_LIST): Remove.
15353         (make_relative_prefix, process_command): Update.
15354         * protoize.c (GET_ENV_PATH_LIST): Remove.
15355         (do_processing): Update.
15356
15357 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
15358
15359         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
15360         (grokdeclarator): Likewise.
15361         * c-format.c (C_STD_NAME): Likewise.
15362         * c-lex.c (interpret_integer): Likewise.
15363         * c-typeck.c (build_array_ref): Likewise.
15364         * cpplex.c (_cpp_lex_direct): Likewise.
15365         * toplev.c (documented_lang_options): Likewise.
15366
15367 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15368
15369         * c-format.c (T99_I, T99_UI): Remove.
15370
15371 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15372
15373         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
15374
15375 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
15376
15377         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
15378         do_local_cprop.
15379
15380 2002-07-21  Andreas Jaeger  <aj@suse.de>
15381
15382         * reload1.c (fixup_abnormal_edges): Remove unused variable.
15383
15384 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
15385
15386         Improvements for the ifcvt pass from Michael Meissner, with patches
15387         by Richard Sandiford <rsandifo@redhat.com>
15388         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
15389         * ifcvt.c (cond_exec_changed_p): New static variable.
15390         (last_active_insn): New function, renamed from last_active_insn_p
15391         and changed to return the last active insn in a basic block. All
15392         callers updated.
15393         (block_fallthru): New function.
15394         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
15395         IFCVT_MODIFY_INSN.  All callers updated.
15396         Return false if START or END are NULL.
15397         Handle case where we're processing an insn that is already
15398         conditional.
15399
15400         (noce_process_if_block): CE_INFO argument rather than
15401         multiple args containing the involved basic blocks.  All callers
15402         changed.
15403         (process_if_block, merge_if_block, find_if_block,
15404         cond_exec_process_if_block): Likewise.
15405
15406         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
15407         changed.
15408         Use new function last_active_insn to simplify some code.
15409         New code to handle multiple tests.
15410         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
15411         cond_exec_changed_p to TRUE.
15412
15413         (process_if_block): New code to handle multiple tests.
15414         (merge_if_block): Likewise.
15415         (find_if_header): New arg PASS.  Changed to return the currently
15416         processed basic block or NULL instead of true/false. All callers
15417         changed.
15418         Call IFCVT_INIT_EXTRA_FIELDS.
15419         (block_jumps_and_fallthru_p): New function.
15420         (find_if_block): Discover opportunities to convert multiple tests.
15421         Add additional debugging output.
15422         Update the ce_info structure before returning.
15423
15424         (if_convert): Run multiple passes of if-conversion.
15425         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
15426         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
15427         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
15428         these macros.
15429
15430 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
15431
15432         * gcse.c: Include cselib.h
15433         (constptop_register): Break out from ...
15434         (cprop_insn): ... here; kill basic_block argument.
15435         (do_local_cprop, local_cprop_pass): New functions.
15436         (one_cprop_pass): Call local_cprop_pass.
15437
15438 2002-07-20  Roger Sayle  <roger@eyesopen.com>
15439
15440         * simplify-rtx.c (simplify_relational_operation): Optimize
15441         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
15442
15443 2002-07-20  Michae Matz  <matz@suse.de>
15444
15445         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
15446
15447 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
15448
15449         * cppexp.c (struct op): Add token pointer.
15450         (check_promotion, CHECK_PROMOTION): New.
15451         (optab): Update.
15452         (_cpp_parse_expr): Update, use token pointer of struct op.
15453         (reduce): Warn about change of sign owing to promotion.
15454         * cppinit.c (cpp_handle_option): New warning if -Wall.
15455         * cpplib.h (struct cpp_options): New member.
15456
15457 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
15458
15459         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
15460         fpu list.  Separate Power4 compare and delayed_compare.  Correct
15461         Power4 fpcompare.
15462         (fix_truncdfsi2_internal): Restore FPR preference.
15463         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
15464         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
15465
15466 2002-07-19  Momchil Velikov <velco@fadata.bg>
15467
15468         * reload1.c (reload_as_needed): Duplicate oldpat.
15469
15470 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
15471
15472         PR optimization/7130
15473         * loop.h (struct loop_info): Add "preconditioned".
15474         * unroll.c (unroll_loop): Set it.
15475         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
15476
15477 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
15478
15479         * rtl.def (CODE_LABEL): Remove slot 8.
15480         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
15481         (LABEL_ALTERNATE_NAME): Delete.
15482         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
15483         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15484
15485         * final.c (output_alternate_entry_point): New.
15486         (final_scan_insn): Use it instead of
15487         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
15488         of a case label being an alternate entry point.
15489
15490         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
15491         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
15492         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
15493         (field deleted).
15494         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
15495
15496         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
15497         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
15498         * doc/tm.texi: Delete documentation of
15499         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15500
15501 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15502
15503         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
15504         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
15505         (LINK_SPEC): Define.
15506         (STARTFILE_SPEC): Define.
15507         (ENDFILE_SPEC): Define.
15508
15509         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
15510         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
15511
15512         * config/mips/iris6-o32-gas.h: New file.
15513         * config.gcc (mips-sgi-irix6*o32): Use it.
15514
15515         * config/mips/t-iris5-gas: New file.
15516         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15517
15518 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
15519
15520         * cppexp.c (ALWAYS_EVAL): Remove.
15521         (optab, reduce): Always evaluate.
15522         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
15523         only if not skipping evaluation.
15524
15525 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15526
15527         * config/avr/avr.c (debug_hard_reg_set): Remove.
15528
15529 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
15530
15531         * gcc.c (cpp_options): Include "%1" (cc1_spec).
15532
15533 2002-07-19  Richard Henderson  <rth@redhat.com>
15534
15535         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
15536
15537 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
15538
15539         * prefix.c (update_path): Don't zap single `.' path components
15540         unless followed by another `.' and fix typo last patch.
15541
15542 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
15543
15544         * cppexp.c (cpp_num_mul): Remove unused parameter.
15545         (UNARY, BINARY, OTHER, binary_handler): Remove.
15546         (ALWAYS_EVAL): New.
15547         (optab): Update.
15548         (reduce): Refactor to a large switch, don't use a function
15549         pointer.
15550
15551 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
15552
15553         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
15554
15555 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
15556
15557         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
15558         (sh_expand_binop_v2sf): Likewise.
15559         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
15560         (int_gpr_dest, trunc_hi_operand): New functions.
15561         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
15562         trunc_hi_operand.
15563         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
15564         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
15565         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
15566         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
15567         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
15568         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
15569         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
15570         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
15571         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
15572         (movsf_ie+1): Likewise.
15573         (loaddi_trunc): Use int_gpr_dest predicate.
15574         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
15575         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
15576         (casesi_worker_0+[12], casesi_worker): Likewise.
15577         (shcompact_preserve_incoming_args): Likewise.
15578         (mov_nop): Use any_register_operand predicate.
15579         (mperm_w0): Use trunc_hi_operand predicate.
15580
15581 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15582
15583         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
15584         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
15585         numbering.
15586
15587 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15588
15589         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
15590
15591 2002-07-18  Richard Henderson  <rth@redhat.com>
15592
15593         PR optimization/7147
15594         * ifcvt.c (noce_get_condition): Make certain that the condition
15595         is valid at JUMP.
15596
15597 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
15598
15599         * sh.c (barrier_align, push): Shut up compiler warnings.
15600         (initial_elimination_offset,sh_media_init_builtins): Likewise.
15601         (reg_no_subreg_operand): Delete.
15602
15603 2002-07-17  Bo Thorsen  <bo@suse.de>
15604
15605         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
15606         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
15607         (STARTFILE_SPEC): Remove hardcoded library paths.
15608         (ENDFILE_SPEC): Likewise.
15609
15610 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
15611
15612         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
15613
15614         * gcse.c (try_replace_reg): Do not return false positives.
15615
15616 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15617
15618         * prefix.c: (update_path): Strip ".." components when prior dir
15619         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
15620
15621         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
15622         (ASM_OUTPUT_REG_POP): Likewise.
15623
15624 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15625
15626         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
15627         adjustments to first_reg for profiling case.
15628         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
15629         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
15630         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
15631         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
15632         (ASM_OUTPUT_REG_POP): Define.
15633         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
15634         (ASM_OUTPUT_REG_POP): Undef.
15635
15636 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15637
15638         * cpplib.c (do_sccs): Handle #sccs on all systems.
15639         * system.h (SCCS_DIRECTIVE): Poison.
15640         * config/darwin.h, config/freebsd.h, config/netbsd.h,
15641         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
15642         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
15643         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
15644         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
15645         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
15646         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
15647         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
15648         Remove all references to SCCS_DIRECTIVE.
15649         * doc/cpp.texi, doc/tm.texi: Update.
15650
15651 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
15652
15653         * regrename.c (maybe_mode_change): New function.
15654         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
15655
15656 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
15657
15658         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
15659         suppress addition when either ct or cf are zero.
15660
15661 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
15662             Glen Nakamura <glen@imodulo.com>
15663
15664         PR optimization/6713
15665         * loop.c (loop_givs_rescan): Explicitly delete the insn that
15666         sets a non-replaceable giv after issuing the new one.
15667
15668 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15669
15670         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
15671         eval_token): Clarify and correct use of "bool" variables.
15672         * cpplib.h (struct cpp_options): Similarly.
15673         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
15674         * cpptrad.c (recursive_macro): Similarly.
15675
15676 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
15677
15678         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
15679         SHmedia code.
15680
15681         * sh.md (cmpgtudi_media): Remove spurious @.
15682
15683         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
15684         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
15685
15686         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
15687         * sh-protos.h (sh_initialize_trampoline): Declare.
15688         * sh.c (sh_initialize_trampoline): New function.
15689         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
15690         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
15691         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
15692         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
15693         * sh.md (initialize_trampoline, double_shori): New patterns.
15694         (initialize_trampoline_compact): Likewise.
15695         (shmedia32_initialize_trampoline_big): Remove.
15696         (shmedia32_initialize_trampoline_little): Likewise.
15697
15698         * sh-protos.h (binary_float_operator): Remove declaration.
15699         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
15700         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
15701         (unary_float_operator, sh_expand_unop_v2sf): New functions.
15702         (sh_expand_binop_v2sf): Likewise.
15703         (zero_vec_operand): Delete.
15704         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
15705         all non-shared ones.
15706         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
15707         Enable nsb and byterev.
15708         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
15709         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
15710         in general regs.
15711         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
15712         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
15713         immediate operands.
15714         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
15715         Add DF_HI_REGS.
15716         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
15717         lowpart fp regs - only for big endian for now.
15718         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
15719         when FPU is in use.
15720         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
15721         (LOAD_EXTEND_OP): NIL for SImode.
15722         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
15723         general and fp registers is 4.
15724         PREDICATE_CODES: Amend binary_float_operator entry.
15725         Remove zero_vec_operand.  Add unary_float_operator.
15726         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
15727         subreg SET_DEST.
15728         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
15729         (truncdiqi2): Do sign extension.
15730         (movsi_media, movdi_media): Allow to use r63 to an fp register.
15731         (movdf_media, movsf_media): Likewise.
15732         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
15733         Collapse to one define_insn_and_split.  Allow immediate sources.
15734         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
15735         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
15736         (movv4sf): Allow immediate sources.
15737         (movsf_media_nofpu+1): Don't split moves to FP registers.
15738         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
15739         (movv8qi_i+3): Check against CONST0_RTX.
15740         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
15741         for input and output operands.  Fix argument 3 to gen_mextr_rl.
15742         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
15743         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
15744         (mshf0_w, fipr, ftrv): Likewise.
15745         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
15746
15747 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
15748
15749         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
15750         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
15751         * arm.c: Similarly.
15752
15753 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
15754
15755         * config/mips/mips-protos.h (mips_sign_extend): Declare.
15756         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
15757         (TARGET_SWITCHES): Remove debugh.
15758         (ISA_HAS_TRUNC_W): New macro.
15759         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
15760         (PREDICATE_CODES): Remove se_nonimmediate_operand.
15761         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
15762         any SImode move_operand.
15763         (se_nonimmediate_operand): Remove.
15764         (mips_sign_extend): New.
15765         (mips_move_2words): Use it for sign-extended source operands.
15766         (override_options): Allow integers to be put into single FPRs.
15767         (mips_secondary_reload_class): Handle integers in float registers.
15768         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
15769         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
15770         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
15771         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
15772         (fix_truncdfdi2): Provide only a single alternative, in which the
15773         integer is in a float register.  Depend on TARGET_FLOAT64 rather
15774         than TARGET_64BIT.
15775         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
15776         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
15777         (movdi_internal2): Don't allow the source operand to be sign-extended.
15778         Add alternatives for float registers.
15779         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
15780         allows sign-extension.
15781         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
15782         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
15783         float registers.  Remove TARGET_DEBUG_H_MODE test.
15784         (movhi_internal1): Rename to movhi_internal.  Don't check
15785         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
15786         (movqi_internal1): Rename to movqi_internal and remove
15787         TARGET_DEBUG_H_MODE dependency.
15788         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
15789
15790 2002-07-16  Jim Wilson  <wilson@redhat.com>
15791
15792         * toplev.c (lang_dependent_init): Create function context for
15793         init_expr_once.
15794
15795 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
15796
15797         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
15798         --gc-sections if -r.
15799         * config/cris/cris.h: Ditto.
15800
15801 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
15802
15803         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
15804         the comparison directly gives a mask suppress addition when cf is
15805         zero by complementing the mask.
15806
15807 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
15808
15809         * Makefile.in: Delete references to enquire.
15810         * enquire.c: Move to contrib.
15811
15812 2002-07-16  Stan Shebs  <shebs@apple.com>
15813
15814         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
15815         config/rs6000/darwin.h.
15816         (ASM_OUTPUT_SKIP): Ditto.
15817         (TEXT_SECTION_ASM_OP): Ditto.
15818         (DATA_SECTION_ASM_OP): Ditto.
15819         (ASM_APP_ON): Define.
15820         (ASM_APP_OFF): Define.
15821         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
15822         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
15823
15824         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
15825         (machopic_function_base_name): Declare result to be const.
15826         (machopic_non_lazy_ptr_name): Ditto.
15827         (machopic_stub_name): Ditto.
15828         * config/darwin-protos.h: Ditto for the prototypes.
15829
15830 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
15831
15832         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
15833
15834 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
15835
15836         * i386.md (prefetch): Fix for 64bit mode.
15837         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15838
15839 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
15840
15841         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
15842         * i386.c (x86_machine_dependent_reorg): New function.
15843         * i386-protos.h (x86_machine_dependent_reorg): Declare.
15844
15845 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
15846
15847         * builtins.c (std_expand_builtin_va_start): Remove unused
15848         first argument.
15849         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
15850         std_expand_builtin_va_start with just two arguments.
15851         * expr.h: Update prototypes.
15852
15853         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
15854         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
15855         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
15856         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
15857         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
15858         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
15859         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
15860         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
15861         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
15862         argument from all implementations of EXPAND_BUILTIN_VA_START
15863         and all uses of std_expand_builtin_va_start.
15864
15865 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15866
15867         * regrename.c (copy_value): Don't record high part copies.
15868
15869 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15870
15871         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
15872         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
15873         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
15874
15875 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
15876
15877         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
15878
15879         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
15880         into addsi3 using register class "x" and "y".
15881
15882         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
15883         "earlyclobber" constraint modifier for some alternative.
15884
15885         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
15886         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
15887         unordered.
15888         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
15889
15890         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
15891         (TARGET_SWITCHES): Add -mieee-compare option.
15892         (OVERRIDE_OPTIONS): 32332 is a subset of
15893         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
15894         (TARGET_SWITCHES): Fix description of bitfield option.
15895         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
15896         -mieee-compare option. Remove 32332 flag.
15897
15898 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15899
15900         * explow.c (convert_memory_address): Remove special handling
15901         when POINTERS_EXTEND_UNSIGNED < 0.
15902         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
15903         (movedi_symbolic): Fix typo.
15904         (load_fptr): Remove mode restriction so it works for SI and DI.
15905         (load_fptr_internal1): Ditto.
15906         (load_gprel): Ditto.
15907         (load_symptr_internal1): Ditto.
15908         (call_pic): Ditto.
15909         * config/ia64.c (call_operand): Modify mode check.
15910         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
15911         (ia64_expand_move): Ditto.
15912         (ia64_assemble_integer): Handle SImode function pointers.
15913         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
15914         (ia64_expand_op_and_fetch): Ditto.
15915         (ia64_expand_compare_and_swap): Ditto.
15916         (ia64_expand_lock_test_and_set): Ditto.
15917         (ia64_expand_lock_release): Ditto.
15918
15919 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15920
15921         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
15922
15923 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15924             Richard Earnshaw  <rearnsha@arm.com>
15925
15926         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
15927         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
15928
15929 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
15930
15931         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
15932         understands to be a memory clobber.
15933         * arm.c (arm_expand_prologue): Use it.
15934
15935 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
15936
15937         * ra-rewrite.c: #include reload.h, insn-config.h
15938         * ra-build.c: #include reload.h
15939         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
15940         depend on reload.h, insn-config.h.
15941
15942 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
15943
15944         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
15945         the same size as a word.
15946
15947         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
15948         BYTES_BIG_ENDIAN into account.
15949
15950 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
15951
15952         * i386.md (prefetch): Fix for 64bit mode.
15953         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15954
15955         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
15956
15957 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15958
15959         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
15960
15961 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
15962
15963         * ginclude/varargs.h: Replace with stub which issues #error.
15964         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
15965         __builtin_va_start.
15966
15967         * builtins.def (BUILT_IN_VARARGS_START): Delete.
15968         (BUILT_IN_VA_START): New.
15969         * builtins.c (expand_builtin_va_start): Eliminate first
15970         argument and code to implement pre-ISO varargs.
15971         (std_expand_builtin_va_start): Ignore first argument; it is
15972         always 1.
15973         (expand_builtin): Handle BUILT_IN_VA_START and
15974         BUILT_IN_STDARG_START identically.  Delete
15975         BUILT_IN_VARARGS_START case.
15976
15977         * function.c (assign_parms): Delete hide_last_arg and all
15978         its uses.
15979         (mark_varargs): Delete function.
15980         * function.h (struct function): Delete 'varargs' bit.
15981         (current_function_varargs): Delete macro.
15982         * tree.h: Don't declare mark_varargs.
15983
15984         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
15985         (c_expand_body): Don't call mark_varargs.
15986         * c-objc-common.c: Handle BUILT_IN_VA_START and
15987         BUILT_IN_STDARG_START identically.  Delete
15988         BUILT_IN_VARARGS_START case.
15989         * c-tree.h: Don't declare c_mark_varargs.
15990         * c-parse.in: Remove grammar rules for '&...' (which has been
15991         commented out since before 2.7.2) and for '...' in K+R
15992         argument declarations.
15993
15994         * builtins.c, function.c, integrate.c, sibcall.c,
15995         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
15996         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
15997         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
15998         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
15999         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
16000         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
16001         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
16002         config/stormy16/stormy16.c: Delete all references to
16003         current_function_varargs, and code predicated on that flag.
16004
16005         * config/alpha/alpha.c (alpha_va_start),
16006         config/arc/arc.c (arc_va_start),
16007         config/i386/i386.c (ix86_va_start),
16008         config/mips/mips.c (mips_va_start),
16009         config/mn10300/mn10300.c (mn10300_va_start),
16010         config/rs6000/rs6000.c (rs6000_va_start),
16011         config/s390/s390.c (s390_va_start),
16012         config/sh/sh.c (sh_va_start),
16013         Ignore first argument; it is always 1.
16014
16015         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
16016         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
16017         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
16018         Delete m68hc11_va_start.
16019         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
16020         No need to define EXPAND_BUILTIN_VA_START.
16021
16022         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
16023         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
16024
16025 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
16026
16027         PR optimization/7153
16028         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
16029         dies in more than one insn.
16030
16031 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
16032
16033         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
16034
16035 2002-07-15  Michael Matz  <matz@suse.de>,
16036             Daniel Berlin  <dberlin@dberlin.org>,
16037             Denis Chertykov  <denisc@overta.ru>
16038
16039         Add a new register allocator.
16040
16041         * ra.c: New file.
16042         * ra.h: New file.
16043         * ra-build.c: New file.
16044         * ra-colorize.c: New file.
16045         * ra-debug.c: New file.
16046         * ra-rewrite.c: New file.
16047
16048         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
16049         (ra-rewrite.o): New .o files for libbackend.a.
16050         (GTFILES): Add basic-block.h.
16051
16052         * toplev.c (flag_new_regalloc): New.
16053         (f_options): New option "new-ra".
16054         (rest_of_compilation): Call initialize_uninitialized_subregs()
16055         only for the old allocator.  If flag_new_regalloc is set, call
16056         new allocator, instead of local_alloc(), global_alloc() and
16057         friends.
16058
16059         * doc/invoke.texi: Document -fnew-ra.
16060         * basic-block.h (FOR_ALL_BB): New.
16061         * config/rs6000/rs6000.c (print_operand): Write small constants
16062         as @l+80.
16063
16064         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
16065         (df_reg_table_realloc): Make size at least as large as max_reg_num().
16066         (df_insn_table_realloc): Size argument now is absolute, not relative.
16067         Changed all callers.
16068
16069         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
16070         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
16071
16072         2002-06-20  Michael Matz  <matz@suse.de>
16073
16074         * df.h (struct ref.id): Make unsigned.
16075         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
16076
16077         2002-06-13  Michael Matz  <matz@suse.de>
16078
16079         * df.h (DF_REF_MODE_CHANGE): New flag.
16080         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
16081         involving subregs with invalid mode changes, when
16082         CLASS_CANNOT_CHANGE_MODE is defined.
16083
16084         2002-05-07  Michael Matz  <matz@suse.de>
16085
16086         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
16087
16088         2002-05-03  Michael Matz  <matz@suse.de>
16089
16090         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
16091
16092         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
16093
16094         * regclass.c (regclass): Work with all regs which have sets or
16095         refs.
16096         (reg_scan_mark_refs): Count regs inside (clobber ...).
16097
16098         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
16099
16100         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
16101         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
16102         add new refs.
16103         (df_bb_refs_update): Don't clear insns_modified here, ...
16104         (df_analyse): ... but here.
16105
16106         * sbitmap.c (dump_sbitmap_file): New.
16107         (debug_sbitmap): Use it.
16108
16109         * sbitmap.h (dump_sbitmap_file): Add prototype.
16110
16111         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
16112
16113         * df.c (df_insn_modify): Grow the UID table if necessary, rather
16114         than assume all emits go through df_insns_modify.
16115
16116         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
16117
16118         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
16119         increase REG_N_REFS (like flow does), so that regclass doesn't
16120         think a reg is useless, and thus, not calculate a class, when it
16121         really should have.
16122
16123         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
16124
16125         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
16126         dataflow analysis.
16127
16128 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
16129
16130         PR middle-end/7245
16131         * config/i386/i386.c (const_int_1_31_operand): New.
16132         * config/i386/i386.h (PREDICATE_CODES): Add it.
16133         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
16134         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
16135         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
16136
16137 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
16138
16139         PR target/7282
16140         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
16141         (floatunssidf2): Likewise.
16142         (floatsidf_ppc64): New insn_and_split.
16143         (floatunssidf_ppc64): Likewise.
16144
16145 2002-07-14  Andreas Jaeger  <aj@suse.de>
16146
16147         * config.gcc (sh64): Remove unused
16148         target_requires_64bit_host_wide_int.
16149
16150 2002-07-12  Roger Sayle  <roger@eyesopen.com>
16151
16152         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
16153         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
16154         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
16155         whether clear_by_pieces should be used to clear storage.
16156         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
16157
16158         * doc/tm.texi: Document these two new target macros.
16159
16160 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
16161
16162         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
16163         the scratch register.
16164         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
16165         of it, forbid reload to use it.
16166
16167 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16168
16169         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
16170         usage on 64-bit hosts, return value was truncated to 32 bits.
16171
16172 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
16173
16174         * simplify-rtx.c (simplify_subreg): Handle floating point
16175         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
16176         the element mode is requested, compute a subreg with an
16177         integer mode of the same size as the element mode first.
16178
16179 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
16180
16181         * combine.c (try_combine): When converting a paradoxical subreg
16182         to an extension, take LOAD_EXTEND_OP into account.
16183
16184 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16185
16186         * config.gcc (mips-sgi-irix6*o32): New configuration.
16187
16188         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
16189         configurations.
16190         * configure: Regenerate.
16191
16192         * config/mips/iris6-o32-as.h: New file.
16193         * config/mips/iris6-o32.h: New file.
16194
16195         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
16196         (NM_FLAGS): Define.
16197         (HAVE_AS_SHF_MERGE): Undefine.
16198
16199         * config/mips/t-iris5-as: New file.
16200         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
16201
16202         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
16203         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
16204         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
16205         dp-bit.c, fp-bit.c): Move ...
16206         * config/mips/t-iris5-6: ... here.
16207         New file, shared by IRIX 5 and IRIX 6.
16208         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
16209         mips-sgi-irix5*): Use it.
16210
16211         * config/mips/iris6.h: Remove duplicate comment.
16212
16213         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
16214         !TARGET_IRIX6]: Define.
16215         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
16216
16217         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
16218
16219 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16220
16221         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
16222         and delete code to force constant to register.
16223         * pa-protos.h (adddi3_operand): Add prototype.
16224         * pa.c (adddi3_operand): New function.
16225
16226 2002-07-11  Roger Sayle  <roger@eyesopen.com>
16227
16228         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
16229         non-ANSI builtin functions.
16230
16231 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
16232
16233         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
16234         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
16235         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
16236         (gen_const_vector_0): Use it.
16237
16238 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16239
16240         * pa.md (adddi3): For 32-bit targets, force constants to a register
16241         if they don't fit in an 11-bit immediate.  Change insn predicate to
16242         arith11_operand.  Remove comment.
16243         * pa.c (cint_ok_for_move): Fix comment.
16244         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
16245         targets.
16246
16247 2002-07-11  Tim Josling  <tej@melbpc.org.au>
16248
16249         Remove front end hard coding from gengtype.c.
16250
16251         * Makefile.in
16252         (STAGESTUFF): add gtyp-gen.h
16253         (GTFILES): Remove front end specific files.
16254         (GTFILES_FILES_LANGS): New, from configure..
16255         (GTFILES_FILES_FILES): Likewise.
16256         (GTFILES_LANG_DIR_NAMES): Likewise.
16257         (GTFILES_SRCDIR): Likewise.
16258         (gtyp-gen.h): Build from configure information.
16259         (s-gtype): Remove command line parameters from gengtype.
16260         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
16261         (mostlyclean): Delete files generated by and for gengtype.
16262
16263         * c-config-lang.in: New file.
16264
16265         * configure.in (all_gtfiles_files_langs): New. Accumulate files
16266         for each language.
16267         (all_gtfiles_files_files): New. Accumulate language for each file
16268         accumulated.
16269         (gtfiles): Pick up value for C.
16270         (srcdir): AC-SUBST this variable.
16271         (all_gtfiles_files_langs): AC-SUBST this variable.
16272         (all_gtfiles_files_files): AC-SUBST this variable.
16273
16274         * configure: Regenerate.
16275
16276         * gengtype-lex.l (parse_file): Make parameter const.
16277
16278         * gengtype.c (toplevel): include gtyp-gen.h.
16279         (BASE_FILE_<language> unnamed enum): Delete.
16280         (lang_names): Delete (replaced by gtyp-gen.h)
16281         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
16282         all references.
16283         (NUM_GT_FILES): New.
16284         (NUM_LANG_FILES): New.
16285         (srcdir_len): New.
16286         (NUM_BASE_FILES): Change calculation.
16287         (open_base_files): Change prototype to avoid warning.
16288         (startswith): Delete.
16289         (get_file_basename): Iterate through generated language list not
16290         hard coded list.
16291         (get_base_file_bitmap): Use generated list of files and languages.
16292         (close_output_files): Add prototype to rmove warning.
16293         (main): Iterate through list of generated files from gtyp-gen.h
16294         rather than command line paramaters.  Ignore duplicated file
16295         names.
16296
16297         * gengtype.h (parse_file): Amend prototype for const parameter.
16298
16299         * doc/sourcebuild.texi: Document gtfiles variable.
16300
16301         * doc/gty.texi: Document changes to gtfiles variable for front
16302         ends.
16303
16304         * objc/config-lang.in (gtfiles): Add files needed for objc front
16305         end.
16306
16307 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16308
16309         PR c/2454
16310         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
16311         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
16312
16313 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16314             Zack Weinberg <zack@codesourcery.com>
16315
16316         * builtins.def: Make the argument types of abort and exit
16317         independent of the front-end.
16318
16319 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
16320
16321         * config/rs6000/linux64.h (ASM_SPEC): Define.
16322
16323 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
16324
16325         * config/rs6000/rs6000.c (emit_frame_save): New.
16326         (rs6000_frame_related): Replace reg2 before reg.
16327         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
16328         and eh_return registers.
16329
16330 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
16331
16332         Revert all patches for optimization of Complex .op. Real.
16333         * complex_part_zero_p: Remove
16334         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
16335         with x.
16336         * expand_cmplxdiv_wide: Ditto.
16337         * expand_binop: Ditto.
16338
16339 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16340
16341         * config/avr/avr.md: Fix two 0x80000000 constants to make them
16342         negative also on 64-bit hosts.
16343
16344         Default to -fno-reorder-blocks when optimizing for size.
16345         * config/avr/avr-protos.h (avr_optimization_options): Declare.
16346         * config/avr/avr.c (avr_optimization_options): New function.
16347         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
16348
16349         Optimize returning from simple functions.
16350         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
16351         * config/avr/avr.c (avr_simple_epilogue): New function.
16352         * config/avr/avr.md (return): New insn.
16353
16354 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
16355
16356         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
16357         HAS_INIT_SECTION to protection.
16358
16359 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
16360
16361         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
16362         deprecated.
16363
16364 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
16365
16366         * combine.c (gen_lowpart_for_combine): Handle vector modes.
16367         Supply non-VOID mode to simplify_gen_subreg.
16368
16369 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
16370
16371         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
16372
16373 2002-07-10  Jeffrey A Law  <law@redhat.com>
16374
16375         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
16376         as appropriate.
16377
16378         * mn10200.c (expand_epilogue): Fix test to determine which scratch
16379         register to use.
16380
16381 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
16382
16383         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
16384         Get mode from dest.
16385         If simplify_gen_subreg fails, try next equivalent.
16386
16387 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
16388
16389         * diagnostic.h: #include location.h
16390         (location_t): Move definition to..
16391         * location.h: ... here.  New file.
16392         * tree.h: #include location.h
16393         (DECL_SOURCE_LOCATION): New macro.
16394         (DECL_SOURCE_FILE): Use.
16395         (DECL_SOURCE_LINE): Likewise.
16396         (struct tree_decl): REplace filename and linenum with locus.
16397         * Makefile.in (TREE_H): add location.h
16398         (diagnostic.o): Depends on gt-location.h
16399         (gt-location.h): Depends on s-gtype
16400
16401 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
16402
16403         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
16404         TARGET_OS_CPP_BUILTINS.
16405         * config/rs6000/aix31.h: Likewise.
16406         * config/rs6000/aix41.h: Likewise.
16407         * config/rs6000/aix43.h: Likewise.
16408         * config/rs6000/aix51.h: Likewise.
16409         * config/rs6000/beos.h: Likewise.
16410         * config/rs6000/darwin.h: Likewise.
16411         * config/rs6000/eabi.h: Likewise.
16412         * config/rs6000/eabisim.h: Likewise.
16413         * config/rs6000/linux.h: Likewise.
16414         * config/rs6000/linux64.h: Likewise.
16415         * config/rs6000/lynx.h: Likewise.
16416         * config/rs6000/mach.h: Likewise.
16417         * config/rs6000/rtems.h: Likewise.
16418         * config/rs6000/sysv4.h: Likewise.
16419         * config/rs6000/vxppc.h: Likewise.
16420
16421 2002-07-09 Devang Patel <dpatel@apple.com>
16422         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
16423         Do not allow ObjC objects as a parameter type for Objective-C methods.
16424         My previous patch restricted  'struct' also.
16425
16426 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
16427
16428         * cpperror.c (cpp_error): Default to directive_line within
16429         directives here.
16430         * cppexp.c (cpp_interpret_integer): Only use traditional
16431         number semantics in directives.
16432         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
16433         (do_include_common): Similarly.
16434         * cpptrad.c (scan_out_logical_line): Implement accurate
16435         quoting of <> in #include.
16436         * doc/cpp.texi: Update.
16437
16438 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
16439                           J"orn Rennecke <joern.rennecke@superh.com>
16440
16441         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
16442         * sh.md (attribute issues): Replace with:
16443         (attribute pipe_model).  All users changed.
16444         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
16445         All users changed.
16446         (function units sh5issue, sh5fds): New.
16447         (attribute is_mac_media): New.
16448         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
16449         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
16450         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
16451         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
16452         (call_media, call_value_media, sibcall_media): Likewise.
16453         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
16454         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
16455         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
16456         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
16457         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
16458         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
16459         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
16460         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
16461         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
16462         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
16463         (truncdfsf2_media): Likewise.
16464         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
16465         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
16466
16467 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
16468
16469         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
16470         * sh.c (general_extend_operand, inqhi_operand): New functions.
16471         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
16472         alternatives using 'N' modifier.  Add type.
16473         (adddi3z_media): Likewise.  Enable generator function generation.
16474         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
16475         exact predicates / constraints.  Add type.
16476         (subsi3): Allow 0 for SHMEDIA.
16477         (udivsi3_i4_media): Use match_operand for input values
16478         rather than hard registers.
16479         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
16480         unnecessarily through hard registers.  Keep copies of pseudo
16481         registers outside of the libcall sequence.
16482         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
16483         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
16484         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
16485         (extendhidi2, extendqidi2): Likewise.
16486         (andsi3_compact): Name.
16487         (andcdi3): Enable generator function generation.
16488         (zero_extendhisi2, zero_extendqisi2): Rename to
16489         (zero_extendhisi2_compact, zero_extendqisi2_compact).
16490         (extendhisi2, extendqisi2): Rename to
16491         (extendhisi2_compact, extendqisi2_compact).
16492         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
16493         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
16494         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
16495         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
16496         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
16497         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
16498         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
16499         (shmedia32_initialize_trampoline_big): Likewise.
16500         (shmedia32_initialize_trampoline_little): Likewise.
16501         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
16502         (negdi2): Remove spurious T clobber.
16503         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
16504         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
16505         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
16506         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
16507         (ic_invalidate_line_media): Write back data cache before invalidating
16508         instruction cache.  Add type.
16509         (movsf_media): Sign-extend when the destination is a general
16510         purpose register.  Add type.
16511         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
16512         (casesi_worker_0+1): Only increment ref count for proper label.
16513         (casesi_worker_0+2): Likewise.
16514
16515 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
16516
16517         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
16518
16519 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
16520
16521         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
16522         from Pmode to ptr_mode.
16523         (get_exception_pointer): Ditto.
16524         (connect_post_landing_pads): Ditto.
16525         (dw2_build_landing_pads): Ditto.
16526
16527 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
16528         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
16529         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
16530         (handle_pragma_redefine_extname): Change to use new function.
16531
16532 2002-07-08  Roger Sayle  <roger@eyesopen.com>
16533
16534         * combine.c (combine_simplify_rtx): Add an explicit cast
16535         to avoid signed/unsigned comparison warning.
16536         (simplify_if_then_else): Likewise.
16537         (extended_count): Likewise.
16538         (simplify_shift_const): Likewise.
16539         (simplify_comparison): Likewise.
16540
16541 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
16542
16543         * config/mips/mips.md: Add imadd type.  Update scheduler description
16544         to use imadd as well as imul.
16545         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
16546         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
16547         (*mul_sub_si): Likewise for first alternative.  Change second
16548         alternative from imul to multi.
16549
16550 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
16551
16552         * c-common.c (c_common_post_options): Update prototype;
16553         don't init backends if preprocessing only.
16554         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
16555         * langhooks.h (struct lang_hooks): Update post_options to
16556         return a boolean.
16557         * toplev.c (parse_options_and_default_flags, do_compile,
16558         lang_independent_init): Update prototypes.  Allow the
16559         front end to specify that there is no need to initialize
16560         the back end.
16561         (general_init): Move call to hex_init here...
16562         (toplev_main): ...from here.  Pass flag for back end init
16563         suppression.
16564
16565 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
16566
16567         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
16568         (PREDICATE_CODES): Add entries for equality_comparison_operator,
16569         greater_comparison_operator and less_comparison_operator.
16570         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
16571         more operators.
16572         (equality_comparison_operator): New function.
16573         (greater_comparison_operator, less_comparison_operator): Likewise.
16574         * sh.md (beq_media_i): Disable generator function generation.
16575         Use match_operator to handle a whole class of comparisons.  Add
16576         modifier in output template to provide branch prediction.  Add type.
16577         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
16578         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
16579         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
16580         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
16581
16582 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
16583
16584         Emit MMIX function prologue and epilogue as rtl.
16585         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
16586         not unprototyped get_hard_reg_initial_val.
16587         ("call_value", "nonlocal_goto_receiver"): Ditto.
16588         ("return"): Make define_expand.  Move real insn to...
16589         ("*expanded_return"): New pattern.
16590         ("prologue", "epilogue"): New define_expands.
16591         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
16592         (struct machine_function): New member in_prologue.
16593         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
16594         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
16595         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
16596         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
16597         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
16598         (LOCAL_REGNO): Define.  Adjust comment.
16599         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
16600         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
16601         leaf_function_p.
16602         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
16603         the prologue.
16604         (mmix_target_asm_function_prologue): Make static.  Just mark that
16605         the prologue is being emitted.  Move guts to...
16606         (mmix_expand_prologue): New function.  Adjust for emitting
16607         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
16608         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
16609         \n.  Move guts to...
16610         (mmix_expand_epilogue): New function.  Adjust for emitting
16611         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
16612         (mmix_target_asm_function_end_prologue): Mark that the prologue
16613         has ended.
16614         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
16615         (mmix_conditional_register_usage): Improve comments.
16616         (mmix_local_regno): New function.
16617         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
16618         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
16619         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
16620         (mmix_get_hard_reg_initial_val): Ditto.
16621
16622 2002-07-06  Andreas Jaeger  <aj@suse.de>
16623
16624         * toplev.c (set_fast_math_flags): Don't use ISO C style function
16625         definitions.
16626         * gengtype.c (open_base_files): Likewise.
16627         (close_output_files): Likewise.
16628         * tracer.c (find_best_predecessor): Likewise.
16629         (find_best_successor): Likewise.
16630         (ignore_bb_p): Likewise.
16631
16632 2002-07-05  Roger Sayle  <roger@eyesopen.com>
16633
16634         PR c++/7099
16635         * builtin-attrs.def: Define new attribute lists for use in
16636         builtins.def.
16637         * builtins.def [DEF_BUILTIN]: Modify to take an additional
16638         ATTRS argument, an enumerated value defined in builtin-attrs.def
16639         that represents the attribute list for the builtins.  Modify
16640         all builtin functions to pass an appropriate attribute list.
16641         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
16642         their required noreturn attributes.
16643         * tree.h (enum_builtin_function): Ignore the additional parameter
16644         to DEF_BUILTIN.
16645         * builtins.c (built_in_names): Likewise.
16646         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
16647         argument with a tree representing the functions attribute list.
16648         Pass this "attrs" argument to builtin_function.  No longer handle
16649         the noreturn_p processing manually.
16650         (built_in_attributes): Move the definitions from builtin-attrs.def
16651         before c_common_nodes_and_builtins.
16652         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
16653         DEF_BUILTIN, passing it to both builtin_function and the changed
16654         builtin_function_2.
16655
16656         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
16657         __builtin__exit and __builtin__Exit.
16658
16659 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16660
16661         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
16662         QI mode registers in soft registers.
16663         ("zero_extendqihi2"): Do not take into account soft registers
16664         for register allocation (use '*' constraint).
16665
16666 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16667
16668         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
16669         it is dead.
16670         ("*ashrsi3"): Likewise.
16671         ("*lshrsi3"): Likewise.
16672
16673 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
16674
16675         * genautomata.c (output_max_insn_queue_index_def): Take latencies
16676         into account.
16677
16678 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16679
16680         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
16681         address computation and memory moves.
16682
16683 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
16684
16685         PR c++/6706
16686         * dwarfout.c (output_reg_number): Fix warning message.
16687         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
16688         before using it.
16689
16690 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16691
16692         * gcc/gcc.c (asm_debug): Move initialization ...
16693         (init_spec): ... here.
16694
16695 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
16696
16697         * c-parse.in (extdef): Append ';'.
16698         (old_style_parm_decls): Append ';'.
16699
16700 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
16701
16702         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
16703         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
16704         to gcc_cv_as_gstabs_flag.
16705         * configure: Rebuilt.
16706
16707 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
16708
16709         * ggc.h (ggc_add_root): Document as obsolete.
16710
16711 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
16712
16713         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
16714         (mshflo_w): Likewise.
16715
16716 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
16717
16718         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
16719         vector mode subregs of constants to finding integer mode
16720         subregs of constants.
16721         * cse.c (cse_insn): Use simplify_gen_subreg.
16722         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
16723         From a vector mode expression of different size than the
16724         target mode.
16725
16726 2002-07-03  Eric Christopher  <echristo@redhat.com>
16727
16728         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
16729         * config/mips/mips.h: Remove deprecated -m<processor> options
16730         and cc1_cpu_spec associated.
16731         (CONSTANT_ADDRESS_P): Fix last patch.
16732         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
16733         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
16734         sunge_sf): Remove.
16735
16736 2002-07-03  Stan Shebs  <shebs@apple.com>
16737
16738         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
16739         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
16740         (CPP_SPEC): Remove insertion of APPLE_CC definition.
16741
16742 2002-07-03  Roger Sayle  <roger@eyesopen.com>
16743
16744         * combine.c (struct_undo): Change types of recorded substitutions
16745         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
16746         (do_SUBST_INT): Change types of the substitution from unsigned int
16747         to int, to avoid compilation warning from SUBST_INT's only caller.
16748
16749         (make_extraction): Add cast to avoid compilation warning.
16750         (force_to_mode): Remove cast to avoid compilation warning.
16751
16752 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
16753             Jeff Law  <law@redhat.com>
16754
16755         * i386.md (length_immediate attribute): Fix typo.
16756         (length_address attribute): Likewise.
16757         (modrm attribute): Set it to 0 for immediate call instructions.
16758         (jcc_1 pattern): Set modrm attribute to 0.
16759         (jcc_2 pattern ): Likewise.
16760         (jump pattern): Likewise.
16761         (doloop_end_internal pattern): Explicitly set length.
16762         (leave pattern): Fix typo.
16763         (leave_rex64 pattern): Likewise.
16764
16765 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
16766
16767         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
16768         in FPR as preference.
16769         (fctiwz): Same.
16770         (floatdidf2, fix_truncdfdi2): Same.
16771         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
16772         (floatditf2): Same.
16773         (floatsitf2, fix_trunctfsi2): SImode in GPR.
16774         (ctrdi): Remove FPR alternative and splitter.
16775
16776 2002-07-03  Will Cohen  <wcohen@redhat.com>
16777
16778         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
16779
16780 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
16781
16782         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
16783         than UNITS_PER_WORD, unless this is little endian and the first unit
16784         in this word.  Let extract_bit_field decide how to load an element.
16785         Force arguments to matching mode.
16786         (expand_vector_unop): Likewise.
16787
16788         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
16789         consist of word_mode elements.
16790         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
16791         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
16792         (build_unary_op): Allow vector types for BIT_NOT_EPR.
16793         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
16794         CONST_VECTOR.
16795         * optabs.c (expand_vector_binop): Try to perform operation in
16796         smaller vector modes with same inner size.  Add handling of AND, IOR
16797         and XOR.  Reject expansion to inner-mode sized scalars when using
16798         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
16799         (expand_vector_unop): Try to perform operation in smaller vector
16800         modes with same inner size.  Add handling of one's complement.
16801         When there is no vector negate operation, try a vector subtract
16802         operation.  Use simplify_gen_subreg on constants.
16803         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
16804         constants into smaller vectors with same inner mode, and to
16805         integer CONST_DOUBLEs.
16806
16807 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16808
16809         * c-parse.in (parsing_iso_function_signature): New variable.
16810         (extdef_1): New, copied from...
16811         (extdef): ... here.  Reset parsing_iso_function_signature.
16812         (old_style_parm_decls):  Reset parsing_iso_function_signature.
16813         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
16814         Warn about ISO C style function definitions.
16815         (nested_function, notype_nested_function): Reset
16816         parsing_iso_function_signature.
16817         (parmlist_2): Set parsing_iso_function_signature.
16818
16819         * doc/invoke.texi (-Wtraditional): Document new behavior.
16820
16821 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
16822
16823         * config.gcc (mips*el-*-*): Use tm_defines to set
16824         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
16825         * config/mips/little.h: Remove.
16826
16827 2002-07-02 Devang Patel <dpatel@apple.com>
16828
16829         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
16830         object as parameter. Prevent something like 'NSObject' to be
16831         used as the type for a method argument.
16832
16833 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
16834
16835         * cpptrad.c: Update comment.
16836
16837 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16838
16839         * doc/cpp.texi: Update for traditional preprocessing changes.
16840         * goc/cppopts.texi: Similarly.
16841
16842 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
16843
16844         * c-parse.in (designator): Enable designated initializers if ObjC.
16845         (objcmessageexpr): Remove references to objc_receiver_context.
16846         * objc/objc-act.h (objc_receiver_context): Remove decl.
16847         * objc/objc-act.c (objc_receiver_context): Remove.
16848         (lookup_objc_ivar): Test objc_method_context instead of
16849         objc_receiver_context.
16850
16851 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
16852
16853         * sh.c (print_operand, case 'N'): Allow zero vector.
16854         (arith_reg_or_0_operand): Likewise.
16855         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
16856         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
16857         IOR, XOR, PLUS and SET and take their respective constant
16858         ranges into account.
16859         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
16860         * sh.md (subdi3, subdi3_media): Allow zero operand.
16861         (movv8qi_i+3): Only vector that is not split is the zero vector.
16862         Fix operand 3 to simplify_subreg.
16863         (movv2si_i): Split alternative 1.
16864         (mshfhi_l_di_rev+1): New splitter.
16865
16866 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16867
16868         PR preprocessor/7029
16869         * cppinit.c (cpp_handle_option):  Suppress warnings with an
16870         implicit "-w" for "-M" and "-MM".
16871         * doc/cppopts.texi: Update.
16872
16873 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16874
16875         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
16876         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
16877         builtin_function.
16878
16879 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
16880
16881         * README.Portability: Fix typos.
16882
16883 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
16884
16885         PR target/7177
16886         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
16887         of indirections for register inside sign-extended mem part.
16888
16889 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16890
16891         * tree.h:  Modify builtin_function interface to take an extra
16892         argument ATTRS, which is a tree representing an attribute list.
16893
16894         * c-decl.c (builtin_function): Accept additional parameter.
16895         * objc/objc-act.c (builtin_function): Likewise.
16896         * f/com.c (builtin_function): Likewise.
16897         * java/decl.c (builtin_function): Likewise.
16898         * ada/utils.c (builtin_function): Likewise.
16899         * cp/decl.c (builtin_function): Likewise.
16900         (builtin_function_1): Likewise.
16901
16902         * c-common.c (c_common_nodes_and_builtins): Pass an additional
16903         NULL_TREE argument to builtin_function.  (builtin_function_2):
16904         Likewise.
16905         * cp/call.c (build_java_interface_fn_ref): Likewise.
16906         * objc/objc-act.c (synth_module_prologue): Likewise.
16907         * java/decl.c (java_init_decl_processing): Likewise.
16908         * f/com.c (ffe_com_init_0): Likewise.
16909
16910         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
16911         NULL_TREE argument to builtin_function.
16912         * config/arm/arm.c (def_builtin): Likewise.
16913         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
16914         * config/i386/i386.c (def_builtin): Likewise.
16915         * config/ia64/ia64.c (def_builtin): Likewise.
16916         * config/rs6000/rs6000.c (def_builtin): Likewise.
16917
16918 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
16919
16920         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
16921         * config/mips/t-isa3264: Likewise.
16922         * config/mmix/t-mmix: Likewise.
16923
16924 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16925
16926         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
16927
16928 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16929
16930         PR opt/4046
16931         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
16932         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
16933         B are truth values.
16934
16935 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
16936
16937         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
16938
16939 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
16940
16941         * README.Portability (Function prototypes): Give an example of
16942         declaring and defining a function with no arguments.
16943
16944         * README.Portability (Function prototypes): Document new
16945         variable-argument function macros.
16946
16947 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
16948
16949         * sh.c (langhooks.h): Include.
16950         (sh_init_builtins, sh_media_init_builtins): New functions.
16951         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
16952         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
16953         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
16954         (builtin_description): New struct tag.
16955         (signature_args, bdesc): New arrays.
16956         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
16957         (print_operand): Add 'N' modifier.
16958         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
16959         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
16960         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
16961         (CONST_COSTS): Add special case for SHmedia AND.
16962         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
16963         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
16964         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
16965         target_operand can also be const or unspec.
16966         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
16967         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
16968         (attribute type): Add new types.
16969         (anddi3): Add splitter.
16970         (movdi_const_16bit+1): Add code to handle vector constants and
16971         bitmasks efficiently.
16972         (shori_media): Have generator function made.
16973         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
16974         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
16975         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
16976         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
16977         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
16978         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
16979         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
16980         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
16981         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
16982         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
16983         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
16984         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
16985         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
16986         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
16987         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
16988         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
16989         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
16990         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
16991         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
16992         (ftrv): Likewise.
16993
16994         (fpu_switch+1, fpu_switch+2): Remove constraint.
16995
16996 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
16997
16998         * tree.c (build_function_type_list): Update function comment.
16999         Rename first argument to return_type.
17000
17001 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
17002
17003         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
17004         tradcif.y and related files.
17005
17006 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
17007
17008         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
17009
17010 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17011
17012         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
17013
17014 See ChangeLog.7 for earlier changes.