OSDN Git Service

* stmt.c (same_case_target_p): New function to determine whether
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-01-21  Roger Sayle  <roger@eyesopen.com>
2
3         * stmt.c (same_case_target_p): New function to determine whether
4         two case labels branch to the same target.  Split out from...
5         (group_case_nodes): ... here.  Use same_case_target_p instead.
6         (strip_default_case_nodes): Remove explicit case nodes
7         that branch to the default destination.
8         (expand_end_case_type): Call strip_default_case_nodes after
9         group_case_nodes, to simplify the case-list before we count it.
10         Only generate table_label RTX when actually needed.  Try to share
11         thiscase->exit_label and thiscase->data.case_stmt.default_label
12         when a switch has no explicit default case.  Simplify test for
13         constant index.
14
15 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
16
17         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
18         \t.
19         (*negsf2_h8300hs): Likewise.
20         (*addsi3_lshiftrt_16_zexthi): Likewise.
21         (*iorhi3_lshiftrt_8): Likewise.
22
23 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
24
25         * dwarf2out.c (fde_table_in_use): Mark GTY.
26         (dwarf2out_cfi_label_num): New variable, marked GTY.
27         (dwarf2out_cfi_label): Use it instead of static label_num.
28         * emit-rtl.c (label_num): Mark GTY.
29
30 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
31
32         * config/h8300/h8300.c (output_plussi): Support H8/300.
33         (compute_plussi_length): Likewise.
34         (compute_plussi_cc): Likewise.
35         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
36         output assembly instructions.
37
38 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
39
40         * calls.c (fix_unsafe_tree): Prototype.
41
42         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
43         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
44         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
45         c-parse.o-warn): Add -Wno-error.
46         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
47
48         * configure.in (--enable-werror): Add new flag.
49         * doc/install.texi (--enable-werror): Document.
50         * configure: Regenerate.
51
52         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
53
54 2003-01-21  Andreas Schwab  <schwab@suse.de>
55
56         * genautomata.c (output_internal_insn_latency_func): Fix missing
57         close paren in output.
58
59 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
60
61         * genautomata.c: Space savings in generated code:
62         (output_dfa_insn_code_func): Split out the table-enlargement
63         path to an out-of-line static function, dfa_insn_code_enlarge.
64         (output_internal_insn_latency_func): Use a lookup table for the
65         default latencies.
66         (output_print_reservation_func): Use a lookup table for the
67         strings.
68
69 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
70
71         PR opt/7507
72         * calls.c (fix_unsafe_tree): Split out from ...
73         (expand_call): ... here.  Use it on the function address too.
74
75 2003-01-20  Richard Henderson  <rth@redhat.com>
76
77         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
78
79 2003-01-20  Richard Henderson  <rth@redhat.com>
80
81         PR opt/7154
82         * stmt.c (expand_asm_operands): Validize memory operands.
83
84 2003-01-20  Richard Henderson  <rth@redhat.com>
85
86         PR opt/8848
87         * ifcvt.c (noce_process_if_block): Correct arguments to
88         modified_between_p for no-else-block case.
89
90 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
91
92         * config/h8300/h8300.c (const_costs): Remove a warning.
93         (output_plussi): Likewise.
94         (compute_plussi_length): Likewise.
95         (compute_plussi_cc): Likewise.
96
97 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
98
99         * config/h8300/h8300.md (addsi_h8300): Remove the last
100         alternative.
101
102 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
103
104         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
105
106 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
107
108         * system.h (__NO_STRING_INLINES): Define.
109
110 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
111
112         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
113         is not a scalar int mode.
114
115 2003-01-20  Roger Sayle  <roger@eyesopen.com>
116
117         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
118         insn's notes following a substitution inside a libcall.
119
120 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
121
122         * configure.in: Check for system-provided 'uchar' type.
123         * configure, config.in: Regenerate.
124         * cpphash.h: Only typedef 'uchar' if the system doesn't.
125
126 2003-01-20  Richard Henderson  <rth@redhat.com>
127
128         * expr.h (MUST_PASS_IN_STACK): Move implementation...
129         * calls.c (default_must_pass_in_stack): ... here.
130
131 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
132
133         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
134
135         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
136
137         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
138         Wrap up definition of `insn_alts'.
139
140         * genattrtab.c (main): Wrap up `insn_alts'.
141
142 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
143
144         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
145         prototyping.
146         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
147
148         * config.in, configure: Regenerate.
149
150 2003-01-20  Nick Clifton  <nickc@redhat.com>
151
152         * config/arm/arm.md (sibcall_epilogue): Add an
153         UNSPEC_PROLOGUE_USE to prevent the link register from being
154         considered dead.
155
156 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
157
158         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
159
160 2003-01-20  Andreas Schwab  <schwab@suse.de>
161
162         * system.h: Don't declare strsignal if the decl test hasn't been
163         run yet.
164
165 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
166
167         * config/h8300/h8300.c (notice_update_cc): Don't assume that
168         recog_data.operands[0] is always associated with cc0.
169
170 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
171
172         * collect2.c (ldgetname): Expand declaration to prototype.
173         * read-rtl.c (atoll): Add prototype.
174         * system.h (strsignal): Also declare if no declaration found.
175
176 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
177
178         * config.gcc (mips64*-*-linux*): Added.
179         * config/mips/linux64.h, config/mips/t-linux64: New file.
180         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
181         * config/mips/mips.c (override_options): Use it.
182         * config/mips/mips.h (TARGET_SWITCHES): Added...
183         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
184         * Makefile.in (SPECS): New.
185         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
186         * gcc.c (process_command): Move self-spec processing past spec
187         file loading.
188         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
189         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
190         CRTSTUFF_T_CFLAGS.
191         (SPECS): Document.
192         * doc/invoke.texi (-mabi-fake-default): Document.
193
194 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
195
196         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
197         z_reg, z_reg_qi): Declare static and GTY().
198         (da_reg): Remove.
199         (create_regs_rtx): Don't create da_reg.
200         ("gt-m68hc11.h"): Include for GTY roots.
201         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
202         and GTY() here.
203         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
204         (m68hc11_soft_tmp_reg): Likewise.
205         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
206
207 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
208
209         * basic-block.h: Fix comment formatting.
210         * calls.c: Likewise.
211         * combine.c: Likewise.
212         * convert.c: Likewise.
213         * gcov.c: Likewise.
214         * haifa-sched.c: Likewise.
215         * libgcc2.c: Likewise.
216         * loop.c: Likewise.
217         * profile.c: Likewise.
218         * system.h: Likewise.
219
220 2003-01-18  Roger Sayle  <roger@eyesopen.com>
221
222         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
223
224 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
225
226         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
227
228 2003-01-17  Dale Johannesen  <dalej@apple.com>
229
230         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
231           (*floatunssidf2_internal):  Ditto.
232
233 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
234
235         * alias.c: Fix comment typos.
236         * basic-block.h: Likewise.
237         * c-common.c: Likewise.
238         * c-common.h: Likewise.
239         * c-decl.c: Likewise.
240         * c-opts.c: Likewise.
241         * c-pragma.c: Likewise.
242         * c-pretty-print.h: Likewise.
243         * cfg.c: Likewise.
244         * cfganal.c: Likewise.
245         * cfgbuild.c: Likewise.
246         * cfgcleanup.c: Likewise.
247         * cfglayout.c: Likewise.
248         * cfgrtl.c: Likewise.
249         * convert.c: Likewise.
250         * cpphash.h: Likewise.
251         * cpplex.c: Likewise.
252         * cpplib.h: Likewise.
253         * df.h: Likewise.
254         * diagnostic.c: Likewise.
255         * diagnostic.h: Likewise.
256         * dwarf2.h: Likewise.
257
258 2003-01-17  Stan Shebs  <shebs@apple.com>
259
260         * config/darwin-protos.h: Forward-declare struct cpp_reader.
261
262 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
263
264         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
265         mistake in last checkin.
266
267 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
268
269         * et-forest.c: Fix comment typos.
270         * et-forest.h: Likewise.
271         * except.c: Likewise.
272         * expr.c: Likewise.
273         * flags.h: Likewise.
274         * flow.c: Likewise.
275         * gcc.c: Likewise.
276         * gcse.c: Likewise.
277         * genattrtab.c: Likewise.
278         * genautomata.c: Likewise.
279         * gengtype.c: Likewise.
280         * genrecog.c: Likewise.
281         * global.c: Likewise.
282         * gthr-rtems.h: Likewise.
283
284 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
285
286         * i386.c (x86_function_profiler): Fix format specifier.
287
288 2003-01-17  Richard Henderson  <rth@redhat.com>
289
290         * gengtype.c (walk_type): Allow paramN_is.
291
292 2003-01-17  Nick Clifton  <nickc@redhat.com>
293
294         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
295
296 2003-01-16  Richard Henderson  <rth@redhat.com>
297
298         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
299
300 2003-01-16  Richard Henderson  <rth@redhat.com>
301
302         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
303         (alpha_next_sequence_number): Likewise.
304         (alpha_this_literal_sequence_number): Likewise.
305         (alpha_this_gpdisp_sequence_number): Likewise.
306         (struct alpha_funcs, alpha_funcs_num): Likewise.
307         (struct alpha_links): Fix branch merge error.
308         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
309
310 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
311
312         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
313         R. Ghazi.
314
315 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
316
317         * ifcvt.c: Fix comment typos.
318         * lcm.c: Likewise.
319         * libgcc2.c: Likewise.
320         * local-alloc.c: Likewise.
321         * loop.c: Likewise.
322         * predict.c: Likewise.
323         * ra-build.c: Likewise.
324         * ra.c: Likewise.
325         * ra-colorize.c: Likewise.
326         * ra.h: Likewise.
327         * ra-rewrite.c: Likewise.
328         * regmove.c: Likewise.
329         * reload.h: Likewise.
330         * rtlanal.c: Likewise.
331         * toplev.c: Likewise.
332         * tree.h: Likewise.
333         * unwind-dw2-fde-glibc.c: Likewise.
334         * vmsdbgout.c: Likewise.
335
336 2003-01-16  Richard Henderson  <rth@redhat.com>
337
338         * dwarf2out.c (struct file_table): Remove.
339         (FILE_TABLE_INCREMENT): Remove.
340         (file_table): Make a varray; mark for GC.  Update all users.
341         (file_table_last_lookup_index): Extract from struct file_table.
342         (output_file_names): Fix unsigned compare warnings.
343         (add_name_attribute): Remove inline marker.
344         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
345         (lookup_filename): Don't manage size of file_table.
346         (init_file_table): Allocate file_table with GC.
347         (dwarf2out_init): Don't record main_input_filename here.
348         (dwarf2out_finish): Do it here instead.
349
350 2003-01-16  Bruce Korb  <bkorb@gnu.org>
351
352         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
353
354 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
355
356         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
357         instead of rotldi3_mextr.
358
359 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
360
361         * haifa-sched.c (move_insn): Restore moving all schedule group.
362         (set_priorities): Restore taking SCHED_GROUP_P into account.
363
364         * sched-deps.c (add_dependence): Restore processing the last group
365         insn.
366         (remove_dependence, group_leader): Restore the functions.
367         (set_sched_group_p): Restore adding dependencies from previous insn
368         in the group.
369         (compute_forward_dependences): Restore usage of group_leader.
370
371         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
372         account.
373
374         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
375         account.
376         (can_schedule_ready_p): Ditto.
377         (add_branch_dependences): Restore skipping over the group insns.
378
379 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
380
381         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
382         68HC12 pre/post inc/dec side effects.
383
384 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
385
386         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
387
388 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
389
390         * sh.md (mshflo_w_x): Fix description of operation.
391
392 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
393
394         * config/rs6000/rs6000.h: Mention Altivec registers in
395         commentary.  Fix typo.
396
397 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
398
399         * config/rs6000/rs6000.md (movti_string): Remove clobber.
400         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
401         generate PARALLEL with clobber for TARGET_POWER.
402
403 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
404
405         * ra-colorize.c (colorize_one_web): Initialize variable.
406         * regmove.c (fixup_match_1): Likewise.
407         * reload1.c (reload_as_needed): Likewise.
408         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
409
410 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
411
412         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
413
414 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
415
416         * dbxout.c (lastfile, cwd): Fix `unused' warning.
417         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
418         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
419         is_main_source, file_table, decl_die_table_in_use,
420         abbrev_die_table_in_use, line_info_table_in_use,
421         separate_line_info_table_in_use, pubname_table_in_use,
422         arange_table_in_use, ranges_table_in_use,
423         current_function_has_inlines): Likewise.
424         * flow.c (life_analysis): Likewise.
425         * genemit.c (gen_insn): Likewise.
426         * protoize.c (cplus_suffix): Likewise.
427
428         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
429         * arm.h (ROUND_UP_WORD): Likewise.
430
431         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
432         warning.
433         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
434         init_emit_once): Likewise.
435         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
436         Likewise.
437         * function.c (assign_stack_temp_for_type): Likewise.
438         * loop.c (loop_invariant_p): Likewise.
439         * recog.c (push_operand): Likewise.
440         * regclass.c (init_reg_sets_1): Likewise.
441         * reload.c (update_auto_inc_notes): Likewise.
442         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
443         * stmt.c (expand_asm_operands): Likewise.
444         * stor-layout.c (start_record_layout): Likewise.
445
446 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
447
448         * config/c4x/c4x.md (epilogue): Correct last patch.
449
450 2003-01-15  Richard Henderson  <rth@redhat.com>
451
452         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
453         also check that GP is being used.
454         (alpha_find_lo_sum_using_gp): New.
455         (alpha_does_function_need_gp): Use get_attr_usegp.
456         * config/alpha/alpha-protos.h: Update.
457         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
458         as needed.
459
460 2003-01-15  Roger Sayle  <roger@eyesopen.com>
461
462         * gcse.c (one_cprop_pass): Change function arguments to take both
463         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
464         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
465         (bypass_jumps): New function to perform separate jump bypassing pass.
466         * rtl.h (bypass_jumps): Add function prototype.
467         * timevar.def (TV_BYPASS): New timing variable.
468         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
469         (dump_file): New entry for the bypass RTL dump file.
470         (rest_of_compilation): Insert new jump bypassing optimization
471         pass after loop.
472         * doc/passes.texi: Document new pass.
473
474 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
475
476         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
477         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
478         * pa.h (TARGET_SOM_SDEF): Define.
479         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
480
481 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
482
483         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
484         allocate 4-bytes of locals on 68HC11.
485         (expand_epilogue): Likewise.
486         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
487
488 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
489
490         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
491         and -mshort-double to the assembler to specify the ABI.
492         (LINK_SPEC): Likewise.
493         (CPP_SPEC): Pass HCS12 specific define.
494         (MASK_M68S12): New define.
495         (TARGET_M68S12): Likewise.
496         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
497         (TARGET_VERSION): Update.
498         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
499         (LINK_SPEC): Update.
500         (ASM_SPEC): Update.
501         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
502         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
503
504 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
505
506         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
507         the return code.
508
509 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
510
511         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
512         flag before setting it.
513
514 2003-01-15  Roger Sayle  <roger@eyesopen.com>
515
516         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
517         when loop condition is known true, i.e.  "while (1) { ... }".
518         (genrtl_for_stmt): Similarly for "for" statements.
519
520 2003-01-15  Roger Sayle  <roger@eyesopen.com>
521
522         * real.c (real_sqrt): Return a bool result indicating whether
523         a floating point exception or trap should be raised.
524         * real.h (real_sqrt): Update function prototype.
525         * builtins.c (fold_builtin): Only fold non-trapping square
526         roots unless we're ignoring errno and trapping math.
527
528 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
529
530         * expr.h (emit_conditional_add): Add PARAMS to declaration.
531         * gengtype-lex.l (malloc, realloc): Move defines after include of
532         system.h.  Remove duplicate include of system.h.
533
534 2003-01-15  Roger Sayle  <roger@eyesopen.com>
535
536         PR middle-end/9009
537         * optabs.c (expand_unop):  When manipulating the FP sign bit
538         using integer operations, account for targets with different
539         integer and FP word orders.
540         (expand_abs): Likewise.
541
542 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
543
544         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
545         file extension in section name.
546
547 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
548
549         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
550         constant offset.
551
552 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
553
554         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
555         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
556         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
557         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
558
559 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
560
561         PR f/9258
562         * global.c (struct allocno): Add no_stack_reg.
563         (global_conflicts): Set no_stack_reg.
564         (find_reg): Use it.
565
566         * convert.c (convert_to_real): Fold - and abs only when profitable.
567         * fold-const.c (fold): Fold truncates in - and abs.
568
569 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
570
571         Segher Boessenkool  <segher@koffie.nl>
572
573         * predict.c (real_inv_br_prob_base): New variable.
574         (propagate_freq): Use multiply by reciprocal instead of
575         division.  Don't divide by 1.0 at all.
576         (estimate_bb_frequencies): Similar.
577
578 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
579
580         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
581         * configure: Rebuilt.
582
583 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
584
585         * config/s390/s390.c (s390_safe_attr_type): New function.
586         (s390_use_dfa_pipeline_interface): New function, return true for z900.
587         (s390_issue_rate): New function.
588         (s390_agen_dep_p): New function.
589         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
590         (s390_adjust_cost): Return 'cost' if new DFA is used.
591         (s390_adjust_priority): Delete function.
592         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
593         * config/s390/s390.md (atype attribute): Attribute 'atype' default
594         determined by 'op_type'.
595         (type attribute): Added more type attributes.
596         * config/s390/2064.md: New DFA description for z900 pipeline.
597
598 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
599
600         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
601         forced to memory.  Fixes PR bootstrap/9036.
602
603         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
604         to set $gp before the call.
605
606 2003-01-14  Richard Henderson  <rth@redhat.com>
607
608         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
609         for force_const_mem.
610
611 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
612
613         * genattr.c (main): Rearrange output to avoid prototype warning.
614         * genautomata.c (transform_3): Fix ambiguous-else warning.
615         * local-alloc.c (requires_inout): Add parentheses around
616         assignment used as truth-value.
617         * timevar.c: Move system includes above local includes.  Include
618         toplev.h
619         * Makefile.in (timevar.o): Depend on toplev.h.
620
621 2003-01-14  Denis Chertykov  <denisc@overta.ru>
622
623         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
624         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
625
626         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
627         attributes.
628         (TARGET_ATTRIBUTE_TABLE): New macro.
629         (valid_machine_type_attribute): Remove.
630         (valid_machine_decl_attribute): Remove.
631         (ip2k_handle_progmem_attribute): New function.
632         (ip2k_handle_fndecl_attribute): New function.
633
634 2003-01-10  Andrew Haley  <aph@redhat.com>
635
636         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
637         registers to be in correct order.  Add rip.
638
639 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
640
641         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
642         (*iorsi3_and_lshiftrt_9_sb): Likewise.
643
644 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
645
646         * convert.c (strip_float_extensions):  Look for narrowest type handling
647         FP constants.
648
649         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
650         float1 CMP float2.
651         * convert.c (strip_float_extensions): Make global.
652         * tree.h (strip_float_extensions): Declare.
653
654 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
655
656         * timevar.def: define TV_NAME_LOOKUP.
657         * timevar.c (timevar_pop): Be verbose when aborting.
658
659 2003-01-13  Andreas Schwab  <schwab@suse.de>
660
661         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
662         $(parsedir), just move the temporary file at the end.
663         ($(parsedir)/gengtype-yacc.c): Likewise.
664
665 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
666
667         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
668         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
669         splitting.
670         * configure: Rebuilt.
671
672 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
673
674         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
675         internal_mcount): Don't use PARAMS.
676         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
677         ISO C style.
678         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
679
680 2003-01-13  Andreas Schwab  <schwab@suse.de>
681
682         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
683         directive.
684
685 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
686
687         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
688         (*iorsi3_and_lshiftrt_n_sb): Likewise.
689
690 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
691
692         PR c++/9264
693         * c-lex.c (c_lex): Set the token value to error_mark_node for
694         invalid numeric constants.
695
696 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
697
698         * c-pch.c (asm_file_startpos): Change to `long'.
699         (pch_init): Use ftell, not ftello.
700         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
701         Use `long' instead of `off_t'.
702         (c_common_read_pch): Likewise.
703         * ggc-common.c (gt_pch_save): Use long/ftell instead of
704         off_t/ftello.
705
706 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
707
708         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
709
710 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
711
712         * arm-protos.h (struct cpp_reader): Add declaration.
713
714 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
715
716         PR target/9068
717         * i386.c (output_fp_compare): Fix typo.
718
719 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
720
721         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
722
723 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
724
725         * Makefile.in (parsedir): New variable.
726         (docobjdir): New variable.
727         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
728         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
729         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
730         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
731         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
732         Use docobjdir.
733         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
734         objc.maintainer-clean): Use parsedir.
735
736         * varasm.c (struct constant_descriptor_rtx): Remove unused
737         `label' field.
738
739         * toplev.c (documented_lang_options): Document -Winvalid-pch.
740
741 2003-01-10  Richard Henderson  <rth@redhat.com>
742
743         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
744         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
745
746 2003-01-10  Richard Henderson  <rth@redhat.com>
747
748         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
749         not INTEGRAL_MODE_P when widening extensions.
750
751 2003-01-10  Richard Henderson  <rth@redhat.com>
752
753         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
754
755 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
756
757         * ggc-page.c (ggc_collect): Avoid overflow computing
758         min_expand.
759
760         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
761         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
762         Remove calls.
763         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
764
765 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
766
767         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
768         with weird operands.
769
770 2003-01-10  Dale Johannesen <dalej@apple.com>
771
772         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
773         parameters.  Call check_sibcall_argument_overlap if indicated.
774         (check_sibcall_argument_overlap):  Add mark_stored_args_map
775         parameter.  Don't mark parameter area as clobbered if not set.
776         (expand_call):  Adjust calls to above.
777
778 2003-01-10 Kelley Cook <kelleycook@comcast.net>
779
780         * configure.in (linker read-only and read-write section mixing):
781         Squelch some assembler warnings.
782         * configure: Likewise.
783
784 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
785
786         * doc/invoke.texi: Document -mtune, delete -mcpu
787         option for S/390 and zSeries.
788         * config/s390/s390.c (s390_tune_string) New variable.
789         (s390_cpu_string) Delete variable.
790         (override_options): Use s390_tune_string instead of
791         s390_cpu_string.
792         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
793
794 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
795
796         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
797
798 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
799
800         * jump.c (next_nonnote_insn_in_loop): New function.
801         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
802         next_nonnote_insn.
803         (duplicate_loop_exit_test). Likewise.
804
805 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
806
807         Merge from pch-branch:
808
809         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
810
811         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
812         load.
813
814         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
815
816         * cpplib.c (count_registered_pragmas): New function.
817         (save_registered_pragmas): New function.
818         (_cpp_save_pragma_names): New function.
819         (restore_registered_pragmas): New function.
820         (_cpp_restore_pragma_names): New function.
821         * cpphash.h (_cpp_save_pragma_names): Prototype.
822         (_cpp_restore_pragma_names): Likewise.
823         * cpppch.c (struct save_macro_item): Split from save_macro_data.
824         (struct save_macro_data): New field 'saved_pragmas'.
825         (save_macros): Update for changes to struct save_macro_data.
826         (cpp_prepare_state): Call _cpp_save_pragma_names, update
827         for changes to struct save_macro_data.
828         (cpp_read_state): Call _cpp_restore_pragma_names, update
829         for changes to struct save_macro_data.
830
831         * cpppch.c (cpp_read_state): Restore the hashtable references
832         in the cpp_reader.
833
834         * tree.h (built_in_decls): Mark for PCH.
835
836         * dbxout.c (lastfile): Don't mark for PCH.
837
838         * ggc.h: Document PCH calls into memory managers.
839
840         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
841
842         * doc/invoke.texi (Precompiled Headers): Document the
843         directory form of PCH.
844         * cppfiles.c (validate_pch): New function.
845         (open_file_pch): Search suitably-named directories for PCH files.
846
847         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
848
849         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
850         reorder options.
851         (Type Information): Mention that the information is also
852         used to implement PCH.
853         * doc/passes.texi (Passes): Improve documentation of
854         language-specific files.
855
856         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
857
858         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
859         (struct walk_type_data): Add reorder_fn field.
860         (walk_type): Process 'reorder' option.
861         (write_types_process_field): Reorder parameters to gt_pch_note_object,
862         call reorder_note_routine.
863         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
864         (ggc_wtd): Update for change to struct write_types_data.
865         (pch_wtd): Likewise.
866         * ggc.h (gt_pch_note_object): Reorder parameters.
867         (gt_handle_reorder): New definition.
868         (gt_pch_note_reorder): New prototype.
869         * ggc-common.c (struct ptr_data): Add reorder_fn.
870         (gt_pch_note_object): Reorder parameters.
871         (gt_pch_note_reorder): New.
872         (gt_pch_save): Call reorder_fn.
873         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
874
875         * dbxout.c (cwd): Don't mark for PCH.
876
877         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
878
879         * gengtype.c (finish_root_table): Fix some warnings.
880         (write_root): Handle TYPE_STRING.
881         * ggc.h (gt_ggc_m_S): Add prototype.
882         * stringpool.c (gt_ggc_m_S): New function.
883
884         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
885
886         * dwarf2out.c (dw2_string_counter): New.
887         (AT_string_form): Use it.
888         (same_dw_val_p): Update for removal of hashtable.h hash tables.
889
890         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
891
892         * dbxout.c: Include gt-dbxout.h.
893         (lastfile): Mark for PCH/GGC.
894         (cwd): Likewise.
895         (struct typeinfo): Likewise.
896         (typevec): Likewise.
897         (typevec_len): Likewise.
898         (next_type_number): Likewise.
899         (struct dbx_file): Likewise.
900         (current_file): Likewise.
901         (next_file_number): Likewise.
902         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
903         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
904         (dbxout_end_source_file): Don't free struct dbx_file.
905         (dbxout_type): Use GGC to allocate typevec.
906         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
907         (GTFILES): Add dbxout.c.
908         (gt-dbxout.h): New rule.
909
910         * Makefile.in (c-pch.o): Add debug.h as dependency.
911         * c-pch.c: Include debug.h.
912         (pch_init): Call start_source_file to keep nesting right.
913         (c_common_read_pch): Add orig_name parameter.  Call
914         start_source_file debug hook.  Call end_source_file debug hook.
915         * c-common.h (c_common_read_pch): Update prototype.
916         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
917         callback.
918         * cppfiles.c (struct include_file): Add new field `header_name'.
919         (find_or_create_entry): Default it to `name'.
920         (open_file_pch): Set it to the original header file searched for.
921         (stack_include_file): Don't stack an empty buffer, just handle
922         PCH files immediately.  Pass header_name field to read_pch callback.
923
924         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
925
926         * function.c (funcdef_no): Mark to be saved in a PCH.
927
928         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
929
930         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
931
932         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
933
934         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
935
936         * optabs.h (code_to_optab): Add GTY marker.
937
938         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
939
940         * Makefile.in (GTFILES): Add cpplib.h.
941         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
942         * c-decl.c (build_compound_literal): Don't use var_labelno.
943         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
944         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
945         * varasm.c (const_labelno): Use gengtype to mark.
946         (var_labelno): Likewise.
947         (in_section): Likewise.
948         (in_named_name): Likewise.
949         (struct in_named_entry): Likewise.
950         (in_named_htab): Likewise.
951         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
952         (init_varasm_once): Use GGC to allocate in_named_htab.
953         * config/darwin.c (current_pic_label_num): Mark for PCH.
954
955         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
956
957         * ggc-simple.c (init_ggc_pch): New stub procedure.
958         (ggc_pch_count_object): Likewise.
959         (ggc_pch_total_size): Likewise.
960         (ggc_pch_this_base): Likewise.
961         (ggc_pch_alloc_object): Likewise.
962         (ggc_pch_prepare_write): Likewise.
963         (ggc_pch_write_object): Likewise
964         (ggc_pch_finish): Likewise.
965         (ggc_pch_read): Likewise.
966
967         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
968
969         * c-pch.c (c_common_write_pch): Write the macro definitions after
970         the GCed data.
971         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
972         definitions after the GCed data.
973         * cpplib.c (save_macros): New.
974         (reset_ht): New.
975         (cpp_write_pch_deps): Split out of cpp_write_pch.
976         (cpp_write_pch_state): Split out of cpp_write_pch.
977         (cpp_write_pch): Delete.
978         (struct save_macro_data): Delete.
979         (cpp_prepare_state): New.
980         (cpp_read_state): Erase and restore initial macro definitions.
981         * cpplib.h (struct save_macro_data): Forward-declare.
982         (cpp_write_pch_deps): Prototype.
983         (cpp_write_pch_state): Prototype.
984         (cpp_write_pch): Delete prototype.
985         (cpp_prepare_state): Prototype.
986         (cpp_read_state): Add fourth argument.
987
988         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
989
990         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
991         (write_array): Remove warning.
992
993         * gengtype.c (contains_scalar_p): New.
994         (finish_root_table): Add the table to all languages, even if it's
995         empty.
996         (write_roots): Output gt_pch_scalar_rtab.
997         * ggc-common.c (gt_pch_save): Write out scalars.
998         (gt_pch_restore): Read scalars back.
999
1000         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
1001         (struct page_entry): Delete pch_page field.
1002         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
1003         (clear_marks): Likewise.
1004         (sweep_pages): Likewise.
1005         (poison_pages): Likewise.
1006         (ggc_print_statistics): Likewise.
1007         (ggc_pch_read): Don't free objects read from a PCH.
1008         Properly set up in_use_p and page_tails.
1009
1010         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
1011
1012         * gengtype.c (struct write_types_data): New.
1013         (struct walk_type_data): Make `cookie' const; add extra
1014         prev_val item; add `orig_s' field.
1015         (walk_type): Update prev_val[3].
1016         (write_types_process_field): New.
1017         (write_func_for_structure): Take write_types_data structure.
1018         (write_types): New.
1019         (ggc_wtd): New.
1020         (pch_wtd): New.
1021         (write_types_local_process_field): New.
1022         (gc_mark_process_field): Delete.
1023         (write_local_func_for_structure): New.
1024         (gc_mark_func_name): Delete.
1025         (write_gc_types): Delete.
1026         (write_local): New.
1027         (finish_root_table): Don't include 'ggc_' in PFX.
1028         (write_root): Rename from write_root.  Fill pchw field of structures.
1029         (write_array): New.
1030         (write_roots): Rename from write_gc_roots.  Split out to write_array.
1031         Update to changes to other routines.  Write gt_pch_cache_rtab table.
1032         (main): Write PCH walking routines.
1033         * ggc-common.c: Include toplev.h, sys/mman.h.
1034         (ggc_mark_roots): For cache hashtables, also mark the hash table
1035         and the array of entries.
1036         (saving_htab): New.
1037         (struct ptr_data): New.
1038         (POINTER_HASH): New.
1039         (gt_pch_note_object): New.
1040         (saving_htab_hash): New.
1041         (saving_htab_eq): New.
1042         (struct traversal_state): New.
1043         (call_count): New.
1044         (call_alloc): New.
1045         (compare_ptr_data): New.
1046         (relocate_ptrs): New.
1047         (write_pch_globals): New.
1048         (struct mmap_info): New.
1049         (gt_pch_save): New.
1050         (gt_pch_restore): New.
1051         * ggc-page.c (ROUND_UP_VALUE): New.
1052         (ROUND_UP): New.
1053         (struct page_entry): Add field `pch_page'.
1054         (init_ggc): Use ROUND_UP.
1055         (struct ggc_pch_data): Declare.
1056         (init_ggc_pch): New.
1057         (ggc_pch_count_object): New.
1058         (ggc_pch_total_size): New.
1059         (ggc_pch_this_base): New.
1060         (ggc_pch_alloc_object): New.
1061         (ggc_pch_prepare_write): New.
1062         (ggc_pch_write_object): New.
1063         (ggc_pch_finish): New.
1064         (ggc_pch_read): New.
1065         * ggc.h (gt_pointer_operator): New.
1066         (gt_note_pointers): New.
1067         (gt_pch_note_object): New prototype.
1068         (gt_pointer_walker): New.
1069         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
1070         (LAST_GGC_ROOT_TAB): Update.
1071         (gt_pch_cache_rtab): Declare.
1072         (gt_pch_scalar_rtab): Declare.
1073         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
1074         (LAST_GGC_CACHE_TAB): Update.
1075         (gt_pch_save_stringpool): Declare.
1076         (gt_pch_restore_stringpool): Declare.
1077         (gt_pch_p_S): Declare.
1078         (gt_pch_n_S): Declare.
1079         (struct ggc_pch_data): Forward-declare.
1080         (init_ggc_pch): Declare.
1081         (ggc_pch_count_object): Declare.
1082         (ggc_pch_total_size): Declare.
1083         (ggc_pch_this_base): Declare.
1084         (ggc_pch_alloc_object): Declare.
1085         (ggc_pch_prepare_write): Declare.
1086         (ggc_pch_write_object): Declare.
1087         (ggc_pch_finish): Declare.
1088         (ggc_pch_read): Declare.
1089         (gt_pch_save): Declare.
1090         (gt_pch_restore): Declare.
1091         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
1092         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
1093         const_double_htab, mem_attrs_htab using GGC.
1094         * c-pch.c: Include ggc.h.
1095         (pch_init): Allow reading PCH file back.
1096         (c_common_write_pch): Call gt_pch_save.
1097         (c_common_read_pch): Call gt_pch_restore.
1098         * c-parse.in (init_reswords): Delete now-untrue comment.
1099         Allocate ridpointers using GGC.
1100         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
1101         calling expand_deferred_fns.
1102         * c-common.h (ridpointers): Mark for GTY machinery.
1103         * Makefile.in (stringpool.o): Update dependencies.
1104         (c-pch.o): Update dependencies.
1105         (ggc-common.o): Update dependencies.
1106         * stringpool.c: Include gt-stringpool.h.
1107         (gt_pch_p_S): New.
1108         (gt_pch_n_S): New.
1109         (struct string_pool_data): New.
1110         (spd): New.
1111         (gt_pch_save_stringpool): New.
1112         (gt_pch_restore_stringpool): New.
1113         * tree.c (init_ttree): Make type_hash_table allocated using GC.
1114
1115         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
1116
1117         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
1118         (output_mangled_typename): Don't pass size_t to printf.
1119
1120         * tree.h (union tree_type_symtab): Add tag to `address' field.
1121         (union tree_decl_u2): Add tag to 'i' field.
1122         * varasm.c (union rtx_const_un): Add tags to all fields.
1123         * gengtype.c (struct walk_type_data): New.
1124         (output_escaped_param): Take struct walk_type_data parameter.
1125         (write_gc_structure_fields): Delete.
1126         (walk_type): New.
1127         (write_gc_marker_routine_for_structure): Delete.
1128         (write_func_for_structure): New.
1129         (gc_mark_process_field): New.
1130         (gc_mark_func_name): New.
1131         (gc_counter): Delete.
1132         (write_gc_types): Use write_func_for_structure.
1133         (write_gc_roots): Use walk_type.
1134
1135         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
1136
1137         * ggc-common.c (ggc_mark_roots): Delete 'x'.
1138         (ggc_splay_dont_free): Fix warning about unused 'x'.
1139         (ggc_print_common_statistics): Remove warnings.
1140
1141         2002-10-01  Mike Stump  <mrs@apple.com>
1142
1143         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
1144         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
1145
1146         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
1147             Catherine Moore  <clm@redhat.com>
1148
1149         * Makefile (c-pch.o): Update dependencies.
1150         (LIBCPP_OBJS): Add cpppch.o.
1151         (cpppch.o): New.
1152         * c-common.c (c_common_init): Don't call pch_init here.
1153         * c-common.h (c_common_read_pch): Update prototype.
1154         * c-lex.c (c_common_parse_file): Call pch_init here.
1155         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
1156         (c_common_decode_option): Handle them.
1157         * c-pch.c: Include c-pragma.h.
1158         (save_asm_offset): Delete.
1159         (pch_init): Move contents of save_asm_offset into here, call
1160         cpp_save_state.
1161         (c_common_write_pch): Call cpp_write_pch.
1162         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
1163         cpp_valid_state.
1164         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
1165         * cppfiles.c (stack_include_file): Update for change to
1166         parameters of cb.read_pch.
1167         * cpphash.h (struct cpp_reader): Add `savedstate' field.
1168         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
1169         `restore_pch_deps' fields.
1170         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
1171         (cpp_save_state): Prototype.
1172         (cpp_write_pch): Prototype.
1173         (cpp_valid_state): Prototype.
1174         (cpp_read_state): Prototype.
1175         * cpppch.c: New file.
1176         * flags.h (version_flag): Remove prototype.
1177         * mkdeps.c (deps_save): New.
1178         (deps_restore): New.
1179         * mkdeps.h (deps_save): Prototype.
1180         (deps_restore): Prototype.
1181         * toplev.c (late_init_hook): Delete.
1182         (version_flag): Make static again.
1183         (compile_file): Don't call late_init_hook.
1184         * toplev.h (late_init_hook): Delete.
1185         * doc/cppopts.texi: Document -fpch-deps.
1186         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
1187
1188         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
1189
1190         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
1191         callers.
1192         (c_common_valid_pch): Rename from c_valid_pch, change callers.
1193         (c_common_read_pch): Rename from c_read_pch, change callers.
1194
1195         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
1196         a space between it and its argument.
1197
1198         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
1199
1200         * c-pch.c: New file.
1201         * toplev.h (late_init_hook): Declare.
1202         * toplev.c (late_init_hook): Define.
1203         (version_flag): Make globally visible.
1204         (compile_file): Call late_init_hook.
1205         (init_asm_output): Make output file seekable.
1206         * gcc.c (default_compilers): Update c-header rule.
1207         * flags.h (version_flag): Declare.
1208         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
1209         fields.
1210         * cppfiles.c (struct include_file): Add 'pch' field.
1211         (INCLUDE_PCH_P): New.
1212         (open_file_pch): New.
1213         (stack_include_file): Handle PCH files specially.
1214         (find_include_file): Call open_file_pch instead of open_file.
1215         (_cpp_read_file): Explain why open_file is used instead of
1216         open_file_pch.
1217         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
1218         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
1219         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
1220         in cpplib callbacks.
1221         * c-common.c (pch_file): Correct comment.
1222         (allow_pch): Define.
1223         (c_common_init): Call pch_init.
1224         * c-common.h (allow_pch): Declare.
1225         (pch_init): Declare.
1226         (c_valid_pch): Declare.
1227         (c_read_pch): Declare.
1228         (c_write_pch): Declare.
1229         * Makefile.in (c-pch.o): New.
1230         (C_AND_OBJC_OBJS): Add c-pch.o.
1231         * doc/invoke.texi (Precompiled Headers): Add index entries,
1232         complete truncated paragraph.
1233
1234         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
1235
1236         * c-common.c: (pch_file): Define.
1237         * c-common.h (pch_file): Declare.
1238         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
1239         (missing_arg): Require --output-pch= to have an argument.
1240         (c_common_decode_option): Handle --output-pch=.
1241         * gcc.c: Document new %V.
1242         (default_compilers): Handle compiling C header files.
1243         (do_spec_1): Implement %V.
1244         (main): Handle "gcc foo.h" without trying to run linker.
1245         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
1246         (Overall Options): Document what the driver does with header files,
1247         document new -x option possibilities.
1248         (Invoking G++): More documentation for PCH.
1249         (Precompiled Headers): New.
1250
1251         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
1252
1253         * ggc.h: Don't include varray.h.  Rearrange functions to be more
1254         organized.
1255         (ggc_add_root): Delete.
1256         (ggc_mark_rtx): Delete.
1257         (ggc_mark_tree): Delete.
1258         (struct ggc_statistics): Remove contents.
1259         * ggc-common.c: Remove unneeded includes.
1260         (struct ggc_root): Delete.
1261         (roots): Delete.
1262         (ggc_add_root): Delete.
1263         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
1264         (ggc_print_common_statistics): Remove most of the contents.
1265         * Makefile.in (GGC_H): No longer uses varray.h.
1266         (ggc-common.o): Update dependencies.
1267         (c-parse.o): Add varray.h to dependencies.
1268         (c-common.o): Add varray.h.
1269         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
1270         (mark_ident_hash): Rename to ggc_mark_stringpool.
1271         (init_stringpool): Don't use ggc_add_root.
1272         * c-parse.in: Include varray.h.
1273         * c-common.c: Include varray.h.
1274         * objc/Make-lang.in (objc-act.o): Add varray.h.
1275         * objc/objc-act.c: Include varray.h.
1276
1277         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
1278
1279         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
1280         (dw_cfi_oprnd1_desc): Likewise.
1281
1282         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
1283
1284         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
1285         move out of ifdef.
1286         (alpha_links): Use gengtype to mark; move out of ifdef.
1287         (mark_alpha_links_node): Delete.
1288         (mark_alpha_links): Delete.
1289         (alpha_need_linkage): Use GGC to allocate splay tree, struct
1290         alpha_links, strings.  Don't use ggc_add_root.
1291         * ggc-common.c (ggc_splay_alloc): New.
1292         (ggc_splay_dont_free): New.
1293         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
1294         (ggc_mark_tree): Likewise.
1295         (splay_tree_new_ggc): New.
1296         (ggc_splay_alloc): Declare.
1297         (ggc_splay_dont_free): Declare.
1298         * dwarf2asm.c: Include gt-dwarf2asm.h.
1299         (mark_indirect_pool_entry): Delete.
1300         (mark_indirect_pool): Delete.
1301         (indirect_pool): Use gengtype to mark.
1302         (dw2_force_const_mem): Don't use ggc_add_root.
1303         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
1304         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
1305         (gt-dwarf2asm.h): Depend on s-gtype.
1306
1307         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
1308
1309         * tree.h (union tree_type_symtab): Mark `die' field.
1310         * Makefile.in (dwarf2out.o): Update dependencies.
1311         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
1312         hash tables.
1313         (dw_cfi_oprnd1_desc): New function.
1314         (dw_cfi_oprnd2_desc): New function.
1315         (indirect_string_alloc): Delete.
1316         (debug_str_do_hash): New function.
1317         (debug_str_eq): New function.
1318         (mark_limbo_die_list): Delete.
1319         (dwarf2out_init): Don't call ggc_add_root.
1320
1321 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
1322
1323         The following changes are merged from itanium-sched-branch:
1324
1325         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1326
1327         * doc/md.texi: Clarify assignment of units to automata description.
1328
1329         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
1330
1331         * genautomata.c (unit_decl): Remove members
1332         `the_same_automaton_unit' and
1333         `the_same_automaton_message_reported_p'.
1334         (process_unit_to_form_the_same_automaton_unit_lists,
1335         form_the_same_automaton_unit_lists_from_regexp,
1336         form_the_same_automaton_unit_lists, the_same_automaton_lists):
1337         Remove them.
1338         (annotation_message_reported_p): New global variable.
1339         (check_unit_distribution_in_reserv,
1340         check_regexp_units_distribution): New functions.
1341         (check_unit_distributions_to_automata): Rewrite it.
1342
1343         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
1344
1345         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
1346         Use continue instead of break if cycle is too big.
1347
1348         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
1349
1350         * genautomata.c (check_unit_distributions_to_automata): Output at
1351         most one message for a unit.
1352         (process_unit_to_form_the_same_automaton_unit_lists): Check
1353         automaton of units instead of units themself.
1354
1355         * doc/md.texi: Describe the constraint about assigning unit to
1356         automata.
1357
1358         2002-12-20  Jan Hubicka  <jH@suse.cz>
1359                     Vladimir Makarov  <vmakarov@redhat.com>
1360
1361         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
1362         and `in_set_p'.
1363         (gen_cpu_unit): Initialize the new members.
1364         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
1365         up `min_occ_cycle_num'.
1366         (evaluate_max_reserv_cycles): Change the function call.
1367         (CLEAR_BIT): New macro.
1368         (states_union, state_shift): Use the mask.
1369         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
1370         (form_reservs_matter): New function.
1371         (make_automaton): Call the function and use the mask.
1372         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
1373         account.
1374
1375         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1376
1377         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
1378
1379         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1380
1381         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
1382         for Itanium.
1383
1384         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1385
1386         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
1387         default cpu.
1388
1389         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1390                 2002-10-31  Dale Johannesen <dalej@apple.com>
1391
1392         * haifa-sched.c (find_set_reg_weight): New function.
1393         (find_insn_reg_weight): Use the new function.
1394         (schedule_block): Do sorting ready queue always
1395         after insn issue.
1396
1397         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
1398
1399         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
1400
1401         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
1402
1403         * haifa-sched.c (choice_entry): New structure.
1404         (choice_stack, cycle_issued_insns): New variables.
1405         (max_issue): Rewrite it.
1406         (choose_ready): Set up ready_try for unknown insns too.
1407         (schedule_block): Allocate and free choice_stack.  Set up
1408         and modify cycle_issued_insns.
1409
1410         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
1411         with and without filling the bundle.
1412         (bundling): Combine calls of issue_nops_and_insn.
1413
1414         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
1415
1416         * config/ia64/itanium1.md: New file.
1417
1418         * config/ia64/itanium2.md: New file.
1419
1420         * config/ia64/ia64.md: Move DFA descriptions into the new files.
1421         Remove the old pipeline description.
1422
1423         * config/ia64/ia64.c (ia64_override_options): Add aliases of
1424         itanium processor names.
1425
1426         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
1427
1428         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
1429         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
1430
1431         * config/ia64/ia64.md: Add descriptions for Itanium2.
1432
1433         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1434
1435         * config/ia64/ia64.h (processor_type): New enumeration.
1436         (ia64_tune, ia64_tune_string): New external declarations.
1437         (TARGET_OPTIONS): Add option `tune='.
1438
1439         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
1440         variables.
1441         (ia64_override_options): Set up `ia64_tune'.
1442         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
1443         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
1444         (bundling): Add nops for MM-insns only for Itanium.
1445         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
1446         Itanium.
1447
1448         * config/ia64/ia64.md (cpu): New attribute.
1449         (DFA description): Enable it only for Itanium.
1450
1451         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1452                     Richard Henderson  <rth@redhat.com>
1453
1454         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
1455         MASK_EARLY_STOP_BITS.
1456         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
1457         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
1458         `early-stop-bits'.
1459
1460         * config/ia64/ia64.c (ia64_dfa_new_cycle,
1461         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
1462         instead of TARGET_TUNE_STOP_BITS.
1463
1464         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
1465         `-mearly-stop-bits'.
1466
1467         * config/ia64/ia64.c (automata_option "v"): Comment it.
1468
1469         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
1470
1471         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
1472         New macros.
1473         (TARGET_SWITCHES): Add entries for the new option.
1474
1475         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
1476         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
1477         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
1478         global variables.
1479         (ia64_sched_reorder2): Set up `clocks'.
1480         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
1481         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
1482         queue when TARGET_TUNE_STOP_BITS.
1483         (bundling): Insert additional nops for MM-insns.
1484         (final_emit_insn_group_barriers): Add insertion of stop bits
1485         according `stops_p'.
1486         (ia64_reorg): Initiate the new varibales.
1487
1488         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
1489
1490         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
1491
1492         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
1493         insns at the end of block insn scheduling.
1494
1495         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
1496
1497         * sched-deps.c (remove_dependence, group_leader): Remove it.
1498         (add_dependence): Add dependence to group leader to.
1499         (set_sched_group_p): Add dependence to the first insn of the
1500         schedule group too.
1501         (sched_analyze_insn): Make dependence to jump as anti-dependence.
1502         Change true dependence by anti-dependence when
1503         `reg_pending_barrier'.
1504
1505         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
1506         add_branch_dependences): Ignore schedule groups.
1507
1508         * sched-ebb.c (init_ready_list): Ditto.
1509
1510         * (move_insn, set_priorities): Ditto.
1511
1512         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
1513         flag is clear after reload.
1514         (adjust_cost): Change cost only for output dependencies.
1515
1516         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
1517
1518         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
1519
1520         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
1521
1522         * target.h (gcc_target): Add member
1523         `dependencies_evaluation_hook'.
1524
1525         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
1526         macro.
1527         (TARGET_SCHED): Add initiatialization of the new member.
1528
1529         * sched-ebb.c: Include `target.h'.
1530         (schedule_ebb): Call `dependencies_evaluation_hook'.
1531
1532         * sched-rgn.c (schedule_region): Call
1533         `dependencies_evaluation_hook'.
1534
1535         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1536         New macro.
1537         (ia64_dependencies_evaluation_hook): New function.
1538
1539         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1540         Describe the new hook.
1541
1542         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
1543
1544         * target.h (gcc_target): Add members
1545         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
1546
1547         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
1548         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
1549         macros.
1550         (TARGET_SCHED): Add initiatialization of the new members.
1551
1552         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
1553         insn scheduling too.
1554         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
1555         initialize `ready_try'.
1556         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
1557         `dfa_new_cycle' says not to do it.
1558
1559         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
1560         bundling.
1561
1562         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
1563
1564         * config/ia64/ia64.c: Include `hashtab.h'.
1565         (ia64_first_cycle_multipass_dfa_lookahead_guard,
1566         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
1567         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
1568         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
1569         bundle_state_eq_p, insert_bundle_state,
1570         initiate_bundle_state_table, finish_bundle_state_table,
1571         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
1572         get_template, get_next_important_insn, bundling): New functions.
1573         (ia64_internal_sched_reorder): Remove it.
1574         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1575         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
1576         (ia64_safe_itanium_requires_unit0): Remove it.
1577         (group_barrier_needed_p): Place group barrier right before a real
1578         insn.
1579         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
1580         Remove them.
1581         (bundle_name): New variable.
1582         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
1583         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
1584         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
1585         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
1586         temp_dfa_state, prev_cycle_state): New global variables.
1587         (insn_matches_slot, maybe_rotate, finish_last_head,
1588         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
1589         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
1590         find_best_packet, itanium_reorder, dump_current_packet,
1591         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
1592         (sched_data, sched_ready, sched_types): Remove them.
1593         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
1594         `init_insn_group_barriers'.
1595         (ia64_sched_reorder, ia64_sched_reorder2): Call
1596         ia64_dfa_sched_reorder.
1597         (ia64_variable_issue): Rewrite it.
1598         (bundle_state): New structure.
1599         (index_to_bundle_states, bundle_states_num,
1600         allocated_bundle_states_chain, free_bundle_state_chain): New
1601         global variables.
1602         (ia64_sched_finish): Add stop bits and call `bundling' after the
1603         2nd insn scheduling.
1604         (ia64_use_dfa_pipeline_interface): Return zero always.
1605         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
1606         insn scheduling.
1607         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
1608         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
1609         (ia64_reorg): Add bundling insns.
1610
1611         * doc/tm.texi
1612         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1613         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
1614
1615         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
1616
1617         * config/ia64/ia64.md: Add Itanium1 DFA description.
1618         (itanium_class): Add `nop' and `pre_cycle'.  Add
1619         define_function_unit for `nop'.
1620         (nop): Change attribute `itanium_class'.
1621         (pre_cycle): New define_insn.
1622
1623         * config/ia64/ia64-protos.h (bundling_p): New external variable.
1624         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
1625         ia64_produce_address_p): New function prototypes.
1626
1627         * config/ia64/ia64.c (bundling_p): New global variable.
1628         (ia64_use_dfa_pipeline_interface,
1629         ia64_first_cycle_multipass_dfa_lookahead,
1630         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
1631         functions.
1632         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1633         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1634         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1635         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
1636         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
1637         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
1638         (dfa_pre_cycle_insn): New variable.
1639
1640         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1641
1642         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
1643         constructions.
1644
1645         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
1646         New function prototypes.
1647
1648         * genattrtab.c (main): Process the new constructions.
1649
1650         * genautomata.c (gen_presence_absence_set,
1651         process_presence_absence_names, process_presence_absence_patterns,
1652         add_presence_absence, check_absence_pattern_sets): Add parameter
1653         `final_p'.
1654         (unit_decl): Add new members `final_presence_list' and
1655         `final_absence_list'.
1656         (unit_pattern_rel_decl): Add new member `final_p'.
1657         (gen_final_presence_set, gen_final_absence_set): New functions.
1658         (process_decls): Use member `final_p'.
1659         (temp_reserv): New global variable.
1660         (reserv_sets_are_intersected): Add processing `final_presence_set'
1661         and `final_absence_set'.
1662         (initiate_states): Allocate `temp_reserv'.
1663         (unit_final_presence_set_table, unit_final_absence_set_table): New
1664         gloabal variables.
1665         (initiate_presence_absence_pattern_sets): Initiate them.
1666         (NDFA_to_DFA): Fix typo.
1667         (output_description): Output `final_presence_set' and
1668         `final_absence_set'.
1669
1670         * doc/md.texi (final_presence_set, final_absence_set): Describe
1671         them.
1672
1673         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1674
1675         * genautomata.c (transform_3): Process a missing case (nothing on
1676         unit place).
1677
1678         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1679
1680         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
1681         comments about queried units and the minimization.
1682
1683         * doc/md.texi: Ditto.
1684
1685         * genautomata.c (create_composed_state): Return nonzero if the new
1686         state has been created.
1687         (first_cycle_unit_presence): New function.
1688         (state_is_differed): Add new parameter.  Use the new function.
1689         Take queried units into account.
1690         (partition_equiv_class): Pass additional parameter to
1691         `state_is_differed'.
1692         (merge_states): Process composed states too.
1693         (build_automaton, create_automata, output_min_issue_delay_table,
1694         output_tables, output_statistics): Output more information.
1695         (output_reserved_units_table): Use function
1696         `first_cycle_unit_presence'.
1697         (output_tables): Output table of queried units even if the
1698         minimization is switched on.
1699         (write_automata): Output code for querying units even if the
1700         minimization is switched on.
1701
1702         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
1703
1704         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
1705         syntax of the constructions.
1706
1707         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
1708         extended syntax of the constructions.
1709
1710         * genautomata.c (unit_rel_decl): Rename it to
1711         `unit_pattern_rel_decl'.
1712         (pattern_set_el, pattern_reserv): New structures.
1713         (pattern_set_el_t, pattern_reserv_t): New types.
1714         (gen_presence_absence_set): New function.
1715         (process_presence_absence): Remove it.
1716         (process_presence_absence_names,
1717         process_presence_absence_patterns): New functions.
1718         (get_presence_absence_set): Remove it.
1719         (initiate_presence_absence_sets): Rename it on
1720         `initiate_presence_absence_pattern_sets'.  Use new function
1721         `form_reserv_sets_list'.
1722         (form_reserv_sets_list, check_presence_pattern_sets,
1723         check_absence_pattern_sets, output_pattern_set_el_list): New
1724         functions.
1725         (unit_decl): Change types of members `presence_list' and
1726         `absence_list'.
1727         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
1728         (decl): Change types of members `excl', `presence', and `absence'.
1729         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
1730         at the end of the vector.
1731         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1732         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
1733         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
1734         (gen_presence_set, gen_absence_set): Use new function
1735         `gen_presence_absence_set'.
1736         (add_presence_absence): Process `pattern_list' instead of
1737         `source_list'.
1738         (process_decls): USe new functions
1739         `process_presence_absence_names' and
1740         `process_presence_absence_patterns'.
1741         (reserv_sets_are_intersected): Use new function
1742         `check_presence_pattern_sets'.
1743         (presence_set, absence_set): Remove them.
1744         (unit_presence_set_table, unit_absence_set_table): New global
1745         variables.
1746         (output_description): Use new function
1747         `output_pattern_set_el_list'.
1748         (generate): Use `initiate_presence_absence_pattern_sets'.
1749
1750         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
1751
1752         * genattr.c (main): Add output of prototype of new interface
1753         function `dfa_clean_insn_cache'.
1754
1755         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
1756         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
1757         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
1758         the generated code.
1759         (write_automata): Call the new function.
1760
1761 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1762
1763         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
1764         correctly.
1765
1766 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
1767
1768         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
1769
1770 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
1771
1772         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
1773         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1774         (CONSTRAINT_LEN): Provide default definition.
1775         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1776         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
1777         (EXTRA_CONSTRAINT_STR): Likewise.
1778         (REG_CLASS_FROM_CONSTRAINT): Define.
1779         * genoutput.c (check_constraint_len, constraint_len): New functions.
1780         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
1781         constraint / modifier.
1782         (gen_insn): Call check_constraint_len.
1783         * local-alloc.c (block_alloc): Update to use new macros / pass
1784         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
1785         * ra-build.c (handle_asm_insn): Likewise.
1786         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
1787         (constrain_operands, peep2_find_free_register): Likewise.
1788         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1789         * regmove.c (find_matches): Likewise.
1790         * reload.c (push_secondary_reload, find_reloads): Likewise.
1791         (alternative_allows_memconst): Likewise.
1792         * reload1.c (maybe_fix_stack_asms): Likewise.
1793         (reload_cse_simplify_operands): Likewise.
1794         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1795         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
1796         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1797         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
1798         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
1799         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
1800
1801         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
1802
1803 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1804
1805         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
1806         length.
1807         (*extzv_1_r_h8300hs): Likewise.
1808         (*extzv_1_r_inv_h8300): Likewise.
1809         (*extzv_1_r_inv_h8300hs): Likewise.
1810
1811 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1812
1813         * config/h8300/h8300.h (PREDICATE_CODES): New.
1814
1815 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1816
1817         * config/h8300/h8300.md (*addsi3_upper): New.
1818         (*iorsi3_shift): Likewise.
1819         (two splitters): Likewise.
1820         (*addsi3_shift): Likewise.
1821         (two splitters): Likewise.
1822
1823 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
1824
1825         * Makefile.in (optabs.o): Add dependency on basic-block.h.
1826         * basic-block.h (control_flow_insn_p): Fuction was exported.
1827         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
1828         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
1829         notes only when the region is contained in a single basic block.
1830
1831 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1832
1833         PR inline-asm/8832
1834         * tree.h (expand_asm): New prototype.
1835         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
1836         to do so.
1837         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
1838         down to expand_asm.
1839         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
1840         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
1841         (volatile_refs_p) [ASM_INPUT]: Likewise.
1842         (side_effects_p) [ASM_INPUT]: Likewise.
1843
1844 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
1845
1846         * i386.md (*mul*): FIx constraints; remove confused comment; fix
1847         athlon_decode attributes
1848         (imul/k8 optimization peep2s): New.
1849
1850         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
1851         * i386.md (type attribute): Add ssecomi.
1852         (unit, memory, prefix attributes): Handle ssecomi.
1853         (cvt?2? patterns): Fix athlon_decode attribute
1854         (comi patterns): Set attribute to ssecomi.
1855
1856         PR target/8343
1857         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
1858
1859 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
1860
1861         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
1862         that match register_operands.
1863         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
1864         register_operand the default case.
1865
1866 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1867
1868         PR c/8032
1869         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
1870         an empty element, do not advance the pointer to unfilled
1871         fields if there are pending initializers.
1872
1873 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
1874
1875         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
1876         (install-gcc-tooldir, install-cpp, installdirs,
1877         install-common, install-driver, install-info, install-man,
1878         install-headers, install-include-dir, install-headers-tar,
1879         install-headers-cpio, install-headers-cp, install-mkheaders,
1880         install-collect2, uninstall): Prepend $(DESTDIR) to
1881         destination paths in all (un)installation commands.
1882         (install-driver): Rewrite $(LN) commands to support DESTDIR
1883         with "ln" as well as with "ln -s".
1884         (installdirs): Simply use mkinstalldirs.
1885         (install-libgcc, install-multilib): Also pass DESTDIR.
1886         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
1887         installation destination variable ldir.
1888         * config/alpha/t-osf4, config/arm/t-netbsd,
1889         config/ia64/t-hpux, config/mips/t-iris5-6,
1890         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
1891         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
1892         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
1893         in the definition of SHLIB_INSTALL.
1894         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
1895         $(libsubdir) in the installation commands.
1896
1897 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1898
1899         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
1900         non-optimizing compile.
1901         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
1902         compile.
1903
1904 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
1905
1906         * config/i386/i386.c (ix86_attribute_table): Add new attributes
1907         ms_struct and gcc_struct.
1908         (ix86_handle_struct_attribute): New function.
1909         (ix86_ms_bitfield_layout_p): Update to take new attributes
1910         into account.
1911         * doc/extend.texi: Document new attributes.
1912         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
1913
1914 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
1915
1916         PR optimization/8750
1917         * config/i386/i386.c (ix86_expand_prologue): Don't allow
1918         scheduling pass to move insns across __alloca call.
1919
1920 2003-01-08  Dale Johannesen  <dalej@apple.com>
1921
1922         * config/rs6000/rs6000.md:  Replace *store_multiple_string
1923         with *stmsi[3-8].
1924
1925 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
1926
1927         PR target/9210
1928         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
1929         Set SYMBOL_REF_FLAG on local data sym_ref.
1930
1931 2003-01-08  Dale Johannesen  <dalej@apple.com>
1932
1933         * function.c (assign_parms):  Don't set pretend_args_size if
1934           REG_PARM_STACK_SPACE.
1935           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
1936           pretend_args_size.
1937
1938 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1939
1940         * gcc.hlp: Delete.
1941
1942 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
1943
1944         * i386.c  (ix86_expand_int_addcc): Fix thinko.
1945
1946 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1947
1948         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
1949         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
1950         as hook_bool_tree_hwi_hwi_tree_true.
1951         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
1952         (rs6000_emit_epilogue): Same.
1953         (rs6000_output_mi_thunk): Re-implement as RTL.
1954         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
1955         xcoffout_declare_function if any debugging enabled.
1956
1957 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
1958
1959         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
1960         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
1961         * config/mips/mips.h (enum processor_type): Rename
1962         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
1963         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
1964         Add PROCESSOR_M4K.
1965         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
1966         (ISA_MIPS32R2): New define.
1967         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
1968         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
1969         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
1970         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
1971         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
1972         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
1973         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
1974         compiling MIPS16 code.
1975         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
1976         comment.
1977         (ISA_HAS_SEB_SEH): New define.
1978         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
1979         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
1980         processor_type value renaming.  Add support for MIPS32R2.
1981         Clean up comments, and move "sb1" entry with other MIPS64 CPU
1982         entries.
1983         (override_options): Reimplement -mipsN option handling so that
1984         it will work correctly for -mips32r2.  Avoid branch-likely
1985         instructions on MIPS32R2.
1986         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
1987         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
1988         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
1989         (extendhisi2_hw, extendqisi2_hw): New.
1990         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
1991         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
1992         MIPS32R2, and MIPS64.
1993         (LINK_SPEC): Pass -mips32r2 to linker.
1994         * config/mips/t-isa3264: Built -mips32r2 multilibs.
1995         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
1996         for mips32r2 in the -march description.  Alphabetically sort
1997         CPU names in the -march description.  Add long-missed -mips32
1998         and -mips64 to MIPS option summary.
1999
2000         * config.gcc: Update copyright years to include 2003.
2001         * config/mips/mips.c: Likewise.
2002         * config/mips/mips.h: Likewise.
2003         * config/mips/mips.md: Likewise.
2004         * config/mips/netbsd.h: Likewise.
2005         * doc/invoke.texi: Likewise.
2006
2007 2003-01-08  Andreas Schwab  <schwab@suse.de>
2008
2009         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
2010         variable.
2011         * configure: Regenerated.
2012
2013 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
2014
2015         * config/h8300/h8300.c (output_logical_op): Replace byte/word
2016         extraction of det with b0, b1, w0, w2, etc.
2017         (compute_logical_op_length): Likewise.
2018         (compute_logical_op_cc): Likewise.
2019
2020 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
2021
2022         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
2023         HIGH on all variants.
2024
2025 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
2026
2027         * Makefile.in (PARTITION_H): New.
2028         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
2029         * basic-block.h: Include hard-reg-set.h.
2030
2031 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
2032
2033         * arm.h (ENABLE_XF_PATTERNS): Delete.
2034         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
2035         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
2036         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
2037         (cmpxf_trap): Delete.
2038         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
2039
2040 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
2041
2042         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
2043         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
2044         (add??cc): New expanders.
2045         * i386.c (expand_int_addcc): New function.
2046         * i386-protos.h (expand_int_addcc): Declare.
2047
2048         * alias.c (memory_modified_1): New static function.
2049         (memory_modified): New static varaible.
2050         (memory_modified_in_insn_p): New global function.
2051         * rtl.h (memory_modified_in_insn_p): Declare.
2052         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
2053         references.
2054
2055         * expr.h (emit_conditional_add): Declare.
2056
2057 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
2058
2059         PR other/8947
2060         * doc/invoke.texi (-malign-double): Explain that the option breaks
2061         binary compatibility.
2062
2063 2003-01-08  Andreas Schwab  <schwab@suse.de>
2064
2065         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
2066         should come from the generic *-*-linux* entry.
2067
2068 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
2069
2070         * cselib.c (cselib_current_insn_in_libcall): New static variable.
2071         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
2072         we are inside libcall.
2073         * cselib.h (elt_loc_list): Add in_libcall.
2074         * gcse.c (do_local_cprop): Do not copy propagate using insns
2075         in libcalls.
2076
2077 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
2078
2079         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
2080         not normally affect to issue rate.
2081
2082 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
2083
2084         * genopinit.c (optabs): Add addc_optab.
2085         * ifcvt.c (noce_try_store_flag): Rename to ...
2086         (noce_try_addcc): ... this one; handle generic conditional increment.
2087         (noce_process_if_block): Update noce_try_addcc call.
2088         * optabs.c (emit_conditional_add): New.
2089         (init_obtabs): Initialize addc_optab.
2090         * optabs.h (optab_index): Add OTI_addcc.
2091         (addcc_optab): New macro.
2092         * md.texi: Document addMcc
2093
2094         PR target/8322
2095         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
2096         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
2097         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
2098
2099         * reload1.c (delete_output_reload): Avoid repeated attempts
2100         to delete insn.
2101
2102 2003-01-07  Andreas Schwab  <schwab@suse.de>
2103
2104         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
2105         Move --enable-initfini-array check ...
2106         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
2107         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
2108         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
2109         * configure: Rebuild.
2110
2111 2003-01-07  Richard Henderson  <rth@redhat.com>
2112
2113         * alias.c (find_base_value): Only use new_reg_base_value shortcut
2114         if the register is set once.
2115
2116 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
2117
2118         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
2119         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
2120         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
2121
2122 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
2123             Sunil Davasam  <sunil.k.davasam@intel.com>
2124
2125         PR libstdc++/9076
2126         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
2127         DW_CFA_same_value, read next and ignore.
2128
2129 2003-01-07  Richard Henderson  <rth@redhat.com>
2130
2131         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
2132
2133 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
2134
2135         * cfg.c: Include alloc-pool.h
2136         (edge_pool): New pool.
2137         (bb_pool): New pool.
2138         (first_deleted_edge): Remove.
2139         (first_deleted_block): Remove.
2140         (init_flow): Alloc/free the pools.
2141         (free_edge): Use pools.
2142         (alloc_block): Ditto.
2143         (expunge_block): Ditto.
2144         (cached_make_edge): Ditto.
2145
2146         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
2147
2148 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
2149
2150         * et-forest.c: Include alloc-pool.h.
2151         (struct et_forest): Add node_pool and occur_pool.
2152         (et_forest_create): Create the new pools.
2153         (et_forest_delete): Delete them.
2154         (et_forest_add_node): Allocate and free using pools.
2155         (et_forest_add_edge): Ditto.
2156         (et_forest_remove_node): Ditto.
2157         (et_forest_remove_edge): Ditto.
2158
2159         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
2160
2161 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
2162
2163         * config/h8300/h8300.c (output_logical_op): Simplify and
2164         optimize the handling of SImode.
2165         * config/h8300/h8300.c (compute_logical_op_length): Update
2166         accordingly.
2167         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
2168
2169 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
2170
2171         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
2172         big-endian correction to indirect arguments too.
2173
2174 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
2175
2176         Segher Boessenkool  <segher@koffie.nl>
2177
2178         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
2179         (alt_reg_names): Ditto, fix formatting.
2180         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
2181
2182 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2183
2184         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
2185         (output_logical_op): Constify intval and det.
2186         (compute_logical_length): Likewise.
2187         (compute_logical_cc): Likewise.
2188         (output_a_shift): Constify mask.
2189         (h8300_encode_label): Constify len.
2190
2191 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2192
2193         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
2194         (h8300_expand_epilogue): Likewise.
2195
2196 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
2197
2198         Segher Boessenkool  <segher@koffie.nl>
2199
2200         * config/rs6000/altivec.md: Remove spaces from assembler
2201         instruction argument lists.
2202
2203 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2204
2205         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
2206         c4x_assembler_function_p.
2207         (c4x_null_epilogue_p): Complement return value, all uses updated.
2208         (c4x_insert_attributes): Add naked.
2209         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
2210         * doc/extend.texi: Update C4x function attributes.
2211
2212 2003-01-06  Richard Henderson  <rth@redhat.com>
2213
2214         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
2215         properly when changing "local-ness".
2216         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
2217
2218 2003-01-06  Dale Johannesen  <dalej@apple.com>
2219
2220         * config/darwin-protos.h:  Add prototypes for new section functions.
2221
2222 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
2223
2224         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
2225         to EABI.
2226
2227 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
2228
2229         * hwint.h: If the current compiler has no 64-bit type at all,
2230         make HOST_WIDEST_INT 32 bits.
2231
2232 2003-01-06  Eric Christopher  <echristo@redhat.com>
2233
2234         * config/mips/mips.md (movdf_internal2): Fix constraints.
2235
2236 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2237
2238         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
2239
2240 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
2241
2242         * config/mips/mips.md (leadi): Use dla rather than la.
2243
2244 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
2245
2246         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
2247         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
2248
2249 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
2250
2251         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
2252         redefinition.
2253
2254 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2255
2256         * config/h8300/h8300.md (*extzv_8_23): New.
2257
2258 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2259
2260         * pa64-hpux.h (JCR_SECTION_NAME): Define.
2261         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
2262         USE_EH_FRAME_REGISTRY when defining.
2263
2264 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2265
2266         * config/h8300/h8300.c (output_a_shift): Do not output a
2267         variable shift.
2268         * config/h8300/h8300.md (two splitters): New.
2269
2270 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
2271
2272         * config/mips/mips.md: Disable the movstrsi define_split.
2273
2274 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2275
2276         * alloc-pool.c: Don't include "libiberty.h".
2277         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
2278         * convert.c (convert_to_real): Hide unused variable.
2279
2280 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2281
2282         * Makefile.in (gtyp-gen.h): Const-ify.
2283         * gcov-dump.c (tag_table): Likewise.
2284
2285 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2286
2287         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
2288         of *both* the file name and the fix name.
2289
2290 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
2291
2292         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
2293         collect2.
2294         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
2295         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
2296         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
2297         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
2298         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
2299         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
2300         elfos.h.
2301         (EH_FRAME_IN_DATA_SECTION): Delete define.
2302         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
2303         (STARTFILE_SPEC): Use crtbegin.o.
2304         (ENDFILE_SPEC): Use crtend.o.
2305         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
2306         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
2307         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
2308         DTOR_LIST_BEGIN): Define.
2309         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
2310         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
2311         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
2312
2313 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
2314
2315         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
2316         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
2317         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
2318         Cleanup handling of replacement text.
2319         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
2320
2321 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2322
2323         * fixinc/tests/base/math.h: removed obsolete results
2324         * fixinc/tests/base/stdlib.h: ditto
2325         * fixinc/tests/base/sys/param.h: ditto
2326         * fixinc/tests/base/sys/stat.h: ditto
2327         * fixinc/tests/base/time.h: ditto
2328         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
2329         * fixinc/tests/base/sys/byteorder.h: ditto
2330         * fixinc/inclhack.def: Remove superfluous backslashes
2331
2332 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
2333
2334         * config/h8300/h8300-protos.h: Add prototypes for
2335         the new functions defined below.
2336         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
2337         define.
2338         (dosize): Emit RTL instead of assembly code.
2339         (push): Likewise.
2340         (pop): Likewise.
2341         (h8300_output_function_prologue): Remove.
2342         (h8300_expand_prologue): New.
2343         (h8300_expand_epilogue): New.
2344         (h8300_output_function_epilogue): Do only the reset of
2345         pragma_saveall.
2346         * config/h8300/h8300.md (push_h8300): New.
2347         (push_h8300hs): Likewise.
2348         (pop_h8300): Likewise.
2349         (pop_h8300hs): Likewise.
2350         (*stm_h8300s_2): Change the name to stm_h8300s_2.
2351         (*stm_h8300s_3): Change the name to stm_h8300s_3.
2352         (*stm_h8300s_4): Change the name to stm_h8300s_4.
2353         (*ldm_h8300s_2): New.
2354         (*ldm_h8300s_3): Likewise.
2355         (*ldm_h8300s_4): Likewise.
2356         (return): Likewise.
2357         (*return_1): Likewise.
2358         (prologue): Likewise.
2359         (epilogue): Likewise.
2360         (monitor_prologue): Likewise.
2361
2362 2003-01-03  Dale Johannesen  <dalej@apple.com>
2363
2364         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
2365           machopic_picsymbol_stub1.
2366           (EXTRA_SECTION_FUNCTIONS):  Ditto.
2367         * rs6000/rs6000.c:  Update copyright.
2368           (machopic_output_stub):  Use them.  Remove an insn from stub code.
2369
2370 2003-01-02  Jason Merrill  <jason@redhat.com>
2371
2372         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
2373
2374         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
2375         static/external decls.
2376
2377         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
2378         outermost scope.
2379         * c-decl.c (c_make_fname_decl): Push the decls there, too.
2380
2381 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
2382
2383         * config/h8300/h8300-protos.h: Add a prototype for
2384         h8300_current_function_interrupt_function_p.
2385         * config/h8300/h8300.c (interrupt_handler): Remove.
2386         (os_task): Likewise.
2387         (monitor): Likewise.
2388         (pragma_interrupt): New.
2389         (WORD_REG_USED): Use
2390         h8300_current_function_interrupt_function_p.
2391         (dosize): Likewise.
2392         (h8300_output_function_prologue): Likewise.
2393         Do not set interrupt_handler, os_task, monitor.
2394         (h8300_output_function_prologue): Use
2395         h8300_current_function_interrupt_function_p.
2396         Do not set interrupt_handler, os_task, monitor.
2397         (h8300_current_function_interrupt_function_p): New.
2398         (h8300_pr_interrupt): Set pragma_interrupt.
2399         (h8300_insert_attributes): Reset pragma_interrupt.
2400
2401 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2402
2403         * doc/install.texi (Configuration): Fix markup for reference to
2404         gcc/config.gcc.
2405
2406 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2407
2408         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
2409         (*iorhi3_two_qi): Likewise.
2410         (*iorsi3_zexthi): Likewise.
2411         (*xorhi3_zextqi): Likewise.
2412         (*xorsi3_zexthi): Likewise.
2413         (*xorsi3_zextqi): Likewise.
2414
2415 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2416
2417         * config/h8300/h8300.c (stack_pointer_operand): New.
2418         (const_int_gt_2_operand): Likewise.
2419         (const_int_ge_8_operand): Likewise.
2420         * config/h8300/h8300.md (a splitter): Likewise.
2421         (a peephole2): Likewise.
2422         * config/h8300/h8300-protos.h: Add prototypes for the new
2423         functions above.
2424
2425 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
2426
2427         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
2428         objc/objc-act.h: Fix copyright years.
2429
2430 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2431
2432         * doc/passes.texi: Fix documentation for -fssa-ccp
2433
2434 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
2435
2436         * gccbug.in: Update for new categories.
2437
2438 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2439
2440         * config/h8300/h8300.md: Reorder some patterns.
2441
2442 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2443
2444         * config/h8300/h8300.c (output_logical_op): Fix a warning.
2445
2446 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2447
2448         * config/darwin-protos.h, config/c4x/c4x-protos.h,
2449         config/cris/cris-protos.h, config/i370/i370-protos.h,
2450         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
2451         config/v850/v850-protos.h: Use struct, and don't conditionally
2452         compile on GCC_C_PRAGMA_H.
2453
2454 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2455
2456         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
2457         * config/h8300/h8300-protos.h: Likewise.
2458         * config/sh/sh-protos.h: Likewise.
2459
2460 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2461
2462         * config/arm/arm-protos.h: Use struct cpp_reader instead of
2463         cpp_reader.
2464         * config/h8300/h8300-protos.h: Likewise.
2465         * config/sh/sh-protos.h: Likewise.
2466
2467 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2468
2469         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
2470         arm_pr_long_calls_off): Use struct.
2471         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
2472         : Similarly.
2473         Don't include cpplib.h.
2474         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
2475         sh_pr_nosave_low_regs): Similarly.
2476
2477 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2478
2479         * config/h8300/h8300.c: Include cpplib.h.
2480
2481 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2482
2483         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
2484           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
2485           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
2486           "GCC" in the copyright header.
2487
2488 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2489
2490         * c-pragma.c (c_register_pragma): New.
2491         (init_pragma): Use it.
2492         * c-pragma.h (cpp_register_pragma): Don't declare.
2493         (c_register_pragma): New.
2494         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
2495         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
2496         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
2497         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2498         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
2499         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
2500         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
2501         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
2502         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
2503         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
2504         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
2505         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
2506
2507 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2508
2509         * config/h8300/h8300-protos.h: Update the prototypes.
2510         * config/h8300/h8300.c (const_le_2_operand): Change to
2511         const_int_le_2_operand.
2512         (const_int_le_6_operand): Change to const_int_le_6_operand.
2513         * config/h8300/h8300.md (two peepholes): Update the function
2514         names.
2515
2516 2002-12-31  Tom Tromey  <tromey@redhat.com>
2517
2518         * doc/install.texi (Testing): Fixed typo.
2519
2520 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2521
2522         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
2523         (TRAMPOLINE_SIZE): Support the normal mode.
2524         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
2525
2526 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
2527
2528         * c-common.h (pending_lang_change): Declare.
2529
2530 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2531
2532         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
2533         descriptions.
2534
2535 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2536
2537         * gcc/doc/invoke.texi (Optimization Options): List the options
2538         enabled by each -O flag.
2539
2540 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2541
2542         * doc/install.texi (Configuration): Explicitly refer
2543         gcc/config.gcc for a list of cpu models.
2544
2545 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2546
2547         * config/h8300/h8300.h: Fix comment typos.
2548
2549 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
2550
2551         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
2552
2553 2002-12-30  Tom Tromey  <tromey@redhat.com>
2554
2555         * doc/install.texi (Testing): Mention Jacks.
2556
2557 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2558
2559         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
2560
2561 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2562
2563         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
2564         cases.
2565         (compute_logical_op_length): Update to reflect the change in
2566         output_logical_op.
2567         (compute_logical_op_cc): Likewise.
2568
2569 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2570
2571         * doc/service.texi: Uncomment and update FAQ link.
2572
2573 2002-12-30  Andreas Jaeger  <aj@suse.de>
2574
2575         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
2576
2577 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2578
2579         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
2580
2581 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2582
2583         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
2584         are clearing the most significant byte.
2585         (compute_logical_op_length): Update to reflect the change in
2586         output_logical_op.
2587         (compute_logical_op_cc): Likewise.
2588
2589 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2590
2591         * config/h8300/h8300.md: Give internal names to anonymous
2592         insns.
2593
2594 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2595
2596         * config/h8300/h8300.md: Reorder some insns.
2597
2598 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2599
2600         * config/h8300/h8300-protos.h: Add prototypes for
2601         const_int_qi_operand and const_int_hi_operand.
2602         * config/h8300/h8300.c (const_int_qi_operand): New.
2603         (const_int_hi_operand): Likewise.
2604         * config/h8300/h8300.md (three peepholes): New.
2605
2606 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2607
2608         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
2609         Use @copying.
2610
2611 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2612
2613         * configure.in: Increase makeinfo version requirement to 4.[2-9].
2614         * configure: Regenerate.
2615         * doc/install.texi: Update Texinfo version requirement.
2616
2617 2002-12-28  Andreas Jaeger  <aj@suse.de>
2618
2619         * config/i386/i386.c (x86_function_profiler): Mark labelno as
2620         possibly unused.
2621
2622         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
2623         correct format.
2624
2625 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
2626
2627         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
2628         *iorhi_ashift_8.
2629         (*iorhi_lshiftrt_8): New.
2630
2631 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
2632
2633         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
2634
2635 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2636
2637         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
2638
2639 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2640
2641         * config/h8300/h8300-protos.h: Fix comment typos.
2642         Update copyright.
2643         * config/h8300/h8300.c: Fix comment typos.
2644
2645 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2646
2647         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
2648
2649 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2650
2651         * config/i386/athlon.md: Fix comment typos.
2652         * config/i386/crtdll.h: Likewise.
2653         * config/i386/djgpp.h: Likewise.
2654         * config/i386/i386-interix.h: Likewise.
2655         * config/i386/i386.c: Likewise.
2656         * config/i386/i386.h: Likewise.
2657         * config/i386/i386.md: Likewise.
2658         * config/i386/k6.md: Likewise.
2659         * config/i386/mingw32.h: Likewise.
2660         * config/i386/pentium.md: Likewise.
2661         * config/i386/sco5.h: Likewise.
2662         * config/i386/winnt.c: Likewise.
2663         * config/i386/xmmintrin.h: Likewise.
2664
2665 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
2666
2667         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
2668         INSN_P before checking to see if it is dead.
2669         (mark_all_insn_unnecessary): Similarly.
2670         (ssa_eliminate_dead_code): Similarly.
2671         * rtl.h (struct rtx_def): Update comments for in_struct usage
2672         in dead code elimination pass.
2673         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
2674
2675 2002-12-26  Andreas Schwab  <schwab@suse.de>
2676
2677         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
2678
2679 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
2680
2681         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
2682         tartet_flags_explicit.
2683         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
2684         Compact target_flags bits.
2685         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
2686         (TARGET_SWITCHES): Delete references to *_SET flags.
2687
2688 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
2689
2690         * i386.md (memory attribute): Fix setcc attribute.
2691
2692 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2693
2694         * output.h: Fix comment typos.
2695         * predict.c: Likewise.
2696         * print-tree.c: Likewise.
2697         * profile.c: Likewise.
2698         * ra-build.c: Likewise.
2699         * ra-colorize.c: Likewise.
2700         * ra-debug.c: Likewise.
2701         * ra-rewrite.c: Likewise.
2702         * ra.c: Likewise.
2703         * ra.h: Likewise.
2704         * real.c: Likewise.
2705         * recog.c: Likewise.
2706         * reg-stack.c: Likewise.
2707         * regclass.c: Likewise.
2708
2709 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2710
2711         * config/h8300/h8300.c (print_operand_address): Do not negate
2712         a negative number when printing one.
2713
2714 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2715
2716         * config/h8300/h8300-protos.h: Add prototypes for
2717         output_plussi, compute_plussi_length, and compute_plussi_cc.
2718         * config/h8300/h8300.c (output_plussi): New.
2719         (compute_plussi_length): Likewise.
2720         (compute_plussi_cc): Likewise.
2721         * config/h8300/h8300.md (addsi_h8300h): Call
2722         output_plussi, compute_plussi_length, and compute_plussi_cc.
2723
2724 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2725
2726         * config/h8300/h8300.md (two peepholes): Use match_dup instead
2727         of match_operand in the new patterns.
2728
2729 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
2730
2731         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
2732
2733 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
2734
2735         * configure.in (enable-coverage): Add SELF_COVERAGE.
2736         * profile.c (end_branch_prob): Use SELF_COVERAGE.
2737
2738 2002-12-24  Jim Wilson  <wilson@redhat.com>
2739
2740         * alias.c (record_set): Handle multi-reg hard registers.
2741
2742 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2743
2744         * regmove.c: Fix comment typos.
2745         * reload.c: Likewise.
2746         * reload1.c: Likewise.
2747         * resource.c: Likewise.
2748         * rtl.def: Likewise.
2749         * rtl.h: Likewise.
2750         * rtlanal.c: Likewise.
2751         * sched-deps.c: Likewise.
2752         * sched-rgn.c: Likewise.
2753         * sibcall.c: Likewise.
2754         * simplify-rtx.c: Likewise.
2755         * ssa-ccp.c: Likewise.
2756         * ssa.c: Likewise.
2757         * stmt.c: Likewise.
2758         * stor-layout.c: Likewise.
2759         * system.h: Likewise.
2760         * tlink.c: Likewise.
2761         * toplev.c: Likewise.
2762         * tracer.c: Likewise.
2763         * tree-inline.c: Likewise.
2764         * tree.c: Likewise.
2765         * tree.h: Likewise.
2766         * unroll.c: Likewise.
2767         * varasm.c: Likewise.
2768
2769 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
2770
2771         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
2772         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
2773         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
2774         DG/UX entries.
2775         * doc/md.texi: Remove AMD 29K entries.
2776         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
2777         1.38.1, NewsOS, RT PC, WE32K entries.
2778
2779 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
2780
2781         PR/8763
2782         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
2783         (altivec_vspltisw_v4sf): Name pattern.
2784         (altivec_vslw_v4sf): New pattern.
2785
2786 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2787
2788         * doc/include/gcc-common.texi: Define DEVELOPMENT.
2789
2790 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
2791
2792         * stor-layout.c (update_alignment_for_field): Correct handling of
2793         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
2794         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
2795         bitfield does not affect alignment.
2796
2797 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
2798
2799         * expr.c (expand_assignment): Apply special treatment to
2800         ARRAY_TYPE.
2801
2802 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2803
2804         * config/h8300/h8300-protos.h: Update the prototype of
2805         expand_a_shift.
2806         * config/h8300/h8300.c (expand_a_shift): Change the return
2807         type to void.
2808         * config/h8300/h8300.md: Update all the uses of
2809         expand_a_shift.
2810
2811 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
2812
2813         * tree.c (save_expr): Allow either side of a dyadic operand to be
2814         constant.
2815
2816         * doc/portability.texi (portability): Update portability goals.
2817
2818 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2819
2820         * config/h8300/h8300.c (output_a_shift): Remove unused code.
2821
2822 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
2823
2824         * stor-layout.c (update_alignment_for_field): Guard use of
2825         ADJUST_FIELD_ALIGN with #ifdef.
2826
2827         * stor-layout.c (update_alignment_for_field): Use
2828         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
2829         bitfield when PCC_BITFIELD_TYPE_MATTERS.
2830
2831 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2832
2833         * genautomata.c: Fix comment typos.
2834
2835 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2836
2837         * params.def (tracer-min-branch-probability-feedback): Fix default.
2838         * final.c (compute_alignments): Use profile to avoid code bloat.
2839
2840 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2841
2842         * config/h8300/h8300.c (get_shift_alg): Make shift insn
2843         sequences end with a valid cc0 whenever possible.
2844
2845 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2846
2847         * config/h8300/h8300.md (negsf2): New.
2848         (*negsf2_h8300): Likewise.
2849         (*negsf2_h8300hs): Likewise.
2850
2851 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
2852
2853         * integrate.c (output_inline_function): Don't hold private
2854         pointers to 'struct function' over GC calls.
2855
2856 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
2857
2858         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
2859         NO_FPSCR_VALUES.
2860         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
2861
2862 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2863
2864         * config/h8300/h8300.md (zero_extendqisi2): Correct the
2865         length.
2866
2867 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2868
2869         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
2870         second alternative "#".
2871         (*zero_extendqihi2_h8300hs): Likewise.
2872         (a define_split): New.
2873
2874 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2875
2876         * config/h8300/h8300-protos.h: Update the prototype for
2877         split_adds_subs.
2878         Add prototypes for const_le_2_operand and const_le_6_operand.
2879         * config/h8300/h8300.c (split_adds_subs): Add an argument to
2880         specify whether inc/dec should be used when possible.
2881         (const_le_2_operand): New.
2882         (const_le_6_operand): Likewise.
2883         * config/h8300/h8300.md (two peepholes): New.
2884
2885 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2886
2887         * config/fr30/fr30.md: Fix a comment typo.
2888         * config/i386/i386.c: Likewise.
2889         * config/ip2k/ip2k.h: Likewise.
2890
2891 2002-12-20  Jim Wilson  <wilson@redhat.com>
2892
2893         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
2894         (__ev_subw, __ev_subiw): New.
2895         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
2896         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
2897
2898 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
2899
2900         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
2901         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
2902         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
2903         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
2904
2905 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2906
2907         * config/h8300/h8300-protos.h: Add prototypes for
2908         incdec_operand and eqne_operator.
2909         * config/h8300/h8300.c (incdec_operand): New.
2910         (eqne_operator): Likewise.
2911         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
2912         (CONST_OK_FOR_O): Likewise.
2913         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
2914         CONST_OK_FOR_O.
2915         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
2916         (addhi3_incdec): New.
2917         (addsi3_incdec): Likewise.
2918         (two peepholes): Likewise.
2919
2920 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2921
2922         * config/h8300/h8300.c (dosize): Remove warnings.
2923         (print_operand): Likewise.
2924
2925 2002-12-20  Richard Henderson  <rth@redhat.com>
2926
2927         * config/alpha/alpha.c (decl_has_samegp): New.
2928         (samegp_function_operand): Use it.  Rename from
2929         current_file_function_operand.
2930         (direct_call_operand): Handle -msmall-text via symbol->jump.
2931         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
2932         (tls_symbolic_operand_type): Likewise.
2933         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
2934         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
2935         (alpha_end_function): Set symbol->jump for functions defined in
2936         the text section.
2937         * config/alpha/alpha-protos.h: Update.
2938         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
2939         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
2940         (PREDICATE_CODES): Update.
2941         * config/alpha/alpha.md (call patterns): Update for
2942         samegp_function_operand rename; use !samegp reloc if
2943         TARGET_EXPLICIT_RELOCS.
2944         * doc/invoke.text: Document -msmall-text and -mlarge-text.
2945
2946 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
2947
2948         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
2949         all registers capable of holding a double float.
2950         (*rcond): change name of "reverse branch" insns to
2951         something more meaningful.
2952         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
2953         comparisons properly.
2954         (*ffs): Change operand 0 from write to read-modify-write.
2955         (*ffsssi2): Drop constraints from define_expand.
2956
2957         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
2958         MOVE_RATIO as default for store operations.
2959
2960         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
2961         LONG_REGS class.
2962         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
2963         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
2964         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
2965
2966         * config/ns32k/STATUS: New File
2967         * config/ns32k/NOTES: New file.
2968
2969 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
2970
2971         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
2972         option for S/390 and zSeries.
2973         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
2974         s390_arch_string): New variables.
2975         (override_options): Checking for options and setting of
2976         appropriate target_flags, cpu and arch flags.
2977         * config/s390/s390.h: (processor_type): New enum.
2978         (TARGET_SWITCHES): New switches -mesa/zarch.
2979         * config/s390/s390.md: New attribute 'cpu'.
2980
2981 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2982
2983         * c-pretty-print.h: Fix comment typos.
2984         * integrate.c: Likewise.
2985         * varasm.c: Likewise.
2986         * config/c4x/c4x.h: Likewise.
2987         * config/c4x/c4x.md: Likewise.
2988         * config/fr30/fr30.md: Likewise.
2989         * config/frv/frv.c: Likewise.
2990         * config/h8300/h8300.c: Likewise.
2991         * config/i386/i386.c: Likewise.
2992         * config/i386/i386.h: Likewise.
2993         * config/ia64/ia64.c: Likewise.
2994         * config/ia64/ia64.h: Likewise.
2995         * config/ip2k/ip2k.md: Likewise.
2996         * config/m68hc11/m68hc11-crt0.S: Likewise.
2997         * config/m68hc11/m68hc11.h: Likewise.
2998         * config/m68hc11/m68hc11.md: Likewise.
2999         * config/m68hc11/m68hc12.h: Likewise.
3000         * config/mcore/mcore.md: Likewise.
3001         * config/mips/mips.c: Likewise.
3002         * config/mips/mips.md: Likewise.
3003         * config/mmix/mmix-modes.def: Likewise.
3004         * config/pa/pa.c: Likewise.
3005         * config/rs6000/rs6000.c: Likewise.
3006         * config/rs6000/rs6000.h: Likewise.
3007         * config/rs6000/rs6000.md: Likewise.
3008
3009 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3010
3011         * config/h8300/h8300.md (output_a_shift): Clean up the code to
3012         output shifts using rotation.
3013
3014 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3015
3016         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
3017
3018 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3019
3020         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
3021         pointer.
3022         (pushqi_h8300hs): Likewise.
3023         (pushhi_h8300): Likewise.
3024         (pushhi_h8300hs): Likewise.
3025
3026 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
3027
3028         * sched-rgn.c (init_regions): Update comment.
3029
3030 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
3031
3032         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
3033         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
3034         attributes.
3035         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
3036         (get_vrsave_internal,set_vrsave_internal): Same.
3037         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
3038         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
3039         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
3040
3041 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
3042             Danny Smith  <dannysmith@users.sourceforge.net>
3043             Eric Kohl  <ekohl@rz-online.de>
3044
3045         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
3046         attributes incompatible with fastcall attribute.
3047         (ix86_handle_regparm_attribute): Likewise.
3048
3049         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
3050         fastcall types.
3051
3052         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
3053         attributes.
3054         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
3055         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
3056         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
3057         i386_pe_output_labelref rather than here.
3058         (gen_fastcall_suffix): New function. Decorates a label name with the
3059         fastcall prefix (@) and the stdcall suffix.
3060         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
3061         has a fastcall attribute.
3062         (i386_pe_output_labelref): New function. Outputs a label reference.
3063         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
3064         valid attribute.
3065         (ix86_return_pops_args): Fastcall functions pop the stack.
3066         (init_cumulative_args): Reserve registers ECX and EDX if function has
3067         fastcall attribute.
3068         (function_arg): Use registers ECX and EDX if function has fastcall
3069         attribute.
3070         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
3071         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
3072         (FASTCALL_PREFIX): Define as '@'.
3073         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
3074         attributes.
3075         * doc/extend.texi: Add documentation of fastcall attribute.
3076
3077 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
3078
3079         * configure.in: FORBUILD when build!=host changed from
3080         ../$build-alias to ../build-$build_alias to match change made
3081         in top directory.
3082         * configure: Regenerated.
3083
3084 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
3085
3086         PR optimization/8988
3087         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
3088         the biv when eliminating.
3089
3090 2002-12-19  Devang Patel  <dpatel@apple.com>
3091         * gcc.c (struct default_compiler): Recognizes input file name with
3092         .CPP extension as C++ source files
3093         * cp/lang-spec.h: Same
3094         * doc/invoke.texi:  Add documentation for .CPP support.
3095
3096 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
3097
3098         PR 8553
3099         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
3100         registers.
3101         ("absv16qi2"): Same.
3102         ("absv4si2"): Same.
3103         ("absv4sf2"): Same.
3104         ("altivec_abss_v16qi"): Same.
3105         ("altivec_abss_v8hi"): Same.
3106         ("altivec_abss_v4si"): Same.
3107
3108 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
3109
3110         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
3111         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
3112
3113 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
3114
3115         PR target/8340
3116         * stmt.c (expand_asm_operands): Produce an error when
3117         the PIC register is clobbered.
3118
3119 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
3120
3121         * Makefile.in (OBJS): Add alloc-pool.o
3122         (alloc-pool.o): New object.
3123
3124         * alloc-pool.c: New file.
3125         * alloc-pool.h: New file.
3126
3127 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
3128
3129         * gcc.c (validate_switches): Robustify against skipping past '\0'.
3130
3131 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3132
3133         * config.gcc: Set extra_objs in the generic Darwin rule,
3134         not in the machine-specific rules.
3135
3136 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3137
3138         * ChangeLog: Follow spelling conventions.
3139         * ChangeLog.2: Likewise.
3140         * ChangeLog.4: Likewise.
3141         * ChangeLog.5: Likewise.
3142         * cppexp.c: Likewise.
3143         * df.c: Likewise.
3144         * gcov.c: Likewise.
3145         * gengtype.c: Likewise.
3146         * reload1.c: Likewise.
3147         * sched-rgn.c: Likewise.
3148         * stmt.c: Likewise.
3149         * stor-layout.c: Likewise.
3150         * timevar.c: Likewise.
3151         * toplev.c: Likewise.
3152         * tree.h: Likewise.
3153         * varasm.c: Likewise.
3154         * config/fr30/fr30.md: Likewise.
3155         * config/i386/i386.c: Likewise.
3156         * config/ia64/ia64.c: Likewise.
3157         * config/pa/pa.c: Likewise.
3158
3159 2002-12-18  Roger Sayle  <roger@eyesopen.com>
3160
3161         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
3162
3163 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
3164
3165         PR 8551
3166         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
3167         macro.
3168         (vec_cmplt C++ functions): Reverse arguments.
3169
3170 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3171
3172         * config/rs6000/t-rs6000: Move contents to t-fprules,
3173         add rules for dependencies of rs6000.o and to build rs6000-c.o
3174         * config/rs6000/t-fprules: New file from t-rs6000.
3175         * config/rs6000/t-beos: Remove soft-fp rules.
3176         * config/rs6000/t-ppccomm: Likewise.
3177         * config/rs6000/t-newas: Likewise.
3178         * config/rs6000/t-rs6000-c-rule: Delete.
3179         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
3180         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
3181         Create generic Darwin rules.
3182
3183         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
3184
3185 2002-12-18  Doug Evans  <dje@sebabeach.org>
3186
3187         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
3188         and LIT_NAME_P.
3189         (move_src_operand): Remove compile-time warning.
3190         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
3191
3192 2002-12-18  Jason Merrill  <jason@redhat.com>
3193
3194         * unwind-dw2-fde.c (frame_downheap): Split out from...
3195         (frame_heapsort): Here.
3196
3197 2002-12-17  Jason Merrill  <jason@redhat.com>
3198
3199         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
3200         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
3201
3202         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
3203
3204         * calls.c (expand_call): Don't try to be clever about expanding
3205         the return slot address.
3206
3207 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
3208
3209         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
3210         Define.
3211
3212 2002-12-17  Jason Merrill  <jason@redhat.com>
3213
3214         * genmultilib: Use 'cd ./foo'.
3215
3216 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3217
3218         * doc/c-tree.texi: Restore deliberate spelling mistakes.
3219
3220 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3221
3222         * doc/c-tree.texi: Fix typos and follow spelling conventions.
3223         * doc/cpp.texi: Likewise.
3224         * doc/extend.texi: Likewise.
3225         * doc/gty.texi: Likewise.
3226         * doc/install.texi: Likewise.
3227         * doc/invoke.texi: Likewise.
3228         * doc/md.texi: Likewise.
3229         * doc/passes.texi: Likewise.
3230         * doc/rtl.texi: Likewise.
3231         * doc/sourcebuild.texi: Likewise.
3232         * doc/tm.texi: Likewise.
3233
3234 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
3235
3236         * doc/invoke.texi: Minor spelling and grammar fixes.
3237
3238 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
3239
3240         * config/s390/s390.c (s390_output_constant_pool): Replace
3241         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
3242
3243 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
3244
3245         * convert.c (convert_to_real): Disable function transformation for
3246         now.
3247
3248 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3249
3250         * gcc.c (handle_braces): Allow '@' as a switch name.
3251
3252 2002-12-16  Jason Merrill  <jason@redhat.com>
3253
3254         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
3255         with special struct-return ABIs.
3256
3257         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
3258         doesn't match the begin SCOPE_STMT in partialness.
3259
3260 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3261
3262         * genmultilib: Create temporary files in unique subdirectory.
3263
3264         * gcc.c (validate_switches): Allow '@' as a switch name.
3265
3266 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
3267
3268         * Makefile.in (gcov-iov.h): Improve portability.
3269
3270 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
3271
3272         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
3273         gas
3274         * mips.md (tablejump insn): Likewise.
3275
3276 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
3277
3278         * doc/include/gcc-common.texi: Change version number to 3.4.
3279
3280 2002-12-16  Bruce Korb  <bkorb@gnu.org>
3281
3282         * fixinc/fixlib.h: add: #include <signal.h>
3283         * fixinc/fixincl.c: remove: #include <signal.h>
3284
3285 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
3286
3287         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
3288         (EXTRA_CONSTRAINT): Use it.
3289         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
3290
3291 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
3292
3293         * config.gcc (need_64bit_hwint): New variable.
3294         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
3295         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
3296         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
3297         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
3298         Set it.
3299         (powerpc*-*-darwin*): Unset it.
3300         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
3301         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
3302         deleted/nonexistent xm-*.h headers.
3303         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
3304         target set need_64bit_hwint in config.gcc.
3305         * configure, config.in: Regenerate.
3306
3307         * hwint.h: Overhaul.  Don't bother trying int for
3308         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
3309         decision to force 64-bit HOST_WIDE_INT on
3310         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
3311         not visible at this point.  Don't allow prior definition of
3312         any macro defined by this file.
3313
3314         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
3315         HOST_BITS_PER_WIDE_INT.
3316         * config/c4x/c4x.h: Adjust redefinition of
3317         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
3318         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
3319         config/i386/xm-i386-interix.h: Delete file.
3320
3321 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
3322             John David Anglin  <dave@hiauly1.hia.nrc.ca>
3323
3324         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
3325         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
3326
3327 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3328
3329         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
3330
3331 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3332
3333         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
3334         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
3335         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
3336         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
3337         config/v850/t-v850:  Correct dependencies and normalize
3338         compilation commands for files that include coretypes.h and tm.h.
3339
3340         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
3341         not config.h and system.h.
3342
3343 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
3344
3345         * i386.c (flags_reg_operand):  New function.
3346         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
3347         * i386.md (cmov splitter, movqicc): Use new predicate.
3348
3349 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
3350
3351         * i386.md (movqicc splitter): Fix template.
3352
3353 2002-12-13  Jason Merrill  <jason@redhat.com>
3354
3355         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
3356         * calls.c (expand_call): Handle it.
3357         * tree-inline.c (struct inline_data): Remove target_exprs field.
3358         (optimize_inline_calls): Don't initialize it.
3359         (expand_call_inline): Don't modify it.  Handle
3360         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
3361         (declare_return_variable): Take return slot addr.
3362         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
3363         to return_slot_addr.
3364         * langhooks-def.h, langhooks.c: Adjust.
3365         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
3366         a decl with no DECL_INITIAL.
3367
3368         * expr.c (expand_expr): Don't discard the target of a call which
3369         returns in memory.
3370
3371 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
3372
3373         * cppinit.c (path_include): Take an environment variable name.
3374         Tidy up.
3375         (init_standard_includes): Simplify environment handling, and
3376         move to ...
3377         (cpp_read_main_file): ...here as -nostdinc should not affect
3378         environment variable paths.
3379
3380 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3381
3382         * pa.c (output_millicode_call): Correct typo.
3383         (output_call): Likewise.
3384
3385 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
3386
3387         * config/mn10300/mn10300.c (print_operand) <case N>: Check
3388         operand's range.  Print value directly, without aid from
3389         output_address.
3390         <case U>: New.
3391         <case S>: Make sure argument to fprintf has the right type.
3392         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
3393         (EXTRA_CONSTRAINT): Adjust.
3394         * config/mn10300/mn10300.md: Add new all-QImode pattern for
3395         bclr.  Use %U for immediate operands of bset and bclr.
3396         (iorqi3): New expand, with insns for AM33 and mn10300.
3397
3398 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
3399
3400         * sh.c (sh_register_operand): New function.
3401         (prepare_move_operands): Use it.
3402         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
3403         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
3404         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
3405         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
3406         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
3407         (movv2si_i): Likewise.
3408
3409 2002-12-13  Jim Wilson  <wilson@redhat.com>
3410
3411         * doc/extend.texi (Complex Numbers): Update info on debug info.
3412
3413 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
3414
3415         * config/h8300/h8300.md (addhi3_h8300): Remove the last
3416         alternative.
3417
3418 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3419
3420         * hooks.h (hook_tree_tree_bool_false): Declare
3421         hook_bool_tree_tree_false instead.
3422
3423 2002-12-12  Devang Patel  <dpatel@apple.com>
3424
3425         * doc/invoke.texi: Document Darwin linker options, -bundle
3426         -bind_at_load, -all_load and -arch_errors_fatal
3427
3428 2002-12-12  Jim Wilson  <wilson@redhat.com>
3429
3430         * dbxout.c (dbxout_fptype_value): New.
3431         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
3432
3433 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3434
3435         * c-decl.c: Fix a comment typo.
3436         * cfg.c: Likewise.
3437         * cfgcleanup.c: Likewise.
3438         * cfglayout.c: Likewise.
3439         * cfgrtl.c: Likewise.
3440         * c-typeck.c: Likewise.
3441         * dominance.c: Likewise.
3442         * dwarf2asm.c: Likewise.
3443         * dwarfout.c: Likewise.
3444         * expmed.c: Likewise.
3445         * expr.c: Likewise.
3446         * final.c: Likewise.
3447         * flow.c: Likewise.
3448         * function.c: Likewise.
3449         * gcc.c: Likewise.
3450         * genautomata.c: Likewise.
3451         * integrate.c: Likewise.
3452         * loop.c: Likewise.
3453         * loop.h: Likewise.
3454         * output.h: Likewise.
3455         * profile.c: Likewise.
3456         * ra.h: Likewise.
3457         * reload1.c: Likewise.
3458         * reload.c: Likewise.
3459         * sched-rgn.c: Likewise.
3460         * stmt.c: Likewise.
3461         * tree.h: Likewise.
3462         * vmsdbgout.c: Likewise.
3463
3464 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3465
3466         * config/h8300/h8300.md: Add a new peephole2.
3467
3468 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3469
3470         * config/h8300/h8300.md (a peephole2): Accept a constant
3471         that's accepted by CONST_OK_FOR_J.
3472
3473 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3474
3475         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
3476         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
3477         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
3478         (*addhi_h8300hs): Likewise.
3479
3480 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
3481
3482         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
3483         (sh_register_move_cost): Add clause for SImode fp-fp moves.
3484         Increase cost for moves involving multiple general purpose registers.
3485         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
3486         TARGET_FMOVD.
3487         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
3488         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
3489         (enum reg_class reg_class_from_letter): No longer const.
3490         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
3491         REGCLASS_HAS_GENERAL_REG.
3492         Handle SImode moves from/to fp registers.
3493         ! TARGET_SHMEDIA && TARGET_FMOVD.
3494         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
3495         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
3496
3497 2002-12-12  Andreas Schwab  <schwab@suse.de>
3498
3499         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
3500         change and some warnings.
3501
3502 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3503
3504         * doc/md.texi (pushm): Fix a typo.
3505
3506 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
3507
3508         * config/mips/mips.c (mips_output_conditional_branch): Support
3509         PIC-safe out-of-range branch and branch-likely.
3510         * config/mips/mips.md (attr length): PIC-safe out-of-range
3511         branches are longer.
3512         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
3513         unused code to support indirect jumps.
3514
3515 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
3516
3517         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
3518         $(tm_file_list).
3519
3520 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
3521
3522         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
3523
3524 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
3525
3526         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
3527
3528 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3529
3530         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
3531         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
3532         BIGGEST_ALIGNMENT.
3533         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
3534         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
3535
3536 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3537
3538         * doc/invoke.texi: Correct dump file names.
3539
3540 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3541
3542         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
3543         name to globalize_label or assemble_name.
3544
3545 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
3546
3547         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
3548         if not TARGET_SHMEDIA.
3549
3550 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
3551
3552         * sh.h (REG_CLASS_HAS_FP_REG): New.
3553         (REGISTER_MOVE_COST) Use it.  Put body into a function and
3554         move it into:
3555         * sh.c (sh_register_move_cost).
3556         * sh-protos.h (sh_register_move_cost): Declare.
3557
3558         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
3559         (sh_adjust_cost): Always return a value.
3560
3561 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
3562
3563         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
3564         (REGISTER_MOVE_COST): Use it.
3565
3566 2002-12-11  Richard Henderson  <rth@redhat.com>
3567
3568         * tree.h (MODULE_LOCAL_P): Kill.
3569         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
3570
3571 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3572
3573         * config/h8300/h8300.md (two define_peephole2): New.
3574
3575 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3576
3577         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
3578         (CONST_OK_FOR_K): Likewise.
3579         (CONST_OK_FOR_M): Likewise.
3580         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
3581
3582 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
3583
3584         * c-common.c (builtin_define_type_max): Handle unsigned
3585         types too.
3586
3587 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
3588
3589         * haifa-sched.c (rank_for_schedule): Correct style.
3590
3591 2002-12-10  Per Bothner  <pbothner@apple.com>
3592
3593         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
3594         directive_index into an unsigned field and a new is_directive field.
3595         * cppinit.c (mark_named_operators):  Update to set new fields.
3596         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
3597         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
3598         No longer need to subtract 1 from directive_index.
3599         (_cpp_init_directives):  No longer need to add 1 to directive_index.
3600         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
3601
3602 2002-12-10  Roger Sayle  <roger@eyesopen.com>
3603
3604         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
3605         check for evaluating sqrt of a constant at compile time.
3606         * simplify-rtx.c (simplify_unary_operation): Likewise.
3607
3608 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
3609
3610         PR other/8882
3611         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
3612
3613 2002-12-10  Devang Patel  <dpatel@appple.com>
3614
3615         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
3616         * doc/invoke.texi: Add new "Darwin Options" section.
3617
3618 2002-12-10  Jim Wilson  <wilson@redhat.com>
3619
3620         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
3621         memory.
3622
3623 2002-12-10  Andrew Haley  <aph@redhat.com>
3624
3625         * cse.c (cse_insn): Don't cse past a basic block boundary.
3626
3627 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
3628
3629         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
3630         -shared.
3631         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
3632         * config/alpha/linux.h (LIB_SPEC): Likewise.
3633         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
3634         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
3635         * config/sparc/linux.h (LIB_SPEC): Likewise.
3636         * config/sparc/linux64.h (LIB_SPEC): Likewise.
3637
3638 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
3639
3640         * doc/invoke.texi: Document UltraSparc III option.
3641
3642 2002-12-09  Richard Henderson  <rth@redhat.com>
3643
3644         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
3645         __tune_pentium2__ and __tune_pentium3__ as necessary.
3646
3647 2002-12-09  Richard Henderson  <rth@redhat.com>
3648
3649         * target.h (gcc_target): Add cannot_force_const_mem.
3650         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
3651         (TARGET_INITIALIZER): Add it.
3652         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
3653         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
3654         * reload1.c (reload): Likewise.
3655         * hooks.c (hook_bool_rtx_false): New.
3656         * hooks.h: Declare it.
3657
3658         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
3659         (TARGET_CANNOT_FORCE_CONST_MEM): New.
3660         (ix86_expand_move): Remove de-const-pooling hack.
3661
3662 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
3663
3664         * toplev.c (dump_file): Fix order to match reality.
3665
3666 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
3667
3668         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
3669         (store_multiple): Likewise.
3670
3671 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3672
3673         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
3674         function pointers in page 0.
3675
3676 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3677
3678         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
3679         definition
3680         (MEMBER_TYPE_FORCES_BLK): Move.
3681         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
3682         aggregate arguments.
3683         (ia64_function_value): Use PARALLEL to return aggregate values.
3684
3685 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3686
3687         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3688         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3689         * calls.c (store_unaligned_arguments_into_pseudos) Remove
3690         FUNCTION_ARG_REG_LITTLE_ENDIAN.
3691         * stmt.c (expand_return): Ditto.
3692         * expr.c (move_block_from_reg): Ditto.
3693         (copy_blkmode_from_reg): Ditto.
3694         * expmed.c (store_bit_field): Ditto.
3695
3696 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
3697
3698         * config.gcc: Added tic4x-* target as an alias to c4x-*
3699
3700 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3701
3702         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
3703         constructing insn directly.
3704
3705 2002-12-06  Per Bothner  <pbothner@apple.com>
3706
3707         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
3708         char to an int bit-field, for hosts where char is unsigned.
3709
3710 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3711             Richard Henderson <rth@redhat.com>
3712
3713         * real.c (ieee_extended_motorola_format,
3714         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
3715         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
3716         Provide appropriate values for new signbit field.
3717
3718 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3719
3720         * real.h (real_format): Add signbit field.
3721         * real.c (ieee_single_format, ieee_double_format,
3722         ieee_extended_motorola_format, ieee_extended_intel_96_format,
3723         ieee_extended_intel_128_format, ibm_extended_format,
3724         ieee_quad_format, vax_f_format, vax_d_format,
3725         vax_g_format, i370_single_format, i370_double_format,
3726         c4x_single_format, c4x_extended_format, real_internal_format):
3727         Provide suitable signbit value, or -1 to avoid bit twiddling.
3728
3729         * optabs.c (expand_unop): Try implementing negation of
3730         floating point modes by flipping the sign bit.
3731         (expand_abs): Try implementing abs of floating point modes
3732         by clearing the sign bit.
3733
3734 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3735
3736         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
3737         of constructing insn directly.
3738
3739 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
3740
3741         * config/h8300/h8300.md (*iorhi_shift_8): New.
3742
3743 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
3744
3745         * doc/invoke.texi: Document FRV port options.
3746         * doc/md.texi: Document FRV register classes.
3747
3748 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3749
3750         * doc/install.texi (Configuration): Improve description of cases
3751         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
3752
3753 2002-12-06  Per Bothner  <pbothner@apple.com>
3754
3755         * cpplib.h (NODE_MACRO_ARG):  New flag.
3756         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
3757         Remove value.operator field.  Move arg_index field to value union.
3758         (directive_index):  Make signed, since also used for C++ operators.
3759         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
3760         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
3761         Save node->value, and set node->value.arg_index.
3762         (_cpp_create_definition):  For each paramater, restore node->value.
3763         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
3764         * cpptrad.c (scan_out_logical_line): Likewise.
3765         (scan_out_logical_line): Check for directive > 0.
3766         * cpplib.c (cpp_handle_directive):  Likewise.
3767         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
3768         by negative of directive_index.
3769         * cppinit.c (mark_named_operators):  Likewise.
3770
3771         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
3772
3773 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
3774
3775         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
3776         FPU.
3777         (push): Generate push_fpscr.
3778         (pop): Generate pop_fpscr.
3779         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
3780         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
3781
3782 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
3783
3784         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
3785         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
3786
3787 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
3788
3789         * sh.md (movdi_i): Name.  Remove inappropriate comment.
3790
3791 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
3792         Merged from basic improvements branch (excerpt):
3793
3794         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
3795         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
3796
3797 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
3798
3799         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
3800
3801 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
3802
3803         * i386.md (dimode peep2s): Re-add "&& 1".
3804
3805 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3806
3807         * i386.c (ix86_expand_prologue):  Add comment, do not use
3808         fast prologues for cold and normal functions.
3809
3810 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
3811
3812         * i386.c (x86_rep_movl_optimal): New variable.
3813         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
3814         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
3815
3816         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
3817         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
3818         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
3819         generate unnecesary subregs.
3820
3821 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3822
3823         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
3824         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
3825
3826 2002-12-05  Dale Johannesen  <dalej@apple.com>
3827
3828         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
3829
3830 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
3831
3832         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
3833         PROFILE_HOOK.
3834         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
3835
3836 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
3837
3838         * config/rs6000/spe.h (__ev_mwlufi): Remove.
3839         (__ev_mwlufia): Remove.
3840         (__ev_mwlumfaaw): Remove.
3841         (__ev_mwlusfaaw): Remove.
3842         (__ev_mwlumfanw): Remove.
3843         (__ev_mwlusfanw): Remove.
3844
3845 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3846
3847         * config/h8300/h8300.md (*andorsi3_shift_8): New.
3848
3849 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3850
3851         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
3852         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
3853         (get_shift_alg): Return optimal assembly instructions for the
3854         shifts mentioned above.
3855
3856 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
3857
3858         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
3859         condtiional moves.
3860
3861 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3862
3863         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
3864         implement ashiftrt:HI by 13 bits on H8S.
3865
3866 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3867
3868         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
3869         * pa.md (canonicalize_funcptr_for_compare): Output library call to
3870         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
3871         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
3872         CTOR_LIST_BEGIN): New defines.
3873         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
3874         (fptr.c): Add make rules.
3875
3876 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
3877
3878         * combine.c (combine_simplify_rtx): Add new canonicalizations.
3879         * doc/md.texi (Insn Canonicalizations): Document new
3880         canonicalizations for multiply/add combinations.
3881         * config/rs6000/rs6000.md: Add and modify floating add/multiply
3882         patterns to ensure they're used whenever they can be.
3883
3884 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3885
3886         * config/h8300/h8300.c: Update the comments related to shifts.
3887
3888 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3889
3890         * config/mips/mips.md (get_fnaddr): Correct length attribute.
3891
3892 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3893
3894         * config/h8300/h8300.md (*extzv_8_8): New.
3895         (*extzv_8_16): Likewise.
3896
3897 2002-12-04  Jason Merrill  <jason@redhat.com>
3898
3899         PR c++/8461, c++/8625
3900         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
3901         references.
3902         * tree-inline.c (initialize_inlined_parameters): Likewise.
3903
3904         * tree.c (variably_modified_type_p): Just return an error_mark_node.
3905
3906 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3907
3908         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
3909         macro instruction in a branch delay slot, to avoid assembler
3910         warnings.
3911
3912 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3913
3914         PR c/7622
3915         * c-semantics (genrtl_scope_stmt): Do not output inlined
3916         nested functions that contain no code.
3917
3918 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
3919
3920         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
3921         to be forced into nonfallthru.
3922
3923 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
3924
3925         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
3926
3927 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
3928
3929         * config/rs6000/spe.md (*movv1di_const0): New pattern.
3930
3931 2002-12-03  Richard Henderson  <rth@redhat.com>
3932
3933         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
3934
3935 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
3936
3937         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
3938         Initialize tmp.using_obstack to 0.
3939
3940 2002-12-03  Andreas Schwab  <schwab@suse.de>
3941
3942         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
3943         (EH_RETURN_STACKADJ_RTX): Define.
3944         (EH_RETURN_HANDLER_RTX): Define.
3945         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3946         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
3947         registers and don't save fixed registers.
3948         (m68k_output_function_prologue): Use it.
3949         (use_return_insn): Likewise.
3950         (m68k_output_function_epilogue): Likewise.
3951
3952 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
3953
3954         * config/h8300/h8300.c (single_one_operand): Fix a warning.
3955         (single_zero_operand): Likewise.
3956
3957 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
3958
3959         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
3960         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
3961         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
3962         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
3963         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
3964         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
3965         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
3966         doc/install-old.texi: Replace hconfig.h with bconfig.h.
3967         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
3968
3969 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
3970
3971         * config/rs6000/rs6000.md (ffssi): Convert to expander.
3972         (ffsdi): Likewise.
3973         (cntlzw2, cntlzd2): New patterns.
3974
3975 2002-12-02  H.J. Lu <hjl@gnu.org>
3976
3977         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
3978         (mips*-*-linux*): Remove mips/t-linux.
3979
3980 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
3981
3982         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3983
3984 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3985
3986         * config/h8300/h8300.c (dosize): Replace argument op with
3987         sign.
3988         (h8300_output_function_prologue): Update the call to dosize.
3989         (h8300_output_function_epilogue): Likewise.
3990
3991 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
3992
3993         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
3994
3995 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3996
3997         * configure.in: Use "missing" script to generate warning if
3998         flex or bison programs not found, instead of invoking "false".
3999         * configure: Rebuilt.
4000
4001 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
4002
4003         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
4004
4005 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
4006
4007         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
4008
4009 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4010
4011         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
4012         (push): Likewise.
4013         (pop): Likewise.
4014         (h8300_output_function_prologue): Likewise.
4015         (h8300_output_function_epilogue): Likewise.
4016
4017 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
4018
4019         * expmed.c (store_bit_field): Use int_mode_for_mode to find
4020         corresponding mode of non-integer mode, unless it is VOIDmode.
4021
4022 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4023
4024         * config/h8300/h8300.md (stm_h8300s_2): New.
4025         (stm_h8300s_3): Likewise.
4026         (stm_h8300s_4): Likewise.
4027         (five define_peephole2): Likewise.
4028
4029 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4030
4031         * ra-build.c: Fix a comment typo.
4032
4033 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4034
4035         * i386.c (ix86_expand_int_movcc): fix
4036         reversed BRANCH_COST test; be curefull about infinite recursion.
4037
4038 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
4039
4040         * config/h8300/h8300.c (h8300_output_function_prologue):
4041         Remove variable idx.
4042         (h8300_output_function_epilogue): Likewise.
4043
4044 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
4045
4046         * config/frv/xm-frv.h: Delete, unnecessary.
4047
4048 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
4049
4050         * config/h8300/h8300.md: Add comments for define_peephole2.
4051
4052 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
4053
4054         * builtin-types.def (BT_SIZE): Use size_type_node.
4055         * builtins.c (fold_builtin): Make the builtin strlen returns a
4056         size_t, not a sizetype.
4057         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
4058         c_size_type_node.
4059         (c_alignof_expr): Likewise.
4060         (c_common_nodes_and_builtins): Likewise.
4061         * c-common.h (CTI_C_SIZE_TYPE): Remove.
4062         (c_size_type_node): Likewise.
4063         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
4064         * tree.h (TI_SIZE_TYPE): New enumeral.
4065         (size_type_node): Likewise.
4066
4067 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
4068
4069         * configure.in: Don't put ${tm_file} into host_xm_file,
4070         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
4071         Take location of tm-preds.h into account when calculating
4072         tm_p_file_list.
4073         * configure: Regenerate.
4074         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
4075         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
4076         Remove special case code for tm_p.h and *config.h; add new
4077         special case code for tm.h and tconfig.h. Clean up a bit.
4078
4079         * Makefile.in (tm_file, tm_file_list): New variables set from
4080         @-substitutions.
4081         (GCONFIG_H): Deleted.
4082         (GTM_H, TM_H): New.
4083         (CONFIG_H): Is now just config.h $(host_xm_file_list).
4084         (TM_P_H): Move up with the other mkconfig.sh-generated
4085         headers; don't mention tm-preds.h explicitly.
4086         (tm.h, cs-tm.h): New rule.
4087         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
4088         invocations of mkconfig.sh for changes to that program.
4089         (mostlyclean): Delete print-rtl1.c.
4090         (clean): Delete tm.h.
4091         Update dependencies for the files listed below.
4092
4093         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
4094
4095         * coretypes.h: New file.
4096         * system.h: #define malloc to xmalloc and realloc to xrealloc
4097         when FLEX_SCANNER or YYBISON is defined, independent of the
4098         value of GCC_VERSION.
4099         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
4100         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
4101         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
4102         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
4103         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
4104         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
4105         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
4106         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
4107         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
4108         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
4109         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
4110         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
4111         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
4112         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
4113         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
4114         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
4115         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
4116         genconstants.c, genemit.c, genextract.c, genflags.c,
4117         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
4118         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
4119         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
4120         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
4121         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
4122         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
4123         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
4124         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
4125         print-tree.c, profile.c, protoize.c, ra-build.c,
4126         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
4127         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
4128         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
4129         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
4130         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
4131         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
4132         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
4133         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
4134         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
4135         xcoffout.c, config/darwin-c.c, config/darwin.c,
4136         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
4137         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
4138         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
4139         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
4140         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
4141         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
4142         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
4143         config/i960/i960-c.c, config/i960/i960.c,
4144         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
4145         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4146         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
4147         config/mips/irix6-libc-compat.c, config/mips/mips.c,
4148         config/mmix/mmix.c, config/mn10200/mn10200.c,
4149         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
4150         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
4151         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
4152         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
4153         config/sparc/sparc.c, config/stormy16/stormy16.c,
4154         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
4155         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
4156         Include coretypes.h and tm.h.
4157
4158         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
4159         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
4160         genrecog.c: Include coretypes.h and tm.h from the file
4161         generated by this program.
4162
4163         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
4164         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
4165         coretypes.h and tm.h, and tsystem.h when not already included.
4166         No need to include stddef.h nor stdlib.h.
4167
4168         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
4169         include auto-host.h or ansidecl.h/
4170         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
4171         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
4172         include auto-host.h, ansidecl.h, or system.h.
4173         * fixinc/server.c: Likewise.  Also, do not include signal.h,
4174         and do not redefine volatile.
4175
4176 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4177
4178         * i386.md (movdf_integer):  Always enable in 64bit.
4179         (movdf_nointeger): Always disable in 64bit.
4180
4181 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4182
4183         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
4184         pseudo register number plus 1.
4185
4186 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
4187
4188         * expmed.c (store_bit_field): Use int_mode_for_mode to find
4189         corresponding mode of non-integer mode, unless it is VOIDmode.
4190
4191 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
4192
4193         * cpplib.c (_cpp_test_assertion): Default *value to 0.
4194
4195         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
4196
4197 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
4198
4199         * config/s390/t-crtstuff: New target makefile fragment.
4200         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
4201
4202 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
4203
4204         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
4205         alternatives to correct the length when the memory operand is
4206         either pre_dec or post_inc.
4207
4208 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
4209
4210         * config/h8300/h8300.md (an anonymous pattern): Give an
4211         internal name *tst_extzv_bitqi_1_n.
4212         Accept bit_operand instead of bit_memory_operand.
4213         Do not accept bit tests with the MSB.
4214         (*tst_extzv_memqi_1_n): New.
4215
4216 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
4217
4218         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
4219         sharing when operand is SUBREG.
4220
4221 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
4222
4223         * athlon.md (athlon-decodev): New reservation unit.
4224         (athlon-direct0): New reservation.
4225         (athlon-vector): New use athlon-decodev.
4226         (athlon-double, athlon-direct): Better model.
4227         (athlon_imul_k8): Use athlon-direct0.
4228         (athlon_movlpd_load): New insn reservation.
4229
4230 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4231
4232         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
4233         Fix a comment typo.
4234         (h8300_tiny_constant_address_p): Likewise.
4235
4236 2002-11-28  Michael Matz  <matz@suse.de>
4237
4238         * doc/passes.texi: Mention the other register allocator.
4239
4240 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4241
4242         * config/h8300/h8300.md (6 new peephole2 patterns): New.
4243
4244 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
4245
4246         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
4247         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
4248         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
4249
4250 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4251
4252         * config/h8300/h8300.c (h8300_and_costs): New.
4253         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
4254         * config/h8300/h8300-protos.h: Add a prototype for
4255         h8300_and_costs.
4256
4257 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
4258
4259         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
4260         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
4261         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
4262         * i386.md (truncdfsf patterns and splitters): Use
4263         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
4264
4265 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
4266
4267         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
4268         pointer argument in the prototypes of the following builtins
4269         be (const TYPE *) rather than (TYPE *):
4270          + __builtin_altivec_ld_internal_4sf
4271          + __builtin_altivec_ld_internal_4si
4272          + __builtin_altivec_ld_internal_8hi
4273          + __builtin_altivec_ld_internal_16qi
4274          + __builtin_altivec_lvsl
4275          + __builtin_altivec_lvsr
4276          + __builtin_altivec_lvebx
4277          + __builtin_altivec_lvehx
4278          + __builtin_altivec_lvewx
4279          + __builtin_altivec_lvxl
4280          + __builtin_altivec_lvx
4281          + __builtin_altivec_dst
4282          + __builtin_altivec_dstt
4283          + __builtin_altivec_dstst
4284          + __builtin_altivec_dststt
4285
4286 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4287
4288         * except.c (default_exception_section): Move variable into the
4289         scope where it is used.
4290
4291 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
4292
4293         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
4294         correct version.
4295
4296 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4297
4298         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
4299
4300 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4301
4302         * config/h8300/h8300.c (h8300_shift_costs): New.
4303         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
4304         * config/h8300/h8300-protos.h: Add a prototype for
4305         h8300_shift_costs.
4306
4307 2002-11-27  Jim Wilson  <wilson@redhat.com>
4308
4309         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
4310         in output template.
4311
4312 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
4313
4314         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
4315         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
4316         DLL_IMPORT_EXPORT_PREFIX, not '@'.
4317         (i386_pe_dllimport_name_p): Likewise.
4318         (i386_pe_mark_dllexport): Likewise.
4319         (i386_pe_mark_dllimport): Likewise.
4320         (i386_pe_encode_section_info): Likewise.
4321         (i386_pe_strip_name_encoding): Likewise.
4322
4323 2002-11-27  Richard Henderson  <rth@redhat.com>
4324
4325         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
4326         (nm && NF == 3): Set sawsymbol true.
4327         (END): Exit if no symbols seen.
4328         (output): Fix map syntax error if no globals for the version.
4329
4330 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4331
4332         * builtins.def (DEF_C99_BUILTIN): Fix.
4333
4334 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
4335
4336         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
4337         (all): Add .size and .type information.
4338
4339 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
4340
4341         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
4342         partial_reg_stall target.
4343
4344 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4345
4346         * i386.md (movhicc): Allow general operand.
4347         (movqicc): New expander.
4348         (movqicc_noc): New pattern.
4349         * i386.c (ix86_expand_carry_flag_compare): New function.
4350         (ix86_expand_int_movcc): Optimize harder using sbb; support more
4351         HImode conversion; support QImode conditional moves
4352
4353 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
4354
4355         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
4356         (ix86_expand_prologue): Multiply the count by amount of registers to be
4357         pushed.
4358
4359 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4360
4361         * i386.c (override_options): Error about wrong -mcpu on x86-64
4362         compilation.
4363
4364 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
4365
4366         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
4367
4368 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
4369
4370         * i386-protos.h (x86_extended_QIreg_mentioned_p,
4371         x86_extended_reg_mentioned_p): Declare.
4372         * i386.c (extended_reg_mentioned_1): New static function.
4373         (x86_extended_QIreg_mentioned_p,
4374         x86_extended_reg_mentioned_p): New global functions.
4375         * i386.h (REX_SSE_REGNO_P): New macro.
4376         * i386.md (prefix_rex): New attribute.
4377         (length attribute): Add rex.
4378
4379 2002-11-26  Andrew Haley  <aph@redhat.com>
4380
4381         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
4382         from_Unwind_Find_Enclosing_Function.
4383         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
4384         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
4385         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
4386         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
4387         * unwind.h (_Unwind_FindEnclosingFunction): Add.
4388
4389 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4390
4391         * config/s390/s390.c (390_output_constant_pool): Set alignment
4392         before label in 64 bit mode, behind otherwise.
4393
4394 2002-11-26  Richard Henderson  <rth@redhat.com>
4395
4396         * c-common.c (handle_visibility_attribute): Accept "default".
4397         * tree.h (enum symbol_visibility): New.
4398         (decl_visibility): Declare.
4399         * target.h (gcc_target.visibility): Take visibility arg as integer.
4400         * varasm.c (default_assemble_visibility): Likewise.
4401         (decl_visibility): New.
4402         (maybe_assemble_visibility): Use it.
4403         * output.h (default_assemble_visibility): Update prototype.
4404         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
4405         visibility arg as integer.
4406         * doc/extend.texi: Document default visibility.
4407
4408 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
4409
4410         * config/h8300/h8300.c: Adjust spacing.
4411         * config/h8300/h8300.h: Likewise.
4412
4413 2002-11-26  Richard Henderson  <rth@redhat.com>
4414
4415         * hooks.c (hook_bool_void_false, hook_void_tree_int,
4416         hook_void_FILEptr_constcharptr): Rename so that the return
4417         type is first.
4418         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
4419         hook_bool_tree_false): New.
4420         * hooks.h: Update.
4421         * langhooks-def.h: Update for renames.
4422         * target-def.h: Likewise.
4423         * tree.c (default_comp_type_attributes,
4424         default_set_default_type_attributes, default_insert_attributes,
4425         default_function_attribute_inlinable_p,
4426         default_ms_bitfield_layout_p): Remove.
4427         * tree.h: Update.
4428
4429 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4430
4431         * pa-protos.h (function_value): New prototype.
4432         * pa.c (function_value): Use a PARALLEL to return small aggregates on
4433         TARGET_64BIT.
4434         * pa.h (FUNCTION_VALUE): Use function_value.
4435         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
4436         call_value_internal_reg, sibcall_value_internal_symref,
4437         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
4438         value.
4439
4440 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4441
4442         * expr.c (gen_group_rtx, emit_group_move): New functions.
4443         * expr.h (gen_group_rtx, emit_group_move): Prototype.
4444         * function.c (expand_function_start): Use gen_group_rtx to create a
4445         PARALLEL rtx to hold the return value when the real return rtx is a
4446         PARALLEL.
4447         (expand_function_end): Use emit_group_move to move the return value
4448         from a PARALLEL to the real return registers.
4449         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
4450         in PARALLELs.
4451
4452 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4453
4454         * config/t-libc-ok: Fix typo.
4455
4456 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4457
4458         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
4459         before AC_PROG_CC.
4460         * configure: Rebuilt.
4461
4462 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
4463
4464         * c-decl.c: (start_struct): Commonize flag setting.
4465
4466 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4467
4468         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
4469         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
4470         RS6000_CPU_CPP_ENDIAN_BUILTINS.
4471         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
4472
4473 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4474
4475         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
4476         insns.
4477         * config/s390/s390.c (struct machine_function): Introduction of
4478         struct machine_function.
4479         (s390_output_symbolic_const): Use of cfun.
4480         (s390_optimize_prolog): Likewise.
4481         (s390_fixup_clobbered_return_reg): Likewise.
4482         (s390_frame_info): Likewise.
4483         (s390_emit_prologue, s390_emit_epilogue): Likewise.
4484         (s390_init_machine_status): New function.
4485         (override_options): call s390_init_machine_status.
4486         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
4487         prototype.
4488
4489 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4490
4491         * varasm.c (output_constant_pool): For pool constants in mergeable
4492         section ensure each constant is padded to multiple of entity size.
4493
4494 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4495
4496         * varasm.c (default_exception_section): Move to...
4497         * except.c (default_exception_section): ... here. Make
4498         .gcc_except_table read-only if it is not expected to have any
4499         dynamic relocations and linker handles it.
4500         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
4501         if it is not expected to have any dynamic relocations and linker
4502         handles it.
4503         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
4504         when linking read-only and read-write sections together.
4505         * configure, config.in: Rebuilt.
4506         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
4507         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
4508
4509 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
4510
4511         * i386.md (pushsf_rex64): Fix typo.
4512
4513 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4514
4515         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
4516         new function.
4517         (__ev_create_ufix32_fs): Same.
4518         (__ev_get_sfix32_fs_internal): New.
4519         (__ev_get_sfix32_fs): Define to use function.
4520         (__ev_get_ufix32_fs_internal): New.
4521         (__ev_get_ufix32_fs): Define to use function.
4522         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
4523         (__ev_get_lower_ufix32_fs): Same.
4524         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
4525         (__ev_get_lower_sfix32_fs): Same.
4526         (__ev_set_sfix32_fs_internal): New.
4527         (__ev_set_ufix32_fs_internal): New.
4528         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
4529         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
4530         (__ev_set_upper_sfix32_fs): Call function.
4531         (__ev_set_lower_sfix32_fs): Same.
4532         (__ev_set_upper_ufix32_fs): Same.
4533         (__ev_set_lower_ufix32_fs): Same.
4534
4535 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
4536
4537         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
4538
4539 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4540
4541         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
4542         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4543         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4544         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
4545         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
4546         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4547         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
4548         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
4549         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4550         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4551         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
4552         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
4553         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
4554         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4555         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
4556         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
4557         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
4558         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
4559         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
4560         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
4561         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4562         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
4563         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
4564         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
4565         defining.
4566         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
4567         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
4568
4569 2002-11-25  Dave Pitts  <dpitts@cozx.com>
4570
4571         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
4572
4573 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4574
4575         * config/h8300/h8300.md (an anonymous pattern): New.
4576
4577 2002-11-25  Richard Henderson  <rth@redhat.com>
4578
4579         * alias.c (find_base_value): Use new_reg_base_value if it's live.
4580         (copying_arguments): Make boolean.
4581
4582 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4583
4584         * gcc.c (static_spec_functions): Add if-exists-else spec
4585         function.
4586         (if_exists_else_spec_function): New function.
4587         * doc/invoke.texi: Document the if-exists-else spec function.
4588
4589         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
4590         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
4591
4592 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4593
4594         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
4595         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
4596         "${tmake_file} rs6000/t-netbsd".
4597         * config/rs6000/netbsd.h: Rewrite.
4598         * config/rs6000/t-netbsd: New file.
4599
4600 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4601
4602         * config/h8300/h8300.md (an anonymous pattern): Relax the
4603         condition for the pattern.
4604
4605 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4606
4607         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
4608         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
4609         evmwlssfanw, evmwlsmfanw.
4610
4611         * config/rs6000/rs6000.c (bdesc_2arg): Same.
4612
4613         * config/rs6000/spe.md: Same for patterns.
4614
4615 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
4616
4617         PR c/8639
4618         * fold-const.c (extract_muldiv): Don't propagate division unless
4619         both arguments are multiples of C.
4620
4621 2002-11-25  Andrew Haley  <aph@redhat.com>
4622
4623         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
4624         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
4625         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
4626         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
4627
4628 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
4629
4630         * i386.c (x86_use_ffreep): New global variable.
4631         * i386.h (x86_use_frfeep): Declare
4632         (TARGET_USE_FFREEP): New macro
4633         * i386.md  (movs?f*): Use freep when asked for.
4634         (push?f): Remove dead code.
4635
4636 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
4637
4638         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
4639         target help message.
4640
4641 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4642
4643         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
4644         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
4645         crtbeginT.o".
4646         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
4647         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
4648         to "" for a.out configurations.
4649         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
4650
4651 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4652
4653         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
4654         NETBSD_CPP_SPEC directly.
4655         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
4656         netbsd_endfile_spec.
4657         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
4658
4659 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4660
4661         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
4662         NETBSD_STARTFILE_SPEC.
4663         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
4664         (ENDFILE_SPEC): Likewise.
4665         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
4666
4667 2002-11-24  Andreas Schwab  <schwab@suse.de>
4668
4669         * Makefile.in (install-driver): Remove versioned link before
4670         trying to create it.
4671
4672         * config/m68k/m68k.c: Fix typo in last change defining
4673         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
4674
4675 2002-11-23  H.J. Lu <hjl@gnu.org>
4676
4677         * aclocal.m4: Include ../config/accross.m4.
4678         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
4679         (gcc_AC_C_COMPILE_ENDIAN): Removed.
4680         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
4681         instead of $ac_cv_c_compile_endian.
4682
4683         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
4684         AC_COMPILE_CHECK_SIZEOF.
4685         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
4686         * configure: Rebuild.
4687
4688 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
4689
4690         * config/h8300/h8300.c (print_operand): Update the use of
4691         h8300_tiny_constant_address_p.
4692         (h8300_adjust_insn_length): Likewise.
4693         (h8300_tiny_constant_address_p): Check if the given rtx is a
4694         variable declared with __attribute__ ((tiny_data)).
4695
4696 2002-11-22  Dale Johannesen  <dalej@apple.com>
4697
4698         * toplev.c (rest_of_compilation):  Fix comments.
4699
4700 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
4701
4702         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
4703         allow mmap from /dev/zero.  Don't make decisions for the host
4704         based on presence or absence of /dev/zero on the build machine.
4705         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
4706         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
4707         * configure: Regenerate.
4708
4709 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4710
4711         * gcc.c (make_relative_prefix, split_directories)
4712         (free_split_directories): Removed.
4713
4714 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4715
4716         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
4717         * configure: Regenerated.
4718
4719 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
4720
4721         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
4722         length computation when xor.l is output.
4723
4724 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
4725
4726         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
4727         (call_vms_1, call_value_vms_1): Cleanup syntax.
4728
4729 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4730
4731         * athlon.md (define_atuomaton): Add athlon_load.
4732         (athlon-double): New reservation.
4733         (athlon-ieu0): New CPU unit.
4734         (athlon-load?): Use athlon_load automaton.
4735         (*_k8 reservations): New.
4736         (other insn revervations): Activate for K8.
4737
4738 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
4739
4740         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
4741
4742 2002-11-21  Jim Wilson  <wilson@redhat.com>
4743
4744         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
4745         vectors to SI.
4746
4747 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
4748
4749         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
4750         * config/xtensa/xtensa.c (struct machine_function): Add
4751         incoming_a7_copied flag.
4752         (xtensa_copy_incoming_a7): Define.
4753         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
4754         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
4755
4756 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
4757
4758         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
4759         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
4760         x86_64_nonmemory_operand, x86_64_movabs_operand,
4761         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4762         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
4763         (local_symbolic_operand): Do not care the 64bit limits.
4764         (x86_64_sign_extended_value): Remove allow_rip support.
4765         (legitimate_pic_address_disp_p): Handle all cases allowed
4766         with RIP addressing.
4767         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
4768         (legitimize_pic_address): Reorganize.
4769         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
4770
4771 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4772
4773         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
4774         * config/arm/netbsd-elf.h: New file.
4775
4776 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4777
4778         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
4779         subtarget_asm_float_spec.
4780         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
4781         defaults from...
4782         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
4783
4784 2002-11-21  Nick Clifton  <nickc@redhat.com>
4785
4786         * config/fr30/fr30.md (movsf_constant_store): Move code to
4787         detect 0.0 into fr30.c.
4788         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
4789         Prototype.
4790         * config/fr30/fr30.c (fr30_const_double_is_zero): New
4791         function.  Return true if the rtx is 0.0.
4792
4793 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4794
4795         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
4796         if -mlittle-endian is specified.
4797
4798 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4799
4800         PR optimization/2903
4801         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
4802         (anddi_notsesidi_di): Likewise.
4803
4804 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
4805
4806         * config/h8300/h8300.c (print_operand): Use
4807         h8300_eightbit_constant_address_p and
4808         h8300_tiny_constant_address_p.
4809         (h8300_adjust_insn_length): Likewise.
4810         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
4811         (TINY_CONSTANT_ADDRESS_P): Likewise.
4812         (OK_FOR_U): Use eightbit_constant_address_p.
4813
4814 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
4815
4816         * config/s390/libgcc-libc.ver: Add multilib support.
4817         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
4818         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
4819         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
4820         EXTRA_MULTILIB_PARTS): Define.
4821
4822 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4823
4824         * arm.c (arm_get_frame_size): A leaf function does not need its
4825         stack padding to an aligned boundary if it has no frame.
4826         (thumb_get_frame_size): Likewise.
4827
4828 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
4829
4830         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
4831         (override_options): Likewise.
4832
4833 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
4834
4835         * config.gcc: Add k8 target alias support
4836         * i386.c (_cost): Declare costs for various variants of divides and
4837         multiplies.
4838         (k8_cost): New.
4839         (m_K8, m_ATHLON_K8): New macros.
4840         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
4841         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
4842         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
4843         x86_integer_DFmode_moves, x86_partial_reg_dependency,
4844         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
4845         x86_prologue_using_move, x86_epilogue_using_move,
4846         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
4847         x86_sse_typeless_stores): Set for K8
4848         (override_options): Add k8 support; fix athlon alignment;
4849         complain about non-x86-64 capable CPU being used in x86-64 compilation.
4850         (ix86_issue_rate): Set for K8.
4851         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
4852         x86_machine_dependent_reorg): Handle K8 like
4853         * i386.h
4854         (x86_costs):  Change mult_init and divide into array.
4855         (TARGET_K8, TARGET_ATHLON): New macros.
4856         (MODE_INDEX): New macro.
4857         (RTX_COST): Use new costs.
4858         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
4859         (TARGET_CPU_DEFAULT_NAMES): Add k8
4860         (TARGET_CPU_DEFAULT_k8): New constant
4861         (enum processor_type): Add PROCESSOR_K8.
4862         * i386.md (cpu attribute): Add k8.
4863
4864         * invoke.texi: Document -march=k8.
4865
4866         * i386.md (type attribute): Add leave
4867         (mode attribute): Remove unknownfp.
4868         (length_immediate, modrm, memory attributes): Handle leave correctly.
4869         (fp comparison patterns): Determine FP mode.
4870         (leave, leave_rex64): Remove special cases.
4871         * ppro.md (ppro_uops, ppro_p2): Add leave
4872         * pentiun.md (pent_pop): Handle leave too.
4873         * k6.md (k6_load): Handle leave.
4874         * athlon.md (athlon_leave, athlon_pop): Fix.
4875         (athlon_decode): Handle leave.
4876
4877 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
4878
4879         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
4880         to component type using GET_MODE_INNER.
4881         * expr.c (emit_move_insn_1): Ditto.
4882         * optabs.c (expand_binop): Ditto.
4883         (expand_unop): Ditto.
4884         (expand_complex_abs): Ditto.
4885
4886 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
4887
4888         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
4889
4890 2002-11-20  DJ Delorie  <dj@redhat.com>
4891
4892         * config/stormy16/stormy16.c (s16builtins,
4893         xstormy16_init_builtins, xstormy16_expand_builtin): New.
4894         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
4895
4896 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
4897
4898         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
4899         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
4900         (executing gencheck, genconfigs, genconditions, genflags,
4901         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
4902         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
4903         gengtype, genprotos): Prepend $(RUN_GEN).
4904         * configure.in: Move host compiler tests before --enable-checking
4905         tests.
4906         (--enable-checking=valgrind): New.
4907         * config.in, configure: Regenerate.
4908         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4909         Define as empty.
4910         (read_include_file): When doing the mmap+1 trick,
4911         valgrind-annotate the byte after the mmap:ed area as readable.
4912         (purge_cache): Remove above annotation.
4913         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
4914         VALGRIND_PATH -q to each command.
4915
4916         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4917         Define as empty.
4918         (ggc_realloc): Update valgrind annotations.
4919         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4920         Define as empty.
4921         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
4922         valgrind-annotate memory.
4923
4924 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
4925
4926         * recog.c (constrain_operands): Prefer exact match over reloadable
4927         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
4928
4929         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
4930         operands in Pmode.
4931
4932 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
4933
4934         PR c/8518
4935         * c-decl.c (duplicate_decls): Outline the second definition
4936         of an extern inline function in all cases.
4937
4938 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4939
4940         * stor-layout.c (place_field): Update rli->offset as well as
4941         rli->bitpos.
4942
4943 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4944
4945         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
4946
4947 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4948
4949         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
4950         into a libcall block.
4951         (divsi3): Likewise divsi3_i4_media.
4952
4953 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4954
4955         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
4956         out another register.
4957
4958 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
4959
4960         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
4961         (not just mask) are set in C.
4962
4963 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
4964
4965         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
4966
4967 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4968
4969         * profile.c (index_counts_file): Fix obvious mistake.
4970
4971 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4972
4973         * Makefile.in (profile.o): Add hashtab.h dependency.
4974         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
4975         * profile.c: Include hashtab.h.
4976         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
4977         cleanup_counts_index, index_counts_file, struct section_reference,
4978         struct da_index_entry, counts_file_name, counts_file_index): New.
4979         (get_exec_counts, init_branch_prob): Modified.
4980
4981 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
4982
4983         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
4984         to tmake_file. Remove setting gas and gnu_ld here.
4985         * config/sh/libgcc-glibc.ver: New file.
4986         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
4987         (SHLIB_MAPFILES): New.
4988         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
4989         (MD_STARTFILE_PREFIX): Likewise.
4990         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
4991         (DWARF2_UNWIND_INFO): Redefine.
4992         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4993         (LINK_EH_SPEC): Redefine.
4994         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
4995         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
4996         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
4997         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
4998         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
4999         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
5000         SH_DWARF_FRAME_FPSCR): Likewise.
5001         * config/sh/sh-protos.h (sh_set_return_address): Declare.
5002         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
5003         registers if the current function calls EH return.
5004         (sh_expand_epilogue): Handle EH stack adjustments.
5005         (sh_set_return_address): New function.
5006         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
5007         Don't abort even if the number is mapped to -1.
5008         (EH_RETURN_DATA_REGNO): Define.
5009         (EH_RETURN_STACKADJ_RTX): Define.
5010         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
5011         (eh_return): New pattern.
5012         (eh_set_ra_di, eh_set_ra_si): Likewise.
5013         Add splitter to perform EH return after reload.
5014
5015 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
5016
5017         * stor-layout.c (excess_unit_span): New function.
5018         (place_field): Use it.
5019
5020 2002-11-19  Andreas Schwab  <schwab@suse.de>
5021
5022         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
5023         not valid in C++.
5024
5025 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
5026
5027         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
5028         * configure: Regenerate.
5029
5030 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
5031
5032         * convert.c (strip_float_extensions): New function.
5033         (convert_to_real): Optimize some cases.
5034
5035 2002-11-19  Andreas Jaeger  <aj@suse.de>
5036
5037         * loop.c (record_giv): Initialize not_replaceable.
5038         (check_final_value): Likewise.
5039
5040 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5041
5042         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
5043         MASK_H8300S.
5044
5045 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
5046
5047         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
5048         only if -mh or -ms present.
5049         (h8300_eightbit_constant_address_p): Support the normal mode.
5050         (h8300_tiny_constant_address_p): Likewise.
5051         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
5052         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
5053         (Pmode): Evaluate to HImode for the normal mode.
5054         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
5055         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
5056         (ASM_WORD_OP): Evaluate to word for the normal mode.
5057         * config/h8300/h8300.md (tablejump_normal_mode): New.
5058         (indirect_jump_normal_mode): New.
5059         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
5060         directory.
5061         (MULTILIB_DIRNAMES): Create target dependent directory
5062         'normal'.
5063         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
5064         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
5065
5066 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
5067
5068         * i386.md (length_immediate): Do not refer to insn address.
5069         (jcc*, jmp patterns):  Compute length explicitly.
5070
5071 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
5072
5073         PR c/8588
5074         * optabs.c (expand_binop): Convert CONST_INTs in shift
5075         operations too.
5076
5077 2002-11-19  Roger Sayle  <roger@eyesopen.com>
5078
5079         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
5080
5081 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5082
5083         * config/h8300/h8300.md (an anonymous pattern): Relax the
5084         condition to accept the same operands and/or subregs.
5085
5086 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
5087
5088         * config/sh/sh.c (gen_shl_and): Revert previous patch.
5089         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
5090         reload_completed.
5091
5092 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5093
5094         * config/h8300/h8300.c (print_operand): Update the use of
5095         EIGHTBIT_CONSTANT_ADDRESS_P.
5096         (h8300_adjust_insn_length): Likewise.
5097         (h8300_eightbit_constant_address_p): Check if the given rtx is
5098         a variable with __attribute__((eightbit_data)).
5099         * config/h8300/h8300.h (OK_FOR_U): Update the use of
5100         EIGHTBIT_CONSTANT_ADDRESS_P.
5101
5102 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5103
5104         * doc/contrib.texi (Contributors): Add self as second contact in
5105         addition to Jeff Law.
5106
5107 2002-11-19  Andreas Jaeger  <aj@suse.de>
5108
5109         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
5110         find_alloca_call to right place.
5111
5112 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5113
5114         * cppfiles.c: Fix formatting.
5115
5116 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
5117
5118         * gcc.c (The Specs Language): Document spec functions.
5119         (static_spec_functions, lookup_spec_function)
5120         (eval_spec_function, handle_spec_function)
5121         (if_exists_spec_function, alloc_args): New.
5122         (execute): Abort if processing_spec_function is true.
5123         (do_spec_1): Hand off spec to handle_spec_function if %:
5124         is encountered.  If processing_spec_function is true,
5125         end any pending argument when the end of the string is reached.
5126         (main): Use alloc_args to allocate the initial argument vector.
5127         * gcc.h (struct spec_function): New.
5128         (lang_specific_spec_functions): New extern.
5129
5130         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
5131         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
5132         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
5133
5134         * doc/invoke.texi: Document spec functions.
5135
5136         * cppspec.c (lang_specific_spec_functions): New.
5137         * gccspec.c: Likewise.
5138
5139 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
5140
5141         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
5142         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
5143         (fixunstfsi_libfunc): Change.
5144         (fixunstfdi_libfunc): Change.
5145         (sdiv_optab): Don't zero out SImode handler.
5146         (udiv_optab): Don't zero out SImode handler.
5147         (smod_optab): Don't zero out SImode handler.
5148         (umod_optab): Don't zero out SImode handler.
5149
5150 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
5151
5152         PR preprocessor/8524
5153         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
5154         Add a new one in its place, which hopefully works.
5155         (skip_rest_of_line): Change test for bottom-of-context-stack.
5156
5157 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
5158
5159         * i386.md (addqi_1_slp): Fix output template.
5160         (subqi_1_slp): Fix type.
5161
5162 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
5163
5164         * calls.c (alloca_call_p): New global function.
5165         * tree.h (alloca_call_p): New.
5166         * tree-inline.c (inlinable_function_p):  Do not inline when
5167         function calls alloca.
5168         (find_alloca_call, find_alloca_call_1): New functions.
5169
5170 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
5171
5172         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
5173         bst.  Update the insn length.
5174         (*andorhi3): Likewise.
5175         (*andorsi3): Likewise.
5176
5177 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5178
5179         * config/sh/sh-protos.h (sh_mark_label): Declare.
5180         * config/sh/sh.c (sh_mark_label): New function, taken from
5181         movdi_const, but fixing the case when the address has an addend.
5182         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
5183
5184 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5185
5186         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
5187         (add_constant): Set it.
5188         (dump_table): Don't reorder a constant if part_of_sequence_p.
5189         (machine_dependent_reorg): Assume that float constants will
5190         stay in their original order if used as a sequence.
5191
5192 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5193
5194         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
5195         in compact code.
5196
5197 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5198
5199         * config/sh/sh.md (initialize_trampoline): Do not force the
5200         trampoline address into R0_REGS here.
5201
5202 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
5203
5204         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
5205         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
5206         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
5207         generate unnecesary subregs.
5208
5209 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5210
5211         * df.c: Fix formatting.
5212
5213 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5214
5215         * config/h8300/h8300.md (two anonymous patterns): Fix insn
5216         lengths.
5217
5218 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
5219
5220         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
5221         is not an arith_reg_operand.
5222
5223 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
5224
5225         * real.c (real_to_decimal): Fix buffer overrun when buffer size
5226         is smaller than representation.
5227
5228 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5229
5230         * builtins.c: Fix formatting.
5231
5232 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5233
5234         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
5235         floats?dff2_i387):
5236         Work around regclass stupidity.
5237         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
5238
5239 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
5240
5241         * i386.md (fop_df_6): New pattern.
5242         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
5243         (fop_xf_6): Rewrite
5244         (fop_xf_7): Delete.
5245         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
5246         (fop_tf_6): Rewrite
5247         (fop_tf_7): Delete.
5248
5249 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5250
5251         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
5252
5253 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5254
5255         * config/h8300/h8300.md: Fix formatting.
5256
5257 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5258
5259         * config/h8300/h8300.md: Replace spaces with tabs.
5260         * config/h8300/t-h8300: Remove a trailing empty line.
5261
5262 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5263
5264         * tlink.c: Fix formatting.
5265
5266 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
5267
5268         PR 8362
5269         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
5270         * config/rs6000/rs6000.md (movti_string): Remove output modifier
5271         when scratch register never needed.
5272         (ldmsi[3-8]): New patterns.
5273
5274 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5275
5276         * hard-reg-set.h: Follow spelling conventions.
5277         * real.c: Likewise.
5278         * target.h: Likewise.
5279
5280 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
5281
5282         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
5283
5284 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5285
5286         * optabs.c: Fix formatting.
5287
5288 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
5289
5290         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
5291         * i386.md (attribute type): Add type shift1 and rotate1.
5292         (*_slp): Rewrite to have just two operands to avoid reload problems.
5293
5294 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
5295
5296         * config/h8300/h8300.md (4 anonymous patterns): New.
5297
5298 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
5299
5300         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
5301         * doc/invoke.texi: Correct description of what needs to be done to
5302         force collection at every ggc_collect call.
5303
5304 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5305
5306         * config/s390/s390.c (optimization_options): Set
5307         flag_asynchronous_unwind_tables to 1 by default.
5308
5309 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5310
5311         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5312
5313 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5314
5315         * i386-protos.h (x86_function_profiler): New function
5316         * i386.h (MCOUNT_NAME): New.
5317         (PROFILE_COUNT_REGISTER): New.
5318         (FUNCTION_PROFILER): Move offline to ...
5319         * i386.c (x86_function_profiler) ... here; fix 64bit support
5320         * beos-elf.h (FUNCTION_PROFILER): Kill.
5321         (MCOUNT_NAME): New.
5322         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
5323         (MCOUNT_NAME): New.
5324         (PROFILE_COUNT_REGISTER): New.
5325         * linux.h (FUNCTION_PROFILER): Kill.
5326         (MCOUNT_NAME): New.
5327         * x86-64.h (FUNCTION_PROFILER): Kill.
5328         (MCOUNT_NAME): New.
5329         * freebsd.h (FUNCTION_PROFILER): Kill.
5330         (MCOUNT_NAME): New.
5331
5332 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
5333
5334         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
5335         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
5336         * config/arm/arm.c (arm_va_arg,
5337         arm_function_arg_pass_by_reference): New.
5338         * config/arm/arm-protos.h: Add prototypes.
5339
5340 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5341
5342         * gthr-single.h: Fix formatting.
5343
5344 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
5345
5346         * tree.c (tree_vec_elt_check_failed): New function.
5347         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
5348         (TREE_VEC_ELT): Use it.
5349
5350         * tree-inline.c (optimize_inline_calls): Don't copy a
5351         zero-length vector.
5352
5353 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5354
5355         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
5356
5357 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
5358
5359         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
5360         both operands contain local relocations.
5361         (categorize_decl_for_section): Don't use mergeable sections if
5362         initializer has any relocations.
5363
5364 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5365
5366         * gthr-vxworks.h: Fix formatting.
5367
5368 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
5369
5370         * doc/install.texi (Testing): Document extra Java testing.
5371         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
5372
5373 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5374
5375         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
5376         beginning of the spec.
5377         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
5378         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
5379         regarding problems with global constructors when using GNU ld.
5380
5381 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5382
5383         * gthr-solaris.h: Fix formatting.
5384
5385 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5386
5387         * gthr-posix.h: Fix formatting.
5388
5389 2002-11-12  Devang Patel <dpatel@apple.com>
5390         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
5391         (process_command): Same.
5392         * doc/invoke.texi: Info about these two new options.
5393
5394 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5395
5396         * config/h8300/h8300.md (*andorsi3): New.
5397
5398 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5399
5400         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
5401
5402 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5403
5404         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
5405         expressions appropriately.
5406
5407 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5408
5409         * gthr-win32.h: Fix formatting.
5410
5411 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5412
5413         * config/h8300/h8300.c (single_one_operand): Correctly compute
5414         mask when mode is SImode.
5415         (single_zero_operand): Likewise.
5416         * config/h8300/h8300.md (two new anonymous insns): New.
5417
5418 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5419
5420         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
5421         to that entire project.
5422
5423 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5424
5425         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
5426         directories.
5427
5428 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
5429
5430         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
5431         * doc/invoke.texi: Document them.
5432
5433         * ggc-page.c: Include params.h.  Remove definitions of
5434         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
5435         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
5436         (init_gcc): Don't set G.allocated_last_gc here.
5437         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
5438         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
5439         perform collection.
5440         * ggc-simple.c: Similarly.
5441         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
5442         dependencies.
5443
5444 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5445
5446         * gthr-dce.h: Fix formatting.
5447
5448 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5449
5450         PR c/8467
5451         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
5452         mode of DECL_RTL case.
5453
5454 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
5455
5456         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
5457
5458 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
5459
5460         * i386.c (construct_container): Fix handling of SSE_CLASS.
5461
5462 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
5463
5464         * config/m68k/t-crtstuff (crti.o): Use this...
5465         ($(T)crti.o): ... instead.
5466         (crtn.o): Use this...
5467         ($(T)crtn.o): ... instead.
5468
5469 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
5470
5471         PR c/8439
5472         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
5473         if there is something new to be simplified.
5474
5475 2002-11-10  H.J. Lu <hjl@gnu.org>
5476
5477         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
5478         * expr.c (PUSH_ARGS_REVERSED): Likewise.
5479
5480         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
5481
5482 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
5483
5484         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
5485         * config/rs6000/linux.h, config/rs6000/linux64.h,
5486         config/rs6000/windiss.h: ... not here.
5487
5488 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
5489
5490         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
5491         __ABICALLS__ if TARGET_ABICALLS.
5492
5493 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
5494
5495         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
5496
5497 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
5498
5499         * c-decl.c (grokdeclarator): Make error for duplicate type
5500         qualifiers into a pedwarn, disabled for C99.
5501
5502 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
5503
5504         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
5505         as FUNCTION_ARG_PASS_BY_REFERENCE.
5506
5507 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
5508
5509         * doc/install.texi: Add *-*-vxworks* specific installation
5510         instructions.
5511
5512         * config/vxlib.c: Rewrite using generation numbers to identify
5513         valid TSD keys.
5514
5515 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
5516
5517         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
5518
5519 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5520
5521         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
5522
5523         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
5524         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
5525         * pa.c (output_millicode_call): Use symbol difference rather than
5526         $PIC_pcrel$0 when using HP assembler.
5527         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
5528         not elfos.h (i.e., gas) is being used.
5529         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
5530         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
5531         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
5532         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
5533         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
5534         using elfos.h.
5535         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
5536         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
5537         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
5538         using elfos.h.
5539         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5540         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
5541         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
5542         Don't define when not using elfos.h.
5543         (ASM_DECLARE_RESULT): Don't define.
5544         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
5545         doesn't work on hppa64-hp-hpux11.
5546         (hppa*-hp-hpux11): Update.
5547
5548 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
5549
5550         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
5551         to the assembler if -mno-abicalls was specified.
5552
5553 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5554
5555         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
5556         ASM_OUTPUT_DEF): Delete.
5557
5558 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
5559
5560         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
5561
5562 2002-11-08  Roger Sayle  <roger@eyesopen.com>
5563
5564         * real.c (real_sqrt): Update comment with bibliographic reference.
5565
5566 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5567
5568         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
5569
5570 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
5571
5572         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
5573
5574 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
5575
5576         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
5577         (expand_builtin): Likewise.
5578         * builtins.def: Add
5579         __builtin_floor, __builtin_floorf, __builtin_floorl
5580         __builtin_ceil, __builtin_ceilf, __builtin_ceill
5581         __builtin_round, __builtin_roundf, __builtin_roundl
5582         __builtin_trunc, __builtin_truncf, __builtin_truncl
5583         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
5584         * genopinit.c (optabs): Initialize the new optabs.
5585         * optab.c (init_optabs): Likewise.
5586         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
5587         OTI_round, OTI_nearbyint.
5588         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
5589         * doc/md.texi: Document new named patterns.
5590         * doc/extend.texi (builtin functions)  Document
5591         floor, floorf, floorl, ceil, ceilf,
5592         ceill, round, roundf, roundl, trunc,
5593         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
5594
5595 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
5596
5597         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
5598
5599 2002-11-08  Dale Johannesen  <dalej@apple.com>
5600
5601         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
5602
5603 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5604
5605         PR preprocessor/8497
5606         PR preprocessor/8501
5607         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
5608         start a directive.  In assembler, #NUM is not a line directive.
5609
5610 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5611
5612         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
5613         buffers.
5614
5615 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5616
5617         * config/h8300/h8300.md (two anonymous test insns): New.
5618
5619 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5620
5621         * jump.c (mark_jump_label): Handle subregs of label_refs.
5622
5623 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
5624
5625         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
5626         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
5627
5628 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
5629
5630         * config/ia64/crtend.asm: Include "auto-host.h".
5631         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
5632         * config/ia64/crtbegin.asm: Similarly.
5633         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
5634         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
5635
5636         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
5637         * configure.in: Use it if --enable-initfini-array not specified.
5638         * doc/install.texi (Configuration): Document --enable-initfini-array.
5639         * configure, config.in: Rebuild.
5640
5641 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
5642
5643         * config/arm/arm-protos.h (arm_get_frame_size)
5644         (thumb_get_frame_size): New prototypes.
5645         * config/arm/arm.c (arm_get_frame_size)
5646         (thumb_get_frame_size): New functions.
5647         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
5648         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
5649         arm_get_frame_size.
5650         (thumb_expand_prologue, thumb_expand_epilogue): Use
5651         thumb_get_frame_size.
5652         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
5653         (machine_function): Add frame_size member.
5654         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
5655
5656 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5657
5658         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
5659         Adjust code to use portable unsigned bit manipulation.
5660         (insn_flags, tune_flags): Change type to unsigned.
5661         (struct processors): Make flags unsigned long.
5662         (arm_override_options): Change type of count and current_bit_count
5663         to unsigned.
5664
5665 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5666
5667         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
5668
5669 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
5670
5671         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
5672
5673 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
5674
5675         * reg-stack.c (compensate_edge): Fix sanity check.
5676
5677 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
5678
5679         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
5680         crt2.o.  Rearrange t-darwin makefiles.
5681         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
5682         * unwind-dw2-fde-darwin.c: New.
5683         * unwind-dw2-fde-glibc.c: Correct comment.
5684         * unwind-dw2-fde.c (__register_frame_info_bases)
5685         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
5686         (classify_object_over_fdes): Use last_fde.
5687         (add_fdes): Likewise.
5688         (linear_search_fdes): Likewise.
5689         * unwind-dw2-fde.h (struct object)
5690         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
5691         (last_fde): New.
5692         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
5693         (ENDFILE_SPEC): No crtend.o.
5694         * config/t-darwin: New.
5695         * config/i386/t-darwin: Delete.
5696         * config/darwin-crt2.c: New.
5697         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
5698         or config/t-darwin.
5699
5700 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
5701
5702         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
5703         MASK_MS_BITFIELD_LAYOUT
5704         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
5705         MS bitfields for Objective-C.
5706         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
5707         defines.
5708
5709         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
5710         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
5711         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
5712
5713         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
5714         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
5715         (TARGET_SWITCHES): Add above mask.
5716
5717         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
5718         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
5719         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
5720         flags for interix.
5721
5722 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
5723
5724         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
5725         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
5726         assembler.
5727         * config/mips/mips.md (tablejump_internal3): Output .cpadd
5728         before jump on ABI_N32 too.
5729         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
5730         length to match.
5731
5732 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
5733
5734         * i386.md (negsf splitter): Accept memory operand in second register.
5735         (abssf/absdf splitters): Simplify
5736         (sse_loadss, sse_loadsd): Turn into expander.
5737
5738 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
5739
5740         PR target/8480
5741         * config/rs6000/rs6000.md (movdi_internal64): Discourage
5742         FPR to FPR moves.
5743
5744 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
5745
5746         * doc/contrib.texi: Merge in the list from the Java web pages.
5747
5748 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
5749
5750         * config/sparc/freebsd: Fix typo.
5751
5752 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5753
5754         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
5755
5756 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
5757
5758         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
5759         non-SImode addresses.
5760
5761 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
5762
5763         * i386.md (float_truncate SSE splitter): Ensure that operand is not
5764         stack register.
5765         (float SSE splitters): Reorder conditional.
5766
5767 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
5768
5769         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
5770
5771 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
5772
5773         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
5774         (STARTFILE_SPEC): Remove p and pg options.
5775
5776 2002-11-05  Andrew Haley  <aph@redhat.com>
5777
5778         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
5779         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
5780
5781 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
5782
5783         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
5784         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
5785
5786 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
5787
5788         * gthr-vxworks.h: Rewritten from scratch.
5789         * config/vxlib.c: New file.
5790         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
5791         * config/rs6000/t-vxworks: Add config/vxlib.c to
5792         LIB2FUNCS_EXTRA here too, because of clash with
5793         config/rs6000/t-ppccomm.
5794
5795 2002-11-04  Dale Johannesen  <dalej@apple.com>
5796
5797         * doloop.c (doloop_modify_runtime):  Fix loop count computation
5798         for unrolled loops.
5799         * loop.c (loop_invariant_p):  Support calling from unroller.
5800
5801 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
5802
5803         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
5804         for comparison.
5805
5806 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
5807
5808         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
5809
5810         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
5811         (CLASS_CANNOT_CHANGE_MODE): Remove.
5812         (CANNOT_CHANGE_MODE_CLASS): New.
5813
5814         * config/alpha/alpha.h: Same.
5815
5816         * config/ia64/ia64.h: Same.
5817
5818         * config/mips/mips.h: Same.
5819
5820         * config/s390/s390.h: Same.
5821
5822         * config/sh/sh.h: Same.
5823
5824         * config/pa/pa64-regs.h: Same.
5825
5826         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
5827
5828         * config/sh/sh.c (sh_cannot_change_mode_class): New.
5829
5830         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
5831         prototype.
5832
5833         * config/mips/mips.c (mips_cannot_change_mode_class): New.
5834
5835         * doc/tm.texi (Register Classes): Remove
5836         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
5837         Document CANNOT_CHANGE_MODE_CLASS.
5838
5839         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
5840         (push_reload): Same.
5841
5842         * simplify-rtx.c (simplify_subreg): Same.
5843
5844         * reload1.c (choose_reload_regs): Same.
5845
5846         * recog.c (register_operand): Same.
5847
5848         * regrename.c (mode_change_ok): Change to use new
5849         CANNOT_CHANGE_MODE_CLASS infrastructure.
5850
5851         * regclass.c (cannot_change_mode_set_regs): New.
5852         Declare subregs_of_mode.
5853         (regclass): Use subregs_of_mode.
5854         Remove references to reg_changes_mode.
5855         (init_reg_sets_1): Remove class_can_change_mode and
5856         reg_changes_mode code.
5857         (invalid_mode_change_p): New.
5858         (dump_regclass): Use invalid_mode_change_p instead of
5859         class_can_change_mode.
5860         (regclass): Same.
5861         (record_operand_costs): Do not set reg_changes_mode.
5862
5863         * local-alloc.c (struct qty): Remove changes_mode field.
5864         (alloc_qty): Remove changes_mode initialization.
5865         (update_qty_class): Remove set of changes_mode.
5866         (find_free_reg): Use subregs_of_mode.
5867
5868         * global.c (find_reg): Use subregs_of_mode info.
5869
5870         * rtl.h (cannot_change_mode_set_regs): New prototype.
5871         (invalid_mode_change_p): Same.
5872         (REG_CANNOT_CHANGE_MODE_P): New macro.
5873
5874         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
5875         REG_CHANGES_MODE.
5876         (life_analysis): Clear subregs_of_mode.
5877
5878         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
5879         Remove use of CLASS_CANNOT_CHANGE_MODE.
5880         (simplify_set): Same.
5881         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
5882         REG_CHANGES_MODE.
5883
5884         * regs.h: Add extern for subregs_of_mode;
5885         Include hard-reg-set and basic-block.
5886         (REG_CHANGES_MODE): Delete.
5887
5888 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5889
5890         * real.c (real_sqrt): New function to calculate square roots.
5891         * real.h (real_sqrt): Add function prototype.
5892         * builtins.c (fold_builtin): Fold sqrt of constant argument.
5893         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
5894         of constant argument.
5895
5896 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5897
5898         * jump.c (never_reached_warning): Don't set contains_insn until the
5899         first line note is seen.
5900
5901 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
5902
5903         * config/rs6000/rs6000.md (movti_string): Use string instructions.
5904
5905 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5906
5907         PR c/7128
5908         * c-typeck.c (c_expand_asm_operands): Defend against
5909         error_mark_nodes in the output argument to avoid ICE.
5910
5911 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
5912
5913         PR middle-end/8408
5914         * genrecog.c (preds): Handle ADDRESSOF.
5915         (validate_pattern): Mark it as an lvalue.
5916
5917 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
5918
5919         * config/rs6000/rs6000.c (rs6000_override_options): Use string
5920         instructions when optimizing for size.
5921
5922 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
5923
5924         * config/h8300/h8300.h: Fix comment typos.
5925         * config/h8300/h8300.md: Likewise.
5926         * config/h8300/lib1funcs.asm: Likewise.
5927
5928 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5929
5930         Revert this change:
5931
5932         *doc/install.texi (Installing GCC: Configuration): Clarify
5933         the only supported ways to configure gcc.
5934
5935 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5936
5937         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
5938         instead of 'O' for the constraint for the second operand.
5939
5940 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
5941
5942         PR c++/8391
5943         * toplev.c (rest_of_compilation): Do not refuse to output code for
5944         an inline function in a local class.
5945
5946 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
5947
5948         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
5949         (TRANSFER_FROM_TRAMPOLINE): Reformat.
5950         Add comment.
5951
5952 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5953
5954         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
5955
5956 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
5957
5958         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
5959
5960 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
5961
5962         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
5963         (MASK_INLINE_DIV_THR): Remove.
5964         (TARGET_INLINE_DIV_LAT): Remove.
5965         (TARGET_INLINE_DIV_THR): Remove.
5966         (TARGET_INLINE_DIV): Remove.
5967         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
5968         (MASK_INLINE_FLOAT_DIV_THR): New macro.
5969         (MASK_INLINE_INT_DIV_LAT): New macro.
5970         (MASK_INLINE_INT_DIV_THR): New macro.
5971         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
5972         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
5973         (TARGET_INLINE_INT_DIV_LAT): New macro.
5974         (TARGET_INLINE_INT_DIV_THR): New macro.
5975         (TARGET_INLINE_FLOAT_DIV): New macro.
5976         (TARGET_INLINE_INT_DIV): New macro.
5977         * config/ia64/ia64.md (divsi3): Change to use new macros.
5978         (modsi3): Ditto.
5979         (udivsi3): Ditto.
5980         (umodsi3): Ditto.
5981         (divsi3_internal): Ditto.
5982         (divdi3): Ditto.
5983         (moddi3): Ditto.
5984         (udivdi3): Ditto.
5985         (umoddi3): Ditto.
5986         (divdi3_internal_lat): Ditto.
5987         (divdi3_internal_thr): Ditto.
5988         (divsf3): Ditto.
5989         (divsf3_internal_lat): Ditto.
5990         (divsf3_internal_thr): Ditto.
5991         (divdf3): Ditto.
5992         (divdf3_internal_lat): Ditto.
5993         (divdf3_internal_thr): Ditto.
5994         (divtf3): Ditto.
5995         (divtf3_internal_lat): Ditto.
5996         (divtf3_internal_thr): Ditto.
5997         * config/ia64/ia64.c (ia64_override_options): Change
5998         to check new macros for conflicts in settings.
5999         * doc/invoke.texi (-minline-divide-min-latency): Remove.
6000         (-minline-divide-max-throughput): Remove.
6001         (-minline-float-divide-min-latency): New.
6002         (-minline-float-divide-max-throughput): New.
6003         (-minline-int-divide-min-latency): New.
6004         (-minline-int-divide-max-throughput): New.
6005
6006 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
6007
6008         PR target/7856
6009         * arm.c (use_return_insn): Don't use a return insn if there are
6010         saved integer regs, but LR is not one of them.
6011
6012 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
6013
6014         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
6015         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
6016
6017 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
6018
6019         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
6020         (movps, movpd splitters): Use canonical form.
6021         (movv2di): Fix merge problem.
6022
6023 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
6024
6025         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
6026
6027 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
6028
6029         PR optimization/6162
6030         * doc/md.texi: Document restriction on commutative operand
6031         specification.
6032
6033 2002-10-31  Eric Christopher  <echristo@redhat.com>
6034
6035         * explow.c (convert_memory_address): Use shallow_copy_rtx.
6036
6037 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
6038
6039         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
6040
6041 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
6042
6043         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
6044
6045 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
6046
6047         * config/rs6000/darwin.h:  Correct formatting in previous.
6048
6049 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
6050
6051         * config/rs6000/darwin.h:  Enable -falign-xxx options.
6052
6053 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
6054
6055         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
6056         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
6057         * i386.c (optimization_options): Set flag_omit_frame_pointer,
6058         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
6059         Do not clear -momit-leaf-frame-pointer when profiling.
6060         (ix86_frame_pointer_required): Frame pointer is always required when
6061         profiling.
6062
6063 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
6064
6065         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
6066
6067 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
6068
6069         * sh.h (binary_logical_operator): Declare.
6070         * sh.c (binary_logical_operator): New function.
6071         * sh.md (xordi3+1): New combiner splitter pattern.
6072
6073 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
6074
6075         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
6076         __enable_execute_stack function.
6077
6078 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
6079
6080         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
6081         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
6082         * unwind-sjlj.c (fc_key_dtor): Delete.
6083         (fc_key_init): Adjust __gthread_key_create call to match.
6084
6085 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
6086
6087         * c-common.c: Add GTY to vector_type_node_list.
6088
6089 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
6090
6091         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
6092         * pa-protos.h (attr_length_millicode_call, attr_length_call,
6093         pa_init_machine_status): Declare new global functions.
6094         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
6095         implement new functions.
6096         (attr_length_millicode_call, attr_length_call): Implement.
6097         (total_code_bytes): Change type to long.
6098         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
6099         Reset counter if flag_function_sections.
6100         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
6101         (output_cbranch): Move call to gen_label_rtx.
6102         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
6103         delay slot in all variants, shorten pc-relative calls.
6104         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
6105         slot usage and exposure, various new call variants, and shortened
6106         sequences for some variants on TARGET_PA_20.
6107         Miscellaneous format changes.
6108         * pa.h (total_code_bytes): Change type to long.
6109         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
6110         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
6111         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
6112         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
6113         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
6114         stores on TARGET_ELF32.
6115         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
6116         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
6117         canonicalize_funcptr_for_compare expanders): Calculate attribute length
6118         attr_length_millicode_call().
6119         (call_internal_symref, call_value_internal_symref): Clobber register 1.
6120         Calculate attribute length using attr_length_call().
6121         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
6122         to delay slot.
6123         (sibcall, sibcall_value): Rewrite.
6124         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
6125         register 1.  Use attr_length_call().
6126         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
6127         New patterns.
6128         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
6129         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
6130         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
6131         * doc/invoke.texi (mlong-calls): Document.
6132
6133 2002-10-30  Roger Sayle  <roger@eyesopen.com>
6134
6135         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
6136         handling of cases where one or both branches of the conditional
6137         have void type, i.e. throw an exception or don't return.
6138         (fold): Only apply (and undo) type conversion to the non-void
6139         branches of a COND_EXPR.
6140
6141 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
6142
6143         PR c++/8333
6144         * varasm.c (asm_output_aligned_bss): Do not call
6145         ASM_GLOBALIZE_LABEL.
6146
6147 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
6148             Torbjorn Granlund  <tege@swox.com>
6149
6150         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
6151         for addressibility.
6152         (load_toc_v4_PIC_1b): Same.
6153
6154 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
6155
6156         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
6157         Truncate the addresses for H8/300 using HImode.
6158
6159 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
6160
6161         * i386.md (negdf splitter): Fix construction of the constant.
6162
6163 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
6164
6165         * i386.md (negsf, negdf): Reorganize to use vector modes
6166         for SSE variants.
6167         (abssf, absdf): Use force_reg.
6168         (movv4sf, movv2df): New splitters.
6169         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
6170         * i386.c (zero_extended_scalar_load_operand
6171
6172         * i386-protos.h (ix86_expand_call): Update prototype.
6173         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
6174         (ix86_expand_call): Use r11 for indirect sibcalls.
6175         * i386.md (call, call_value, untyped_call, call_value_pop):
6176         update x86_expand_call call.
6177         (sibcall, sibcall_value): new patterns
6178         (call_rex64, call_value_rex64): Do not accept sibcalls.
6179         (sibcall_rex64, sibcall_value_rex64,
6180         sibcall_rex64_v, sibcall_value_rex64_v): New.
6181
6182 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6183
6184         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6185         before final pass.
6186
6187 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
6188
6189         * toplev.c (rest_of_type_compilation): Return early in case of
6190         errors.
6191         (check_global_declarations): Don't call debug_hooks->global_decl
6192         in case of errors.
6193
6194 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
6195
6196         * doc/c-tree.texi (Tree overview): Fix typos.
6197
6198 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
6199
6200         * Makefile.in (gnucompare*):  Only record bad comparisons
6201         if there really was a bad comparison.
6202
6203 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
6204
6205         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
6206         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
6207         * md.texi (machine dependent constraints): Document 'C'
6208
6209         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
6210
6211         * i386.c (ix86_expand_vector_move): Fix.
6212
6213         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
6214         * i386.md (sse2_maskmovdqu_rex64): New pattern
6215
6216         PR target/8322
6217         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
6218         (ix86_init_mmx_sse_builtins): Fix type.
6219
6220 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
6221
6222         * gthr-posix.h: Include <unistd.h> for feature tests.
6223         (sched_get_priority_max, sched_get_priority_min)
6224         (pthread_getschedparam, pthread_setschedparam): Only use
6225         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
6226         (__gthread_objc_thread_set_priority): Don't treat all nonzero
6227         returns from sched_get_priority_max and sched_get_priority_min
6228         as an error.
6229
6230 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6231
6232         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
6233         MASK_QUICKCALL.
6234
6235 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6236
6237         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
6238         (h8300_tiny_constant_address_p): Likewise.
6239         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
6240         h8300_eightbit_constant_address_p.
6241         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
6242         * config/h8300/h8300-protos.h: Add the prototypes for the two
6243         new functions.
6244
6245 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6246
6247         * reload1.c (update_eliminables): Unconditionally check if
6248         frame_pointer_needed has changed.
6249
6250 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6251
6252         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6253         before final pass.
6254
6255 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
6256
6257         PR optimization/8334
6258         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
6259         check for zero operands explicitly.
6260
6261 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
6262
6263         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
6264         memory after adjusting to BLKmode.
6265
6266 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6267
6268         * config/h8300/h8300.h (MASK_*): New.
6269         (TARGET_*): Use MASK_*.
6270
6271 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
6272
6273         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
6274         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
6275         config/rs6000/vxworks.h: New files.
6276         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
6277
6278         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
6279         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
6280         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
6281         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
6282         sparc-*-vxsim*): Delete stanzas.
6283         * gthr-vxworks.h: Rip out all substantive code and just
6284         include gthr-single.h.
6285
6286         * config/alpha/vxworks.h, config/arm/vxarm.h,
6287         config/i386/vxi386.h, config/i960/t-vxworks960,
6288         config/i960/vx960-coff.h, config/i960/vx960.h,
6289         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
6290         config/mips/vxworks.h, config/rs6000/vxppc.h,
6291         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
6292         config/sparc/vxsim.h, config/sparc/vxsparc.h,
6293         config/sparc/vxsparc64.h: Delete files.
6294
6295 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
6296
6297         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
6298         tm_defines if pthreads are enabled.
6299         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
6300         if NETBSD_ENABLE_PTHREADS is defined.
6301
6302 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
6303
6304         * ChangeLog.1: Fix typos.
6305         * cse.c: Fix a comment typo.
6306         * reload1.c: Likewise.
6307
6308 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
6309
6310         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
6311         * fixinc/tests/base/_G_config.h: New file.
6312
6313 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6314
6315         * combine.c: Fix comment formatting.
6316         * loop.c: Likewise.
6317         * real.c: Likewise.
6318         * regclass.c: Likewise.
6319         * regmove.c: Likewise.
6320         * regrename.c: Likewise.
6321         * reg-stack.c: Likewise.
6322         * reload1.c: Likewise.
6323         * reload.c: Likewise.
6324         * reload.h: Likewise.
6325         * unroll.c: Likewise.
6326
6327 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6328
6329         * reload1.c (reload): Fix a comment typo.
6330
6331 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
6332
6333         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
6334
6335 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6336
6337         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
6338         * dwarf2out.c: Include hashtab.h.
6339         (is_main_source): New static variable.
6340         (attr_checksum, die_checksum): Modified to handle die references.
6341         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
6342         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
6343         record_comdat_symbol_number): New static functions.
6344         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
6345         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
6346         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
6347         declarations added.
6348
6349 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
6350
6351         * config/h8300/h8300.c (initial_offset): Change to
6352         h8300_initial_elimination_offset.
6353         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
6354         h8300_initial_elimination_offset.
6355         * config/h8300/h8300-protos.h: Update the prototype.
6356
6357 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
6358
6359         * config/mmix/mmix.h (LIBCALL_VALUE): Use
6360         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
6361         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
6362         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
6363         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
6364         and RTX_CODE.
6365         (mmix_function_value_regno_p): Declare.
6366
6367         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
6368         invalid for floating point mode result, with fix.
6369
6370 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
6371
6372         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
6373         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
6374         (stage1_build): Likewise.
6375
6376 2002-10-25  Mike Stump  <mrs@apple.com>
6377
6378         Fixes gcc.dg/warn-1.c.
6379         * c-typeck.c (warn_for_assignment): Don't print argument number,
6380         if zero.
6381
6382 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
6383
6384         * toplev.c (dump_file_index): Add DFI_ce3.
6385         (dump_file_info): Likewise.
6386         (rest_of_compilation): Run first ifcvt pass before tracer.
6387
6388 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
6389
6390         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
6391
6392 2002-10-25  Richard Henderson  <rth@redhat.com>
6393
6394         * real.c (real_to_decimal): If the >1 tens reduction loop results
6395         in a negative exponent, fall into the <1 pten computation.
6396
6397 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
6398
6399         PR middle-end/6994
6400         * c-objc-common.c (inline_forbidden_p): Can not inline
6401         functions containing structures or unions containing VLAs.
6402         * tree-inline.c (walk_tree): For all class 't' nodes, walk
6403         TYPE_SIZE and TYPE_SIZE_UNIT.
6404         (copy_tree_r): Copy types if they are variably modified.
6405
6406 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6407
6408         * config/s390/s390.md: Remove old-style peepholes.
6409
6410 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6411
6412         * config/s390/s390.c (s390_decompose_address): Do not range check the
6413         displacement if base or index is the argument pointer register.
6414
6415 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
6416
6417         PR other/3337
6418         PR bootstrap/6763
6419         PR bootstrap/8122
6420         * fixinc/inclhack.def (libc1_G_va_list): New fix.
6421         * fixinc/fixincl.x: Regenerate.
6422         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
6423         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
6424         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
6425         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
6426         * config.in, configure: Regenerate.
6427
6428 2002-10-24  Igor Shevlyakov <igor@microunity.com>
6429
6430         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
6431
6432 2002-10-24  Richard Henderson  <rth@redhat.com>
6433
6434         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
6435
6436 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6437
6438         * config/h8300/h8300.c (initial_offset): Simplify by using
6439         round_frame_size.
6440
6441 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
6442
6443         * doc/install.texi (avr): Update required binutils version.
6444
6445 2002-10-24  Theodore A. Roth  <troth@openavr.org>
6446
6447         * doc/install.texi: Point avr users at more up-to-date information.
6448
6449 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6450
6451         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
6452         to pull operands out of the literal pool where possible.
6453
6454 2002-10-24  Denis Chertykov  <denisc@overta.ru>
6455
6456         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
6457
6458 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
6459
6460         * expr.c (convert_move): If unsignedp is less then zero there
6461         is no equivalent code.
6462
6463 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
6464
6465         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
6466
6467 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6468
6469         * config/s390/s390.h: Rework comments; re-sort target macro definitions
6470         according to the sequence they are defined in the manual.
6471         (POINTER_BOUNDARY): Remove.
6472
6473 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6474
6475         * config/h8300/h8300.c (round_frame_size): Replace 8 with
6476         BITS_PER_UNIT.
6477
6478 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6479
6480         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
6481         64-bit safe.
6482         (TINY_CONSTANT_ADDRESS_P): Likewise.
6483
6484 2002-10-24  Richard Henderson  <rth@redhat.com>
6485
6486         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6487         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
6488         vcall offset.
6489
6490 2002-10-24  Richard Henderson  <rth@redhat.com>
6491
6492         PR opt/7944
6493         * reload.c (find_reloads_toplev): Mode of X is not important
6494         when simplifying subregs of constants.
6495
6496 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6497
6498         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
6499         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
6500         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
6501         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
6502         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
6503
6504 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6505
6506         * optabs.c (expand_binop): Don't reuse the shift target in the
6507         middle of shift sequences.
6508
6509 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
6510
6511         * i386.md (abs splitters): Do not produce nested subregs.
6512
6513 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
6514
6515         * i386.md (movti_rex64): Fix constraints.
6516
6517 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
6518
6519         * i386.md (abssf,absdf): Use vector operands for SSE
6520         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
6521         vector operand.
6522
6523 2002-10-23  Ziemowit Laski <zlaski@apple.com>
6524
6525         * objc/objc-act.c (get_static_reference): Remove unneeded
6526         TYPE_BINFO initialization.
6527         (get_object-reference): Likewise.
6528         (build_constructor): Tighten precondition check.
6529         (finish_message_expr): Likewise.
6530
6531 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
6532
6533         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
6534         after CONST test.
6535
6536 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
6537
6538         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
6539         in HFAs.
6540
6541 2002-10-23  Richard Henderson  <rth@redhat.com>
6542
6543         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6544         (alpha_output_mi_thunk_osf): Handle vcall_offset.
6545
6546 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
6547
6548         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
6549         var_mod_type_p.
6550         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
6551         hook_tree_bool_false.
6552
6553         * tree.c (variably_modified_type_p): Moved here from
6554         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
6555         language-specific cases.  Due to this, must weaken some 'if
6556         and only if' checks to merely 'if'.
6557         * tree.h: Prototype variably_modified_type_p.
6558
6559         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
6560
6561 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6562
6563         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
6564         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
6565
6566         * config/s390/s390-protos.h (fp_operand): Remove.
6567         * config/s390/s390.c (fp_operand): Remove.
6568         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
6569         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
6570         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
6571         (movdi_31, movdf_31 splitters): Likewise.
6572
6573         * config/s390/s390.h (IEEE_FLOAT): Remove.
6574         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
6575         (INT_REGNO_P): Rename to ...
6576         (GENERAL_REGNO_P): ... this.
6577         (FLOAT_REGNO_P): Rename to ...
6578         (FP_REGNO_P): ... this.
6579         (ADDR_REGNO_P): New macro.
6580         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
6581         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
6582         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
6583         (HARD_REGNO_NREGS): Adapt to macro renaming.
6584         (HARD_REGNO_MODE_OK): Likewise.
6585
6586 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
6587             Geoff Keating  <geoffk@apple.com>
6588
6589         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
6590         (rs6000_memory_move_cost): New function.
6591         * config/rs6000/rs6000-protos.h: Declare them.
6592         * config/rs6000/rs6000.h: Use them.
6593
6594 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6595
6596         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
6597         inlining it into other libgcc2 routines.
6598         (__udivmoddi4): Likewise.
6599
6600 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
6601
6602         * doc/sourcebuild.texi (Test Suites): Improve.
6603
6604 2002-10-22  Stan Shebs  <shebs@apple.com>
6605
6606         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
6607         case for Darwin.
6608
6609 2002-10-22  Jim Wilson  <wilson@redhat.com>
6610
6611         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
6612
6613 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
6614
6615         PR other/8289
6616         * xmmintrin.h: Add const to the argument of loads.
6617
6618         * i386.md (pushv2di): New pattern.
6619         PR target/6890
6620         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
6621
6622 2002-10-22  Richard Henderson  <rth@redhat.com>
6623
6624         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
6625         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
6626         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
6627         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6628         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6629         (TARGET_ASM_OUT): Update.
6630         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
6631         (hook_bool_tree_hwi_hwi_tree_true): New.
6632         (default_can_output_mi_thunk_no_vcall): New.
6633         * hooks.h: Declare them.
6634         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
6635
6636         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6637         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
6638         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
6639         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
6640         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
6641         config/stormy16/stormy16.c: Similarly.
6642
6643         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
6644         Handle 64-bit properly.  Streamline.
6645         (x86_output_mi_vcall_thunk): Remove.
6646         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
6647         (x86_can_output_mi_thunk): New.
6648         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6649         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6650         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
6651
6652         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
6653         output_mi_thunk; make static; always use function_section.
6654         (TARGET_ASM_OUTPUT_MI_THUNK): New.
6655         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6656         (rs6000_ra_ever_killed): Test no_new_pseudos not
6657         targetm.asm_out.output_mi_thunk in conjunction with thunks.
6658         * config/rs6000/rs6000-protos.h: Update.
6659         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6660         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
6661         xcoffout_declare_function when using rs6000_output_mi_thunk.
6662
6663         * config/s390/s390.c (s390_output_mi_thunk): Rename from
6664         s390_output_mi_vcall_thunk.
6665         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6666         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6667
6668         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
6669         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6670         * config/vax/vax-protos.h: Update.
6671         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
6672
6673 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
6674
6675         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
6676         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
6677         * i386.md (movti_internal): Use 'C'
6678
6679         * xmmintrin.h (_mm_cmplt_epi*): New.
6680
6681 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6682
6683         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
6684         ("*movdf_64"): Likewise.
6685         ("*lshrdi3_64"): Likewise.
6686         ("blockage"): Add length attribute.
6687         ("lit"): Likewise.
6688
6689 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
6690
6691         * i386.md: FIx typo.
6692         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
6693         (sse2_umulv2siv2di3): Fix predicate.
6694         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
6695         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
6696         * xmmintrin.h (_mm_mul_epu16): Rename to...
6697         (_mm_mul_epu32): This one.
6698         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
6699
6700         (contains_128bit_aligned_vector_p): Undo accidental checkin.
6701
6702 2002-10-22  Eric Christopher  <echristo@redhat.com>
6703
6704         * config/sparc/sparc.h: Add #error.
6705
6706 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6707
6708         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
6709         [s390x-*-linux*]: Likewise.
6710         * config/s390/t-linux: Remove.
6711         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
6712
6713 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
6714
6715         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
6716         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
6717         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
6718         * i386.md (mmx_punpck?dq): Simplify.
6719         (sse2_pubpcklqdq): Fix.
6720         (sse2_pubpckhqdq): New.
6721         * xmmintrin.h (_mm_unpackhi_epi32): New.
6722
6723         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
6724         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
6725
6726 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
6727
6728         PR c++/7209
6729         * fold_const.c (fold_binary_op_with_conditional_arg): Always
6730         build compound_expr if we used save_expr.
6731
6732 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
6733
6734         * output.h (SECTION_NOTYPE): Define.
6735         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
6736         init array sections.
6737         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
6738         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
6739         merge TLS support.
6740
6741 2002-10-21  Richard Henderson  <rth@redhat.com>
6742
6743         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
6744         the function type, not the return type.
6745
6746 2002-10-21  Richard Henderson  <rth@redhat.com>
6747
6748         * real.c (sticky_rshift_significand): Return inexact, don't
6749         or it in immediately.
6750         (sub_significands): Accept incomming carry.
6751         (div_significands, rtd_divmod): Update for sub_significands change.
6752         (round_for_format): Update for sticky_rshift_significand change.
6753         (do_add): Don't involve the inexact bit in addition, do give the
6754         inexact bit as the subtraction carry-in.
6755         (encode_internal, decode_internal, real_internal_format): New.
6756         * real.h (real_internal_format): Declare.
6757
6758 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6759
6760         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
6761         don't define sdiv_qrnnd.
6762
6763 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6764
6765         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
6766         using IN_RANGE.
6767         (TINY_CONSTANT_ADDRESS_P): Likewise.
6768
6769 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
6770
6771         * i386.c (builtin_description): Add punpcklqdq and movdq2q
6772         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
6773         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
6774         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
6775         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
6776         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
6777         __builtin_ia32_setzero128.
6778         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
6779         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
6780         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
6781         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
6782         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
6783         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
6784         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
6785         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
6786         sse2_movq): New patterns.
6787         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
6788         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
6789         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
6790         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
6791         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
6792         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
6793         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
6794         (_mm_insert_epi16): Fix.
6795
6796 2002-10-21  Dale Johannesen  <dalej@apple.com>
6797
6798         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
6799             unsafe math reversals correctly for RTL generation.
6800           (output_cbranch):  Replace rs6000_reverse_condition call
6801             by its former definition.
6802
6803 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
6804
6805         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
6806         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
6807         from constant pool or LABEL_REFs as sign extended if allow_rip.
6808         Change all +-1GB limits to +-16MB.
6809         (x86_64_general_operand, x86_64_szext_general_operand,
6810         x86_64_nonmemory_operand, x86_64_movabs_operand,
6811         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
6812         legitimate_address_p, ix86_expand_int_movcc): Update callers.
6813         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
6814         in CM_SMALL_PIC model.
6815         (legitimate_pic_address_disp_p): Don't check offsets before
6816         calling local_symbolic_operand.
6817         (legitimize_pic_address): Force offsets bigger than +-16MB into
6818         register.
6819         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
6820         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
6821         prototype.
6822
6823         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
6824         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
6825         * configure: Rebuilt.
6826         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
6827         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
6828         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
6829         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
6830         -fpic.
6831         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
6832         non-pic code if TARGET_64BIT.
6833         (legitimize_address): Generate 64-bit TLS sequences.
6834         (output_pic_addr_const): Support x86-64 TLS operators.
6835         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
6836         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
6837         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
6838         (output_addr_const_extra): Support x86-64 TLS operators.
6839         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
6840         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
6841         unconditionally.
6842         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
6843         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
6844         (*tls_global_dynamic_sun): Renamed to...
6845         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
6846         (tls_global_dynamic): Renamed to...
6847         (tls_global_dynamic_32): ... this.
6848         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
6849         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
6850         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
6851         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
6852         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
6853         (tls_local_dynamic_base_dynamic): Renamed to...
6854         (tls_local_dynamic_base_dynamic_32): ... this.
6855         (tls_local_dynamic_base_dynamic_64,
6856         *tls_local_dynamic_base_dynamic_64): New.
6857         (*tls_local_dynamic_once): Renamed to...
6858         (*tls_local_dynamic_32_once): ... this.
6859
6860 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6861
6862         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
6863         __divdi3, __umoddi3, or __moddi3.
6864
6865 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6866
6867         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
6868         instead of just opt_index as switch expression.
6869
6870         * calls.c (store_one_arg): Change type of 'excess_align'
6871         to unsigned int.
6872
6873         * profile.c (output_gcov_string): Change type of 'temp'
6874         to size_t.
6875
6876 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6877
6878         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
6879         (__fixunssfdi, __fixsfdi): Likewise.
6880         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
6881         (s390_single_qi): Likewise.
6882         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
6883         unsigned comparison warning.
6884         (s390_return_addr_rtx): New function.
6885         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
6886         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
6887         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
6888
6889 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6890
6891         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
6892         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
6893         (s390_output_mi_thunk): Remove.
6894         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6895
6896 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6897
6898         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
6899
6900 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
6901
6902         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
6903         inverted test in the conditional determining the possibility
6904         of sibcalls in PIC mode.
6905
6906 2002-10-20  Richard Henderson  <rth@redhat.com>
6907
6908         * target.h (struct gcc_target): Line wrap.
6909
6910         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
6911         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
6912         * config/alpha/alpha.h: ... not here.
6913         * config/alpha/alpha-protos.h: Update.
6914
6915         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
6916         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
6917         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6918         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
6919         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
6920         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
6921         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
6922         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6923         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
6924         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
6925         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
6926         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
6927         config/sparc/sparc.c, config/sparc/sparc.h,
6928         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
6929         config/stormy16/stormy16.h: Similarly.
6930
6931         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
6932         selection logic from call patterns.
6933
6934 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
6935
6936         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
6937
6938 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6939
6940         PR other/8202
6941         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
6942         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
6943         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
6944         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
6945
6946 2002-10-20  Roger Sayle  <roger@eyesopen.com>
6947
6948         PR c/761
6949         * toplev.c (flag_unsafe_profile_arcs): Remove.
6950         (flag_bounded_pointers): Remove.
6951         (flag_bounds_check): Correct comments.
6952         (lang_independent_options): Remove -funsafe-profile-arcs and
6953         -fbounded-pointers.  Correct -fbounds-check comments.
6954
6955         * flags.h: Correct flag_schedule_interblock comments.
6956         (flag_bounded_pointers): Remove prototype.
6957         (flag_bounds_check): Correct comments.
6958
6959         * c-opts.c (c_common_init_options): No need to mark
6960         flag_bounds_check as unspecified.
6961         (c_common_post_options): And no need to set it from
6962         flag_bounded_pointers if its still unspecified.
6963
6964         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
6965         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
6966         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
6967         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
6968
6969 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
6970         Angela Marie Thomas  <angela@releasedominatrix.com>
6971         Brendan Kehoe  <brendan@zen.org>
6972         Nick Clifton  <nickc@redhat.com>
6973         Andrew Haley  <aph@redhat.com>
6974
6975         * configure.in (--with-sysroot): New.  Don't inhibit libc if
6976         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
6977         and CROSS_SYSTEM_HEADER_DIR.
6978         * configure: Rebuilt.
6979         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
6980         (TARGET_SYSTEM_ROOT): New.
6981         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
6982         CROSS_SYSTEM_HEADER_DIR.
6983         (install-gcc-tooldir): New target.
6984         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
6985         if SYSTEM_HEADER_DIR does not exist and it's not the default
6986         sys-include directory.
6987         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
6988         (install-mkheaders): Likewise.
6989         * gcc.c (target_system_root): New variable.
6990         (add_sysrooted_prefix): New function.
6991         (process_command): Recompute run-time target_system_root from
6992         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
6993         does not exist.
6994         (do_spec_1): Process 'R' spec.
6995         (main): Add md_exec_prefix to exec_prefixes regardless of
6996         startfile_prefix_spec.  Use add_sysrooted_prefix for
6997         startfile_prefixes, and don't skip the default ones when cross
6998         compiling with sysroot enabled.  Removed unused case of
6999         non-absolute standard_startfile_prefix.
7000         * config/interix.h: Remove the only potential, yet disabled,
7001         occurrence of non-absolute (empty) standard_startfile_prefix.
7002         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
7003         linking.
7004         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
7005         * doc/install.texi (--with-sysroot): Document.
7006         (--with-headers, --with-libs): Deprecate.
7007
7008 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7009             Mark Mitchell  <mark@codesourcery.com>
7010
7011         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
7012         match target.h.
7013         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
7014         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
7015         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
7016         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
7017         x86_output_mi_thunk): Likewise.
7018         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
7019         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
7020         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
7021         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
7022         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
7023         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
7024         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
7025         Likewise.
7026         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
7027
7028         * target.h (gcc_target): Update output_mi_thunk and
7029         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
7030         vcall_index.
7031
7032         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
7033         TARGET_ASM_OUTPUT_MI_THUNK in comments.
7034         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
7035         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
7036         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
7037         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
7038         signature.
7039         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
7040         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
7041         TARGET_ASM_OUTPUT_MI_THUNK in comments.
7042         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
7043         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
7044         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
7045         TARGET_ASM_OUTPUT_MI_THUNK in comments.
7046         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
7047         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
7048
7049         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
7050         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
7051
7052 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
7053
7054         * real.c (do_add): Fix 0+0 sign corner case.
7055         (do_divide): Fix Inf/0 corner case.
7056
7057 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
7058
7059         * i386.c (classify_argument): Pass MMX arguments in memory
7060         (ix86_expand_builtin): Expand proper address mode for cflush.
7061         * i386.md (movdqa): Fix typo.
7062         (sse2_cflush): Accept DImode addresses.
7063
7064         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
7065         (_mm_max_sd): Fix pasto.
7066         (_mm_storeh_pd, _mm_storel_pd): Fix.
7067
7068         * i386.c (bdesc_comi): Fix to match specification.
7069         (ix86_expand_sse_comi): Emit the comparison properly.
7070         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
7071         Do not use comparison operator.
7072         (vnmaskcmp): Fix template.
7073
7074         * xmmintrin.h (_mm_cvtps_pi16): Fix.
7075
7076 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
7077
7078         * dependence.c : Removed.
7079         * Makefile.in : Remove dependence.o.
7080
7081 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
7082
7083         * mmintrin.h (__m64): typedef it to v2si.
7084         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
7085         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
7086         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
7087         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
7088         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
7089         * xmmintrin.h (_mm_setzero_si64): Likewise.
7090
7091         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
7092         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
7093
7094         PR target/7693
7095         Patch by Shawn Wagner
7096         * mmintrin.h: Replace pi64 by si64.
7097
7098 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
7099
7100         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
7101         Use length of 4 not *.
7102         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
7103         (movdf_softfloat64): Likewise.
7104         (movdi_internal32): Use length of 4 not *.
7105         (movti_power): Same.
7106         (ctrsi, ctrdi): Same.
7107
7108 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
7109
7110         * c-decl.c (start_decl): Point users of the old initialized-
7111         typedef extension at __typeof__.
7112
7113 2002-10-18  Richard Henderson  <rth@redhat.com>
7114
7115         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
7116         (real_to_decimal): Re-implement using the logic from the
7117         gcc 3.2 etoasc.  Comment heavily.
7118         (div_significands): Simplify loop startup and comparison logic.
7119
7120 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
7121
7122         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
7123         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
7124         (TARGET_ASM_OUT): Add them.
7125         * target.h (asm_out): Add output_mi_thunk and
7126         output_mi_vcall_thunk.
7127         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7128         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7129         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
7130         * config/arm/arm.c (arm_output_mi_thunk): Define.
7131         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7132         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7133         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7134         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7135         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7136         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7137         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
7138         prototype.
7139         (x86_output_mi_vcall_thunk): Declare.
7140         * config/i386/i386.c (override_options): Clear
7141         output_mi_vcall_thunk in 64-bit mode.
7142         (ix86_fntype_regparm): New function.
7143         (ix86_return_pops_args): Use it.
7144         (ia32_this_parameter): New function.
7145         (x86_output_mi_vcall_thunk): New function.
7146         (x86_output_mi_thunk): Use it
7147         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
7148         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
7149         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
7150         * config/i960/i960.c (i960_output_mi_thunk): New function.
7151         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
7152         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
7153         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
7154         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7155         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7156         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
7157         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7158         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7159         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7160         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7161         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7162         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7163         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7164         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7165         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7166         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7167         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
7168         * config/s390/s390.c (s390_output_mi_thunk): Define.
7169         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7170         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7171         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7172         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7173         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7174         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7175         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
7176         * config/vax/vax.c (vax_output_mi_thunk): Define.
7177         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7178         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7179         * doc/tm.texi: Adjust documentation.
7180
7181 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
7182
7183         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
7184         __enable_execute_stack function.
7185         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
7186         as NETBSD_ENABLE_EXECUTE_STACK.
7187         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7188         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7189         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7190         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7191         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7192
7193 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
7194
7195         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
7196         to __enable_execute_stack with the address of the trampoline
7197         if TRANSFER_FROM_TRAMPOLINE is defined.
7198         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
7199         constant if building libgcc2.
7200
7201 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
7202
7203         * i386.c (pentium4_cost): Fix according to Intel recommendations.
7204         (ix86_memory_move_cost): Fix for 64bit compilation.
7205
7206 2002-10-17  Roger Sayle  <roger@eyesopen.com>
7207
7208         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
7209
7210 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
7211
7212         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
7213         in CTR/LR/MQ.
7214         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
7215         to/from CTR/LR/MQ.
7216         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
7217         (movsf_softfloat): Likewise.
7218
7219 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
7220
7221         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
7222
7223 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
7224
7225         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
7226         tramp, not addr, to pass the trampoline address to
7227         __enable_execute_stack.
7228
7229 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
7230
7231         * mmintrin.h: Guard by __MMX__
7232         * xmmintrin.h: Guard by __SSE__
7233
7234         PR other/8062
7235         * xmmintrin.h (_MM_SHUFFLE2): New macro.
7236         (_mm_load*_?d): New functions.
7237         (_mm_set*_?d): New functions.
7238         (_mm_store*_?d): New functions.
7239
7240 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
7241
7242         Really commit patch announced at Oct 14
7243         PR c/7344
7244         * predict.c (can_predict_insn_p): New function.
7245         (estimate_probability): Avoid unnecesary work.
7246         (process_note_prediction): Likewise.
7247         * toplev.c (rest_of_compilation): Account early branch prediction pass
7248         as TV_BRANCH_PROB.
7249
7250         PR other/8048
7251         Found by Ian Ollmann
7252         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
7253         (_mm_load?_pd): Likewise.
7254         (_mm_store?_pd): Likewise.
7255
7256         PR target/7386
7257         * i386.c (builtin_description):Drop cmpg[te]s[sd].
7258         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
7259         swapped alternative.
7260
7261         PR opt/7630
7262         * reload1.c (reload_inner_reg_of_subreg): New argument output;
7263         (push_reload): Update call.
7264
7265 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
7266
7267         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
7268         if using mips/elf.h or mips/elf64.h.
7269         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
7270         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
7271
7272 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
7273
7274         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
7275         SI.
7276
7277 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
7278
7279         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
7280         (LPREFIX): Likewise.
7281         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
7282         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
7283         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
7284         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
7285         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
7286
7287         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
7288         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
7289         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7290         BSS_SECTION_ASM_OP): Move from linux.h.
7291         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7292         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7293
7294         * config/s390/s390.c (s390_function_profiler): Use
7295         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7296
7297 2002-10-15  Eric Christopher  <echristo@redhat.com>
7298
7299         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
7300         * java/parse.y (obtain_incomplete_type): Make pointer
7301         ptr_mode.
7302
7303 2002-10-15  Richard Henderson  <rth@redhat.com>
7304
7305         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
7306         as arguments.  Bound DIGITS by the available buffer size.
7307         (real_to_hexadecimal): Likewise.
7308         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
7309         (REAL_VALUE_TO_DECIMAL): Remove.
7310         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
7311         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
7312         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
7313         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7314         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
7315         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
7316         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
7317         use real_to_decimal directly, and with the proper arguments.
7318         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
7319
7320 2002-10-15  Jim Wilson  <wilson@redhat.com>
7321
7322         * reload1.c (merge_assigned_reloads): After converting overlapping
7323         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
7324
7325         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
7326
7327 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
7328
7329         * expr.c (do_tablejump): Fix typo in my previous commit.
7330
7331 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
7332
7333         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
7334
7335 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7336
7337         * config/s390/s390.c (s390_split_branches): Add return
7338         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
7339
7340         (find_base_register_in_addr): New function.
7341         (find_base_register_ref): New function.
7342         (replace_base_register_ref): New function.
7343
7344         (struct constant_pool): Add members pool_insn, insns, and anchor.
7345         Remove member last_insn.
7346         (s390_start_pool): Initialize them.
7347         (s390_end_pool): Emit pool placeholder insn.
7348         (s390_add_pool_insn): New function.
7349         (s390_find_pool): Use insns bitmap instead of addresses.
7350         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
7351         Replace unspec 104 by local-pool-relative references.
7352         (s390_output_constant_pool): Output anchor label if required.
7353         (s390_output_symbolic_const): Handle unspec 104 and 105.
7354         (s390_add_pool): Remove, replace by ...
7355         (s390_add_constant, s390_find_constant): ... these new functions.
7356         (s390_add_anchor): New function.
7357
7358         (s390_chunkify_pool): Delete, replace by ...
7359         (s390_chunkify_start, s390_chunkify_finish,
7360         s390_chunkify_cancel): ... these new functions.
7361         (s390_optimize_prolog): Add parameter TEMP_REGNO.
7362         Recompute register live data for special registers.
7363         (s390_fixup_clobbered_return_reg): New function.
7364         (s390_machine_dependent_reorg): Rewrite to use new
7365         s390_chunkify_... routines.
7366
7367         config/s390/s390.md ("reload_base"): Rename to ...
7368         ("reload_base_31"): ... this.
7369         ("reload_base_64"): New insn.
7370         ("reload_base2"): Remove.
7371         ("reload_anchor"): New insn.
7372         ("pool"): New insn.
7373
7374         s390.c (s390_pool_overflow): Remove.
7375         s390.h (s390_pool_overflow): Likewise.
7376         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
7377
7378 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
7379
7380         * sh.md (movv8qi_i+2): Don't split if source is -1.
7381
7382 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
7383
7384         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
7385
7386 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7387
7388         PR opt/7409
7389         * loop.c (loop_regs_scan): Mark registers used for function
7390         argument passing as MAY_NOT_OPTIMIZE.
7391
7392 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7393
7394         * gcov-io.h (gcov_info): Fix type.
7395         * profile.c (create_profiler): Fix type mismatch.
7396
7397 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
7398
7399         * i386.md (movv2di_internal): New pattern.
7400         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
7401         (movv2di): New expander.
7402         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
7403
7404         * i386.c (ix86_expand_timode_binop_builtin): Delete.
7405         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
7406         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
7407         (ix86_expand_builtin): Likewise.
7408         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7409         sse_andti3,
7410         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7411         sse_andnti3,
7412         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
7413         sse_orti3,
7414         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
7415         sse_xorti3): Kill.
7416         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
7417          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
7418         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
7419          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7420         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
7421          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7422
7423         * xmmintrin.h (__m128i): Define as __v2di.
7424
7425         PR c++/6419
7426         (expand_expr): Use DECL_RTL_SET_P.
7427
7428 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7429
7430         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
7431
7432 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7433             Zack Weinberg <zack@codesourcery.com>
7434
7435         * config/i386/i386.c (k6_cost): Correct typo.
7436
7437 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
7438
7439         PR optimization/6631
7440         * alias.c (objects_must_conflict_p): Check honor_readonly when
7441         examining TYPE_READONLY.
7442         * function.c (assign_stack_temp_for_type): Likewise.
7443
7444 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
7445
7446         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
7447         Swap zero extension arguments.
7448         (umaxhi3): Fix instruction class.
7449         PR target/7211
7450         (prefetch): Fix prefetch instructions.
7451         PR target/7238
7452         (pkwb): Fix output constraint.
7453
7454 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
7455
7456         * config/mips/mips.c (print_operand): Increase buffer size for
7457         real numbers.
7458
7459 2002-10-14  Richard Henderson  <rth@redhat.com>
7460
7461         PR opt/8165
7462         * gcse.c (adjust_libcall_notes): Revert last change.
7463         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
7464
7465 2002-10-14  Andrew Haley  <aph@redhat.com>
7466
7467         * tree-inline.c (remap_block): All local class initialization
7468         flags go in the outermost scope.
7469         (expand_call_inline): Call java_inlining_map_static_initializers.
7470         (expand_call_inline): Call java_inlining_merge_static_initializers.
7471         * java/lang.c (merge_init_test_initialization): New.
7472         (java_inlining_merge_static_initializers): New.
7473         (inline_init_test_initialization): New.
7474         (java_inlining_map_static_initializers): New.
7475
7476         * tree-inline.c (expand_call_inline): Convert retvar to expected
7477         type.
7478
7479 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
7480
7481         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
7482
7483 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
7484
7485         * stmt.c: Fix typo in comment.
7486
7487 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7488
7489         * c-common.c (c_common_type_for_mode): Add V2HImode case.
7490         * tree.c (build_common_tree_nodes_2): Initialize
7491         unsigned_V2HI_type_node and V2HI_type_node.
7492         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
7493         (unsigned_V2HI_type_node, V2HI_type_node): Define.
7494
7495 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
7496
7497         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
7498         Handle TARGET_64BIT.
7499
7500 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7501
7502         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
7503         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
7504         (MULTILIB_DIRNAMES): Remove long32.
7505         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
7506         (MULTILIB_REDUNDANT_DIRS): Remove.
7507
7508 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7509
7510         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
7511         * gcc.c (driver_self_specs): New variable.
7512         (do_self_spec): New function.
7513         (main): Use it to process driver_self_specs.
7514
7515 2002-10-13  Richard Henderson  <rth@redhat.com>
7516
7517         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
7518         indirect sibcalls when regparm >= 3.
7519
7520         * config/i386/i386.c (sibcall_insn_operand): New.
7521         * config/i386/i386.h (PREDICATE_CODES): Update.
7522         * config/i386/i386-protos.h: Update.
7523         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
7524
7525         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
7526
7527 2002-10-12  Roger Sayle  <roger@eyesopen.com>
7528
7529         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
7530         arithmetic right shifts of ~0 during RTL simplifications.
7531
7532 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
7533
7534         PR preprocessor/7862
7535         PR preprocessor/8190
7536         * gcc.c (cpp_unique_options): Don't delete .d files.
7537         Remove stray whitespace.
7538
7539 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
7540
7541         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
7542         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
7543         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
7544         (pdp11_output_function_epilogue, output_ascii): Likewise.
7545         (output_addr_const_pdp11): Likewise.
7546         * pdp11.md (movdi): Use offsetable memory for floating store.
7547         (lshrsi3, negsi2): Delete irrelevant comment.
7548
7549 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
7550
7551         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
7552         indirect calls to be sibcall optimized.
7553         * config/i386/i386.md (sibcall_1): New.
7554         (call_1): Add no-sibcalls condition.
7555         (sibcall_value_1): New.
7556         (call_value_1): Add no-sibcalls condition.
7557
7558 2002-10-11  Eric Christopher  <echristo@redhat.com>
7559
7560        * output.h (default_valid_pointer_mode): Declare.
7561        * varasm.c (default_valid_pointer_mode): Define.
7562        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
7563        * target.h: Ditto.
7564        * tree.c (build_pointer_type_for_mode): New function.
7565        (build_pointer_type): Use.
7566        (build_reference_type_for_mode): New function.
7567        (build_reference_type): Use.
7568        * tree.h: Declare new functions.
7569        * c-common.c (handle_mode_attribute): Use new functions, check
7570        for type.
7571        * stor-layout.c (layout_type): Depend on machine mode for
7572        REFERENCE_TYPE and POINTER_TYPE.
7573        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
7574        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
7575        and REFERENCE_TYPE.
7576        * config/mips/mips.c (mips_valid_pointer_mode): New function.
7577        (TARGET_VALID_POINTER_MODE): Use and define.
7578        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
7579
7580 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
7581
7582         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
7583         not the address of the REG.
7584         (struct cse_reg_info): Make subreg_ticked unsigned.
7585
7586 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
7587
7588         * doc/compat.texi: Add info about C++ libraries.
7589
7590 2002-10-11  Richard Henderson  <rth@redhat.com>
7591
7592         PR opt/8165
7593         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
7594
7595 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7596
7597         * cfganal.c (dfs_enumerate_from): Use PARAMS.
7598         * genautomata.c (output_insn_code_cases): Likewise.
7599         * real.c (real_format): Likewise.
7600         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
7601         ensure value is promoted before doing subtraction.
7602
7603 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
7604
7605         * calls.c (expand_call): Simplify noreturn call.
7606
7607         PR c/7344
7608         * cfgbuild.c (make_edges): Create edge cache when we do have
7609         large jumptable.
7610         * expr.c (do_tablejump): Note size of maximal jumptable.
7611         * function.c (prepare_function_start): Zero out size.
7612         * function.h (function): Add max_jumptable_ents.
7613
7614         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7615
7616 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
7617
7618         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
7619         register for mperm_w operation.
7620
7621 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
7622
7623         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
7624         an integer, use simplify_gen_subreg.
7625
7626 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
7627
7628         * calls.c (flags_from_decl_or_type): Make extern.
7629         (ECF_*): Move ...
7630         * rtl.h (ECF_*): ... here.
7631         (flags_from_decl_or_type): Declare.
7632
7633 2002-10-10  Roger Sayle  <roger@eyesopen.com>
7634             Nathan Sidwell <nathan@codesourcery.com>
7635
7636         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
7637         shifts of the form -1 >> x.
7638
7639 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
7640
7641         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7642
7643 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
7644
7645         * extend.texi (Vector Extensions): Remove comment about single
7646         element vectors.
7647
7648 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7649
7650         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
7651         * function.c (insns_for_mem_hash): Likewise.
7652         * varasm.c (STRHASH): Likewise.
7653
7654 2002-10-10  Stuart Hastings  <stuart@apple.com>
7655
7656         * cse.c (struct cse_reg_info): Add subreg_ticked.
7657         (SUBREG_TICKED): New.
7658         (get_cse_reg_info): Initialize SUBREG_TICKED.
7659         (mention_regs): Use it.
7660         (invalidate): Set SUBREG_TICKED.
7661         (invalidate_for_call): Likewise.
7662         (addr_affects_sp_p): Likewise.
7663
7664 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
7665
7666         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
7667         into proper operand.
7668
7669 2002-10-10  Denis Chertykov  <denisc@overta.ru>
7670
7671         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
7672         deallocation.
7673         * config/ip2k/libgcc.S: Combine routines used by function
7674         epilogue.
7675
7676 2002-10-10  Jim Wilson  <wilson@redhat.com>
7677
7678         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
7679         UDIV.
7680
7681 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
7682
7683         * config/rs6000/aix52.h: New file.
7684         * config/rs6000/t-aix52: New File.
7685         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
7686         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
7687
7688 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
7689
7690         PR target/5610
7691         * invoke.texi (-msse-math): Kill
7692         (-msse): Add note to mfpmath=sse.
7693
7694 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
7695
7696         PR target/7723
7697         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
7698
7699 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
7700
7701         PR preprocessor/8179
7702         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
7703         as cc1_options.
7704         (default_compilers): Pass debug options when preprocessing
7705         stdin.
7706
7707 2002-10-06  Richard Henderson  <rth@redhat.com>
7708
7709         * toplev.c (rest_of_compilation): Revert opt/2960 change.
7710
7711 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
7712
7713         * i386.c (*_cost): Add branch costs.
7714         (override_options): set ix86_branch_cost.
7715         (ix86_expand_int_movcc): Use BRANCH_COST.
7716         * i386.h (costs): Add branch_cost.
7717
7718 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
7719
7720         PR c/7353
7721         * c-decl.c (start_decl): Unconditionally issue error for
7722         'typedef foo = bar'.
7723         (finish_decl): Remove special case for TYPE_DECL with initializer.
7724
7725         * doc/extend.texi: Delete "Naming Types" section.  Change all
7726         cross-references to that section to refer to "Typeof" instead.
7727         Add the useful safe-max()-macro example from "Naming Types" to
7728         "Typeof", rewritten using that extension.  Add some compatibility
7729         notes to "Typeof."
7730
7731 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7732
7733         * loop.c: Revert 2002-08-15 change.
7734         (LOOP_REGNO_NREGS): Ensure type is int.
7735
7736 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7737
7738         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
7739         which copies first FPR and clears second.
7740         (extendsftf2): Same.
7741         (floatditf2): Fix typo.
7742         (floatsitf2): Same.
7743         (fix_trunctfdi2): Same.
7744         (fix_trunctfsi2): Same.
7745
7746 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7747
7748         * conflict.c (arc_hash): Change return type to hashval_t.
7749         * cselib.c (get_value_hash): Likewise.
7750         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
7751         state_hash, automata_list_hash): Likewise.
7752         * read-rtl.c (def_hash): Likewise.
7753         * tree.c (type_hash_hash): Likewise.
7754
7755 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
7756
7757         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
7758         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
7759
7760 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7761
7762         * sh.md (ffssi2): Fix emitted code.
7763
7764 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
7765
7766         * cse.c (insn_live_p): Pass insn pattern, not full insn
7767         to may_trap_p.
7768
7769 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
7770
7771         * cppmacro.c (paste_tokens): Only allow / to paste with =.
7772
7773 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7774
7775         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
7776         64-bit hosts.
7777         (movtf_internal): Reference correct displacement for second value
7778         in memory.
7779         (movtf splitter): Correct generation of constants in 64-bit mode.
7780
7781 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
7782
7783         * libgcc2.c (__floatdisf): Properly cure double rounding.
7784
7785 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7786
7787         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
7788         * doc/cpp.texi (Common Predefined Macros): Document.
7789
7790 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7791
7792         PR doc/7484
7793         * doc/invoke.texi (Option Summary): List
7794         -Wmissing-declarations as a C only option.
7795
7796 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7797
7798         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
7799         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
7800         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
7801
7802 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7803
7804         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7805         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
7806         variables.
7807         (safe_vector_operand): Update sse_clrv4sf call.
7808         (ix86_expand_buildin): Likewise
7809         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7810         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
7811         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
7812         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
7813         macros.
7814         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
7815         movv4si):  Obey the new flags.
7816         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
7817         reformating penalty.
7818         (anddf, cmov patterns): Avoid reformating by first converting.
7819         (sse_cvtsd2ss): Fix predicate.
7820         (sse2_clrti): Fix mode,
7821         (sse_clrv4sf): Avoid unspec.
7822
7823 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
7824
7825         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
7826         mno-app-regs|mcmodel=medany.
7827         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
7828         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
7829         (CRTSTUFF_T_CFLAGS): Define.
7830
7831 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7832
7833         PR target/8087
7834         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
7835         pool references that are constructed using LO_SUM.
7836
7837 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
7838
7839         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
7840         -Wall.
7841         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
7842         message.
7843         * flags.h (warn_strict_aliasing): Declare.
7844         * toplev.c (warn_strict_aliasing): Define.
7845         (lang_independent_options): Add it.
7846         * doc/invoke.texi (-Wstrict-aliasing): Document it.
7847
7848 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
7849
7850         * system.h (GCCBUGURL): Delete.
7851         * version.c (bug_report_url): New.  Add commentary about
7852         modifying both these strings in modified distributions.
7853         * version.h: Declare bug_report_url.
7854
7855         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
7856         bug_report_url.
7857
7858 2002-10-08  Nick Clifton  <nickc@redhat.com>
7859
7860         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
7861         convert uint64_t into __ev64_opaque__.
7862         (__ev_set_acc_s64): Likewise, but using signed types.
7863
7864 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
7865
7866         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
7867         ("*doloop_di_long"): Likewise.
7868
7869 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
7870
7871         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
7872
7873 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
7874
7875         * config/mips/mips.md (define_attr cpu): Add r4111.
7876
7877 2002-10-08  Anthony Green  <green@redhat.com>
7878
7879         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
7880
7881 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7882
7883         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
7884         for REAL_VALUE_TO_DECIMAL output.
7885
7886 2002-10-07  Richard Henderson  <rth@redhat.com>
7887
7888         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
7889         function; cleanup PLUS case by using recursion.  Update all users.
7890         (NONZERO_BASE_PLUS_P): Remove.
7891         (find_comparison_args): Use rtx_addr_can_trap_p instead.
7892         (fold_rtx): Use nonzero_address_p.
7893         * rtl.h (nonzero_address_p): Declare.
7894         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
7895         (rtx_addr_can_trap_p): Likewise.
7896         (nonzero_address_p): New.
7897         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
7898         (simplify_relational_operation): Use nonzero_address_p.
7899
7900 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
7901
7902         * config/rs6000/rs6000.c (rs6000_override_options): Set
7903         real_format_for_mode for IBM extended format, if enabled.
7904         (easy_fp_constant): Add TFmode.
7905         (rs6000_legitimize_address): Add TFmode.
7906         (rs6000_legitimate_address): Same.
7907         (function_arg_advance): TFmode uses two FPRs.
7908         (rs6000_emit_prologue): Fix warning.
7909         (rs6000_output_function_epilogue): Add TFmode.
7910         (output_toc): Add TFmode.
7911         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
7912         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
7913         * rs6000.md (movtf splitter): Load TFmode constant.
7914
7915 2002-10-07  Dale Johannesen  <dalej@apple.com>
7916
7917         * rtl.h:  Add NOTE_PRECONDITIONED.
7918         * unroll.c:  Set it.
7919         * loop.c:  Set loop_info->preconditioned from it.
7920         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
7921
7922 2002-10-07  Richard Henderson  <rth@redhat.com>
7923
7924         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
7925         new rtx for comparing the argument pointer against zero.
7926         (i960_va_start): Similarly.
7927
7928 2002-10-07  Richard Henderson  <rth@redhat.com>
7929
7930         * config/i960/i960.md (*): Use TFmode, not XFmode.
7931         * config/i960/i960.c (*): Likewise.
7932         (i960_arg_size_and_align): Remove XFmode alignment hack.
7933         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
7934         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
7935         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
7936         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
7937
7938 2002-10-07  Richard Henderson  <rth@redhat.com>
7939
7940         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
7941         entry points; use void return value and argument list.
7942
7943 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
7944
7945         * calls.c (expand_call): Fix function-is-volatile check.
7946
7947 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
7948
7949         * t-pdp11: Add MULTILIB support for msoft-float.
7950         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
7951
7952         * t-pdp11: Add LIB2FUNCS_EXTRA.
7953         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
7954         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
7955         'fldd' to 'ldd', rename 'fstd' to 'std'.
7956         (pdp11_output_function_epilogue): Likewise.
7957         (output_move_quad): Make the comment gas compatible.
7958         (output_ascii): Add preceding 0 to the octal constant.
7959         (print_operand_address): Add pre_modify, post_modify.
7960         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
7961         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
7962         with the indication of Paul Koning.
7963         (PRINT_OPERAND): Fix floating constant.
7964         * pdp11.md (movdi): Restrict matching pattern.
7965         (movqi): Generalize the matching pattern.
7966         (movdf): Restrict matching pattern.
7967         (zero_extendqihi2): Change constant representation.
7968         (floatsidf2): Fix wrong operands.
7969         (addqi3): Fix wrong instruction name.
7970         (subqi3): Fix wrong instruction name.
7971         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
7972         (xorsi3): Fix wrong insn.
7973         (one_cmplqi2): Add two operand pattern.
7974         (lsrsi3): New.
7975         (negsi2): New.
7976         (call): Add register indirect case.
7977         (mod): Fix wrong subreg.
7978
7979 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
7980             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7981
7982         PR c/7411
7983         * expr.c (expand_expr) [PLUS]: Simplify after the operands
7984         have been expanded in EXPAND_NORMAL mode.
7985
7986 2002-10-06  Richard Henderson  <rth@redhat.com>
7987
7988         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
7989
7990 2002-10-06  Richard Henderson  <rth@redhat.com>
7991
7992         PR optimization/2960
7993         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
7994         optimize_size.
7995
7996 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
7997
7998         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
7999         previously definitions.
8000
8001 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
8002
8003         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
8004         * c-opts.c (find_opt): Similarly.
8005
8006 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
8007
8008         * athlon.md: rewrite to DFA.
8009         * i386 (ix86_adjust_cost): Drop memory latency code.
8010         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
8011
8012 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
8013
8014         * gcc.c (set_multilib_dir): Don't access *end.
8015         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
8016         (print_multilib_info): Don't show paths starting with ".:".
8017         * genmultilib: Add new option, "yes" if multilibs are enabled.
8018         Update comments.  If multilibs not enabled, print .:${osdirout}
8019         for each directory.  If multilibs are enabled, always print
8020         ${dirout}:${osdirout}, even if the two are the same.
8021         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
8022         Pass all MULTILIB_* variables to genmultilib even if
8023         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
8024
8025 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
8026
8027         * gcc.c (process_command): Set .validated for -pipe.  Correct
8028         grammar in comment.
8029
8030 2002-10-04  Bruce Korb  <bkorb@gnu.org>
8031
8032         * fixinc/inclhack.def(hpux11_abs):  use format fix
8033         * fixinc/fixincl.x: regenerate
8034         * fixinc/tests/base/stdlib.h: accommodate new fix test
8035
8036 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
8037
8038         * c-common.c (cb_register_builtins):  Use really_no_inline.
8039
8040 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
8041
8042         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
8043         copied instruction if the note is not loop invariant.
8044
8045 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
8046
8047         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
8048
8049 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
8050
8051         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
8052         and -mhp-ld options to list of options.  Add -mgnu-ld
8053         and -mhp-ld option descriptions.
8054
8055 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
8056
8057         * fixinc/inclhack.def (hpux11_abs):  New.
8058         (stdio_va_list): change __va_list__ to __gnuc_va_list.
8059         * fixinc/fixincl.x: Rebuild.
8060
8061 2002-10-04  Roger Sayle  <roger@eyesopen.com>
8062
8063         * config/i386/i386.h (processor_costs): Add new fields fadd,
8064         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
8065         (RTX_COSTS): Use these fields to determine the RTX costs
8066         of floating point addition/subtraction, multiplication,
8067         division, fabs, negation and square root respectively.
8068         * config/i386/i386.c (size_cost): Provide instruction sizes
8069         for these new fields.
8070         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
8071         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
8072         counts for these new fields for all x86 processor variants.
8073
8074 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8075
8076         * mips.c (mips_const_double_ok): Delete unused variable.
8077
8078         * gengtype.c (rtx_next): Change type to int.
8079
8080 2002-10-04  Andreas Jaeger  <aj@suse.de>
8081
8082         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
8083
8084 2002-10-04  Richard Henderson  <rth@redhat.com>
8085
8086         * real.h (SIGNIFICAND_BITS): Add one more word.
8087         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
8088         * real.c (times_pten): New.
8089         (real_to_decimal, real_from_string): Use it.
8090         (sticky_rshift_significand): Use & to find modulus.
8091         (rshift_significand, lshift_significand): Likewise.
8092         (do_divide): Apply sticky bit after normalization.
8093         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
8094
8095 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
8096
8097         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
8098         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8099
8100 2002-10-03  Andreas Jaeger  <aj@suse.de>
8101
8102         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
8103         to unsigned long, adjust printf format string.
8104         (output_mangled_typename): Likewise.
8105
8106 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
8107
8108         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
8109         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
8110         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
8111         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
8112         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
8113         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
8114         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
8115         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
8116
8117 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
8118
8119         * doc/invoke.texi (-Wabi): Document mangling bug.
8120
8121 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
8122
8123         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
8124         name for the tbtab label that depends on the function asm name.
8125         Don't output tbtab label unless optional_tbtab.
8126         (output_mi_thunk): Formatting.
8127
8128 2002-10-03  Richard Henderson  <rth@redhat.com>
8129
8130         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
8131         * config/m68k/m68k.c (override_options): ... here.
8132         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
8133         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
8134         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8135         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8136
8137 2002-10-03  Richard Henderson  <rth@redhat.com>
8138
8139         * real.h (struct real_value): Use ENUM_BITFIELD.
8140
8141 2002-10-03  Richard Henderson  <rth@redhat.com>
8142
8143         * config/i960/i960.md (call, call_value): Use emit_call_insn.
8144
8145 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
8146
8147         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
8148
8149 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
8150
8151         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
8152         * config/pa/pa.h (MASK_GNU_LD): New.
8153         (TARGET_GNU_LD): New.
8154         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
8155         on gnu-ld and MASK_GNU_LD.
8156         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
8157
8158 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
8159
8160         * i386.c (athlon_cost): Fix the move costs.
8161
8162 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
8163
8164         * final.c (final): Use symbol name as function name for profiling.
8165         * profile.c (get_exec_counts): Likewise.
8166         (branch_prob): Likewise.
8167
8168 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
8169
8170         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
8171
8172 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
8173
8174         * gcc.c (print_multi_os_directory): New variable.
8175         (option_map): Support --print-multi-os-directory.
8176         (struct prefix_list): Add os_multilib field.
8177         (multilib_os_dir): New variable.
8178         (static_specs): Add multilib_options.
8179         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
8180         subdirs if nonzero.
8181         (read_specs, execute): Update callers.
8182         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
8183         pass 1 as multilib option.
8184         (display_help): Include --print-multi-os-directory.
8185         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
8186         (process_command): Update callers.  Handle --print-multi-os-directory.
8187         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
8188         set.
8189         (main): Update find_a_file and add_prefix callers.
8190         Handle print_multi_os_directory.
8191         (struct mdswitchstr): New.
8192         (mdswitches, n_mdswitches): New variables.
8193         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
8194         present on the command line nor their mutually incompatible
8195         switches.
8196         (default_arg): Optimize.
8197         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
8198         array.
8199         (print_multilib_info): Only print GCC multilib dir name, not OS
8200         multilib dirname.
8201         * genmultilib: Add osdirnames parameter.  Output multilib_options
8202         variable.  If osdirnames is specified, output dirnames as
8203         dirname:osdirname.
8204         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
8205         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
8206         to compute libgcc_s soname and install path.
8207         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
8208         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
8209         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
8210         argument.
8211
8212         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8213         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8214         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
8215         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
8216         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
8217         and -m64.
8218         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
8219         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8220         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
8221         (STARTFILE_ARCH_SPEC): Remove.
8222         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8223         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8224         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
8225         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
8226         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8227
8228 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
8229
8230         * predict.c (choose_function_section): Avoid choice for linkonce functions.
8231
8232 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
8233
8234         * i386.md (lea to mul peep2): Fix condition.
8235
8236 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8237
8238         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
8239         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
8240
8241 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
8242
8243         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
8244         attribute "unused".
8245
8246         * config/t-libunwind: Mention unwind-sjlj.c.
8247         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
8248         to #ifndef __USING_SJLJ_EXCEPTIONS__.
8249
8250         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
8251         before inclusion of config.gcc, but after configuring the compiler etc.
8252         Determine default value for --enable-libunwind-exceptions based on
8253         whether the host has a libunwind library (not guaranteed to be correct,
8254         but it's a reasonable first guess and can always be overridden with an
8255         explicit --enable/disable-libunwind-exceptions.
8256         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
8257         tmake_file when $use_libunwind_exceptions is enabled.
8258         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
8259         ia64 (e.g., config/t-linux also updates it).
8260         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
8261         along with the shared version of libgcc since the latter requires
8262         the former.
8263         * unwind-libunwind.c: New file.
8264         * config/t-libunwind: Ditto.
8265
8266 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8267
8268         * config.gcc: Remove support for vax-*-vms*.
8269         * config/vax/vms.h: Remove.
8270         * config/vax/xm-vms.h: Remove.
8271         * config/vax/vax-protos.h: Remove VMS-specific code.
8272         * config/vax/vax.c: Remove VMS-specific code.
8273
8274 2002-10-02  Richard Henderson  <rth@redhat.com>
8275
8276         PR opt/7124
8277         * config/i386/i386.c (ix86_register_move_cost): Increase cost
8278         for secondary_memory_needed pairs.
8279
8280 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8281
8282         * doc/vms.texi: Blow away false include file section.
8283
8284 2002-10-02  Roger Sayle  <roger@eyesopen.com>
8285
8286         PR optimization/6627
8287         * toplev.c (force_align_functions_log): New global variable.
8288         * flags.h (force_align_functions_log): Add extern prototype.
8289         * varasm.c (assemble_start_function): Use it to force minimum
8290         function alignment.
8291         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
8292         minimum function alignment to one byte.
8293         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
8294         the least significant bit of vtable member function pointers.
8295         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
8296         here from cp/cp-tree.h.
8297
8298 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
8299
8300         * i386.c (print_operand_address): Use RIP addressing for offsetted
8301         label refs too.
8302
8303 2002-09-30  David S. Miller  <davem@redhat.com>
8304
8305         PR middle-end/7151
8306         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
8307         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
8308
8309 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
8310
8311         * calls.c (expand_call): Remove the `no indirect check'
8312         for sibcall optimization; use function_ok_for_sibcall
8313         target hook; refine check for `function is volatile'.
8314         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
8315         * hooks.c (hook_tree_tree_bool_false): New.
8316         * hooks.h (hook_tree_tree_bool_false): Declare.
8317         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8318         (TARGET_INITIALIZER): Add it.
8319         * target.h (struct gcc_target): Add function_ok_for_sibcall.
8320         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
8321         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8322         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8323         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
8324         Remove function declaration.
8325         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
8326         function static and accept another argument of type `tree'.
8327         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8328         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8329         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8330         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
8331         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8332         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8333         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8334         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
8335         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
8336         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8337         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8338         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
8339         Remove function declaration.
8340         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
8341         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
8342         rename first argument to `decl'; accept another argument
8343         of type `tree'; make static.
8344         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8345         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8346         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
8347         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8348         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8349         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
8350         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8351         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8352         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8353
8354 2002-10-01  Roger Sayle  <roger@eyesopen.com>
8355
8356         * unroll.c (loop_iterations): Revert 2002-09-08 change.
8357
8358 2002-10-01  Richard Henderson  <rth@redhat.com>
8359
8360         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
8361         (real_to_hexadecimal): Likewise.
8362         * print-rtl.c (print_rtx): If we are linked with real.c, don't
8363         dump the XWINT fields of a floating point CONST_DOUBLE.
8364
8365 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
8366
8367         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
8368
8369 2002-10-01  Richard Henderson  <rth@redhat.com>
8370
8371         * calls.c (precompute_register_parameters): Force non-legitimate
8372         constants into pseudos.
8373
8374 2002-10-01  Nick Clifton  <nickc@redhat.com>
8375
8376         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
8377         to assembler template.
8378
8379 2002-10-01  Richard Henderson  <rth@redhat.com>
8380
8381         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
8382         for TLS debug info to !DECL_EXTERNAL.
8383
8384 2002-10-01  Matt Thomas  <matt@3am-software.com>
8385             Jason Thorpe  <thorpej@wasabisystems.com>
8386
8387         * config.gcc (vax-*-netbsdelf*): Enable configuration.
8388         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
8389         if not already defined.
8390         * config/vax/elf.h: New file.
8391         * config/vax/netbsd-elf.h: New file.
8392         * config/vax/vax.c: Include "debug.h".
8393         (vax_output_function_prologue): Add dwarf2 support.  Use
8394         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
8395         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
8396         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
8397         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
8398         (VAX_ISTREAM_SYNC): Remove.
8399         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
8400         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8401         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
8402         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
8403         and assemble_name.
8404         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8405         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
8406         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
8407         (INCOMING_RETURN_ADDR_RTX): Define.
8408         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
8409         (VUNSPEC_SYNC_ISTREAM): Define.
8410         (blockage): Use VUNSPEC_BLOCKAGE.
8411         (sync_istream): New insn.
8412
8413 2002-10-01  Richard Henderson  <rth@redhat.com>
8414
8415         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
8416         (*call_value_pop, call, call_value): Add dwarf2 EH support.
8417         (*call): New insn.
8418
8419 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8420
8421         PR c/8083
8422         * c-typeck.c (build_c_cast): Warn about type punning which breaks
8423         type based aliasing.
8424
8425 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
8426
8427         * stor-layout.c (update_alignment_for_field): New function.
8428         (place_union_field): Use it.
8429         (place_field): Likewise.
8430
8431 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8432
8433         PR other/8077
8434         * gcc.c (cc1_options): Add space on -auxbase-strip.
8435
8436 2002-10-01  Jim Wilson  <wilson@redhat.com>
8437
8438         * config/v850/v850.h (EPILOGUE_USES): Define.
8439
8440 2002-09-30  Andrew Haley  <aph@redhat.com>
8441
8442         * flow.c (insn_dead_p): When using non-call-exceptions, don't
8443         eliminate insns that may trap.
8444         * cse.c (insn_live_p): Likewise.
8445
8446 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8447
8448         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
8449         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
8450         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
8451         * config/mips/mips.md: Apply same renaming here.
8452
8453 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8454
8455         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
8456         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
8457         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
8458         * config/mips/mips.md (define_attr cpu): Remove r4320.
8459         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
8460
8461 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8462
8463         * config/mips/mips.c (mips16_strings): New variable.
8464         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
8465         symbol in mips16_strings.  Free the list.
8466         (mips_encode_section_info): Keep track of local strings.
8467
8468 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8469
8470         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
8471         (sordered_df, sordered_sf): Remove.
8472         * config/mips/mips.c (get_float_compare_codes): New fn.
8473         (gen_int_relational, gen_conditional_move): Use it.
8474
8475 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8476
8477         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
8478         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
8479         * config/mips/mips.c (fcc_register_operand): New function.
8480         (mips_emit_fcc_reload): New function, extracted from reload_incc.
8481         (override_options): Allow TFmode values in float registers
8482         if ISA_HAS_8CC.
8483         * cnfig/mips/mips.md (reload_incc): Change destination prediate
8484         to fcc_register_operand.  Remove misleading source constraint.
8485         Use mips_emit_fcc_reload.
8486         (reload_outcc): Duplicate reload_incc.
8487
8488 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
8489
8490         * gcc.c (validate_switches): Handle all new forms of spec
8491         syntax introduced recently.  Now returns a char *.
8492         (validate_all_switches): Repetitive logic broken out to...
8493         (validate_switches_from_spec): ...here.
8494         * mklibgcc.in: Don't @-flag commands to generate .oS files.
8495
8496 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
8497
8498         * longlong.h: Partially synchronize with GMP-4.1 version:
8499         Use i370 definitions also for s390.
8500         Add generic definition of umul_ppmm in terms of smul_ppmm.
8501         [s390] (umul_ppmm): Remove.
8502         [s390] (smul_ppmm): Fix incorrect assembler constraints.
8503         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
8504
8505 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
8506
8507         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
8508         Add new RL_REGS register class.
8509         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
8510         Call xtensa_preferred_reload_class for both input and output reloads.
8511         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
8512         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
8513         instead of either AR_REGS or GR_REGS classes.
8514         (xtensa_secondary_reload_class): Use new RL_REGS class.
8515         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
8516
8517 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8518
8519         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
8520         (pa_strip_name_encoding): Strip '@' and '*', in that order.
8521         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
8522         there is a '*' prefix in NAME.
8523
8524 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
8525
8526         * reload.c (push_reload): Handle subregs and secondary memory.
8527         * reload1.c (gen_reload): Likewise.
8528
8529         * jump.c (reg_or_subregno): New function.
8530         * rtl.h (reg_or_subregno): Declare
8531         * unroll.c (find_splittable_givs): Handle subregs.
8532
8533 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
8534
8535         * store-layout.c (finish_record_layout): Add free_p parameter.
8536         (layout_type): Pass it.
8537         * tree.h (finish_record_layout): Update prototype.
8538
8539 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
8540
8541         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
8542
8543         * gcse.c (cprop_jump): Check that the register has not
8544         been modified
8545         (cprop_jump): Likewise.
8546
8547 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
8548
8549         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
8550         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
8551         that we have a SImode access, and only then if reload hasn't completed;
8552         for all other cases, use LO_REGS.
8553
8554 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8555
8556         * openbsd.h: Fix typo in last change.
8557
8558 2002-09-29  Richard Henderson  <rth@redhat.com>
8559
8560         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
8561
8562 2002-09-29  Richard Henderson  <rth@redhat.com>
8563
8564         PR c/8002
8565         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
8566         for CONST_INT.
8567
8568 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
8569
8570         * real.h (ibm_extended_format): Declare.
8571         * real.c (encode_ibm_extended, decode_ibm_extended): New
8572         functions.
8573
8574 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8575
8576         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
8577
8578         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
8579
8580 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8581
8582         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
8583
8584 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
8585
8586         * builtins.def: Fix comment formatting.
8587         * c-common.def: Likewise.
8588         * cfgcleanup.c: Likewise.
8589         * combine.c: Likewise.
8590         * gengtype.c: Likewise.
8591         * params.def: Likewise.
8592         * predict.def: Likewise.
8593         * rtl.def: Likewise.
8594         * stab.def: Likewise.
8595         * stor-layout.c: Likewise.
8596         * tree.def: Likewise.
8597         * config/darwin.c: Likewise.
8598         * config/darwin.h: Likewise.
8599         * config/dbxcoff.h: Likewise.
8600         * config/elfos.h: Likewise.
8601         * config/fp-bit.c: Likewise.
8602         * config/freebsd-spec.h: Likewise.
8603         * config/interix.h: Likewise.
8604         * config/libgloss.h: Likewise.
8605         * config/linux-aout.h: Likewise.
8606         * config/linux.h: Likewise.
8607         * config/lynx-ng.h: Likewise.
8608         * config/lynx.h: Likewise.
8609         * config/netbsd-aout.h: Likewise.
8610         * config/netbsd.h: Likewise.
8611         * config/netware.h: Likewise.
8612         * config/psos.h: Likewise.
8613         * config/ptx4.h: Likewise.
8614
8615 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
8616
8617         * ChangeLog.4: Fix typos.
8618         * ChangeLog.6: Likewise.
8619         * FSFChangeLog.10: Likewise.
8620         * genattrtab.c: Fix comment typos.
8621         * haifa-sched.c: Likewise.
8622         * real.c: Likewise.
8623         * tree.h: Likewise.
8624         * config/arm/arm.c: Likewise.
8625         * config/arm/crti.asm: Likewise.
8626         * config/arm/crtn.asm: Likewise.
8627         * config/frv/frv.c: Likewise.
8628         * config/frv/frv.md: Likewise.
8629         * config/h8300/h8300.md: Likewise.
8630         * config/i386/rtemself.h: Likewise.
8631         * config/ia64/unwind-ia64.c: Likewise.
8632         * config/ip2k/ip2k.h: Likewise.
8633         * config/m88k/m88k.c: Likewise.
8634         * config/m88k/m88k.md: Likewise.
8635         * config/mips/sr71k.md: Likewise.
8636         * config/mmix/mmix.c: Likewise.
8637         * config/rs6000/rs6000.c: Likewise.
8638         * config/sh/sh.md: Likewise.
8639
8640 2002-09-26  Theodore A. Roth  <troth@verinet.com>
8641
8642         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
8643         * config/avr/avr.md: Ditto.
8644
8645 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
8646
8647         PR preprocessor/8055
8648         * cppmacro.c (stringify_arg): Do not overflow the buffer
8649         with the terminating NUL when the argument to be stringified
8650         has no tokens.
8651
8652 2002-09-27  Richard Henderson  <rth@redhat.com>
8653
8654         * unroll.c (simplify_cmp_and_jump_insns): New.
8655         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
8656         instead of expand_simple_foo.
8657
8658 2002-09-27  Richard Henderson  <rth@redhat.com>
8659
8660         PR optimization/7520
8661         * cfganal.c (flow_active_insn_p): New.
8662         (forwarder_block_p): Use it.
8663
8664 2002-09-27  Richard Henderson  <rth@redhat.com>
8665
8666         * emit-rtl.c (active_insn_p): Revert last change.
8667
8668 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
8669
8670         * doc/extend.texi (tls_model): Document.
8671         * varasm.c (decl_tls_model): New.
8672         * c-common.c (handle_tls_model_attribute): New.
8673         (c_common_attribute_table): Add tls_model.
8674         * config/alpha/alpha.c (alpha_encode_section_info): Use
8675         decl_tls_model.
8676         * flags.h (enum tls_model, flag_tls_default): Move...
8677         * tree.h (enum tls_model, flag_tls_default): ...here.
8678         (decl_tls_model): New prototype.
8679         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
8680         * config/i386/i386.c (ix86_encode_section_info): Likewise.
8681         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
8682         Allow !flag_pic.
8683
8684 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8685
8686         * LANGUAGES: Follow spelling conventions.
8687         * rtl.def: Likewise.
8688         * sbitmap.c: Likewise.
8689         * sched-int.h: Likewise.
8690         * sched-rgn.c: Likewise.
8691         * sibcall.c: Likewise.
8692         * simplify-rtx.c: Likewise.
8693         * ssa.c: Likewise.
8694         * stab.def: Likewise.
8695         * stmt.c: Likewise.
8696         * stor-layout.c: Likewise.
8697         * target.h: Likewise.
8698         * timevar.c: Likewise.
8699         * toplev.c: Likewise.
8700         * tree-dump.c: Likewise.
8701         * tree-inline.c: Likewise.
8702         * tree.c: Likewise.
8703         * tree.def: Likewise.
8704         * tree.h: Likewise.
8705         * unroll.c: Likewise.
8706         * varasm.c: Likewise.
8707         * vmsdbgout.c: Likewise.
8708         * treelang/treelang.texi: Likewise.
8709         * treelang/treetree.c: Likewise.
8710
8711 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8712
8713         * config/h8300/h8300.c (compute_saved_regs): Use a macro
8714         instead of a hard register number.
8715         (get_shift_alg): Use an enumerated type instead of numbers.
8716         (h8300_shift_needs_scratch_p): Likewise.
8717
8718 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8719
8720         * varasm.c (force_data_section): Remove.
8721         (assemble_constant_align): Likewise.
8722         * output.h: Remove corresponding prototypes.
8723
8724 2002-09-26  Roger Sayle  <roger@eyesopen.com>
8725
8726         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
8727         jump, if the loop to exit is the top of the current nesting stack.
8728
8729 2002-09-26  Torbjorn Granlund  <tege@swox.com>
8730
8731         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
8732         arithmetic.
8733
8734 2002-09-26  David S. Miller  <davem@redhat.com>
8735
8736         PR optimization/7335
8737         * calls.c (emit_library_call_value_1): Passing args by reference
8738         converts a CONST function into a PURE one.
8739
8740 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8741
8742         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
8743         text_section.
8744         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
8745         text section.
8746         * config/rs6000/rs6000.c (rs6000_override_options): Allow
8747         function-sections and data-sections functionality on AIX.
8748
8749 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8750             Dale Johannesen  <dalej@apple.com>
8751
8752         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
8753         in RTL for sub-word loads from memory.
8754
8755 2002-09-26  Richard Henderson  <rth@redhat.com>
8756
8757         PR c/7160
8758         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
8759         on call insns.
8760
8761 2002-09-26  Richard Henderson  <rth@redhat.com>
8762
8763         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
8764
8765 2002-09-26  Chris Lattner  <sabre@nondot.org>
8766
8767         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
8768         handling undefined values.
8769
8770 2002-09-26  Richard Henderson  <rth@redhat.com>
8771
8772         PR opt/7520
8773         * emit-rtl.c (active_insn_p): Consider a clobber of the
8774         function return value to be active even after reload.
8775
8776 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
8777
8778         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
8779         by absolute loop increment, not loop increment.
8780
8781 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8782
8783         * c-common.h: Follow spelling conventions.
8784         * cpplex.c: Likewise.
8785         * cpplib.h: Likewise.
8786         * gthr-dce.h: Likewise.
8787         * gthr-posix.h: Likewise.
8788         * optabs.c: Likewise.
8789         * output.h: Likewise.
8790         * profile.c: Likewise.
8791         * protoize.c: Likewise.
8792         * ra-rewrite.c: Likewise.
8793         * real.c: Likewise.
8794         * recog.c: Likewise.
8795         * reg-stack.c: Likewise.
8796         * regclass.c: Likewise.
8797         * regmove.c: Likewise.
8798         * reload.c: Likewise.
8799         * reload.h: Likewise.
8800         * reload1.c: Likewise.
8801         * reorg.c: Likewise.
8802         * resource.c: Likewise.
8803         * rtl.h: Likewise.
8804         * rtlanal.c: Likewise.
8805
8806 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8807
8808         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
8809         for symbol address.
8810
8811 2002-09-24  Eric Christopher  <echristo@redhat.com>
8812
8813         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
8814         * config/mips/elf64.h: Ditto.
8815
8816 2002-09-24  Eric Christopher  <echristo@redhat.com>
8817
8818         * except.c (expand_builtin_extract_return_address): Handle case
8819         where Pmode != ptr_mode.
8820
8821 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8822
8823         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
8824
8825 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8826
8827         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
8828
8829 2002-09-26  Igor Shevlyakov <igor@microunity.com>
8830
8831         * combine.c (simplify_set): Don't call to force_to_mode if size
8832         of integer type is larger than HOST_BITS_PER_WIDE_INT.
8833
8834 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
8835
8836         * Makefile.in (qmtest-g++): Fix file path.
8837
8838 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8839
8840         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
8841         A + (-const) on RTX level, even for unsigned types.
8842
8843 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8844
8845         * reload.c (dup_replacements): New function.
8846         (find_reloads): Use it to duplicate replacements at the top level
8847         of match_dup operands.
8848
8849 2002-09-26  Miles Bader  <miles@gnu.org>
8850
8851         * v850.md ("length"): Change default value to 4.
8852
8853 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8854
8855         * ChangeLog.1: Follow spelling conventions.
8856         * ChangeLog.4: Likewise.
8857         * ChangeLog.6: Likewise.
8858         * FSFChangeLog.11: Likewise.
8859         * doc/cpp.texi: Likewise.
8860         * doc/invoke.texi: Likewise.
8861         * doc/tm.texi: Likewise.
8862
8863 2002-09-26  Nick Clifton  <nickc@redhat.com>
8864
8865         * config.gcc: Add x prefix to v850e case for handling
8866         --with-cpu=v850e.
8867
8868 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
8869
8870         * gcc.c (input_suffix_matches, switch_matches,
8871         mark_matching_switches, process_marked_switches,
8872         process_brace_body): New functions - split from handle_braces.
8873         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
8874         and ignore whitespace in more places.
8875         (specs documentation comment): Document %{S:X;T:Y;:D}.
8876         Clarify other %{...} docs.
8877         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
8878         %{...} docs.
8879
8880         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
8881         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
8882
8883 2002-09-25  David S. Miller  <davem@redhat.com>
8884
8885         PR target/7842
8886         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
8887         extend.
8888
8889 2002-09-25  Richard Henderson  <rth@redhat.com>
8890
8891         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
8892         fp CONST_DOUBLE; use real_identical.
8893
8894 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
8895
8896         * doc/invoke.texi: Add more -Wabi examples.
8897
8898 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
8899
8900         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
8901
8902 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
8903
8904         * profile.c (end_branch_prob): Only look for __gcov_init on
8905         weak-enabled native compilers.
8906
8907 2002-09-24  Denis Chertykov  <denisc@overta.ru>
8908
8909         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
8910         cases of optimizing "add sp,w" to "inc sp".
8911
8912 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8913
8914         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
8915         epilogue for naked functions.
8916
8917 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8918             Nick Clifton  <nickc@redhat.com>
8919
8920         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
8921         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
8922         is defined.
8923
8924 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
8925
8926         * config/s390/s390.c (preferred_la_operand_p): New function.
8927         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
8928         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
8929         ("*la_64_cc", "*la_31_cc", splitters): ... these.
8930         ("*la_31"): Deactivate for TARGET_64BIT.
8931         ("*la_31_and", "*la_31_and_cc"): New.
8932
8933 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8934
8935         * real.h (real_value): Make `exp' explicitly signed.
8936
8937 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
8938
8939         * config/elfos.h: Follow spelling conventions.
8940         * config/alpha/alpha.h: Likewise.
8941         * config/arc/arc.h: Likewise.
8942         * config/arm/arm.md: Likewise.
8943         * config/avr/avr.h: Likewise.
8944         * config/cris/cris.md: Likewise.
8945         * config/d30v/d30v.h: Likewise.
8946         * config/frv/frv.c: Likewise.
8947         * config/frv/frv.h: Likewise.
8948         * config/h8300/h8300.c: Likewise.
8949         * config/h8300/h8300.h: Likewise.
8950         * config/h8300/h8300.md: Likewise.
8951         * config/i386/cygwin.h: Likewise.
8952         * config/i386/i386.h: Likewise.
8953         * config/i386/sysv3.h: Likewise.
8954         * config/i960/i960.h: Likewise.
8955         * config/ia64/ia64.h: Likewise.
8956         * config/ia64/ia64.md: Likewise.
8957         * config/ip2k/ip2k.h: Likewise.
8958         * config/m32r/m32r.h: Likewise.
8959         * config/m68k/m68k.h: Likewise.
8960         * config/m88k/m88k.h: Likewise.
8961         * config/mcore/mcore.c: Likewise.
8962         * config/mcore/mcore.h: Likewise.
8963         * config/mcore/mcore.md: Likewise.
8964         * config/mips/mips.h: Likewise.
8965         * config/mmix/mmix.h: Likewise.
8966         * config/mmix/mmix.md: Likewise.
8967         * config/ns32k/netbsd.h: Likewise.
8968         * config/ns32k/ns32k.h: Likewise.
8969         * config/ns32k/ns32k.md: Likewise.
8970         * config/pa/pa.h: Likewise.
8971         * config/romp/romp.h: Likewise.
8972         * config/rs6000/rs6000.h: Likewise.
8973         * config/rs6000/rs6000.md: Likewise.
8974         * config/sparc/sparc.h: Likewise.
8975         * config/stormy16/stormy-abi: Likewise.
8976         * config/stormy16/stormy16.h: Likewise.
8977         * config/vax/vax.h: Likewise.
8978
8979 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8980
8981         * config/alpha/alpha.h: Remove commented-out macro
8982         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
8983         * config/avr/avr.h: Likewise.
8984         * config/d30v/d30v.h: Likewise.
8985         * config/dsp16xx/dsp16xx.h: Likewise.
8986         * config/i370/i370.h: Likewise.
8987         * config/i386/i386.h: Likewise.
8988         * config/i960/i960.h: Likewise.
8989         * config/m68k/m68k.h: Likewise.
8990         * config/m88k/m88k.h: Likewise.
8991         * config/mips/mips.h: Likewise.
8992         * config/ns32k/ns32k.h: Likewise.
8993         * config/pdp11/pdp11.h: Likewise.
8994         * config/romp/romp.h: Likewise.
8995         * config/rs6000/rs6000.h: Likewise.
8996         * config/s390/s390.h: Likewise.
8997         * config/sh/sh.h: Likewise.
8998         * config/sparc/sparc.h: Likewise.
8999         * config/stormy16/stormy16.h: Likewise.
9000         * config/vax/vax.h: Likewise.
9001
9002 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
9003
9004         * function.c (push_temp_slots_for_block): Remove.
9005         (push_temp_slots_for_target): Likewise.
9006         (get_target_temp_slot_level): Likewise.
9007         (set_target_temp_slot_level): Likewise.
9008         (get_first_block_beg): Likewise.
9009         * function.h: Remove corresponding prototypes.
9010
9011 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
9012
9013         * version.c (version_string): Now const char[].
9014         * version.h: Update to match.
9015
9016 2002-09-23  Richard Henderson  <rth@redhat.com>
9017
9018         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
9019         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
9020         (TARGET_SWITCHES): Don't reference them.
9021         * config/i386/i386.c (override_options): Use target_flags_explicit
9022         to examine bits set by the user.
9023
9024 2002-09-23  Dale Johannesen  <dalej@apple.com>
9025
9026         * dbxout.c (dbxout_parms):  Set current_sym_code for params
9027         passed on stack by invisible reference.
9028
9029 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
9030
9031         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
9032         at least one byte of space.
9033
9034 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
9035
9036         * c-common.h (flag_abi_version): Fix typo in comment.
9037         * doc/invoke.texi (flag_abi_version): Document default value.
9038
9039 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
9040
9041         * doc/extend.texi (Extended Asm): Clarify that overlap between
9042         asm-declared register variables used in an asm and the asm clobber
9043         list is not allowed.
9044         * stmt.c (decl_conflicts_with_clobbers_p): New function.
9045         (expand_asm_operands): Keep track of clobbered registers.  Call
9046         decl_conflicts_with_clobbers_p for each input and output operand.
9047         If no conflicts found before, also do conflict sanity check when
9048         emitting clobbers.
9049
9050 2002-09-23  Richard Henderson  <rth@redhat.com>
9051
9052         * c-common.c (cpp_define_data_format): Remove.
9053         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
9054         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
9055         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
9056         * doc/cpp.texi: Don't document them either.
9057         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
9058         __LONG_LONG_MAX__): Document.
9059         (__TARGET_FLOAT_FORMAT__): Remove.
9060
9061 2002-09-23  Richard Henderson  <rth@redhat.com>
9062
9063         * real.c (do_multiply): Normalize U before addition.
9064
9065 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
9066
9067         * c-common.c (flag_abi_version): New variable.
9068         * c-common.h (flag_abi_version): Declare it.
9069         * c-opts.c (missing_arg): Add -fabi-version.
9070         (c_common_decode_option): Process -fabi-version.
9071         * doc/invoke.texi (-fabi-version): Document it.
9072         (-Wabi): Add information about bit-fields in unions.
9073
9074 2002-09-22  Roger Sayle  <roger@eyesopen.com>
9075
9076         * expr.c (STORE_BY_PIECES_P): New target macro.
9077         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
9078         instead of MOVE_BY_PIECES_P.
9079         * doc/tm.texi: Document this new macro.
9080
9081 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
9082
9083         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
9084         unless -fno-pic or -fno-PIC is specified.
9085
9086 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9087
9088         * c-common.c (preprocessing_trad_p): Define.
9089         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
9090         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
9091         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
9092         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
9093         * pa-linux.h (CPP_PREDEFINES): Delete.
9094         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
9095         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
9096         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
9097         (TARGET_OS_CPP_BUILTINS): Define.
9098         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
9099         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
9100         (SUBTARGET_SWITCHES): Provide default definition.
9101         (TARGET_OPTIONS): Reformat.  Use N_() macro.
9102         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
9103         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
9104         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
9105         (TARGET_CPU_CPP_BUILTINS): Define.
9106         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
9107         * doc/invoke.texi (msio, mwsio): Document new hppa options.
9108         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
9109         preprocessing_trad_p().
9110
9111 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
9112
9113         * doc/install.texi: Document behavior of --with-headers and
9114         --with-libs when arguments are omitted.
9115
9116 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
9117
9118         * dbxout.c: Follow spelling conventions.
9119         * defaults.h: Likewise.
9120         * df.c: Likewise.
9121         * diagnostic.h: Likewise.
9122         * doloop.c: Likewise.
9123         * dwarf2out.c: Likewise.
9124         * dwarfout.c: Likewise.
9125         * emit-rtl.c: Likewise.
9126         * except.c: Likewise.
9127         * explow.c: Likewise.
9128         * expmed.c: Likewise.
9129         * expr.c: Likewise.
9130         * expr.h: Likewise.
9131         * flags.h: Likewise.
9132         * flow.c: Likewise.
9133         * fold-const.c: Likewise.
9134         * function.c: Likewise.
9135         * function.h: Likewise.
9136         * gcc.c: Likewise.
9137         * gcov-io.h: Likewise.
9138         * gcov.c: Likewise.
9139         * gcse.c: Likewise.
9140         * genattrtab.c: Likewise.
9141         * genconfig.c: Likewise.
9142         * genrecog.c: Likewise.
9143         * ggc-page.c: Likewise.
9144         * ggc.h: Likewise.
9145         * global.c: Likewise.
9146         * gthr-win32.h: Likewise.
9147         * integrate.c: Likewise.
9148         * jump.c: Likewise.
9149         * langhooks.c: Likewise.
9150         * langhooks.h: Likewise.
9151         * line-map.h: Likewise.
9152         * local-alloc.c: Likewise.
9153         * longlong.h: Likewise.
9154         * loop.c: Likewise.
9155         * loop.h: Likewise.
9156
9157 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
9158
9159         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
9160
9161 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
9162
9163         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
9164         for -Os/TARGET_64BIT too.
9165
9166 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
9167
9168         * ChangeLog: Follow spelling conventions.
9169         * ChangeLog.0: Likewise.
9170         * ChangeLog.1: Likewise.
9171         * ChangeLog.2: Likewise.
9172         * ChangeLog.3: Likewise.
9173         * ChangeLog.4: Likewise.
9174         * ChangeLog.5: Likewise.
9175         * ChangeLog.6: Likewise.
9176         * FSFChangeLog.10: Likewise.
9177         * FSFChangeLog.11: Likewise.
9178         * alias.c: Likewise.
9179         * basic-block.h: Likewise.
9180         * c-aux-info.c: Likewise.
9181         * c-common.c: Likewise.
9182         * c-common.h: Likewise.
9183         * c-decl.c: Likewise.
9184         * c-format.c: Likewise.
9185         * c-semantics.c: Likewise.
9186         * c-typeck.c: Likewise.
9187         * calls.c: Likewise.
9188         * cfganal.c: Likewise.
9189         * cfgloop.c: Likewise.
9190         * collect2.c: Likewise.
9191         * combine.c: Likewise.
9192         * conflict.c: Likewise.
9193         * cppexp.c: Likewise.
9194         * cppfiles.c: Likewise.
9195         * cpphash.h: Likewise.
9196         * cppinit.c: Likewise.
9197         * cpplex.c: Likewise.
9198         * cpplib.c: Likewise.
9199         * cpplib.h: Likewise.
9200         * cppmacro.c: Likewise.
9201         * cse.c: Likewise.
9202
9203 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
9204
9205         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
9206         LINK_SPEC.
9207         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
9208         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
9209         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
9210
9211 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
9212
9213         PR opt/7930
9214         * cse.c (fold_rtx): Calculate old_cost before we fold each
9215         operand.
9216
9217 2002-09-21  Richard Henderson  <rth@redhat.com>
9218
9219         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
9220         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
9221         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
9222         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
9223         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
9224         * doc/cpp.texi: Don't document them.
9225
9226 2002-09-21  Richard Henderson  <rth@redhat.com>
9227
9228         * c-common.c (builtin_define_float_constants): Use real_format
9229         to get the floating-point parameters.
9230
9231 2002-09-21  Richard Henderson  <rth@redhat.com>
9232
9233         * real.c (struct real_format): Move to real.h.
9234         (real_format_for_mode): Rename from fmt_for_mode; update all users;
9235         initialize with ieee defaults.
9236         (real_to_target_fmt, real_from_target_fmt): New.
9237         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9238         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9239         ieee_quad_format, i370_single_format, i370_double_format,
9240         c4x_single_format, c4x_extended_format): Rename from s/_format//.
9241         (ieee_quad_format): Fix emin.
9242         (format_for_size, init_real_once): Remove.
9243         * real.h (struct real_format): Move from real.c.
9244         (real_format_for_mode): Declare.
9245         (real_to_target_fmt, real_from_target_fmt): Declare.
9246         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9247         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9248         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
9249         i370_single_format, i370_double_format, c4x_single_format,
9250         c4x_extended_format): Declare.
9251         * toplev.c (do_compile): Don't call init_real_once.
9252
9253         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9254         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9255
9256         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
9257         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
9258         * config/alpha/alpha.c (override_options): Set real_format_for_mode
9259         for VAX, if enabled.
9260
9261         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
9262         for C4X.
9263
9264         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
9265         * config/i370/i370.c (override_options): New.
9266         * config/i370/i370-protos.h: Update.
9267
9268         * config/i386/i386.c (override_options): Set real_format_for_mode
9269         for Intel 80-bit extended.
9270         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9271
9272         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
9273         (OVERRIDE_OPTIONS): Move code...
9274         * config/i960/i960.c (i960_initialize): ... here.  Set
9275         real_format_for_mode for Intel 80-bit extended.
9276
9277         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
9278         for Intel 80-bit extended, if enabled.
9279
9280         * config/m68k/m68k.c (override_options): Set real_format_for_mode
9281         for Motorola 96-bit extended.
9282
9283         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
9284         * config/vax/vax.c (override_options): New.
9285         * config/vax/vax-protos.h: Update.
9286
9287 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
9288
9289         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
9290         #if TARGET_MACHO.
9291
9292         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
9293         insns.  Supply missing clobber of scratch reg.
9294
9295 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
9296
9297         * config/m32r/m32r.c: Follow spelling conventions.
9298         * config/m32r/m32r.h: Likewise.
9299         * config/m32r/m32r.md: Likewise.
9300         * config/m68k/m68k.c: Likewise.
9301         * config/m88k/m88k.c: Likewise.
9302         * config/mcore/mcore.c: Likewise.
9303         * config/mips/mips.c: Likewise.
9304         * config/mips/mips.h: Likewise.
9305         * config/mmix/mmix.c: Likewise.
9306         * config/mn10200/mn10200.c: Likewise.
9307         * config/ns32k/ns32k.h: Likewise.
9308         * config/pa/pa.c: Likewise.
9309         * config/pa/pa64-linux.h: Likewise.
9310         * config/pdp11/pdp11.h: Likewise.
9311         * config/romp/romp.c: Likewise.
9312         * config/romp/romp.h: Likewise.
9313         * config/rs6000/eabi.asm: Likewise.
9314         * config/rs6000/linux64.h: Likewise.
9315         * config/rs6000/rs6000.c: Likewise.
9316         * config/rs6000/rs6000.h: Likewise.
9317         * config/rs6000/rs6000.md: Likewise.
9318         * config/rs6000/sysv4.h: Likewise.
9319         * config/rs6000/xcoff.h: Likewise.
9320
9321 2002-09-20  Jim Wilson  <wilson@redhat.com>
9322
9323         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
9324
9325 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9326
9327         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
9328         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
9329         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
9330         (legitimate_address_p): Likewise.
9331         (legitimize_address): Use @gotntpoff and @indntpoff.
9332         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
9333         (output_addr_const_extra): Likewise.
9334
9335 2002-09-20  Jim Wilson  <wilson@redhat.com>
9336
9337         * combine.c (try_combine): When split an instruction pair, where the
9338         first has a sign_extend src, verify that the src and dest modes match.
9339
9340 2002-09-20  Richard Henderson  <rth@redhat.com>
9341
9342         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
9343         (override_options): Do not initialize them.
9344         (mips_const_double_ok): Allow no fp constants except zero,
9345         and not even that for mips16.
9346         (const_float_1_operand): Use dconst1.
9347         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
9348         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
9349         Don't allow arbitrary constants; fix predicates and C constraint.
9350
9351 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
9352
9353         * cppmacro.c: Don't warn about function-like macros without
9354         '(' during pre-expansion.
9355
9356 2002-09-20  Jim Wilson  <wilson@redhat.com>
9357
9358         * config/v850/v850.c (current_function_anonymous_args): Delete.
9359         (expand_prologue): Use current_function_args_info.anonymous_args.
9360         (expand_epilogue): Delete use of current_function_anonymous_args.
9361         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
9362         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
9363         (current_function_anonymous_args): Delete extern declaration.
9364         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
9365
9366 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
9367
9368         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
9369         to load_macho_picbase.
9370         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
9371         (load_macho_picbase): Take the symbol to use as a parameter.
9372         (macho_correct_pic): New insn.
9373         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
9374
9375         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
9376         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
9377         (CAN_ELIMINATE): Likewise.
9378         (INITIAL_ELIMINATION_OFFSET): Likewise.
9379         (TOC_REGISTER): Likewise.
9380
9381 2002-09-20  Richard Henderson  <rth@redhat.com>
9382
9383         * real.c (real_hash): New.
9384         * real.h: Declare it.
9385         * cse.c (canon_hash): Use it.
9386         * cselib.c (hash_rtx): Likewise.
9387         * emit-rtl.c (const_double_htab_hash): Likewise.
9388         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
9389         * varasm.c (struct rtx_const): Reduce vector size; separate
9390         integer and fp vectors.
9391         (HASHBITS): Remove.
9392         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
9393         take modulus MAX_HASH_TABLE.
9394         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
9395         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
9396         (SYMHASH): Don't use HASHBITS.
9397         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
9398         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
9399         (simplify_subtraction): Fix kind comparison.
9400         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
9401         Use a union to pun integer array.
9402         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
9403         only hash two words of integral CONST_DOUBLE.
9404
9405 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
9406
9407         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
9408         (STARTFILE_PREFIX_SPEC): New.
9409         (LINK_SPEC): Modify.
9410         (LIB_SPEC): Modify.
9411         (LIBGCC_SPEC): New.
9412
9413 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9414
9415         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
9416         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
9417
9418 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
9419
9420         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
9421         Add clobber of the condition code register.
9422
9423 2002-09-20  Richard Henderson  <rth@redhat.com>
9424
9425         * real.c (do_fix_trunc): Static.
9426         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
9427         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
9428         encode_i370_single, encode_i370_double, encode_c4x_single,
9429         encode_c4x_extended): Add default abort case.
9430
9431 2002-09-20  Richard Henderson  <rth@redhat.com>
9432
9433         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
9434         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
9435         (struct realvaluetype): Remove.
9436         (REAL_VALUE_TYPE): Use struct real_value.
9437         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
9438         (test_real_width): New.
9439         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
9440         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
9441         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
9442         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
9443         real_to_integer, real_to_integer2, real_to_decimal,
9444         real_to_hexadecimal, real_from_string, real_from_integer,
9445         real_inf, real_nan, real_2expN, real_convert, real_to_target,
9446         real_from_target): Likewise.
9447         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
9448         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
9449
9450 2002-09-20  Richard Henderson  <rth@redhat.com>
9451
9452         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
9453         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
9454         * defaults.h: ... here.
9455         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
9456         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
9457         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
9458         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
9459
9460 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
9461
9462         * config/mmix/mmix.md ("negdf2"): Rewrite.
9463         ("*expanded_negdf2"): New.
9464
9465 2002-09-19  Jim Wilson  <wilson@redhat.com>
9466
9467         * combine.c (simplify_set): When optimizing a subreg src with a
9468         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
9469
9470 2002-09-19  Dale Johannesen <dalej@apple.com>
9471         * combine.c (make_extraction): Don't create
9472         invalid subreg.
9473
9474 2002-09-19  Roger Sayle  <roger@eyesopen.com>
9475
9476         * tree.c (integer_nonzerop): New predicate for nonzero integers.
9477         * tree.h (integer_nonzerop): Add function prototype.
9478         * stmt.c (expand_end_loop):  Don't rotate the loop when there
9479         are no instructions in the test, i.e. the loop is unconditional.
9480         (expand_exit_loop_if_false):  Optimize RTL generation of loop
9481         tests when the condition is always true or always false.
9482         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
9483         do-loops when the condition is always true.
9484         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
9485         the for-expression is empty.
9486
9487 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
9488
9489         * gcc.c (use_pipes): New flag.
9490         (process_command): Set it.  Adjust check for -pipe conflicting
9491         with -time or -save-temps.
9492         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
9493         %<SWITCH.  Drop %| (without a SUFFIX).
9494         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
9495         (give_switch): Third argument eliminated.
9496         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
9497         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
9498         (specs documentation comment): Update.
9499
9500         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
9501         config/svr4.h, config/i386/freebsd-aout.h,
9502         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
9503         config/m68k/openbsd.h, config/mips/openbsd.h,
9504         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
9505         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
9506         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
9507         * config/cris/cris.h: Update comment.
9508
9509         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
9510         error messages.  Don't use %{^SWITCH}.
9511         * ada/misc.c (gnat_decode_option): Handle -I with a
9512         separate argument.
9513
9514         * f/lang-specs.h: Use %| and %m.
9515         * java/jvspec.c: Use %m and %(invoke_as).  Change all
9516         uses of %{<SWITCH} to %<SWITCH.
9517
9518         * doc/invoke.texi: Update documentation of specs.
9519         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
9520
9521 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
9522
9523         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
9524         and STRICT_LOW_PART within SET_DEST.
9525         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
9526         splitters, replacing pre-reload splitters.
9527         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
9528         "*zero_extendqihi2_31"): New insns.
9529         ("*zero_extendqihi2_64"): Do not clobber CC.
9530
9531 2002-09-18  Devang Patel  <dpatel@apple.com>
9532
9533         * cp/cp-tree.h: New prototype for walk_vtables().
9534         * cp/decl.c (walk_vtables_r): New function.
9535         (struct cp_binding_level): Add new members, namespaces,
9536         names_size and vtables.
9537         (add_decl_to_level): Add decl in namespaces or vtables
9538         chain, if conditions match.
9539         (walk_vtables): New function.
9540         (walk_namespaces_r): Travers separate namespace chain
9541         for namespace decls.
9542         (wrapup_globals_for_namespace): Use names_size instead
9543         of list_length().
9544         * cp/decl2.c (finish_file): Use walk_vtables() instead of
9545         walk_globals() to walk vtable decls.
9546
9547 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
9548
9549         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
9550         (DTORS_SECTION_ASM_OP): Ditto.
9551         (READONLY_DATA_SECTION_ASM_OP): Moved.
9552         (DATA_SECTION_ASM_OP): New.
9553         (SDATA_SECTION_ASM_OP): New.
9554         (BSS_SECTION_ASM_OP): New.
9555         (SBSS_SECTION_ASM_OP): New.
9556         (TEXT_SECTION_ASM_OP): New.
9557
9558 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
9559
9560         * config/fp-bit.c: Follow spelling conventions.
9561         * config/d30v/d30v.c: Likewise.
9562         * config/d30v/d30v.h: Likewise.
9563         * config/fr30/fr30.c: Likewise.
9564         * config/fr30/fr30.h: Likewise.
9565         * config/fr30/fr30.md: Likewise.
9566         * config/frv/frv.c: Likewise.
9567         * config/frv/frv.h: Likewise.
9568         * config/h8300/h8300.c: Likewise.
9569         * config/h8300/lib1funcs.asm: Likewise.
9570         * config/i370/i370.c: Likewise.
9571         * config/i386/i386.h: Likewise.
9572         * config/i386/i386.md: Likewise.
9573         * config/i386/pentium.md: Likewise.
9574         * config/i386/winnt.c: Likewise.
9575         * config/i960/i960.c: Likewise.
9576         * config/ia64/ia64.h: Likewise.
9577         * config/ip2k/ip2k.c: Likewise.
9578         * config/ip2k/ip2k.h: Likewise.
9579         * config/ip2k/ip2k.md: Likewise.
9580         * config/ip2k/libgcc.S: Likewise.
9581
9582 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
9583
9584         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
9585         (GOTOFF_P): Extend to allow gotoff plus constant.
9586
9587 2002-09-18  Richard Henderson  <rth@redhat.com>
9588
9589         * ifcvt.c (noce_process_if_block): Correctly detect X modified
9590         with INSN_B before COND_EARLIEST.  Don't check A and B for
9591         modification in condition range.  Reorder INSN_B for A==B properly.
9592         (if_convert): Iterate until no matches for a block.
9593
9594 2002-09-18  Richard Henderson  <rth@redhat.com>
9595
9596         * calls.c (store_one_arg): Rename default_align to parm_align;
9597         always adjust parm_align for downward padding.
9598
9599 2002-09-18  Richard Henderson  <rth@redhat.com>
9600
9601         * toplev.c (backend_init): Move init_real_once invocation ...
9602         (do_compile): ... here.
9603
9604 2002-09-18  Richard Henderson  <rth@redhat.com>
9605
9606         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
9607         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
9608
9609 2002-09-18  Richard Henderson  <rth@redhat.com>
9610
9611         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
9612
9613 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
9614
9615         * config/rs6000/rs6000.md: (floatdisf2): Rename to
9616         floatdisf2_internal1.
9617         (floatdisf2): New define_expand.
9618         (floatdisf2_internal2): Likewise.
9619
9620 2002-09-18  Richard Henderson  <rth@redhat.com>
9621
9622         * real.c (sticky_rshift_significand): Collect sticky as
9623         unsigned long, not bool.
9624
9625 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
9626
9627         * config/s390/s390.c (s390_address_cost): New function.
9628         config/s390/s390-protos.h (s390_address_cost): Add prototype.
9629         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
9630         (RTX_COST): Use COSTS_N_INSNS.
9631
9632 2002-09-18  Douglas Rupp  <rupp@gnat.com>
9633             Donn Terry  <donnte@microsoft.com>
9634
9635         * stor-layout.c (place_field): Handle alignment of whole
9636         structures when MSVC compatible bitfields are involved.
9637         Change method of computing location of MS bitfields to
9638         be compatible with #pragma pack(n).
9639
9640         * tree.h (record_layout_info): Add new field
9641         remaining_in_alignment.
9642
9643         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
9644         (pragma pack): Add paragraph on MSVC bitfield packing.
9645
9646 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
9647
9648         PR optimization/7967
9649         * arm.md (ne_zeroextractsi): Add clobber of the condition code
9650         register.
9651
9652 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
9653
9654         * config/s390/s390.c: Follow spelling conventions.
9655         * config/sh/lib1funcs.asm: Likewise.
9656         * config/sh/sh.c: Likewise.
9657         * config/sh/sh.h: Likewise.
9658         * config/sparc/sparc.c: Likewise.
9659         * config/sparc/sparc.h: Likewise.
9660         * config/sparc/sparc.md: Likewise.
9661         * config/stormy16/stormy16.c: Likewise.
9662         * config/stormy16/stormy16.h: Likewise.
9663         * config/v850/v850.c: Likewise.
9664         * config/v850/v850.h: Likewise.
9665         * config/vax/vax.c: Likewise.
9666         * config/vax/vax.h: Likewise.
9667
9668 2002-09-18  Nick Clifton  <nickc@redhat.com>
9669
9670         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
9671         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
9672         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
9673
9674 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9675
9676         * function.c (max_parm_reg_num): Remove.
9677         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
9678         drop_through_at_end_p, move_cleanups_up,
9679         expand_end_case_dummy, case_index_expr_type): Likewise.
9680         * stor-layout.c (pos_from_byte): Likewise.
9681         * tree.c (chain_member_value, chain_member_purpose, listify,
9682         tree_int_cst_msb, index_type_equal): Likewise.
9683         * tree.h: Remove prototypes for unused functions.
9684
9685 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
9686
9687         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
9688         statement that the only translation is to en_UK.
9689
9690 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9691
9692         * config/alpha/alpha.c: Follow spelling conventions.
9693         * config/alpha/alpha.h: Likewise.
9694         * config/alpha/alpha.md: Likewise.
9695         * config/arc/arc.h: Likewise.
9696         * config/arm/arm.c: Likewise.
9697         * config/arm/arm.h: Likewise.
9698         * config/arm/arm.md: Likewise.
9699         * config/arm/pe.c: Likewise.
9700         * config/arm/unknown-elf.h: Likewise.
9701         * config/avr/avr.c: Likewise.
9702         * config/avr/avr.h: Likewise.
9703         * config/c4x/c4x.c: Likewise.
9704         * config/cris/cris.c: Likewise.
9705         * config/cris/cris.h: Likewise.
9706
9707 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
9708
9709         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
9710         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
9711         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
9712
9713 2002-09-17  Dale Johannesen  <dalej@apple.com>
9714
9715         * cfgcleanup.c (try_forward_edges):  Do not forward a
9716         branch to just after a loop exit before loop optimization;
9717         this interfered with doloop detection.
9718
9719 2002-09-17  Nick Clifton  <nickc@redhat.com>
9720
9721         * config/arm/arm.c (output_return_instruction): Do not
9722         writeback the stack pointer when it is being loaded.
9723         (arm_output_epilogue): Likewise.
9724
9725 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9726
9727         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
9728         generate a pseudo reg that receives the result of a libcall.
9729         (prepare_float_lib_cmp): Likewise.
9730
9731 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
9732
9733         * config/ia64/elf.h: Remove CPP_PREDEFINES.
9734
9735 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9736
9737         Fix PR/7014 and related objc bugs:
9738         * c-typeck.c (comp_target_types): Added a reflexive argument.
9739         Pass it to ObjC when/if calling objc_comptypes().  Updated all
9740         callers to provide the appropriate reflexive argument.
9741         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
9742         typechecking for all cases of comparisons and assignments,
9743         particularly the obscure and less common ones involving protocols.
9744
9745 2002-09-17  Nick Clifton  <nickc@redhat.com>
9746
9747         * machmode.def (V1DImode): New mode.  A single element vector.
9748         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
9749         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
9750         * tree.c (build_common_tree_nodes_2): Build
9751         unsigned_V1DI_type_node and V1D1_type_node.
9752         * c-common.c (c_common_type_for_mode): Return
9753         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
9754         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
9755
9756 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9757
9758         * doc/objc.texi (Constant string objects): Extended documentation
9759         to make clear that the constant string class ivar layout is
9760         completely fixed.
9761
9762 2002-09-17  Roger Sayle  <roger@eyesopen.com>
9763
9764         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
9765         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
9766
9767 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9768
9769         * config/mips/mips.c (save_restore_insns): Remove unused variable.
9770         * gcc.c (make_relative_prefix): Likewise.
9771         * loop.c (check_final_value): Likewise.
9772         * jump.c (init_label_info): Remove return value.
9773         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
9774
9775 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9776
9777         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
9778         (ASM_PN_FORMAT): Define.
9779
9780 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9781
9782         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
9783         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
9784         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
9785         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
9786         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
9787         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
9788         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
9789         Delete.
9790         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
9791         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
9792         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
9793
9794         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
9795         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
9796
9797 2002-09-16  Richard Henderson  <rth@redhat.com>
9798
9799         * expr.c (emit_block_move): Set memory block size as appropriate
9800         for the copy.
9801
9802 2002-09-16  Richard Henderson  <rth@redhat.com>
9803
9804         PR fortran/3924
9805         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
9806
9807 2002-09-16  Richard Henderson  <rth@redhat.com>
9808
9809         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
9810         as well as OFFSET for BITPOS.
9811
9812 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
9813
9814         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
9815         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
9816         winchip2 and c3.
9817         * doc/invoke.texi: Mention new aliases.
9818
9819 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9820
9821         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
9822         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
9823         downward.
9824         * function.c (pad_below):  Always compile.
9825         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
9826         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
9827         Pad below when the argument is not in a register and the padding
9828         direction is downward.
9829
9830         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
9831         (PAD_VARARGS_DOWN): Define.
9832         * pa.c (function_arg_padding): Revise padding directions to make them
9833         compatible with the 32 and 64-bit runtime architecture documentation.
9834         (hppa_va_arg):  Add code to handle variable and size zero arguments
9835         passed by reference on TARGET_64BIT.  Reformat.
9836         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
9837         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
9838         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
9839         Add comments.
9840         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
9841         (RETURN_IN_MEMORY): Return size zero types in memory.
9842         (FUNCTION_VALUE): Return TFmode in general registers.
9843         (MUST_PASS_IN_STACK): Define.
9844         (FUNCTION_ARG_BOUNDARY): Simplify.
9845         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
9846         by reference.
9847         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
9848
9849 2002-09-16  Richard Henderson  <rth@redhat.com>
9850
9851         * real.c (do_fix_trunc): New.
9852         (real_arithmetic): Call it.
9853         * simplify-rtx.c (simplify_unary_operation): Handle FIX
9854         with a floating-point result mode.
9855
9856 2002-09-16  Richard Henderson  <rth@redhat.com>
9857
9858         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
9859         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
9860         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
9861         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
9862         * builtins.c (fold_builtin_nan): New.
9863         (fold_builtin): Call it.
9864         * real.c (real_nan): Parse a non-empty string.
9865         (round_for_format): Fix NaN significand truncation.
9866         * real.h (real_nan): Return bool.
9867         * doc/extend.texi: Document new builtins.
9868
9869 2002-09-16  Jason Merrill  <jason@redhat.com>
9870             Danny Smith  <dannysmith@users.sourceforge.net>
9871
9872         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
9873         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
9874         (i386_pe_mark_dllimport): Not here.
9875
9876 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
9877
9878         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
9879
9880 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
9881
9882         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
9883         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
9884         < 64.
9885         (rs6000_emit_cmove): Use real_isinf not target_isinf.
9886
9887 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9888
9889         * calls.c (emit_library_call_value_1): Don't refer to
9890         hard_libcall_value.
9891         * optabs.c (prepare_float_lib_cmp): Likewise.
9892
9893 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
9894
9895         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
9896         mangling.
9897
9898         The following changes are merged from pch-branch:
9899
9900         * doc/gty.texi (GTY Options): Document %a.
9901         * gengtype.c (do_scalar_typedef): New function.
9902         (process_gc_options): Handle `length' option.
9903         (set_gc_used_type): A pointer to an array of structures doesn't
9904         qualify as a pointer to a structure.
9905         (output_escaped_param): Add `%a' escape.
9906         (write_gc_structure_fields): Allow 'desc' on array of unions.
9907         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
9908         do_scalar_typedef.
9909
9910         * gengtype.c (enum rtx_code): Make global.
9911         (rtx_format): Make global.
9912         (rtx_next): New.
9913         (gen_rtx_next): New.
9914         (write_rtx_next): New.
9915         (adjust_field_rtx_def): Skip fields marked by chain_next.
9916         (open_base_files): Delete redundant prototype.
9917         (write_enum_defn): New.
9918         (output_mangled_typename): Correct abort call.
9919         (write_gc_marker_routine_for_structure): Handle chain_next and
9920         chain_prev options.
9921         (finish_root_table): Don't output redundant \n.
9922         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
9923         * c-tree.h (union lang_tree_node): Add chain_next option.
9924
9925         * gengtype.h (NUM_PARAM): New definition.
9926         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
9927         * gengtype.c (find_param_structure): New.
9928         (adjust_field_type): Handle param<n>_is option.
9929         (process_gc_options): Detect use_params option.  Update callers.
9930         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
9931         'use_params' option.
9932         (open_base_files): Add splay-tree.h to list of files included.
9933         (output_mangled_typename): New.
9934         (write_gc_structure_fields): Update 'param' parameter to support
9935         multiple parameters.  Change name mangling.  Allow parameterized
9936         fields to have an apparent scalar type.  Handle param<n>_is options,
9937         use_param option.
9938         (write_gc_marker_routine_for_structure): Update for change to name
9939         mangling.  Better guess the output file for parameterized types.
9940         (write_gc_types): Update for change to name mangling.
9941         (write_gc_root): Update for change to name mangling.  Handle (ignore)
9942         param<n>_is options.
9943         * doc/gty.texi (GTY Options): Add description of param<n>_is
9944         options, use_params option.
9945         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
9946         * gengtype-lex.l: Produce token for param<n>_is.
9947         * gengtype-yacc.y: Parse param<n>_is.
9948
9949         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
9950
9951         * rtl.c: Update comment describing rtx_format.
9952         * rtl.h (union rtunion): Separate definition and typedef.
9953         (struct rtx_def): Use gengtype to mark.
9954         * Makefile.in (gengtype.o): Also depend on rtl.def.
9955         * ggc.h (ggc_mark_rtx_children): Delete prototype.
9956         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
9957         * ggc-common.c (ggc_mark_rtx_children): Delete.
9958         (ggc_mark_rtx_children_1): Delete.
9959         (gt_ggc_m_rtx_def): Delete.
9960         * gengtype.c (adjust_field_rtx_def): New.
9961         (adjust_field_type): Call adjust_field_rtx_def.
9962         (write_gc_structure_fields): Add 'default' case to switch if none
9963         is specified; remove unused code.
9964
9965         * tree.h (struct tree_exp): Update for change to meaning
9966         of special.
9967         * gengtype.c (adjust_field_tree_exp): New function.
9968         (adjust_field_type): Handle `tree_exp' special here.
9969         (write_gc_structure_fields): Don't handle `tree_exp' special here.
9970         Handle new `dot' option.
9971
9972         * gengtype.h: Make `info' a pointer-to-const.
9973         * gengtype-yacc.y (yacc_ids): Use xasprintf.
9974
9975         * gengtype.c (write_gc_structure_fields): Remove implementation
9976         of `always' option, add `default' option.
9977         * doc/gty.texi (GTY Options): Remove documentation of `always',
9978         add `default'.
9979
9980 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
9981
9982         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
9983
9984 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9985
9986         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
9987
9988         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
9989         instead of the *-protos.h file directly.
9990         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
9991         * darwin.c (machopic_output_stub): Move prototype ...
9992         * darwin-protos.h (machopic_output_stub): ... here.
9993         * rs6000-protos.h (machopic_output_stub): Don't declare.
9994
9995 2002-09-16  Richard Henderson  <rth@redhat.com>
9996
9997         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
9998
9999 2002-09-16  Richard Henderson  <rth@redhat.com>
10000
10001         * real.c, real.h: Rewrite from scratch.
10002
10003         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
10004         (paranoia): New target.
10005         * builtins.c (fold_builtin_inf): Use new real.h interface.
10006         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
10007         * c-lex.c (interpret_float): Likewise.
10008         * emit-rtl.c (gen_lowpart_common): Likewise.
10009         * optabs.c (expand_float): Use real_2expN.
10010         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
10011         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
10012         (FLOAT_WORDS_BIG_ENDIAN): New.
10013         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
10014         directly to REAL_VALUE_NEGATIVE.
10015         * loop.c (canonicalize_condition): Likewise.
10016         * simplify-rtx.c: Include tree.h.
10017         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
10018         with floating-point result modes.
10019         * toplev.c (backend_init): Call init_real_once.
10020
10021         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
10022         * tree.c (build_real): Likewise.
10023         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
10024         float_values, inited_float_values, check_float_value): Remove.
10025         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
10026         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
10027         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
10028         (VAX_HALFWORD_ORDER): Remove.
10029
10030 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
10031
10032         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
10033         (s390_load_address): ... this new function.
10034         (s390_decompose_address): Allow the argument pointer and all
10035         virtual registers as 'pointer' registers.
10036         (s390_expand_plus_operand): Use s390_load_address.
10037         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
10038         ("force_la_31"): New insn pattern.
10039         config/s390/s390-protos.h (legitimize_la_operand): Remove.
10040         (s390_load_address): Add prototype.
10041
10042         * config/s390/s390.c: Include "optabs.h".
10043         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
10044         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
10045         s390_expand_cmpstr): Add prototypes.
10046         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
10047         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
10048         for operands 0 and 1 to "memory_operand".  Add type attribute.
10049         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
10050         for operands 0 and 1 to "memory_operand".  Add type attribute.
10051         ("movstrdi_long", "movstrsi_long"): Remove.
10052         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
10053         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
10054         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
10055         ("clrstrsico"): Remove, replace by ...
10056         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
10057         ("clrstrsi_64"): Rename to "clrstr_long_64".
10058         ("clrstrsi_31"): Rename to "clrstr_long_31".
10059         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
10060         ("cmpstr_const"): Remove, replace by ...
10061         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
10062         ("cmpstr_64"): Rename to "cmpstr_long_64".
10063         ("cmpstr_31"): Rename to "cmpstr_long_31".
10064
10065 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
10066
10067         * ABOUT-NLS: Follow spelling conventions.
10068         * ChangeLog: Likewise.
10069         * ChangeLog.1: Likewise.
10070         * ChangeLog.2: Likewise.
10071         * ChangeLog.3: Likewise.
10072         * ChangeLog.4: Likewise.
10073         * ChangeLog.5: Likewise.
10074         * ChangeLog.6: Likewise.
10075         * FSFChangeLog.10: Likewise.
10076         * FSFChangeLog.11: Likewise.
10077         * c-common.c: Likewise.
10078         * c-lex.c: Likewise.
10079         * c-objc-common.c: Likewise.
10080         * cppexp.c: Likewise.
10081         * cppinit.c: Likewise.
10082         * cpplex.c: Likewise.
10083         * doloop.c: Likewise.
10084         * flow.c: Likewise.
10085         * function.c: Likewise.
10086         * integrate.c: Likewise.
10087         * loop.c: Likewise.
10088         * reg-stack.c: Likewise.
10089         * reload.h: Likewise.
10090         * ssa.c: Likewise.
10091
10092 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10093
10094         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
10095         * vmsdbgout.c: Include "target.h".
10096
10097 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10098
10099         * ChangeLog: Follow spelling conventions.
10100         * ChangeLog.0: Likewise.
10101         * ChangeLog.1: Likewise.
10102         * ChangeLog.2: Likewise.
10103         * ChangeLog.4: Likewise.
10104         * ChangeLog.6: Likewise.
10105         * config.gcc: Likewise.
10106         * dwarfout.c: Likewise.
10107         * reload1.c: Likewise.
10108         * simplify-rtx.c: Likewise.
10109         * unwind-sjlj.c: Likewise.
10110         * config/avr/avr.h: Likewise.
10111         * config/d30v/d30v.h: Likewise.
10112         * config/frv/frv.c: Likewise.
10113         * config/frv/frv.h: Likewise.
10114         * config/ip2k/ip2k.h: Likewise.
10115         * config/m88k/m88k-move.sh: Likewise.
10116         * config/stormy16/stormy16.c: Likewise.
10117         * config/stormy16/stormy16.h: Likewise.
10118         * doc/extend.texi: Likewise.
10119         * doc/interface.texi: Likewise.
10120         * doc/invoke.texi: Likewise.
10121         * doc/md.texi: Likewise.
10122         * doc/rtl.texi: Likewise.
10123         * doc/tm.texi: Likewise.
10124         * doc/trouble.texi: Likewise.
10125         * ginclude/float.h: Likewise.
10126         * treelang/treelang.texi: Likewise.
10127
10128 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10129
10130         * i386-protos.h (i386_pe_dllexport_name_p,
10131         i386_pe_dllimport_name_p, i386_pe_unique_section,
10132         i386_pe_declare_function_type, i386_pe_record_external_function,
10133         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
10134         prototype.
10135         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
10136         * i386/t-interix (winnt.o): Likewise.
10137
10138         * v850-protos.h (v850_output_addr_const_extra): Prototype.
10139
10140 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10141
10142         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
10143         MIPS ABI CPP macros.
10144         (TARGET_CPU_CPP_BUILTINS): Redefine.
10145         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
10146         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
10147
10148 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10149
10150         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
10151
10152 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10153
10154         * ChangeLog: Follow spelling conventions.
10155         * ChangeLog.0: Likewise.
10156         * ChangeLog.1: Likewise.
10157         * ChangeLog.2: Likewise.
10158         * ChangeLog.3: Likewise.
10159         * ChangeLog.4: Likewise.
10160         * ChangeLog.5: Likewise.
10161         * ChangeLog.6: Likewise.
10162         * FSFChangeLog.10: Likewise.
10163         * FSFChangeLog.11: Likewise.
10164         * c-common.c: Likewise.
10165         * c-common.h: Likewise.
10166         * c-format.c: Likewise.
10167         * c-opts.c: Likewise.
10168         * cpplib.c: Likewise.
10169         * langhooks.h: Likewise.
10170         * real.c: Likewise.
10171         * reg-stack.c: Likewise.
10172         * toplev.c: Likewise.
10173         * config/arm/arm.c: Likewise.
10174         * config/arm/arm.md: Likewise.
10175         * config/arm/linux-gas.h: Likewise.
10176         * config/arm/netbsd.h: Likewise.
10177         * config/c4x/c4x.c: Likewise.
10178         * config/c4x/c4x.h: Likewise.
10179         * config/c4x/c4x.md: Likewise.
10180         * config/c4x/libgcc.S: Likewise.
10181         * config/fr30/fr30.md: Likewise.
10182         * config/frv/frv.md: Likewise.
10183         * config/ia64/ia64.md: Likewise.
10184         * config/mips/mips.h: Likewise.
10185         * config/mn10300/mn10300.c: Likewise.
10186         * config/stormy16/stormy16.c: Likewise.
10187         * config/v850/v850.md: Likewise.
10188         * doc/extend.texi: Likewise.
10189         * doc/invoke.texi: Likewise.
10190         * doc/md.texi: Likewise.
10191
10192 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10193
10194         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
10195         library if -pthread is specified.
10196
10197 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10198
10199         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
10200         for --enable-threads=yes and --enable-threads=posix.
10201
10202 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10203
10204         * config/sparc/cypress.md: Replace Sparc with SPARC.
10205         * config/sparc/freebsd.h: Likewise.
10206         * config/sparc/gmon-sol2.c: Likewise.
10207         * config/sparc/hypersparc.md: Likewise.
10208         * config/sparc/lb1spc.asm: Likewise.
10209         * config/sparc/lb1spl.asm: Likewise.
10210         * config/sparc/linux.h: Likewise.
10211         * config/sparc/linux64.h: Likewise.
10212         * config/sparc/lynx.h: Likewise.
10213         * config/sparc/sol2.h: Likewise.
10214         * config/sparc/sparc-modes.def: Likewise.
10215         * config/sparc/sparc.c: Likewise.
10216         * config/sparc/sparc.h: Likewise.
10217         * config/sparc/sparc.md: Likewise.
10218         * config/sparc/sparclet.md: Likewise.
10219         * config/sparc/supersparc.md: Likewise.
10220         * config/sparc/sysv4.h: Likewise.
10221         * config/sparc/vxsim.h: Likewise.
10222         * config/sparc/vxsparc64.h: Likewise.
10223
10224 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10225
10226         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
10227         * collect2.c (ignore_library, aix_std_libs): Move into the context
10228         where it is used.
10229         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
10230         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
10231         * m88k.c (output_call): Wrap variables with macro controlling use.
10232         * rs6000.md: Likewise.  Const-ify variable.
10233         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
10234         * final.c (only_leaf_regs_used): Likewise.
10235         * regrename.c (maybe_mode_change): Mark parameter with
10236         ATTRIBUTE_UNUSED.
10237         * reload.c (find_valid_class): Likewise.  Likewise for variable.
10238         (find_reloads_address_1): Likewise.
10239         * varasm.c (weak_finish): Wrap variable with macro controlling use.
10240
10241 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
10242
10243         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
10244
10245 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10246
10247         * ChangeLog: Follow spelling conventions.
10248         * ChangeLog.0: Likewise.
10249         * ChangeLog.2: Likewise.
10250         * ChangeLog.3: Likewise.
10251         * ChangeLog.4: Likewise.
10252         * ChangeLog.5: Likewise.
10253         * ChangeLog.6: Likewise.
10254         * cppfiles.c: Likewise.
10255         * cppinit.c: Likewise.
10256         * cpplib.h: Likewise.
10257         * cse.c: Likewise.
10258         * debug.h: Likewise.
10259         * df.c: Likewise.
10260         * dominance.c: Likewise.
10261         * hashtable.c: Likewise.
10262         * hashtable.h: Likewise.
10263         * loop.c: Likewise.
10264         * config/arm/README-interworking: Likewise.
10265         * config/arm/arm.c: Likewise.
10266         * config/arm/arm.h: Likewise.
10267         * config/arm/arm.md: Likewise.
10268         * config/dsp16xx/dsp16xx.h: Likewise.
10269         * config/frv/frv.c: Likewise.
10270         * config/frv/frv.h: Likewise.
10271         * config/ip2k/ip2k.h: Likewise.
10272         * config/rs6000/rs6000.c: Likewise.
10273         * config/stormy16/stormy-abi: Likewise.
10274         * config/stormy16/stormy16.h: Likewise.
10275         * config/v850/v850.c: Likewise.
10276
10277 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10278
10279         * loop.c: Fix a comment typo.
10280
10281 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10282
10283         * config/fr30/fr30.h: Fix comment typos.
10284         * config/frv/frv.c: Likewise.
10285         * config/i386/xmmintrin.h: Likewise.
10286         * config/mips/mips.c: Likewise.
10287         * config/sh/sh.c: Likewise.
10288
10289 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10290
10291         * haifa-sched.c: Follow spelling conventions.
10292         * regclass.c: Likewise.
10293         * regrename.c: Likewise.
10294         * config/fp-bit.c: Likewise.
10295         * config/frv/frv.h: Likewise.
10296         * config/m88k/m88k.c: Likewise.
10297         * config/mcore/mcore.c: Likewise.
10298         * config/rs6000/darwin.h: Likewise.
10299         * config/rs6000/gnu.h: Likewise.
10300         * config/rs6000/linux.h: Likewise.
10301         * config/rs6000/linux64.h: Likewise.
10302         * config/rs6000/rs6000.c: Likewise.
10303         * config/rs6000/rs6000.h: Likewise.
10304         * config/sh/sh.c: Likewise.
10305         * config/sparc/sparc.c: Likewise.
10306         * config/sparc/ultra1_2.md: Likewise.
10307
10308 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
10309
10310         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
10311         memory operand when source is 0 (K constraint).
10312         ("movsi_internal"): Likewise.
10313         ("movdf_internal"): Likewise.
10314         ("movsf_internal"): Likewise.
10315
10316 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10317
10318         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
10319         targetm.binds_local_p to set SYMBOL_REF_FLAG.
10320         (rs6000_xcoff_encode_section_info): Likewise.
10321         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10322
10323 2002-09-10  Theodore A. Roth  <troth@verinet.com>
10324
10325         * gcc/config/avr/avr.h: Set default options for C++ for avr.
10326
10327 2002-09-13  Roger Sayle  <roger@eyesopen.com>
10328
10329         * stmt.c (struct nexting): Remove unused alt_end_label field.
10330         (expand_start_loop): Delete initialization of alt_end_label.
10331         (expand_start_null_loop): Likewise.
10332         (expand_exit_loop_if_false): Delete updating of alt_end_label.
10333
10334 2002-09-13  Richard Henderson  <rth@redhat.com>
10335
10336         * Makefile.in (toplev.o): Depend on real.h.
10337         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
10338
10339 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10340
10341         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
10342         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
10343         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
10344
10345 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
10346
10347         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
10348
10349 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10350
10351         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
10352         ia64*-*-linux*): Set extra_parts.
10353         * config/ia64/t-aix (EXTRA_PARTS): Remove.
10354         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
10355
10356 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10357
10358         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
10359         * config/h8300/h8300.c: Likewise.
10360         * config/h8300/h8300.h: Likewise.
10361         * config/h8300/h8300.md: Likewise.
10362         * doc/invoke.texi: Likewise.
10363
10364 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10365
10366         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
10367
10368 2002-09-13  Richard Henderson  <rth@redhat.com>
10369
10370         * config/alpha/alpha.md (attr type): Add callpal.
10371         (imb, trap, load_tp, set_tp): Use it.
10372         * config/alpha/ev4.md (ev4_callpal): New.
10373         * config/alpha/ev5.md (ev5_callpal): New.
10374         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
10375         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
10376         (alphaev5_insn_pipe): Likewise.
10377
10378 2002-09-13  Andreas Jaeger  <aj@suse.de>
10379
10380         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
10381
10382 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10383
10384         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
10385         LIB2ADDEH): New, set to NULL.
10386         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
10387
10388 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10389
10390         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
10391         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
10392         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
10393         Add declarations.
10394         (_U_Qfneg): Remove.
10395
10396 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
10397
10398         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
10399         for H8/300, H8S aa:8 mode.
10400         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
10401         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
10402         for H8/300 aa:8 mode.
10403
10404 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
10405
10406         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
10407         insns.
10408
10409 2002-09-12  Richard Henderson  <rth@redhat.com>
10410
10411         * Makefile.in (HOST_PRINT): Use print-rtl1.o
10412         (print-rtl.o): Don't define GENERATOR_FILE.
10413         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
10414         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
10415         unless GENERATOR_FILE.
10416
10417 2002-09-12  Stan Shebs  <shebs@apple.com>
10418
10419         * config/darwin.h (USER_LABEL_PREFIX): Define here...
10420         * config/i386/darwin.h: ... instead of here.
10421
10422         * target.h (struct gcc_target): New field
10423         terminate_dw2_eh_frame_info.
10424         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10425         (TARGET_INITIALIZER): Add it.
10426         * dwarf2out.c (output_call_frame_info): Use target hook.
10427         * dwarf2asm.c (dw2_asm_output_delta): Use macro
10428         ASM_OUTPUT_DWARF_DELTA if defined.
10429         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
10430         (ASM_OUTPUT_DWARF_DELTA): Ditto.
10431         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
10432         (ASM_OUTPUT_DWARF_PCREL): Ditto.
10433         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
10434         (powerpc-*-darwin*): Ditto.
10435         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
10436         to work correctly for Darwin.
10437         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
10438         (STARTFILE_SPEC): Add crtbegin.o.
10439         (ENDFILE_SPEC): Define.
10440         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
10441         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
10442         (ASM_OUTPUT_DWARF_DELTA): Define.
10443         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10444         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
10445
10446 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
10447
10448         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
10449         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
10450         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
10451
10452 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
10453
10454         * toplev.c: Move default definition of USER_LABEL_PREFIX...
10455         * defaults.h: ... here.
10456
10457 2002-09-12  Richard Henderson  <rth@redhat.com>
10458
10459         * vax.c: Include tree.h earlier.
10460
10461 2002-09-12  Stan Shebs  <shebs@apple.com>
10462
10463         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
10464         (machopic_operand_p): Ditto.
10465
10466 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10467
10468         * config/arm/arm.c (arm_compute_initial_elimination_offset):
10469         Fix a comment typo.
10470
10471 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10472
10473         * toplev.c (do_abort): Fix a comment typo.
10474
10475 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10476
10477         * cselib.c: Fix comment formatting.
10478         * gengtype.c: Likewise.
10479
10480 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10481
10482         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
10483         (udivmodhi4): Likewise.
10484
10485 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
10486             Roger Sayle  <roger@eyesopen.com>
10487
10488         * i386.c (any_fp_register_operand, fp_register_operand,
10489         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
10490         New predicate functions.
10491         * i386-protos.h:  Add their prototypes.
10492         * i386.h: Add them to PREDICATE_CODES.
10493         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
10494         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
10495         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
10496         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
10497         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
10498         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
10499         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
10500         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
10501         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
10502         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
10503         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
10504         Use these new predicates to simplify and correct the use of
10505         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
10506
10507 2002-09-12  Jason Merrill  <jason@redhat.com>
10508
10509         * diagnostic.c (output_add_identifier): New fn.
10510         * diagnostic.h: Declare it.
10511
10512         * calls.c (store_one_arg): Use size_in_bytes to determine the
10513         amount of space to push.
10514
10515 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
10516
10517         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
10518
10519 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
10520
10521         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
10522         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
10523         (s390_select_ccmode): Likewise.
10524         (s390_branch_condition_mask): Likewise.
10525         (optimization_options): Do not set flag_branch_on_count.
10526         (s390_split_branches): Handle doloop branches.
10527         (s390_chunkify_pool): Likewise.
10528         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
10529         ("doloop_end"): New expander.
10530         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
10531         associated splitters): New.
10532
10533 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10534
10535         * genattrtab.c (simplify_cond): Remove unused variable(s).
10536         * global.c (record_conflicts): Likewise.
10537         * jump.c (rebuild_jump_labels): Likewise.
10538         * loop.c (scan_loop, check_final_value): Likewise.
10539         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
10540         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
10541         * rtlanal.c (reg_set_p): Likewise.
10542         * stmt.c (expand_asm_operands, expand_decl): Likewise.
10543         * genautomata.c (empty_reserv): Remove.
10544         * loop.c (max_luid): Likewise.
10545         * sched-rgn.c (bitlst_table_size): Likewise.
10546
10547 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
10548
10549         Reimplement gcov format.
10550         * gcov-io.h: Replace.
10551         * gcov.c: Reimplement.
10552         * gcov-iov.c: New file.
10553         * gcov-dump.c: New file.
10554         * libgcc2.c (L_bb): Replace with ...
10555         (L_gcov): ... this.
10556         (struct bb_function_info, struct bb): Remove.
10557         (inhibit_libc): Never inhibit.
10558         (gcov_list, gcov_crc): New static variables.
10559         (gcov_version_mismatch): New static function.
10560         (__bb_exit_func): Renamed to ...
10561         (__gcov_exit): ... here. Made static. Reimplement.
10562         (__gcov_init_func): Rename to ...
10563         (__gcov_init): ... here. Check version, update crc.
10564         (__bb_fork_func): Rename to ...
10565         (__gcov_flush): ... here.
10566         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
10567         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
10568         * calls.c (expand_call): Call __gcov_flush.
10569         * profile.c (bb_file, last_bb_file_name): Remove.
10570         (bbg_file_name): New global variable.
10571         (output_gcov_string): Remove.
10572         (get_exec_counts): Reimplement.
10573         (branch_prob): Reimplement gcov file writing.
10574         (init_branch_prob): Create bbg_file_name, don't create
10575         bb_file_name.
10576         (end_branch_prob): Adjust. Don't remove counter file when
10577         instrumenting ourselves.
10578         (create_profiler): Adjust.
10579         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
10580         point to gcov-io.h.
10581         * Makefile.in (LANGUAGES): Add gcov-dump.
10582         (coverageexts): Remove .bb.
10583         (STAGESTUFF): Add gcov-dump.
10584         (LIB2FUNCS_ST): Replace _bb with _gcov.
10585         (profile.o): Depend on gcov-iov.h.
10586         (final.o): Don't depend on profile.h, gcov.h.
10587         (gcov.o): Depend on gcov-iov.h.
10588         (gcov-iov.o): New target.
10589         (gcov-iov): New target.
10590         (gcov-iov.h): New target.
10591         (gcov-dump.o): New target.
10592         (GCOV_DUMP_OBJS): New variable.
10593         (gcov-dump): New target.
10594         (distclean): Remove coverageexts.
10595         (stage1): Remove coverageexts.
10596
10597 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
10598
10599         * fold-const.c (make_range): Only narrow to signed range if
10600         the signed range is smaller than the unsigned range.
10601
10602 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
10603
10604         * emit-rtl.c (set_mem_size): New function.
10605         * expr.h (set_mem_size): Declare.
10606         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
10607         (expand_block_move): Instead, use adjust_address and
10608         replace_equiv_address to generate proper aliasing info.
10609         Move common code out of conditionals.  Localize vars.
10610
10611 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
10612
10613         * optabs.c (expand_binop): Minor cleanup.
10614         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
10615
10616 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
10617
10618         * print-tree.c (print_node): Print the restrict qualifier.
10619
10620 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
10621
10622         * doc/install.texi: Fix typos.
10623
10624 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
10625
10626         * Makefile.in: Remove all references to s-under and underscore.c.
10627         * collect2.c, tlink.c: Change all uses of prepends_underscore
10628         to look directly at USER_LABEL_PREFIX.
10629
10630 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
10631
10632         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
10633         alignment to csect.
10634         (rs6000_xcoff_unique_section): Only set section name for public
10635         data.
10636         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
10637         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
10638         duplicate definition.
10639
10640 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10641
10642         * pa.md (extzv): Check predicates before emitting extzv_32.
10643         (insv): Likewise.
10644
10645 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
10646
10647         * config/s390/s390.h (MOVE_MAX): Define to correct value.
10648         (MAX_MOVE_MAX): Define.
10649         (MOVE_BY_PIECES_P): Define.
10650         (CLEAR_BY_PIECES_P): Define.
10651
10652 2002-09-10  Denis Chertykov  <denisc@overta.ru>
10653
10654         * config/avr/avr.md (movstrhi): Use right operands for conversion.
10655
10656 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
10657
10658         PR c/7873
10659         * arm.md (insv): Use reg_or_int_operand for operand[3].
10660
10661 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
10662
10663         * rs6000.c (rs6000_assemble_visibility): Protect declaration
10664         inside macro.  Correct function definition typo.
10665         (rs6000_xcoff_section_type_flags): New function.
10666         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
10667         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
10668         with appropriate PIC test.
10669         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
10670         determine readonly.
10671         (rs6000_binds_local_p): Combine PIC flags.
10672         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
10673         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
10674
10675 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10676
10677         * h8300.md: Fix signed/unsigned warnings.
10678         * mcore.md: Likewise.
10679         * mn10300.c (mask_ok_for_mem_btst): Likewise.
10680
10681 2002-09-09  Per Bothner  <per@bothner.com>
10682
10683         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
10684         characters, and only print TREE_STRING_LENGTH chars.
10685
10686 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
10687
10688         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
10689         (ASM_FILE_END) New.
10690         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
10691         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
10692         * config/ia64/ia64.c (ia64_asm_output_external): Create list
10693         of external functions if TARGET_HPUX_LD is true.
10694         (ia64_hpux_add_extern_decl): New, routine to put names on
10695         list of external functions.
10696         (ia64_hpux_asm_file_end): Put out declarations for external
10697         functions if and only if they are used.
10698
10699 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10700
10701         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
10702         on TARGET_64BIT before pic register restore.
10703
10704 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
10705
10706         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
10707         (TARGET_HAVE_TLS): New description.
10708
10709 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
10710
10711         * doc/extend.texi (Statement Exprs): Fix broken link.
10712
10713 2002-09-09  Denis Chertykov  <denisc@overta.ru>
10714
10715         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
10716         right conversion of operands[1].
10717
10718 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
10719
10720         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
10721         commutative.  Use "nonimmediate_operand" instead of "register_operand"
10722         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
10723
10724         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
10725         as commutative.
10726
10727         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
10728         mark as commutative.  Use "nonimmediate_operand" instead of
10729         "register_operand" as predicate for operand 1.
10730
10731         ("movstrictsi"): Fix typo in insn name.
10732
10733 2002-09-09  Jan Hubicka  <jh@suse.cz>
10734
10735         * i386.c (index_register_operand): New.
10736         * i386.h (predicate_codes): Add new predicate.
10737         * i386.md (lea_general_*): Use index_register_operand
10738         (ashift to lea splitter): Do not produce invalid leas
10739         (ashift to mov+ashift split): New.
10740
10741 2002-09-09  Nick Clifton  <nickc@redhat.com>
10742
10743         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
10744         Fix folding marks.
10745
10746 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10747             J"orn Rennecke <joern.rennecke@superh.com>
10748
10749         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
10750
10751 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
10752
10753         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
10754         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
10755         attributes.
10756
10757 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
10758
10759         * basic_block.h (gcov_type): Explain why it is signed.
10760         * final.c: Don't include profile.h.
10761         (struct function_list, functions_head, functions_tail,
10762         end_final): Moved to profile.c
10763         (final): Move arc chaining code to profile.c.
10764         * function.c (prepare_function_start): Remove duplicate line.
10765         * output.h (end_final): Remove prototype.
10766         * predict.c (estimate_loops_at_level): Use gcov_type.
10767         * profile.c (struct function_list, functions_head,
10768         functions_tail): Moved from final.c
10769         (need_func_profiler): Remove.
10770         (instrument_edges): Don't set need_func_profiler.
10771         (get_exec_counts): Avoid signed/unsigned warning.
10772         (compute_checksum): Use crc32.
10773         (branch_prob): Adjust. Chain onto functions_head.
10774         (init_branch_prob): Absorb init_edge_profiler.
10775         (init_edge_profiler): Remove.
10776         (create_profiler): Moved and renamed from final.c:end_final.
10777         Emit data and constructor.
10778         (output_func_start_profiler): Remove.
10779         * profile.h (struct profile_info): checksum is unsigned.
10780         * rtl.h (output_func_start_profiler): Remove prototype.
10781         (create_profiler): Declare.
10782         * toplev.c (compile_file): Call create_profiler, if instrumenting
10783         arcs. Don't call end_final.
10784
10785 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10786
10787         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
10788
10789 2002-09-08  Richard Henderson  <rth@redhat.com>
10790
10791         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
10792         (DW_OP_GNU_push_tls_address): New.
10793         (DW_OP_lo_user): Fix.
10794         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
10795         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
10796         (size_of_loc_descr): Likewise.
10797         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
10798         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
10799         (loc_descriptor_from_tree): Handle TLS variables.
10800         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
10801         (add_location_or_const_value_attribute): ... not here.  Defer
10802         to loc_descriptor_from_tree for TLS variables.
10803
10804         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
10805         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
10806         * config/i386/i386-protos.h: Update.
10807
10808 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10809
10810         PR optimization/6405
10811         * unroll.c (loop_iterations): last_loop_insn should be the previous
10812         non-note instruction before loop->end.
10813         * loop.c (strength_reduce): The conditional jump is the last
10814         non-note instruction before loop->end (as above).
10815
10816 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10817
10818         * combine.c (try_combine): Handle the case that undobuf.other_insn
10819         has been turned into a return or unconditional jump, by inserting
10820         a BARRIER if necessary.
10821         (simplify_set):  Test if a condition code setter has a constant
10822         comparison at compile time, if so convert this insn to a no-op move
10823         and update/simplify the condition code user (undobuf.other_insn).
10824
10825 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
10826
10827         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
10828         (CLEAR_INSN_CACHE): Define.
10829
10830 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10831
10832         * basic-block.h: Fix comment formatting.
10833         * c-common.c: Likewise.
10834         * c-common.h: Likewise.
10835         * c-lex.c: Likewise.
10836         * c-pretty-print.c: Likewise.
10837         * cfglayout.c: Likewise.
10838         * cfgloop.c: Likewise.
10839         * defaults.h: Likewise.
10840         * et-forest.c: Likewise.
10841         * explow.c: Likewise.
10842         * function.h: Likewise.
10843         * gcov.c: Likewise.
10844         * genattrtab.c: Likewise.
10845         * gengtype.c: Likewise.
10846         * ifcvt.c: Likewise.
10847         * libgcc2.c: Likewise.
10848         * loop.c: Likewise.
10849         * profile.c: Likewise.
10850         * ra-build.c: Likewise.
10851         * real.c: Likewise.
10852         * rtl.h: Likewise.
10853         * tracer.c: Likewise.
10854         * tree-inline.c: Likewise.
10855         * varasm.c: Likewise.
10856
10857 2002-09-08  Jan Hubicka  <jh@suse.cz>
10858
10859         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
10860         handling.
10861
10862         * loop.c (loop_givs_reduce):  Emit addition after.
10863
10864 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10865
10866         * varasm.c (default_assemble_visibility): Rename from
10867         assemble_visibility.
10868         * output.h: Here too.
10869         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
10870         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
10871
10872 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10873
10874         * reload.c (find_reloads <p constraint>): Pass operand_mode to
10875         find_reloads_address.
10876
10877 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10878
10879         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
10880         (anonymous pattern): Likewise.
10881
10882 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10883
10884         * machmode.def: Add modes for half-float vectors.
10885
10886 2002-09-07  Scott Snyder  <snyder@fnal.gov>
10887
10888         PR target/7374
10889         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
10890
10891 2002-09-07  Roger Sayle  <roger@eyesopen.com>
10892
10893         * basic-block.h (struct loop): Remove unused cont_dominator field.
10894
10895 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10896
10897         * varasm.c (decode_rtx_const): Don't check undefined field for
10898         CONST_VECTOR.
10899
10900 2002-09-07  Glen Nakamura  <glen@imodulo.com>
10901
10902         PR opt/7814
10903         * sched-deps.c (sched_analyze_insn): Make sure to add insn
10904         to reg_last->sets after flushing the dependency lists to guarantee
10905         that subsequent clobbers will be dependent on it.
10906
10907 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10908
10909         * combine.c (simplify_shift_const): Calculate rotate count
10910         correctly for vector operands.
10911
10912 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
10913
10914         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
10915         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
10916         tree_expr_nonnegative_p.
10917         (build_conditional_expr): Likewise.
10918         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
10919
10920 2002-09-07  Richard Henderson  <rth@redhat.com>
10921
10922         * builtins.def (inf, inff, infl): Mark const.
10923         (huge_val, huge_valf, huge_vall): Likewise.
10924         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
10925
10926         * real.c (ereal_inf): Clear E before use.
10927
10928 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10929
10930         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
10931         an expander and an anonymous pattern.  Zero out the upper half
10932         of the dividend in the expander.
10933         (udivmodqi4): Likewise.
10934
10935 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10936
10937         * config/h8300/h8300.c: Fix formatting.
10938         * config/h8300/h8300.h: Likewise.
10939         * config/h8300/h8300.md: Likewise.
10940
10941 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10942
10943         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
10944         information.
10945
10946 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
10947
10948        * rtlanal.c (dead_or_set_regno_p): Fix typo.
10949
10950 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
10951
10952         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10953
10954         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
10955         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10956         (TARGET_ASM_OUT): Add the above here.
10957         * target.h (struct gcc_target): Add "visibility" field.
10958         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
10959         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
10960         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10961         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
10962
10963 2002-09-06  Ziemowit Laski <zlaski@apple.com>
10964
10965         * c-lang.c (objc_is_id): New stub.
10966         * c-tree.h (objc_is_id): New forward declaration.
10967         * c-typeck.c (build_c_cast): Do not strip protocol
10968         qualifiers from 'id' type.
10969         * objc/objc-act.c (objc_comptypes): Correct handling
10970         of protocol qualifiers.
10971         (objc_is_id): New.
10972
10973 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
10974
10975         * pentium.md (pentium-firstvboth): Fix typo.
10976
10977 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
10978
10979         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
10980         (enum shift_type, enum h8_cpu): Likewise.
10981         (INL, ROT, LOP, SPC macros): Likewise.
10982         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
10983         const designator.
10984         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
10985         space efficient algorithms when optimize for codesize.
10986
10987 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10988
10989         Fix PR/1727 and long-standing failing testcase
10990         objc/formal-protocol-6.m.
10991         * objc-act.c (build_protocol_expr): If compiling for the GNU
10992         runtime, create a list of Protocol statically allocated instances
10993         if it doesn't exist, then add the Protocol object to this same
10994         list.
10995         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
10996         instead of TREE_CHAIN.
10997
10998 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10999
11000         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
11001         10k.  Fixed category dumping - print out category names with the
11002         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
11003         interface.
11004         (finish_objc): Fixed the -gen-decls option.  It was printing out
11005         only the last class.  Dump an interface declaration of all classes
11006         being compiled instead.
11007
11008 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
11009
11010         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
11011         prototype.
11012         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
11013         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
11014         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
11015         rather than GEN_INT.
11016         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
11017         (return_addr_mask, *check_arch2): New.
11018
11019 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
11020
11021         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
11022         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
11023         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
11024         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
11025         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
11026         "adddf3", "*adddf3", "*adddf3_ibm",
11027         "addsf3", "*addsf3", "*addsf3_ibm",
11028         "muldi3", "mulsi3", "mulsidi3",
11029         "muldf3", "*muldf3", "*muldf3_ibm",
11030         "mulsf3", "*mulsf3", "*mulsf3_ibm",
11031         "*anddi3_cc", "*anddi3_cconly", "anddi3",
11032         "*andsi3_cc", "*andsi3_cconly", "andsi3",
11033         "*iordi3_cc", "*iordi3_cconly", "iordi3",
11034         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
11035         "*xordi3_cc", "*xordi3_cconly", "xordi3",
11036         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
11037         instead of "register_operand" as predicate for "%0" operand.
11038
11039 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
11040
11041         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
11042         unconditionally when gcc_cv_as_flags64 checks are gone.
11043         * configure: Rebuilt.
11044
11045 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
11046
11047         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
11048         2002-07-26 change.  Comment.
11049
11050 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11051
11052         * frv.c (frv_unique_section, frv_select_section,
11053         frv_select_rtx_section): Delete.
11054         (frv_in_small_data_p): New.
11055         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
11056         TARGET_ASM_SELECT_RTX_SECTION): Delete.
11057         (TARGET_IN_SMALL_DATA_P): Define.
11058
11059 2002-09-05  Dale Johannesen  <dalej@apple.com>
11060
11061         * reload1.c (reload):  Retain only those memory clobbers
11062         added for variable-array handling.
11063
11064 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
11065
11066         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
11067         return-in-memory rules.
11068         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
11069
11070 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
11071
11072         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
11073         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
11074
11075 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
11076
11077         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
11078         not a compile-time constant for the non-IBM case.
11079         * config/arm/arm-protos.h (arm_float_words_big_endian): New
11080         prototype.
11081         * config/arm/arm.c (arm_float_words_big_endian): New function.
11082         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
11083         if TARGET_VFP  and not TARGET_HARD_FLOAT.
11084         (ARM_FLAG_VFP, TARGET_VFP): Define.
11085         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
11086
11087 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
11088
11089         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
11090         URLs.  Fix AIX wording.
11091
11092 2002-09-05  Stan Shebs  <shebs@apple.com>
11093
11094         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
11095         -fPIC equivalent on Darwin.
11096
11097 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11098
11099         * sh.c (sh_expand_builtin): Return early if encountering an
11100         error_mark for a type.
11101
11102 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
11103
11104         * config/s390/s390.c (s390_expand_plus_operand): Do not require
11105         double-word scratch register.
11106         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
11107
11108         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
11109         "*cli"): Replace s_operand by memory_operand.
11110         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
11111
11112 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
11113
11114         * config/h8300/h8300.c (asm_file_start): Add a missing
11115         semicolon.
11116
11117 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
11118
11119         * c-typeck.c (build_function_call): Remove unused variable(s).
11120         (build_c_cast): Likewise.
11121         * calls.c (rtx_for_function_call): Likewise.
11122         * cfglayout.c (duplicate_insn_chain): Likewise.
11123         * cfgloop.c (flow_loop_nodes_find): Likewise.
11124         * cfgrtl.c (split_edge): Likewise.
11125         * df.c (df_ref_create): Likewise.
11126         * except.c (expand_end_catch): Likewise.
11127         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
11128         * function.c (emit_return_into_block): Likewise.
11129         (reposition_prologue_and_epilogue_notes): Likewise.
11130         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
11131         * combine.c (subst_prev_insn, need_refresh): Remove.
11132         * dwarf2out.c (primary_filename): Remove.
11133         * final.c (new_block): Remove.
11134         * gcse.c (orig_bb_count): Remove.
11135
11136 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11137
11138         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
11139         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
11140         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
11141         directly instead of using a function pointer.
11142
11143 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
11144
11145         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
11146         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
11147         (ix86_output_addr_diff_elt) Likewise.
11148         (x86_output_mi_thunk) Likewise.
11149         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
11150
11151 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11152
11153         * frv.c (frv_encode_section_info): Fix error in last change.
11154
11155 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11156
11157         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
11158         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
11159         (TARGET_BINDS_LOCAL_P): Define.
11160         (rs6000_override_options): Save original flag_pic value.
11161         (rs6000_elf_select_section): Call default_elf_select_section_1.
11162         (rs6000_elf_unique_section): Call default_unique_section_1.
11163         (rs6000_elf_in_small_data_p): New function.
11164         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
11165         (rs6000_xcoff_select_section): Update based on defaults.
11166         (rs6000_xcoff_unique_section): Set to basic name if not common.
11167         (rs6000_binds_local_p): New function.
11168         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
11169         targetm.have_srodata_section if SDATA_EABI.
11170         (TARGET_IN_SMALL_DATA_P): Define.
11171
11172 2002-09-04  Dale Johannesen  <dalej@apple.com>
11173
11174         * varasm.c (struct rtx_const, decode_rtx_const):
11175         Make veclo and vechi fields not share storage.
11176
11177 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
11178
11179         * loop.c (scan_loop): Don't mark separate insns out of a libcall
11180         for moving.
11181         (move_movables): Abort if we see the first insn of a libcall.
11182
11183 2002-09-04  Richard Henderson  <rth@redhat.com>
11184
11185         * builtin-types.def (BT_FN_FLOAT): New.
11186         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
11187         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
11188         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
11189         * builtins.c (fold_builtin_inf): New.
11190         (fold_builtin): Call it.
11191         * real.c (ereal_inf): New.
11192         * real.h: Declare it.
11193         * doc/extend.texi: Document new builtins.
11194
11195 2002-09-04  Richard Henderson  <rth@redhat.com>
11196
11197         * cse.c (cse_insn): Avoid subreg games if the equivalence
11198         is already in the proper mode.
11199
11200 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
11201
11202         PR c/7102
11203         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
11204
11205 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11206
11207         * pa.md (setccfp0, setccfp1): New patterns.
11208
11209 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11210
11211         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
11212         frv_select_section, frv_select_rtx_section,
11213         frv_encode_section_info, frv_unique_section): Delete.
11214         * frv.c: Update for target hooks.
11215         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
11216         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
11217         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
11218
11219 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11220
11221         * ip2k-protos.h (function_prologue, function_epilogue,
11222         encode_section_info): Update to match target hook specification.
11223         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
11224         (function_prologue, function_epilogue, encode_section_info):
11225         Update to match target hook specification.
11226         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
11227         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
11228         (NOTICE_UPDATE_CC): Cast to void.
11229         * ip2k.md: Add defaults in switch statements.
11230
11231 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11232
11233         * doc/trouble.texi (Interoperation): Update information about C++ ABI
11234         issues.
11235
11236 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
11237
11238         * config/sparc/t-netbsd64: Disable multilib for now.
11239
11240 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11241
11242         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
11243         * target.h (gcc_target): Add have_srodata_section member.
11244         * varasm.c (section_category): Add SECCAT_SRODATA.
11245         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
11246         READONLY_SDATA_SECTION defined.
11247         (decl_readonly_section_1): True for SECCAT_SRODATA also.
11248         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
11249         (default_unique_section_1): Likewise.
11250
11251 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11252
11253         * expr.c (emit_group_load): Revise to allow splitting TCmode source
11254         into DImode pieces.
11255
11256         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
11257         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
11258         for floating-point register class.
11259         * pa.c (function_arg): Fix handling of modes wider than one word for
11260         TARGET_64BIT.
11261
11262 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
11263
11264         * combine.c (make_compound_operation): Don't generate zero / sign
11265         extensions in floating point modes.
11266
11267 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11268
11269         * doc/c-tree.texi: Fix overfull hboxes.
11270         * doc/cppopts.texi: Ditto.
11271         * doc/extend.texi: Ditto.
11272         * doc/gty.texi: Ditto.
11273         * doc/invoke.texi: Ditto.
11274         * doc/makefile.texi: Ditto.
11275         * doc/rtl.texi: Ditto.
11276         * doc/standards.texi: Ditto.
11277         * doc/tm.texi: Ditto.
11278
11279 2002-09-04  Richard Henderson  <rth@redhat.com>
11280
11281         * c-common.c (builtin_define_with_hex_fp_value): New.
11282         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
11283
11284 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11285
11286         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
11287         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
11288         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
11289         Warn that these options can break ABI compatibility.
11290
11291 2002-09-04  Richard Henderson  <rth@redhat.com>
11292
11293         * real.c (ereal_to_decimal): Add digits parameter.
11294         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
11295         * c-pretty-print.c (pp_c_real_literal): Update call.
11296         * print-rtl.c (print_rtx): Likewise.
11297         * print-tree.c (print_node_brief, print_node): Likewise.
11298         * sched-vis.c (print_value): Likewise.
11299         * config/arc/arc.c (arc_print_operand): Likewise.
11300         * config/c4x/c4x.c (c4x_print_operand): Likewise.
11301         * config/i370/i370.h (PRINT_OPERAND): Likewise.
11302         * config/i386/i386.c (print_operand): Likewise.
11303         * config/i960/i960.c (i960_print_operand): Likewise.
11304         * config/ip2k/ip2k.c (asm_output_float): Likewise.
11305         * config/m32r/m32r.c (m32r_print_operand): Likewise.
11306         * config/m68hc11/m68hc11.c (print_operand): Likewise.
11307         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
11308         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11309         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
11310         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11311         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
11312         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11313         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
11314         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11315         * config/mips/mips.c (print_operand): Likewise.
11316         * config/ns32k/ns32k.c (print_operand): Likewise.
11317         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
11318         * config/vax/vax.h (PRINT_OPERAND): Likewise.
11319         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
11320
11321 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
11322
11323         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
11324         xtensa_multibss_section_type_flags.
11325         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
11326
11327 2002-09-04  Richard Henderson  <rth@redhat.com>
11328
11329         * doc/install-old.texi: Don't mention enquire.
11330         * doc/sourcebuild.texi: Update float.h description.
11331
11332 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
11333
11334         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
11335
11336 2002-09-03  Roger Sayle  <roger@eyesopen.com>
11337
11338         * builtins.c (build_function_call_expr): Remove prototype, export
11339         as non-static and add a comment above function definition.
11340         (builtin_mathfn_code): New function to check for math builtins.
11341         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
11342         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
11343         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
11344         log(sqrt(x)) as log(x)/2.0.
11345
11346         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
11347         in new "builtins.c" section.  Place the build_range_type prototype
11348         with the other prototypes from "tree.c".
11349
11350         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
11351         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
11352         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
11353         x/exp(y) as x*exp(-y).
11354
11355 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
11356
11357         * varasm.c (default_section_type_flags): Append _1 to name with
11358         shlib parameter.  Use original name to call new function with
11359         implicit flag_pic.
11360         (decl_readonly_section): Likewise.
11361         (default_elf_select_section): Likewise.
11362         (default_unique_section): Likewise.
11363         (default_bind_local_p): Likewise.
11364         (categorize_decl_for_section): Add shlib parameter to use in place
11365         of implicit flag_pic.
11366         * output.h: Declare new functions with _1 and shlib argument.
11367
11368 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
11369
11370         * doc/install.texi: Fix typos, formatting problems, and obvious
11371         overfull/underfull boxes.
11372
11373         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
11374         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
11375         include its file, compat.texi.
11376         * doc/compat.texi: New file with new chapter, Binary Compatibility.
11377
11378 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
11379
11380         Debian BTS Bug #157416
11381         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
11382         * cpplib.c (destringize_and_run): Kludge around getting
11383         tokens from in-progress macros.
11384         (_cpp_do__Pragma): Simplify.
11385
11386 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11387
11388         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
11389         (CPP_CPU_SPEC): Remove.
11390         (TARGET_CPU_CPP_BUILTINS): New.
11391         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
11392         (CPP_SPEC): Remove.
11393         (TARGET_OS_CPP_BUILTINS): New.
11394         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
11395         (TARGET_OS_CPP_BUILTINS): New.
11396         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
11397         TARGET_OS_CPP_BUILTINS.
11398         (CPP_PREDEFINES): Remove.
11399         (CPLUSPLUS_CPP_SPEC): Remove.
11400         (TARGET_OS_CPP_BUILTINS): New.
11401
11402 2002-09-03  Richard Henderson  <rth@redhat.com>
11403
11404         * Makefile.in (USER_H): Add ginclude/float.h.
11405         (FLOAT_H): Remove.
11406         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
11407         (mostlyclean): Don't remove float.h intermediate files.
11408         (distclean): Don't remove float.h.
11409         * config.gcc: Remove all float_format references.
11410         * configure.in (float_format, float_h_file): Remove.
11411
11412         * c-common.c: Include tree-inline.h.
11413         (builtin_define_with_int_value): New.
11414         (builtin_define_type_precision): Use it.
11415         (builtin_define_float_constants): New.
11416         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
11417         __FLT_EVAL_METHOD__.
11418         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
11419         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
11420         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
11421         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
11422         (TARGET_FLT_EVAL_METHOD): New.
11423
11424         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
11425         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
11426         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
11427         * ginclude/float.h: New.
11428
11429 2002-09-03  Stan Shebs  <shebs@apple.com>
11430
11431         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
11432         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
11433         (PREFERRED_DEBUGGING_TYPE): Ditto.
11434         (ASM_OUTPUT_IDENT): Remove empty definition.
11435
11436 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11437
11438         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
11439         cxx_target.
11440         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
11441         handling routine for builtin pragma.
11442         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
11443         Registered pragma handling routine.
11444         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
11445         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
11446         If builtin pragma seen for math routine and C89 conformance is
11447         requested use different math function in order to set errno.
11448         * t-ia64 (ia64-c.o): Add new rule for new file.
11449
11450 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11451
11452         * config/s390/s390.md ("movti"): Add Q->Q alternative.
11453         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
11454         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
11455
11456         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
11457         "*movsf_ss"): Remove.
11458
11459 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11460
11461         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
11462         Delete macros.
11463
11464 2002-09-03   Arati Dikey  <aratid@kpit.com>
11465
11466         * h8300.c (asm_file_start): Corrected optimization comment.
11467
11468 2002-09-03  Stan Shebs  <shebs@apple.com>
11469
11470         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
11471         * c-tree.h (recognize_objc_keyword): Remove decl.
11472         * c-typeck.c (comp_target_types): Update a comment.
11473
11474 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11475
11476         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
11477         and register validity checks.
11478         (general_s_operand): Adapt to s390_decompose_address interface change.
11479         (q_constraint): Likewise.
11480         (s390_expand_plus_operand): Likewise.
11481         (legitimiate_address_p): Likewise.
11482         (legitimate_la_operand_p): Likewise.
11483         (legitimize_la_operand): Likewise.
11484         (print_operand_address): Likewise.
11485         (print_operand): Likewise.
11486
11487 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11488
11489         PR objc/5956:
11490         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
11491         was causing the new selector never to match the existing ones
11492         (Patch by Alexander Malmberg <alexander@malmberg.org>).
11493
11494 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11495
11496         * config/i386/i386.md ("femms"): Add "memory" attr "none".
11497
11498 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11499
11500         * expr.c (expand_expr): Remove extraneous comment and code.
11501
11502 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
11503
11504         * stor-layout (finish_builtin_struct): Renamed and moved from c++
11505         frontend. Take chain of fields. Allow NULL alignment type.
11506         * tree.h (finish_builtin_struct): Declare.
11507
11508 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11509
11510         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
11511         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
11512         config/arc/arc.c config/arc/arc.h config/arm/aout.h
11513         config/arm/arm.c config/arm/arm.h config/arm/arm.md
11514         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
11515         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
11516         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
11517         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
11518         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
11519         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
11520         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
11521         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
11522         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
11523         config/pa/pa.h config/pa/pa.md config/romp/romp.h
11524         config/rs6000/linux64.h config/rs6000/lynx.h
11525         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
11526         config/s390/s390.c config/s390/s390.md config/sh/sh.c
11527         config/sparc/sparc.c config/sparc/sysv4.h
11528         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
11529         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
11530         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
11531
11532         * doc/tm.texi: Update docs.
11533         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
11534         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
11535
11536 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11537
11538         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
11539         * arc.c (arc_internal_label): New function.
11540         (TARGET_ASM_INTERNAL_LABEL): Set.
11541         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11542         * arm.c (arm_internal_label): New function.
11543         (TARGET_ASM_INTERNAL_LABEL): Set.
11544         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11545         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11546         * i370.c (i370_internal_label): New function.
11547         (TARGET_ASM_INTERNAL_LABEL): Set.
11548         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11549         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11550         * m68k.c (m68k_hp320_internal_label): New function.
11551         (TARGET_ASM_INTERNAL_LABEL): Set.
11552         * m88k.c (m88k_internal_label): New function.
11553         (TARGET_ASM_INTERNAL_LABEL): Set.
11554         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11555         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
11556         * genoutput.c (output_prologue): Include target.h in output file.
11557         * output.h (default_internal_label): Declare.
11558         * sdbout.c: Include target.h.
11559         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
11560         TARGET_ASM_OUT.
11561         * target.h (internal_label): Add to struct gcc_target.
11562         * varasm.c (default_internal_label): New function.
11563
11564 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11565
11566         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11567         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11568         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11569         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11570         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11571         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11572         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11573         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11574         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11575         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11576         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11577         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11578         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11579         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11580         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11581         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11582         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11583         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11584         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11585         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11586         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11587         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11588         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11589         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11590         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11591         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
11592         * mmix.c (mmix_asm_output_internal_label): Likewise.
11593         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11594         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11595         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11596         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11597         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11598         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11599         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11600         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11601         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11602         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11603         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11604         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11605         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11606         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11607         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11608         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11609         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11610         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11611         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11612
11613         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
11614
11615 2002-08-31  Richard Henderson  <rth@redhat.com>
11616
11617         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
11618
11619 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11620
11621         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
11622
11623 2002-08-30  Richard Henderson  <rth@redhat.com>
11624
11625         PR opt/7515
11626         * c-objc-common.c: Include target.h.
11627         (c_cannot_inline_tree_fn): Don't auto-inline functions that
11628         don't bind locally.  Factor setting DECL_UNINLINABLE.
11629         * Makefile.in (c-objc-common.o): Update.
11630
11631 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
11632
11633         * doc/install.texi (Configuration, Building): Fix a typo and
11634         some formatting directives.
11635
11636 2002-08-30  Paul Koning <pkoning@equallogic.com>
11637
11638         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
11639         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
11640         implemented" note.
11641         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
11642         for alphabetic order.
11643         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
11644         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
11645         (VAX_HALFWORD_ORDER): Document.
11646         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
11647         IEEE float format.
11648         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
11649         (ASM_OUTPUT_LABEL_REF): Fix font.
11650         (CASE_VECTOR_SHORTEN_MODE): Ditto.
11651
11652 2002-08-30  Denis Chertykov  <denisc@overta.ru>
11653
11654         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
11655         stuff.
11656         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
11657         CONST_DOUBLE constants.
11658
11659 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
11660
11661         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
11662         related defines to...
11663         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
11664         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
11665         as a no-op.
11666
11667 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
11668
11669         * config/arm/arm.c (arm_asm_output_labelref): New function.
11670         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
11671         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
11672
11673 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
11674
11675         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
11676         memory exhausted" workarounds.
11677
11678 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11679
11680         * diagnostic.c (fancy_abort): Don't repeat "internal error".
11681         * toplev.c (crash_signal): Likewise.
11682
11683 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11684
11685         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
11686         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
11687         Extended, updated documentation.
11688         (-Wundeclared-selector): Documented.
11689
11690 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
11691
11692         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
11693         the value 1.  Do not undef before defining.
11694         * config/darwin.h: Likewise.
11695         * config/dbx.h: Likewise.
11696         * config/dbxcoff.h: Likewise.
11697         * config/dbxelf.h: Likewise.
11698         * config/elfos.h: Likewise.
11699         * config/interix.h: Likewise.
11700         * config/lynx-ng.h: Likewise.
11701         * config/lynx.h: Likewise.
11702         * config/netware.h: Likewise.
11703         * config/psos.h: Likewise.
11704         * config/svr3.h: Likewise.
11705         * config/alpha/alpha.h: Likewise.
11706         * config/alpha/elf.h: Likewise.
11707         * config/alpha/vms.h: Likewise.
11708         * config/arc/arc.h: Likewise.
11709         * config/arm/aout.h: Likewise.
11710         * config/arm/coff.h: Likewise.
11711         * config/c4x/c4x.h: Likewise.
11712         * config/h8300/h8300.h: Likewise.
11713         * config/i386/cygwin.h: Likewise.
11714         * config/i386/djgpp.h: Likewise.
11715         * config/i386/gas.h: Likewise.
11716         * config/i386/gstabs.h: Likewise.
11717         * config/i386/i386-coff.h: Likewise.
11718         * config/i386/i386-interix.h: Likewise.
11719         * config/i386/sco5.h: Likewise.
11720         * config/i386/svr3dbx.h: Likewise.
11721         * config/i386/sysv3.h: Likewise.
11722         * config/i386/win32.h: Likewise.
11723         * config/i386/x86-64.h: Likewise.
11724         * config/i960/i960.h: Likewise.
11725         * config/ia64/ia64.h: Likewise.
11726         * config/ip2k/ip2k.h: Likewise.
11727         * config/m32r/m32r.h: Likewise.
11728         * config/m68k/3b1.h: Likewise.
11729         * config/m68k/3b1g.h: Likewise.
11730         * config/m68k/ccur-GAS.h: Likewise.
11731         * config/m68k/coff.h: Likewise.
11732         * config/m68k/hp2bsd.h: Likewise.
11733         * config/m68k/hp310g.h: Likewise.
11734         * config/m68k/hp320g.h: Likewise.
11735         * config/m68k/hp3bsd.h: Likewise.
11736         * config/m68k/hp3bsd44.h: Likewise.
11737         * config/m68k/linux-aout.h: Likewise.
11738         * config/m68k/m68k-aout.h: Likewise.
11739         * config/m68k/mot3300.h: Likewise.
11740         * config/m68k/netbsd.h: Likewise.
11741         * config/m68k/openbsd.h: Likewise.
11742         * config/m68k/pbb.h: Likewise.
11743         * config/m68k/plexus.h: Likewise.
11744         * config/m68k/sun2.h: Likewise.
11745         * config/m68k/sun3.h: Likewise.
11746         * config/m68k/tower-as.h: Likewise.
11747         * config/m68k/vxm68k.h: Likewise.
11748         * config/m88k/aout-dbx.h: Likewise.
11749         * config/m88k/m88k-aout.h: Likewise.
11750         * config/mcore/mcore-elf.h: Likewise.
11751         * config/mcore/mcore-pe.h: Likewise.
11752         * config/mips/elf.h: Likewise.
11753         * config/mips/elf64.h: Likewise.
11754         * config/mips/iris5gas.h: Likewise.
11755         * config/mips/iris6.h: Likewise.
11756         * config/mips/mips.h: Likewise.
11757         * config/mips/sni-gas.h: Likewise.
11758         * config/mmix/mmix.h: Likewise.
11759         * config/ns32k/netbsd.h: Likewise.
11760         * config/pa/pa64-hpux.h: Likewise.
11761         * config/romp/romp.h: Likewise.
11762         * config/rs6000/sysv4.h: Likewise.
11763         * config/rs6000/xcoff.h: Likewise.
11764         * config/sh/coff.h: Likewise.
11765         * config/sh/elf.h: Likewise.
11766         * config/sparc/linux64.h: Likewise.
11767         * config/sparc/liteelf.h: Likewise.
11768         * config/sparc/netbsd.h: Likewise.
11769         * config/sparc/openbsd.h: Likewise.
11770         * config/sparc/pbd.h: Likewise.
11771         * config/sparc/sp64-elf.h: Likewise.
11772         * config/sparc/sp86x-elf.h: Likewise.
11773         * config/sparc/sparc.h: Likewise.
11774         * config/vax/vax.h: Likewise.
11775         * config/vax/vaxv.h: Likewise.
11776
11777 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
11778
11779         * h8300.c (shift_alg_hi): Various tweaks to improve performance
11780         of HImode shifts.
11781         (get_shift_alg): Corresponding changes.
11782
11783 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11784
11785         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
11786
11787 2002-08-29  Richard Henderson  <rth@redhat.com>
11788
11789         * expr.h (enum block_op_methods): New.
11790         (emit_block_move): Update prototype.
11791         * expr.c (block_move_libcall_safe_for_call_parm): New.
11792         (emit_block_move_via_loop): New.
11793         (emit_block_move): Use them.  New argument METHOD.
11794         (emit_push_insn): Always respect the given alignment.
11795         (expand_assignment): Update call to emit_block_move.
11796         (store_expr, store_field, expand_expr): Likewise.
11797         * builtins.c (expand_builtin_apply): Likewise.
11798         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
11799         * function.c (expand_function_end): Likewise.
11800         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
11801         * config/sparc/sparc.c (sparc_va_arg): Likewise.
11802         * calls.c (expand_call, emit_library_call_value_1): Likewise.
11803         (save_fixed_argument_area): Use emit_block_move with
11804         BLOCK_OP_CALL_PARM instead of move_by_pieces.
11805         (restore_fixed_argument_area): Likewise.
11806         (store_one_arg): Fix alignment parameter to emit_push_insn.
11807
11808 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11809
11810         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
11811
11812 2002-08-29  Catherine Moore  <clm@redhat.com>
11813
11814         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
11815         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
11816         (PREDICATE_CODES): Include new predicates.
11817         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
11818         (TARGET_SWITCHES):  Add strict-align.
11819         (TARGET_STRICT_ALIGN): New.
11820         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
11821         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
11822         Define.
11823         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
11824         v850_muldi3.
11825         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
11826         L_callt_save_r2_r31, L_return_r2_r31,
11827         L_save_all_interrupt): Change addi to add.
11828         (L_save_interrupt, L_return_interrupt): Rework.
11829         (__return_r31):  Correct .size directive.
11830         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
11831         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
11832         New routines.
11833         * config/v850/v850.c (expand_prologue): Call
11834         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
11835         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
11836         (reg_or_int9_operand): New predicate.
11837         (reg_or_const_operand): New routine.
11838         * config/v850/v850.md (return_interrupt): Changed from
11839         restore_interrupt.
11840         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
11841         (callt_save_interrupt): Change save sequence.
11842         (callt_return_interrupt): New.
11843         (save_interrupt): Don't use runtime function for LONG_CALLS
11844         and TARGET_PROLOG_FUNCTION.
11845         (save_all_interrupt): Likewise.
11846         (mulsi3): Use new predicate.
11847         (moviscc): Disallow some combination of constants.
11848         Fix define_split for sasf insns, so that it will not generate bad
11849         code if operand0 and operand5 are the same.
11850         * config/v850/v850-protos.h: Prototype new predicates.
11851
11852 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
11853
11854         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
11855         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
11856
11857 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11858
11859         * c-common.c (builtin_define_type_precision): New function.
11860         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
11861         wchar_t is unsigned in C++.
11862         * doc/cpp.texi (Common Predefined Macros): Document
11863         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
11864         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11865         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11866
11867 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
11868
11869         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
11870         section.  Mention that it is enabled by -Wall.
11871         (-Wall): Mention that there can be language-specific warnings as well.
11872         (-Wctor-dtor-privacy): Mention that it is enabled by default.
11873         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
11874
11875 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
11876
11877         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
11878         if it is ever live.
11879
11880         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
11881         attribute for SHCOMPACT.
11882
11883         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
11884         appropriately.
11885         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
11886         by the ABI.
11887
11888         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
11889
11890 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
11891
11892         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
11893         "MASK_GAS|MASK_ABICALLS".
11894         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
11895         (TARGET_DEFAULT): Remove.
11896         (MACHINE_TYPE): Undefine before defining.
11897         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
11898
11899 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
11900
11901         * c-common.c (warn_abi): New variable.
11902         * c-common.h (warn_abi): Likewise.
11903         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
11904         (c_common_decode_option): Handle it.
11905         * doc/invoke.texi: Document -Wabi.
11906
11907 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11908
11909         * c-common.c (warn_undeclared_selector): New variable.
11910         * c-common.h (warn_undeclared_selector): Idem.
11911         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
11912         to on when -Wundeclared-selector is found.
11913         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
11914         * objc/objc-act.c (build_selector_expr): If
11915         warn_undeclared_selector is set, check that the selector has
11916         already been defined, and emit a warning if not.
11917
11918 2002-08-27  Nick Clifton  <nickc@redhat.com>
11919             Catherine Moore  <clm@redhat.com>
11920             Jim Wilson  <wilson@cygnus.com>
11921
11922         * config.gcc: Add v850e-*-* target.
11923         Add --with-cpu= support for v850.
11924         * config/v850/lib1funcs.asm: Add v850e callt functions.
11925         * config/v850/v850.h: Add support for v850e target.
11926         * config/v850/v850.c: Add functions to support v850e target.
11927         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
11928         * config/v850/v850.md: Add patterns for v850e instructions.
11929         * doc/invoke.texi: Document new v850e command line switches.
11930
11931 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11932                           Aldy Hernandez <aldyh at redhat dot com>
11933
11934         * doc/tm.texi: Applied numerous fixes to the automaton based
11935         scheduler descrition.
11936
11937 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
11938
11939         * i386.c (classify_argument): Handle variable sized objects.
11940
11941 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
11942
11943         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
11944
11945 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
11946
11947         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
11948
11949 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
11950
11951         * i386.c (classify_argument): Properly compute word size of the analyzed object.
11952
11953 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
11954
11955         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
11956         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
11957         accordingly.
11958         (attribute insn_class): Provide default definitions based on type.
11959         Remove all insn-specific settings.
11960         (various function units): Remove old SH4 scheduling.
11961         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
11962         New attributes.  Set them where appropriate.
11963         (cpu unit FS): Don't define / use.
11964         (F3, load_store): New cpu units.
11965         (F01): New reservation.
11966         (all insn_reservations): Make dependent on sh4 pipeline model.
11967         Fix latencies.
11968         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
11969         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
11970         (mt insn_reservation): Use type mt_group.
11971         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
11972         sh4_fload and sh4_store.
11973         (insn_reservation branch_zero and branch): Replace with sh4_branch.
11974         (insn_reservation branch_far): Replace with sh4_return.
11975         (insn_reservation return_from_exp): Rename to:
11976         (sh4_return_from_exp).  Change to be just d_lock*5.
11977         (insn_reservation lds_to_pr): Rename to:
11978         (sh4_lds_to_pr).  Change to be just d_lock*2.
11979         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
11980         d_lock*2.
11981         (insn_reservation prload_mem): Rename to:
11982         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
11983         (insn_reservation fpscr_store): Rename to:
11984         (fpscr_load).  Change to d_lock,nothing,F1*3.
11985         (insn_reservation fpscr_store_mem): Rename to:
11986         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
11987         (insn_reservation multi): Change to
11988         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
11989         (insn_reservation fp_arith): Change to issue,F01,F2.
11990         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
11991         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
11992         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
11993         (insn_reservation fp_double_cmp): Change to
11994         d_lock,(d_lock+F01),F1+F2,F2.
11995         (insn_reservation dp_div): Change to
11996         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
11997         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
11998         (sh_adjust_cost, SHcompact): Differentiate between different
11999         kinds of dependencies.  Drop factor of ten for superscalar.
12000         Use new instruction types.  Add new exception rules.
12001
12002         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
12003
12004         * sh.md (mperm_w): Add DONE.
12005
12006 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
12007
12008         * longlong.h: Import current PowerPC defintion from GMP-4.1.
12009
12010         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
12011
12012         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
12013
12014 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
12015
12016         * sh.h (MAX_FIXED_MODE_SIZE): Define.
12017
12018 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
12019
12020         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
12021         delimiter.
12022
12023 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12024
12025         * c-common.c (cpp_define_data_format): New function.
12026         (cb_register_builtins): Call it.
12027
12028         * doc/cpp.texi (Common Predefined Macros): Document
12029         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
12030         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
12031         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
12032         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
12033         __TARGET_USES_VAX_H_FLOAT__.
12034
12035 2002-08-26  Ziemowit Laski <zlaski@apple.com>
12036
12037         * objc/objc-act.c (get_super_receiver): If inside a class method
12038         of a category, cast the receiver to 'id' before accessing the 'isa'
12039         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
12040
12041 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
12042
12043         * config/s390/s390-protos.h (s390_function_prologue,
12044         s390_function_epilogue): Remove.
12045         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
12046         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
12047
12048         config/s390/s390.c (s390_machine_dependent_recorg): New function.
12049         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
12050         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
12051         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
12052         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
12053
12054         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
12055         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
12056         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
12057         function is not a leaf function.  Use save_gprs and restore_gprs.
12058         (s390_emit_epilogue): Likewise.
12059         (save_gprs, restore_gprs): New functions.
12060         (struct s390_frame): Remove return_reg_saved_p member.
12061         (save_fprs_p): Remove.
12062         (s390_optimize_prolog): New function.
12063         (s390_legitimate_reload_constant): Remove now unnecessary check.
12064
12065         (s390_function_count): Remove.
12066         (s390_output_symbolic_const): Replace s390_function_count by
12067         current_function_funcdef_no.
12068         (s390_output_constant_pool): Likewise.
12069
12070         (legitimize_pic_address): Use regs_ever_live to track PIC register
12071         instead of current_function_uses_pic_offset_table.
12072         (s390_emit_prologue): Likewise.
12073         config/s390/s390.md ("call", "call_value"): Likewise.
12074
12075 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
12076
12077         * c-opts.c (find_opt): Don't complain about wrong languages
12078         here.  Return exact matches even for wrong language.
12079         (c_common_decode_option): Complain about wrong languages
12080         here.
12081
12082 2002-08-24  Stuart Hastings  <stuart@apple.com>
12083
12084         * function.h (struct function): Add flag
12085         all_throwers_are_sibcalls.
12086         * except.c (set_nothrow_function_flags): Replaces
12087         nothrow_function_p. Set new flag.
12088         * except.h (set_nothrow_function_flags): Replaces
12089         nothrow_function_p.
12090         * dwarf2out.c (struct dw_fde_struct): Add flag
12091         all_throwers_are_sibcalls.
12092         (output_call_frame_info): Test it.
12093         (dwarf2out_begin_prologue) Propagate it from cfun to
12094         dw_fde_struct.
12095         * toplev.c (rest_of_compilation): Update calls to
12096         nothrow_function_p.
12097
12098 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
12099
12100         * ggc-page.c (compute_inverse): Short circuit calculation for
12101         object sizes larger than half a page.
12102
12103 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
12104
12105         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
12106         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
12107         default.
12108         (rs6000_elf_unique_section): Likewise.
12109
12110 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12111
12112         * ns32k.c (ns32k_globalize_label): Delete.
12113         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
12114
12115 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
12116
12117         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
12118         for loading delta with num_insns_constant_wide.  Calculate
12119         delta_low, delta_high without using a conditional.
12120
12121 2002-08-22  Jason Merrill  <jason@redhat.com>
12122
12123         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
12124         * c-common.def: Adjust.
12125         * c-dump.c (c_dump_tree): Adjust.
12126         * c-semantics.c (genrtl_return_stmt): Adjust.
12127         * c-pretty-print.c (pp_c_statement): Adjust.
12128         * tree-inline.c (copy_body_r): Adjust.
12129
12130 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
12131
12132         * ggc-page.c: Avoid division in ggc_set_mark.
12133         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
12134         compute_inverse): New.
12135         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
12136         (init_ggc): Initialize inverse_table.
12137
12138 2002-08-22  Tom Tromey  <tromey@redhat.com>
12139
12140         * doc/install.texi (Configuration): Document --datadir.
12141
12142 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
12143
12144         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
12145
12146 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
12147
12148         * gengtype-lex.l (ID): Allow underscore as first character.
12149
12150 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
12151
12152         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
12153         function.
12154         (rs6000_xcoff_asm_named_section): Rename.
12155         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12156
12157 2002-08-21  Tom Tromey  <tromey@redhat.com>
12158
12159         For PR java/6005 and PR java/7611:
12160         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
12161         (fold): Likewise.
12162         * langhooks.c (lhd_can_use_bit_fields_p): New function.
12163         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
12164         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
12165         (LANG_HOOKS_INITIALIZER): Use it.
12166         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
12167         field.
12168
12169 2002-08-21  Stan Shebs  <shebs@apple.com>
12170
12171         * tree.c (finish_vector_type): Fix a typo in a comment.
12172         * Makefile.in: Fix "the the" stutters in comments.
12173         * genautomata.c: Ditto.
12174         * ifcvt.c: Ditto.
12175         * regrename.c: Ditto.
12176         * config/alpha/alpha.c: Ditto.
12177         * config/alpha/vms-crt0-64.c: Ditto.
12178         * config/alpha/vms-crt0.c: Ditto.
12179         * config/alpha/vms-psxcrt0-64.c: Ditto.
12180         * config/alpha/vms-psxcrt0.c: Ditto.
12181         * config/d30v/d30v.h: Ditto.
12182         * config/fr30/fr30.h: Ditto.
12183         * config/rs6000/rs6000.c: Ditto.
12184         * config/stormy16/stormy16.h: Ditto.
12185         * doc/md.texi: Ditto.
12186
12187 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12188
12189         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
12190
12191 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
12192
12193         * c-decl.c (grokdeclarator): Make invalid combinations with long,
12194         short, signed or unsigned into hard errors.  Fixes PR c/4319.
12195         Also make duplicate modifiers such as "short short" into hard
12196         errors.
12197
12198 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
12199             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12200
12201         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
12202         to the actual end.  Add '@end table' and '@table @code'.
12203
12204 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
12205
12206         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
12207
12208         * unroll.c (biv_total_increment): Don't try to compute the total
12209         increment for FP BIVs.
12210
12211 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12212
12213         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
12214         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
12215         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12216         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
12217         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
12218         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
12219         (GLOBAL_ASM_OP): Define.
12220         * arm.c (aof_globalize_label): New function.
12221         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
12222         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12223         * c4x.c (c4x_globalize_label): New function.
12224         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
12225         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
12226         (GLOBAL_ASM_OP): Define.
12227         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12228         * darwin-protos.h (darwin_globalize_label): Declare.
12229         * darwin.c (darwin_globalize_label): New function.
12230         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
12231         (ASM_GLOBALIZE_LABEL): Delete.
12232         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
12233         * dsp16xx.c (asm_output_common): Use target hook.
12234         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
12235         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
12236         (GLOBAL_ASM_OP): Define.
12237         * i370.c (i370_globalize_label): New function.
12238         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
12239         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
12240         * i386.c (ix86_asm_file_end): Use target hook.
12241         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
12242         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12243         * ia64.c (ia64_asm_output_external): Likewise.
12244         * ia64/sysv4.h: Update comment.
12245         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12246         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12247         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
12248         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12249         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
12250         * mmix-protos.h (mmix_asm_globalize_label): Delete.
12251         * mmix.c (mmix_asm_globalize_label): Likewise.
12252         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
12253         (GLOBAL_ASM_OP): Define.
12254         * ns32k.c (ns32k_globalize_label): New function.
12255         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
12256         (ASM_GLOBALIZE_LABEL): Delete.
12257         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
12258         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
12259         * pa.c (pa_globalize_label): New function.
12260         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
12261         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
12262         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
12263         (GLOBAL_ASM_OP): Define.
12264         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
12265         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12266         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
12267         (GLOBAL_ASM_OP): Define.
12268         * v850.c (v850_output_aligned_bss): Use target hook.
12269         * vax.c (vms_globalize_label): New function.
12270         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
12271         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
12272         (GLOBAL_ASM_OP): Define.
12273         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
12274         * doc/tm.texi: Update docs.
12275         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
12276         target hook.
12277         * final.c (output_alternate_entry_point): Likewise.
12278         * hooks.c (hook_FILEptr_constcharptr_void): New function.
12279         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
12280         * output.h (assemble_global): Delete.
12281         (default_globalize_label): Declare.
12282         * system.h (ASM_GLOBALIZE_LABEL): Poison.
12283         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12284         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
12285         * target.h (gcc_target): Add globalize_label member.
12286         * varasm.c (asm_output_bss, asm_output_aligned_bss,
12287         globalize_decl): Use target hook.
12288         (assemble_global): Delete.
12289         (default_globalize_label): New function.
12290
12291 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12292
12293         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
12294
12295 2002-08-20  Devang Patel  <dpatel@apple.com>
12296         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
12297
12298 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12299
12300         * arc.c (output_shift): Use stdio instead of asm_fprintf.
12301         * arm.c (thumb_output_function_prologue): Likewise.
12302         * avr.c (print_operand): Likewise.
12303         * c4x.c (c4x_print_operand): Likewise.
12304         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
12305         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
12306         * cris.c (cris_target_asm_function_prologue,
12307         cris_asm_output_mi_thunk): Likewise.
12308         * h8300.c (print_operand): Likewise.
12309         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12310         * ip2k.c (print_operand): Likewise.  Fix format specifier.
12311         * m68hc11.c (asm_print_register, print_operand,
12312         print_operand_address): Use stdio instead of asm_fprintf.
12313         (print_operand_address): Fix format specifier.
12314         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
12315         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
12316         asm_fprintf.
12317         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12318         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12319         * m68k.c (m68k_output_function_prologue,
12320         m68k_output_function_epilogue, print_operand): Likewise.
12321         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
12322         Likewise.  Fix format specifier.
12323         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12324         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12325         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12326
12327 2002-08-15  Eric Christopher  <echristo@redhat.com>
12328             Jeff Knaggs  <jknaggs@redhat.com>
12329
12330         * config.gcc (mipsisa64sr71k-elf): New target.
12331         * config/mips/sr71k.md: New file.
12332         * config/mips/mips.md: Use it.
12333         (rot*): Add sr71k specifics.
12334         * config/mips/t-sr71k: New file.
12335         * config/mips/mips.h (sr71k): New cpu.
12336         (TARGET_SR71K): Use it.
12337         (TUNE_SR71K): Ditto.
12338         (GENERATE_BRANCHLIKELY): Ditto.
12339         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
12340         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
12341         * config/mips/mips.c (sr71k): New cpu.
12342         (mips_use_dfa_pipeline_interface): Use.
12343
12344 2002-08-15  Eric Christopher  <echristo@redhat.com>
12345             Richard Sandiford <rsandifo@redhat.com>
12346             Aldy Hernandez  <aldyh@redhat.com>
12347             Graham Stott    <grahams@redhat.com>
12348             Michael Meissner  <meissner@redhat.com>
12349             Gavin Romig-Koch  <gavin@redhat.com>
12350             Ken Raeburn  <raeburn@cygnus.com>
12351             Alexandre Oliva <aoliva@redhat.com>
12352
12353         * config.gcc (mips64vr-elf): New target.
12354         * config/mips/5400.md: New file.
12355         * config/mips/5500.md: Ditto.
12356         * config/mips/mips.md: Use them.
12357         (frsqrt): New.
12358         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
12359         cpus.
12360         (mips_issue_rate): Use them.
12361         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
12362         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
12363         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
12364         cpus.
12365         (TARGET_MIPSx): Use them.
12366         (TUNE_MIPSx): Ditto.
12367         (GETNATE_MULT3_SI): Ditto.
12368         (ISA_HAS_BRANCHLIKELY): Ditto.
12369         (ISA_HAS_CONDMOVE): Ditto.
12370         (ISA_HAS_NMADD_NMSUB): Ditto.
12371         (ISA_HAS_MULHI): New. Ditto.
12372         (ISA_HAS_MULS): Ditto.
12373         (ISA_HAS_MSAC): Ditto.
12374         (ISA_HAS_MACC): Ditto.
12375         (ISA_HAS_ROTR_SI): Ditto.
12376         (ISA_HAS_ROTR_DI): Ditto.
12377         (RTX_COSTS): Use.
12378
12379 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12380
12381         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
12382         at head.
12383         (remove_dup_nonsys_dirs): New function.
12384         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
12385         (merge_include_chains): Remove non-system include directories from
12386         quote and bracket include chains when they duplicate equivalent system
12387         directories.
12388         * doc/cpp.texi (-I): Update.
12389         * doc/cppopts.texi (-I): Update.
12390         * doc/install.texi (--with-local-prefix): Further document usage of
12391         this option.
12392         * doc/invoke.texi (-I): Update.
12393
12394 2002-08-20  Richard Henderson  <rth@redhat.com>
12395
12396         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
12397         (emit_block_move): Split out subroutines.
12398         (emit_block_move_via_movstr): New.
12399         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
12400         (emit_block_move_libcall_fn): New.  Construct function prototype for
12401         bcopy as well.
12402         (clear_storage): Split out subroutines.
12403         (clear_storage_via_clrstr): New.
12404         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
12405         (clear_storage_libcall_fn): New.  Construct function prototype for
12406         bzero as well.
12407         (emit_push_insn): Use emit_block_move.
12408         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
12409         (store_constructor): Likewise.
12410
12411 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12412
12413         * objc/objc-act.c (building_objc_message_expr): Rename to
12414         current_objc_message_selector.
12415
12416 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12417
12418         * objc/objc-act.c (build_ivar_chain): Remove.
12419         (objc_copy_list): Likewise.
12420         (get_class_ivars): Inline call to removed build_ivar_chain
12421         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
12422         slot; use that slot (rather than CLASS_IVARS) when accessing
12423         ivars for base classes.  Call copy_list and chainon instead of
12424         objc_copy_list.
12425         (build_private_template): Call get_class_ivars instead of
12426         build_ivar_chain.
12427         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
12428         (continue_class): Call get_class_ivars instead of
12429         build_ivar_chain.
12430         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
12431         of DECL_BIT_FIELD (which may have been cleared).
12432         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
12433
12434 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12435
12436         * genautomata.c (output_translate_vect, output_state_ainsn_table,
12437         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
12438         in output file.
12439         (output_internal_min_issue_delay_func): Initialize variable in
12440         output file.
12441
12442 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
12443
12444         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
12445         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
12446
12447 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
12448             Steve Ellcey  <sje@cup.hp.com>
12449
12450         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
12451         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
12452         * explow.c (trunc_int_for_mode): Abort when the mode is not
12453         a scaler integer mode.
12454         * combine.c (expand_compound_operation): Don't expand Vector
12455         or Complex modes into shifts.
12456         (expand_field_assignment): Don't do bitwise arithmatic and
12457         shifts on Vector or Complex modes.
12458         (simplify_comparison): Don't call trunc_int_for_mode
12459         for VOIDmode.
12460         * recog.c (general_operand): Likewise.
12461         (immediate_operand): Likewise.
12462         (nonmemory_operand): Likewise.
12463
12464 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
12465
12466         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
12467         multi-instruction SImode constant.  Add REG_EQUAL note.
12468         * config/rs6000/rs6000.md (movsi splitter): Use
12469         rs6000_emit_set_const.
12470
12471 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12472
12473         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
12474         the macro test controlling its use.
12475
12476 2002-08-18  H.J. Lu  (hjl@gnu.org)
12477
12478         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
12479         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
12480         gnu_ld=yes.
12481         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
12482         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
12483         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
12484         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
12485         here.
12486         (cris-*-linux*): Remove setting thread_file here.
12487
12488 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
12489
12490         PR preprocessor/7602
12491         * cppinit.c (path_include): Treat the system environment
12492         variables as being cxx_aware.
12493
12494 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
12495
12496         * c-decl.c (flexible_array_type_p): New function.
12497         (grokdeclarator, finish_struct): Use it.
12498         * doc/extend.texi: Document constraints on use of structures with
12499         flexible array members.
12500
12501 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
12502
12503         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
12504         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
12505         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
12506
12507 2002-08-16  Stan Shebs  <shebs@apple.com>
12508
12509         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
12510         for ObjC with -fnext-runtime.
12511         * doc/cpp.texi: Document it.
12512
12513 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
12514
12515         * doc/install.texi (Final installation): Replace links to individual
12516         build status pages with a link to a common page that lists them all.
12517
12518 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
12519
12520         * doc/invoke.texi: Fix typo.
12521
12522 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
12523
12524         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
12525
12526 2002-08-16  Andrew Haley  <aph@redhat.com>
12527
12528         * tree-inline.c: Add includes for Java inliner.
12529         (remap_decl): Don't handle anonymous types for Java.
12530         (remap_block): Add handling for Java trees.
12531         (copy_scope_stmt): Conditionalize for non-Java use only.
12532         (copy_body_r): Handle Java trees.  Add handling for
12533         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
12534         (initialize_inlined_parameters):  Handle Java trees.
12535         (declare_return_variable): Likewise.
12536         (expand_call_inline): Handle Java trees.
12537         (walk_tree): Likewise.
12538         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
12539         (add_stmt_to_compound): New function.
12540
12541 2002-08-15  Richard Henderson  <rth@redhat.com>
12542
12543         * Makefile.in (LOOSE_WARN): Remove -fno-common.
12544         (NOCOMMON_FLAG): New substitution point.
12545         (GCC_WARN_CFLAGS): Include it.
12546         * configure.in (ac_checking): Set nocommon_flag.
12547         (nocommon_flag): New substitution point.
12548
12549 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
12550
12551         * c-tree.h (skip_evaluation): Move declaration...
12552         * c-common.h: ... here.
12553         * c-typeck.c (build_external_ref): Don't assemble_external nor
12554         mark a tree as used if skip_evaluation is set.
12555         * c-parse.in (typeof): New non-terminal to set skip_evaluation
12556         around TYPEOF.
12557         (typespec_nonreserved_nonattr): Use it.
12558
12559 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
12560
12561         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
12562         (xcoff_debug_hooks): Update end_prologue.
12563         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
12564         * debug.h (end_prologue): Add file arg.
12565         (end_epilogue): Add line and file args.
12566         (dwarf2out_end_epilogue): Add line and file args.
12567         (vmsdbgout_after_prologue): Remove.
12568         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
12569         (dwarf2_debug_hooks): Update end_prologue.
12570         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
12571         (dwarfout_end_prologue): Add file arg.
12572         * final.c (vmsdbgout_after_prologue): Remove
12573         (final_end_function): Update end_epilogue call.
12574         (final_scan_insn): Update end_prologue call.
12575         * sdbout.c (sdbout_end_epilogue): Add line and file args.
12576         (sdbout_end_prologue): Add file arg.
12577         (sdb_debug_hooks): Update end_prologue.
12578         (sdb_begin_prologue): Update sdbout_end_prologue call.
12579         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
12580         vmsdbgout_end_function.
12581         (vmsdbgout_end_prologue): New function renamed from
12582         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
12583         (vmsdbgout_end_function): New function.
12584         (vmsdbgout_end_epilogue): Add line and file args. Call
12585         vmsdbgout_source_line.
12586         (write_pclines): Write only valid line numbers.
12587         (write_srccorr): Don't write source correlation records if 0 lines.
12588         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
12589
12590 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
12591
12592         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
12593         (_Unwind_Internal_Ptr): 32 bit version for use in
12594         read_encoded_value_with_base.
12595         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
12596         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
12597         right size.
12598
12599 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12600
12601         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
12602         signed/unsigned warnings.
12603
12604         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
12605         record_reg_classes): Likewise.
12606
12607         * reload.c (reload_inner_reg_of_subreg, push_reload,
12608         find_reloads_address_1): Likewise.
12609
12610 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
12611
12612         * rs6000.c (output_mi_thunk): Return to function section on
12613         TARGET_ELF.
12614
12615         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
12616
12617 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
12618
12619         * config/s390/s390.c (legitimize_address): Optimize loading
12620         of large displacements.
12621
12622 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
12623
12624         * config/alpha/alpha-protos.h: Update.
12625
12626         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
12627         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
12628         (alpha_linkage_symbol_p): New static function.
12629         (print_operand_address): Print linkage operand.
12630
12631         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
12632         variables.
12633         (reloc_kind): New enum.
12634         (struct alpha_funcs): New struct.
12635         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
12636
12637         (alpha_need_linkage): Rewrite.
12638         (alpha_use_linkage): New global function.
12639         (alpha_write_linkage): Rewrite and make static.
12640         (alpha_write_one_linkage): Rewrite
12641
12642         (alpha_start_function): Remove procedure descriptor output.
12643         (alpha_end_function): Write linkages at end of each function.
12644
12645         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
12646         (call_vms_1, call_value_vms_1): Rewrite.
12647
12648         * config/alpha/vms.h (ASM_FILE_END): Remove.
12649
12650 2002-08-14  Richard Henderson  <rth@redhat.com>
12651
12652         * ggc-page.c (RTL_SIZE): New.
12653         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
12654         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
12655
12656 2002-08-14  Richard Henderson  <rth@redhat.com>
12657
12658         * calls.c: Include target.h.
12659         * Makefile.in (calls.o): Update.
12660
12661         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
12662         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
12663
12664 2002-08-14  Richard Henderson  <rth@redhat.com>
12665
12666         * Makefile.in (LOOSE_WARN): Add -fno-common.
12667         * c-common.h (constant_string_class_name): Add missing extern.
12668
12669 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
12670
12671         PR preprocessor/7358
12672         * c-opts.c (check_deps_environment_vars): Ignore main file
12673         for SUNPRO_DEPENDENCIES.
12674         * cppfiles.c (stack_include_file): Ignore main file if
12675         appropriate.
12676         * cpplib.h (struct cpp_options): New member in deps.
12677         * doc/cppenv.texi: Update.
12678
12679 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12680
12681         PR preprocessor/7526
12682         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
12683
12684 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
12685
12686         * doc/invoke.texi (-a): Remove documentation.
12687         (-fprofile-arcs): Remove reference to -a, -ax options.
12688         * doc/gcov.texi (Gcov Data Files): Data might be merged.
12689
12690 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12691
12692         Fix PR/7566
12693         * c-semantics.c (genrtl_case_label): Don't (mis)use
12694         warning_with_decl.
12695
12696 2002-08-14  Dale Johannesen  <dalej@apple.com>
12697
12698         * explow.c (emit_stack_restore):  Emit memory clobbers
12699         preceding the stack pop, to prevent the scheduler from
12700         moving refs to variable arrays below this pop.
12701         * reload1.c (reload):  Preserve these clobbers for sched2.
12702         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
12703
12704 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12705
12706         * c-opts.c (c_common_post_options): Correct test.
12707
12708 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12709
12710         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
12711         order in call to fprintf.
12712
12713 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12714
12715         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
12716
12717 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
12718
12719         * reload.c (find_reloads): Handle constraint letters marked by
12720         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
12721         (alternative_allows_memconst): Likewise.
12722         * reload1.c (maybe_fix_stack_asms): Likewise.
12723         * recog.c (asm_operand_ok, preprocess_constraints,
12724         constrain_operands): Likewise.
12725         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
12726         * local-alloc.c (block_alloc, requires_inout): Likewise.
12727         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
12728
12729         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
12730         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
12731         * doc/tm.texi: Document these two new target macros.
12732
12733         * config/s390/s390.c (s390_expand_plus_operand): Accept already
12734         valid operands.
12735         (q_constraint): New function.
12736         config/s390/s390-protos.h (q_constraint): Declare it.
12737         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
12738         (EXTRA_MEMORY_CONSTRAINT): New macro.
12739
12740         * config/s390/s390.md: Throughout the machine description,
12741         replace all instances of the constraint combinations 'Qo'
12742         or 'oQ' with simply 'Q'.
12743
12744 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12745
12746         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
12747         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
12748         (LIBGCC2_CFLAGS): Compile with -mrelax.
12749
12750 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12751
12752         * doc/invoke.texi: Document -minmax for 68HC12.
12753
12754         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
12755         ("uminqi3"): Likewise.
12756         ("uminhi3", "umaxhi3"): Likewise.
12757
12758         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
12759         (TARGET_MIN_MAX): Define.
12760         (TARGET_SWITCHES): New option -minmax/-mnominmax.
12761
12762 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12763
12764         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
12765         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
12766
12767         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
12768         (ret, declare, farsym): New gas macros.
12769         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
12770         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
12771         and declare the symbol far when compiled with -mlong-calls.
12772         (__far_trampoline): New for 68HC12 trampoline code to invoke a
12773         far handler using jsr/bsr.
12774
12775         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
12776         (jsr): New macro to transform a 'jsr' into a 'call'.
12777
12778 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12779
12780         * doc/invoke.texi: Document -mlong-calls for 68HC12.
12781
12782         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
12783         -mlong-calls is specified.
12784         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
12785         assembler directives.
12786         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
12787         (TARGET_SWITCHES): Add -mlong-calls options.
12788         (current_function_far): Declare.
12789
12790         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
12791         into account the page register saved on the stack.
12792         (m68hc11_override_options): Take into account -mlong-calls option.
12793         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
12794
12795         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
12796         if the function is going to be in 68HC12 banked memory (-mlong-calls).
12797         ("*return_16bit"): Likewise.
12798         ("*return_void"): Likewise.
12799         ("call", "call_value"): Use call for a far function call.
12800
12801 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12802
12803         * toplev.c (parse_options_and_default_flags): Don't call
12804         post_options here.
12805         (general_init): Initialize GC, pools and tree hash here,
12806         instead of lang_independent_init.
12807         (lang_independent_init): Rename backend_init.
12808         (do_compile): Call post_options hook; exit early if there
12809         have been errors after switch processing.
12810         (toplev_main): Update.
12811
12812 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12813
12814         * c-pretty-print.h: Guard against multiple inclusion.
12815         Robustify macros.
12816         (pp_c_attributes): Declare.
12817         * c-pretty-print.c (pp_c_attributes): New function.
12818
12819 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12820
12821         * m68k.c (m68k_output_function_prologue,
12822         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
12823         and NEWS/MOTOROLA.
12824         * genattrtab.c: Remove dpx2 comment.
12825         * libgcc2.c (__enable_execute_stack): Delete versions for
12826         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
12827         sony_news/SYSTYPE_BSD.
12828         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
12829         __gmicro__, __i860__, __NeXT__ and __pyr__.
12830         * rtl.h: Remove convex comment.
12831         * varasm.c: Likewise.
12832
12833 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12834
12835         * c-opts.c (lang_flags): Const-ify.
12836         * ra-build.c (undef_table): Likewise.
12837         * ra.c (eliminables): Likewise.
12838
12839 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12840
12841         * tree.h: Guard against multiple inclusion.
12842
12843 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
12844
12845         * reload1.c (reload_cse_simplify): Before checking
12846         REG_FUNCTION_VALUE_P, check REG_P.
12847
12848 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
12849
12850         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
12851
12852 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12853
12854         * c-opts.c (c_common_init_options): Extra braces needed.
12855
12856 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12857
12858         * sh.c (sh_init_builtins): Add PARAMS to declaration.
12859         (sh_media_init_builtins, sh_expand_builtin): Likewise.
12860         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
12861         (sh_expand_binop_v2sf): Likewise.
12862         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
12863         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
12864         (sh_initialize_trampoline): Likewise.
12865
12866 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
12867
12868         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
12869         new condition code modes.
12870         s390.c (s390_match_ccmode_set): Handle those new CC modes.
12871         (s390_select_ccmode): Likewise.
12872         (s390_branch_condition_mask): Likewise.
12873
12874         * s390-protos.h (s390_tm_ccmode): Declare.
12875         s390.c (s390_tm_ccmode): New function.
12876         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
12877
12878         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
12879         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
12880         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
12881
12882         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
12883         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
12884         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
12885         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
12886         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
12887
12888         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
12889         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
12890         "*cmpqi_ccs_0"): Remove, replace by ...
12891         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
12892         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
12893         "*tstqi", "*tstqi_cconly"): ... these new patterns.
12894
12895         ("*cmpsidi_ccs"): Remove, replace by ...
12896         ("*cmpsi_ccs_sign"): ... this new pattern.
12897         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
12898
12899         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
12900         ("*cli"): ... this new pattern.
12901
12902         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
12903         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
12904         New patterns.
12905         ("adddi3_64"): Rename to "*adddi3_64".
12906         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
12907         ("adddi3"): Adapt expander.
12908
12909         ("*addsi3_cc"): Allow "general_operand" for operand 2.
12910         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
12911         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
12912
12913         ("addhi3", "addqi3"): Remove, replace by ...
12914         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
12915
12916         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
12917         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
12918         ("subdi3"): Replace by insn and splitter "*subdi3_31".
12919         ("subdi3"): New expander.
12920
12921         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
12922
12923         ("subhi3", "subqi3"): Remove, replace by ...
12924         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
12925
12926         ("*muldi3_sign"): New pattern.
12927         ("muldi3"): Do not clobber CC.
12928         ("mulsi3"): Likewise.
12929         ("mulsi_6432"): Likewise.
12930
12931 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12932
12933         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
12934         which can change CC0.
12935
12936 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
12937
12938         * gcse.c (adjust_libcall_notes): New function.
12939         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
12940
12941 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
12942
12943         * libgcc2.c (L_bb): Remove unneeded #includes.
12944         (__global_counters, __gthreads_active): Remove unused globals.
12945         (__bb_exit_func): Merge counts into files rather than appending.
12946         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
12947         (ALL_CFLAGS): ... to here.
12948
12949 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12950
12951         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
12952         (function_epilogue): Don't calculate function size.
12953         (ip2k_set_compare): Don't use lookup_const_double.
12954         (asm_file_start): Initialization of commands_in_file removed.
12955         (asm_file_end): Output of commands_in_file removed.
12956
12957         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
12958         __INT_MAX__.
12959
12960 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12961
12962         * c-opts.c (c_common_init_options): Check option array is
12963         sorted if checking enabled.
12964
12965 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
12966
12967         * c-pretty-print.c: #include "c-tree.h".
12968         (pp_c_simple_type_specifier): Tweak.
12969         (pp_c_storage_class_specifier): New.
12970         (pp_c_function_specifier): Likewise.
12971         (pp_c_declaration_specifiers): Likewise.
12972         (pp_c_init_declarator): Likewise.
12973         (pp_c_declaration): Likewise.
12974         (pp_c_direct_declarator): Stub.
12975         (pp_c_declarator): Likewise.
12976         (pp_c_parameter_declaration): Likewise.
12977
12978 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12979
12980         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
12981         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
12982         struct deferred_opt): New.
12983         (COMMAND_LINE_OPTIONS): Add -M*.
12984         (missing_arg): Update.
12985         (c_common_decode_option): Handle -M*.
12986         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
12987         don't call cpp_post_options.
12988         (c_common_finish, check_deps_environment_vars): Update.
12989         * cppfiles.c (stack_include_file, handle_missing_header): Update.
12990         * cpphash.h (CPP_PRINT_DEPS): Remove.
12991         * cppinit.c: Don't include version.h.
12992         (cpp_create_reader): Don't call deps_init.  Initialize
12993         warn_long_long.
12994         (cpp_read_main_file): Init deps if necessary.
12995         (cpp_destroy): Conditionally free deps.
12996         (cpp_finish): Update.
12997         (no_tgt): Remove.
12998         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
12999         (cpp_post_options): Rename post_options.
13000         * cpplib.h (struct cpp_options): Remove some dependency options;
13001         move others to a new structure.
13002         (cpp_post_options): Remove.
13003         (cpp_finish): Comment.
13004         * fix-header.c (read_scan_file): Don't call cpp_post_options.
13005
13006 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
13007
13008         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
13009         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
13010         MMIX_rR_REGNUM as clobbered.
13011         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
13012
13013 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
13014
13015         * diagnostic.h (output_formatted_scalar): Rename from
13016         output_formatted_integer.
13017         * diagnostic.def: Add DK_DEBUG.
13018         * diagnostic.c (output_decimal): Adjust.
13019         (output_long_decimal): Likewise.
13020         (output_unsigned_decimal): Likewise.
13021         (output_octal): Likewise.
13022         (output_long_octal): Likewise.
13023         (output_hexadecimal): Likewise.
13024         (output_long_hexadecimal): Likewise.
13025         * c-pretty-print.c (pp_c_type_specifier): New function.
13026         (pp_c_specifier_qualifier_list): Likewise.
13027         (pp_c_abstract_declarator): Likewise.
13028         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
13029
13030 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
13031
13032         * doc/trouble.texi (Disappointments): Add static constructor and
13033         destructor dependency information for AIX.
13034
13035 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
13036
13037         * cpphash.h (struct printer): New from cppmain.c.
13038         (cpp_reader): New member.
13039         * cppmain.c (struct printer): Move to cpphash.h.
13040         (options, print): Remove.
13041         (account_for_newlines, print_line, maybe_print_line,
13042         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
13043         scan_translation_unit_trad, cb_line_change, cb_ident,
13044         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
13045         cb_def_pragma): Make reentrant.
13046
13047 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13048
13049         * real.c (ieee_64): Always define.
13050         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
13051         (dec_h): Not used yet, hide it.
13052         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
13053         macro controlling use.
13054         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
13055
13056 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
13057
13058         * i386.md (tablejump): Sign extend the operand.
13059         * i386.c (classify_argument): Fix missed case from previous patch.
13060
13061 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
13062
13063         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
13064         to c-copts.c.
13065         (warn_multichar): Die.
13066         (cb_register_builtins): Export.
13067         * c-common.h (warn_multichar, preprocess_file): Remove.
13068         (cb_register_builtins): New.
13069         * c-lang.c (c_init): Remove.
13070         (LANG_HOOKS_INIT): Use c_objc_common_init.
13071         * c-lex.c (init_c_lex): Don't canonicalize filename.
13072         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
13073         (preprocess_file): Make static.  Update for cpplib.
13074         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
13075         (c_common_post_options): Set some cpp options here.
13076         (c_common_init): Move from c-common.c.
13077         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
13078         * cpplib.h (struct cpp_options): Remove in_fname.
13079         (cpp_preprocess_file): Update.
13080         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
13081
13082 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13083
13084         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
13085
13086 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13087
13088         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
13089         backslash in comment preceeding macro definition.
13090         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
13091         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
13092         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
13093
13094 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
13095
13096         * expr.c (store_expr): In condition for checking if value is
13097         generated in TARGET, move call to expr_size last.
13098
13099 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
13100
13101         * c-common.c (c_common_init): Call preprocess_file instead.
13102         (c_common_finish): Move to c-opts.c.
13103         * c-common.h (preprocess_file): new.
13104         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
13105         check_deps_environment_vars, c_common_finish): New.
13106         (c_common_decode_option): Update for out_fname and dependencies.
13107         * cppinit.c (init_dependency_output, output_deps): Remove.
13108         (cpp_destroy): Update prototype.
13109         (cpp_add_dependency_target): New.
13110         (cpp_read_main_file): Don't overlay a buffer.
13111         (cpp_finish): Take a deps output stream and write deps to it.
13112         Return the error count.
13113         (cpp_post_options): Don't canonicalize out_fname, or do anything
13114         with dependencies.
13115         * cpplib.h (struct cpp_options): Remove out_fname and
13116         preprocess_only.
13117         (cpp_add_dependency_target): New.
13118         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
13119         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
13120         set preprocess_only.  Don't handle the output stream directly.
13121
13122 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13123
13124         * dsp16xx.c (print_operand): Fix format specifier.
13125         * dsp16xx.md: Avoid automatic aggregate initialization.
13126         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
13127         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
13128         integer constant modifier.
13129         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
13130         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
13131         guards.
13132         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
13133         * v850.c (v850_select_section): Mark parameter with
13134         ATTRIBUTE_UNUSED.
13135         * global.c (global_alloc): Const-ify.
13136         * ra-colorize.c (hardregset_to_string): Fix format specifier.
13137
13138 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13139
13140         * darwin-c.c (darwin_pragma_options): Const-ify.
13141         * darwin.c (machopic_non_lazy_ptr_name,
13142         machopic_validate_stub_or_non_lazy_ptr): Likewise.
13143         (machopic_indirect_data_reference): Wrap variables in macros
13144         controlling their use.
13145         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
13146         (machopic_select_section): Use parentheses around && within ||.
13147         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
13148
13149 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13150
13151         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
13152         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
13153         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
13154         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
13155         mdr_try_remove_redundant_insns, track_w_reload,
13156         mdr_try_wreg_elim): Make function static to match prototype.
13157         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
13158         parameter with ATTRIBUTE_UNUSED.
13159
13160 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13161
13162         * arc.c (arc_init): Don't use ISO C style function definitions.
13163         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
13164         arm_get_strip_length, arm_strip_name_encoding): Likewise.
13165         * avr.h (progmem_section): Likewise.
13166         * h8300.c h8300_asm_insn_count): Likewise.
13167         * m32r.c (init_idents): Likewise.
13168         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
13169         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
13170         * xtensa.c (xtensa_build_va_list): Likewise.
13171
13172 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
13173
13174         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
13175         * c-opts.c (parse_option): Rename find_opt.
13176         (set_std_c99): New function.
13177         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
13178         (missing_arg): Remove OPT_std_bad.  Handle -o.
13179         (c_common_decode_option): Handle input and output file names,
13180         -o and -remap.  Clean up -std= handling.
13181         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
13182         (cpp_handle_option): Similarly.  Don't handle filenames.
13183
13184 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
13185
13186         * i386.c (classify_argument): Fix computing of field's offsets.
13187
13188 2002-08-11  Andreas Jaeger  <aj@suse.de>
13189
13190         PR target/7531:
13191         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
13192
13193 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
13194
13195         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
13196         reference to clk_objective_c with flag_objc.
13197         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
13198         Likewise.
13199         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
13200
13201 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
13202
13203         * c-opts.c (set_std_cxx98, set_std_c89): New.
13204         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13205         (c_common_decode_option): Handle new switches from cppinit.c.
13206         Add -std=gnu++98.
13207         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
13208         (no_arg, no_num): Remove.
13209         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
13210         switches apart from -lang-objc and lang-asm.
13211         (cpp_handle_option): Similarly.
13212         * cpplib.h (cpp_set_lang): New.
13213         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
13214         -std=gnu++98.
13215         * objc/lang-specs.h: Remove -ansi.
13216
13217 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
13218                                Graham Stott
13219
13220         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
13221         errors.
13222
13223 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13224
13225         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
13226         emit_jump_insn): Fix uninitialized variable.
13227         * gcov.c (init_line_info): Likewise.
13228         * genautomata.c (transform_3): Add braces around ambiguous
13229         else.
13230         * ifcvt.c (cond_exec_process_insns): Mark parameter with
13231         ATTRIBUTE_UNUSED.
13232         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
13233         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
13234         variable.
13235
13236         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
13237         warnings in output files.
13238
13239 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
13240
13241         * c-common.c (flag_objc): New.
13242         * c-common.h (c_language_kind): Get rid of clk_objective_c
13243         enum value.
13244         (flag_objc): New extern declaration.
13245         * c-decl.c (implicitly_declare): Call objc_check_decl
13246         instead of maybe_objc_check_decl.
13247         (finish_decl): Likewise.
13248         (grokfield): Likewise.
13249         (finish_struct): Likewise.
13250         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
13251         (maybe_objc_comptypes): Rename to objc_comptypes.
13252         (maybe_building_objc_message_expr): Rename to
13253         objc_message_selector.
13254         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
13255         replace with flag_objc as needed.
13256         * c-opts.c (c_common_init_options): Likewise.
13257         (c_common_decode_option): Likewise.
13258         * c-parse.in (init_reswords): Likewise.
13259         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
13260         (maybe_objc_comptypes): Rename to objc_comptypes.
13261         (maybe_building_objc_message_expr): Rename to
13262         objc_message_selector.
13263         * c-typeck.c (comptypes): Call objc_comptypes instead of
13264         maybe_objc_comptypes, and/or objc_message_selector instead of
13265         maybe_building_objc_message_expr.
13266         (comp_target_types): Likewise.
13267         (convert_for_assignment): Likewise.
13268         (warn_for_assignment): Likewise.
13269         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
13270         independently of those for other languages.
13271         * objc/objc-act.c (maybe_objc_comptypes): Delete.
13272         (maybe_objc_check_decl): Delete.
13273         (maybe_building_objc_message_expr): Rename to
13274         objc_message_selector.
13275         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
13276         clk_objective_c; set flag_objc flag.
13277
13278 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
13279
13280         * ifcvt.c (find_if_case_2): Test correct basic block for size.
13281
13282 2002-08-09  Dale Johannesen  <dalej@apple.com>
13283
13284         * config/rs6000/rs6000.md: Add sibcall patterns.
13285         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
13286         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
13287         Rewritten to handle sibcalls.
13288         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
13289         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
13290
13291 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13292
13293         * profile.c (da_file_name): New static var.
13294         (init_branch_prob): Initialize it.
13295         (end_branch_prob): Remove da file.
13296
13297         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
13298         * configure.in (coverage_flags): Default to nothing.
13299         * configure: Rebuilt.
13300
13301 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
13302
13303         * Makefile.in (c-opts.o): Update
13304         * c-opts.c: Include intl.h.
13305         (print_help): Move from cppinit.c.  Remove unused options.
13306         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13307         (missing_arg): Complain for switches without an argument.
13308         (c_common_decode_option): Reject missing joined arguments.
13309         Handle new switches from cppinit.c.
13310         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13311         (cpp_handle_option): Similarly.
13312         (print_help): Moved to c-opts.c.
13313         * cpplib.h (struct cpp_options): Remove help_only.
13314         * gcc.c (cpp_unique_options): Remove -$.
13315         * doc/cppopts.texi: Undocument -h.
13316
13317 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13318
13319         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
13320         legitimate constant.
13321         (legitimate_pic_operand_p): Neither pic operand.
13322         (legitimate_address_p): But legitimate address.
13323         (get_thread_pointer): Generate MEM/u instead of CONST around
13324         UNSPEC_TP.
13325         (print_operand): Remove printing of UNSPEC_TP.
13326         (print_operand_address): And print it here.
13327
13328 2002-08-08  Devang Patel  <dpatel@apple.com>
13329
13330         * objc/objc-act.c (build_selector_translation_table): Issue warning,
13331         when  -Wselector is used,if method for which selector is being
13332         created does not exist.
13333
13334 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
13335
13336         * config/sh/sh.c (prepare_move_operands): Only call
13337         target_reg_operand if TARGET_SHMEDIA.
13338
13339 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13340
13341         * config/rs6000/rs6000.h, config/rs6000/aix.h,
13342         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
13343         two patches.
13344         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
13345
13346 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
13347             Richard Henderson  <rth@redhat.com>
13348
13349         * emit-rtl.c (gen_rtx_REG): After reload, only return
13350         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
13351
13352 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13353
13354         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
13355         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
13356         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
13357         macro.
13358
13359 2002-08-08  Adam Nemet  <anemet@lnxw.com>
13360
13361         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
13362         register.
13363         (thumb_expand_prologue): Likewise.
13364         (thumb_output_function_prologue): Likewise.
13365         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
13366         the additional push of the PIC register.
13367
13368 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13369
13370         * configure.in (enable_coverage): New enable switch.
13371         * configure: Rebuilt.
13372         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
13373         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
13374         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
13375         (mostlyclean): Remove coverage files.
13376         * doc/install.texi: Document enable_coverage.
13377
13378         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
13379         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
13380         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
13381         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
13382         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
13383         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
13384         files.
13385
13386 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
13387
13388         * c-opts.c (cpp_opts): New.
13389         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
13390         (c_common_decode_options): Handle cpplib switches.
13391         (c_common_init_options): Set cpp_opts.
13392         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13393         (cpp_handle_option): Similarly.
13394
13395 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
13396
13397         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
13398         (TARGET_ALTIVEC_ABI): Same.
13399         (TARGET_ALTIVEC_VRSAVE): Same.
13400
13401         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
13402         icode not CODE_FOR_nothing.  Change switch to if.
13403
13404 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
13405
13406         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
13407
13408 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13409
13410         * stor-layout.c (place_union_field): For bitfields if
13411         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
13412         TYPE_USER_ALIGN.
13413
13414 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13415
13416         * pa.c (struct deferred_plabel): Constify name field.
13417
13418 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13419
13420         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
13421
13422 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13423
13424         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
13425         local_prefix are the same.
13426         * configure: Rebuilt.
13427
13428 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
13429             Richard Henderson  <rth@redhat.com>
13430
13431         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
13432         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
13433         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
13434         (place_field): Likewise.
13435         * config/i386/i386.c (x86_field_alignment): Don't check
13436         DECL_USER_ALIGN here.
13437         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
13438         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
13439         prototype.
13440         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
13441         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
13442         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
13443         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
13444         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
13445         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
13446
13447 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13448
13449         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
13450         * c-common.c: Don't include tree-inline.h.
13451         (c_common_init_options, c_common_post_options): Move to c-opts.c.
13452         * c-common.h (c_common_decode_option): New.
13453         * c-decl.c (c_decode_option): Remove.
13454         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
13455         * c-opts.c: New file.
13456         * c-tree.h (c_decode_option): Remove.
13457         * doc/passes.texi: Update.
13458         * objc/objc-act.c (objc_decode_option): Remove.
13459         * objc/objc-act.h (objc_decode_option): Remove.
13460         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
13461         c_common_decode_option.
13462
13463 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
13464
13465         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
13466         dependency on TARGET_DOUBLE_FLOAT.
13467
13468 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
13469
13470         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
13471         overwrite callee-save registers.  Fix comment.
13472
13473 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
13474
13475         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
13476         in target_flags based on ISA, if it was not set on the command
13477         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
13478         support Branch Likely instructions.
13479         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
13480         (TARGET_BRANCHLIKELY): Likewise.
13481         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
13482         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
13483         ISA_HAS_BRANCHLIKELY.
13484         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
13485         * doc/invoke.texi: Document new MIPS -mbranch-likely and
13486         -mno-branch-likely options.
13487
13488 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13489
13490         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
13491
13492         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
13493         $(GCONFIG_H).
13494
13495 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
13496
13497         * c-decl.c (duplicate_decls): Error out for incompatible TLS
13498         declarations.
13499
13500         * testsuite/gcc.dg/tls/diag-3.c: New.
13501
13502 2002-08-06  Dale Johannesen  <dalej@apple.com>
13503
13504         * c-common.c (fname_decl): Use line number 0 for
13505         __func__, to avoid confusing debuggers.
13506
13507 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
13508
13509         * gcov.c: Tidy.
13510         (struct line_info, struct coverage): New structures.
13511         (gcov_file_name, gcov_file): Remove globals.
13512         (output_data): Take source file parameter. Fix memory leak. Break
13513         up into ...
13514         (init_line_info, output_line_info, make_gcov_file_name,
13515         accumulate_branch_counts): ... here.
13516         (calculate_branch_probs, function_summary): Adjust.
13517         (main): Adjust.
13518         (function_*): Remove global variables.
13519
13520 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13521
13522         * dwarf2out.c: Remove unused macros.
13523
13524 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13525
13526         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
13527
13528 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13529
13530         * cppinit.c (struct lang_flags): Rename trigraphs std.
13531         (set_lang): Update.
13532         * cpplib.h (struct cpp_options): New member std.
13533         * cppmacro.c (_cpp_builtin_macro_text): Use std.
13534         (collect_args): Flag whether to swallow a possible future
13535         comma pasted with varargs.
13536         (replace_args): Use this flag.
13537         * doc/cpp.texi: Update varargs extension documentation.
13538
13539 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13540
13541         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
13542
13543 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13544
13545         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
13546         and MODE_CLASS_INT modes.
13547
13548 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13549
13550         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
13551         --{enable,disable}-threads is given to configure.
13552         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
13553         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
13554         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
13555         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
13556         Remove thread_file setting here.
13557
13558 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
13559
13560         * doc/install.texi (Binaries): Update Bull Freeware URL.
13561
13562 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13563
13564         * doc/gcc.texi (Top): Rename Index to Keyword Index.
13565
13566 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
13567
13568         * gcov.c (output_data): Round to % to nearest, tweak formatting.
13569
13570 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
13571
13572         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
13573         of the operands into MINUS_EXPR if code is PLUS_EXPR.
13574
13575 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
13576
13577         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
13578         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
13579         drectve_section): Define.
13580         * config/i386/t-interix: Replace interix.o rule with winnt.o.
13581         * config/i386/interix.c: Remove.
13582
13583 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
13584
13585         * attribs.c: Don't include obstack.h.
13586         * builtins.c: Likewise.
13587         * cfganal.c: Likewise.
13588         * cfgbuild.c: Likewise.
13589         * cfgcleanup.c: Likewise.
13590         * emit-rtl.c: Likewise.
13591         * loop.c: Likewise.
13592         * stmt.c: Likewise.
13593
13594         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
13595
13596 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
13597
13598         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
13599
13600 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
13601
13602         * doc/invoke.texi: Remove duplicated paragraph describing
13603         TARGET_SWITCHES.
13604
13605 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
13606
13607         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
13608         * collect2.h (permanent_obstack): Delete declaration.
13609         * collect2.c (permanent_obstack): Delete definition.
13610         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
13611         * expr.c: Don't include obstack.h.
13612         (permanent_obstack): Delete declaration.
13613         * function.c: Don't include obstack.h.
13614         (permanent_obstack): Delete declaration.
13615         * integrate.c: Don't include obstack.h.
13616         (function_maybepermanent_obstack): Delete declaration.
13617         * print-tree.c (debug_tree): Use x*alloc not permalloc.
13618         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
13619         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
13620         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
13621         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
13622         of permalloc, expralloc, perm_calloc.
13623         * tree.c (permanent_obstack): Delete definition.
13624         (init_ttree): Rename from init_obstacks.
13625         (permalloc): Delete.
13626         (perm_calloc): Delete.
13627         (dump_tree_statistics): Don't print information about
13628         permanent_obstack.
13629         * varasm.c (assemble_start_function): Use xstrdup instead of
13630         permalloc/strcpy.
13631         (assemble_variable): Likewise.
13632         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
13633         permalloc.
13634         (unicosmk_add_extern): Likewise.
13635         * config/c4x/c4x.c (c4x_external_ref): Likewise.
13636         (c4x_global_label): Likewise.
13637         * config/frv/frv.c (frv_encode_section_info): Likewise.
13638         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
13639         (i386_pe_record_exported_symbol): Likewise.
13640         * config/mips/mips.c (mips_output_external): Likewise.
13641         (mips_output_external_libcall): Likewise.
13642         * config/pa/pa.c: (permanent_obstack): Delete declaration.
13643         (output_call): Use ggc_strdup instead of allocating on
13644         permanent_obstack.
13645         * config/romp/romp.c: Include ggc.h.
13646         (get_symref): Don't declare permanent_obstack, use ggc_strdup
13647         intead of permanent_obstack.
13648         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
13649         instead of permalloc.
13650         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
13651         instead of permalloc
13652         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
13653         instead of permalloc.
13654         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
13655         permalloc.
13656
13657 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
13658
13659         Contribute a port developed primarily by Michael Meissner,
13660         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
13661         * config.gcc: Add frv-elf target.
13662         * config/frv/cmovd.c: New file.
13663         * config/frv/cmovh.c: New file.
13664         * config/frv/cmovw.c: New file.
13665         * config/frv/frv-abi.h: New file.
13666         * config/frv/frv-asm.h: New file.
13667         * config/frv/frv-modes.def: New file.
13668         * config/frv/frv-protos.h: New file.
13669         * config/frv/frv.c: New file.
13670         * config/frv/frv.h: New file.
13671         * config/frv/frv.md: New file.
13672         * config/frv/frvbegin.c: New file.
13673         * config/frv/frvend.c: New file.
13674         * config/frv/lib1funcs.asm: New file.
13675         * config/frv/media.h: New file.
13676         * config/frv/modi.c: New file.
13677         * config/frv/t-frv: New file.
13678         * config/frv/uitod.c: New file.
13679         * config/frv/uitof.c: New file.
13680         * config/frv/ulltod.c: New file.
13681         * config/frv/ulltof.c: New file.
13682         * config/frv/umodi.c: New file.
13683         * config/frv/xm-frv.h: New file.
13684
13685         * config/frv/media.h: Removed again.
13686
13687 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13688
13689         * gcov.c (bb_file_time): New static variable.
13690         (object_directory): May also be object file.
13691         (preserve_paths): New static variable.
13692         (print_usage): Adjust.
13693         (options): Adjust.
13694         (process_args): Adjust.
13695         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
13696         file. Find modification date on bb file.
13697         (read_profile): Don't rewind a NULL file.
13698         (format_hwint): New static function.
13699         (function_summary): Use format_hwint.
13700         (output_data): SOURCE_FILE_NAME is never relative to
13701         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
13702         mangling. Adjust output format to make it more machine readable.
13703         * doc/gcov.texi: Document & clarify semantics.
13704
13705 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
13706
13707         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
13708
13709 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13710
13711         * gcc.c (cc1_options): Pass output file as auxbase when
13712         appropriate.
13713         * profile.c (init_branch_prob): FILENAME has already had ending
13714         stripped.
13715         * final.c (end_final): Likewise.
13716         * toplev.c (aux_base_name): New global.
13717         (compile_file): Pass aux_base_name to init init_branch_prob and
13718         end_final.
13719         (independent_decode_option, case 'a'): New auxinfo options.
13720         (case 'd'): Protect against mising basename.
13721         (do_compile): Initialize aux_base_name.
13722         * toplev.h (aux_base_name): New global.
13723         * doc/invoke.texi: Adjust documentation.
13724
13725 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13726
13727         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
13728         of TARGET_ALIGN_DOUBLE.
13729
13730 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
13731
13732         * diagnostic.c (inform): New function.
13733         * diagnostic.h (inform): Declare.
13734
13735 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
13736
13737         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
13738         (movhi_internal): Same.
13739         (movqi_internal): Same.
13740         (movdi_internal64): Same.
13741
13742         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
13743
13744         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
13745         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
13746         (COMMON_ASM_OP): Define.
13747         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
13748         Use ALIGN parameter.
13749         (LOCAL_COMMON_ASM_OP): Define.
13750         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
13751
13752 2002-08-03  Roger Sayle  <roger@eyesopen.com>
13753
13754         * builtins.def: Define new builtin functions exp, expf, expl,
13755         log, logf and logl (and their __builtin_* variants).
13756         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
13757         Define exp_optab and log_optab.
13758         * optabs.c (init_optans): Initialize exp_optab and log_optab.
13759         * genopinit.c (optabs): Implement exp_optab and log_optab
13760         using exp?f2 and log?f2 patterns.
13761         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
13762         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
13763         (expand_builtin): Ignore the new builtins (and all cos and
13764         sin variants) when not optimizing.  Expand new builtins via
13765         expand_builtin_mathfn when flag_unsafe_math_optimizations.
13766
13767         * doc/extend.texi: Document new exp and log builtins.
13768         * doc/md.texi: Document new exp?f2 and log?f2 patterns
13769         (and previously undocumented cos?f2 and sin?f2 patterns).
13770
13771 2002-08-03  Jason Merrill  <jason@redhat.com>
13772
13773         * explow.c (int_expr_size): New fn.
13774         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
13775         * expr.h: Declare it.
13776
13777 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
13778
13779         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
13780         gengtype-* dependencies.
13781
13782 2002-08-02  Eric Christopher  <echristo@redhat.com>
13783
13784         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
13785         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
13786         #ifndef to #undef.
13787         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
13788
13789 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
13790
13791         PR optimize/7067
13792         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
13793         small if optimizing for size.
13794
13795 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
13796
13797         * configure.in (FORBUILD): Use $build_alias.
13798         * configure: Regenerated.
13799
13800 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
13801
13802         * config.gcc: Don't include mips/abi64.h in $tm_file.
13803         * hard-reg-set.h (call_really_used_regs): Declare.
13804         * config/mips/abi64.h: Remove file.
13805         * config/mips/linux.h,
13806         * config/mips/iris6.h: Don't include it.
13807         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
13808         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
13809         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
13810         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
13811         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
13812         Bring across definitions from abi64.h.
13813         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
13814         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
13815         (struct mips_args): Use it.
13816         * config/mips/mips.c (mips_conditional_register_usage): Define.
13817
13818 2002-08-02  Jason Merrill  <jason@redhat.com>
13819
13820         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
13821         * langhooks.c (lhd_expr_size): Define default.
13822         * langhooks.h (struct lang_hooks): Add expr_size.
13823         * explow.c (expr_size): Call it.
13824         * expr.c (store_expr): Don't copy an expression of size zero.
13825         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
13826         to store.
13827         * Makefile.in (builtins.o): Depend on langhooks.h.
13828
13829 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13830
13831         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
13832         * ra-debug.c: Include "tm_p.h".
13833         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
13834
13835 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
13836
13837         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
13838         when not honoring signalling NaNs.
13839         (simplify_ternary_operation): a == b has a definite value
13840         when not honoring NaNs.
13841
13842 2002-08-02  Jason Merrill  <jason@redhat.com>
13843
13844         * gdbinit.in (pct): New macro.
13845
13846 2002-08-01  Stan Shebs  <shebs@apple.com>
13847             Andreas Tobler  <toa@pop.agri.ch>
13848
13849         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
13850         plays nice with Darwin headers.
13851         (_BSD_RUNE_T_DEFINED_): Likewise.
13852
13853 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13854
13855         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
13856         * cppinit.c (cpp_post_options): Likewise.
13857
13858         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
13859         warning about 'LL' suffix (but not 'ULL' etc) when
13860         -Wno-long-long is in effect.
13861
13862         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
13863         Check for failing time()/localtime(), issue a warning, and
13864         make __TIME__ and __DATE__ expand to fallback strings.
13865
13866         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
13867         and __TIME__ when the date and time cannot be determined.
13868
13869 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13870
13871         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
13872
13873 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
13874
13875         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
13876
13877 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13878
13879         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
13880         (mipsisa64sb1el-*-elf*): Likewise.
13881         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
13882         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
13883         (TARGET_SB1, TUNE_SB1): New macros.
13884         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
13885         -mtune flags.
13886
13887 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
13888
13889         * varasm.c (asm_emit_uninitialized): Return false if global BSS
13890         and ASM_EMIT_BSS not supported by target.
13891         (assemble_variable): Do not duplicate uninitialized logic.
13892         Fall through if asm_emit_uninitialized failed.
13893
13894 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13895
13896         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
13897
13898 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13899
13900         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
13901         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
13902
13903         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
13904         HOST_BITS_PER_WIDE_INT == 64.
13905
13906 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13907
13908         * df.c (df_insn_table_realloc): Change parameter to unsigned.
13909         * optabs.c (expand_binop): Make variable unsigned.
13910         * simplify-rtx.c (simplify_subreg): Likewise.
13911         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
13912
13913 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13914
13915         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
13916
13917 2002-08-01  Richard Henderson  <rth@redhat.com>
13918
13919         * toplev.c (parse_options_and_default_flags): Don't set
13920         flag_reorder_blocks for -Os.
13921
13922         * config/avr/avr.c (avr_optimization_options): Remove.
13923         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
13924         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
13925         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
13926
13927 2002-08-01  H.J. Lu <hjl@gnu.org>
13928             Richard Henderson  <rth@redhat.com>
13929
13930         * output.h (DECL_READONLY_SECTION): Remove.
13931         (decl_readonly_section): Declare.
13932         * varasm.c (decl_readonly_section): New.
13933         (default_section_type_flags, default_select_section): Use it.
13934         * config/arm/pe.c (arm_pe_unique_section): Likewise.
13935         * config/i386/interix.c (i386_pe_unique_section): Likewise.
13936         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
13937         * config/mcore/mcore.c (mcore_unique_section): Likewise.
13938         * config/mips/mips.c (mips_unique_section): Likewise.
13939
13940 2002-08-01  Richard Henderson  <rth@redhat.com>
13941
13942         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
13943         refers to a subroutine parameter.
13944
13945 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
13946
13947         * varasm.c (assemble_visibility): Strip name encoding.
13948
13949 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
13950
13951         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
13952         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
13953         when there is no frame pointer.
13954         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
13955         registers properly.
13956         * config/ns32k/__unorddf2.c: New file.
13957         * config/ns32k/__unordsf2.c: New file.
13958         * config/ns32k/t-ns32k: New file.
13959         * config.gcc (ns32k-*-netbsd*): Use it.
13960
13961 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
13962
13963         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
13964
13965 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13966
13967         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
13968
13969 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
13970
13971         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
13972
13973 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
13974
13975         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
13976
13977 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13978
13979         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
13980         n_sets): Removed.
13981         (expr_hash_table, set_hash_table): Type changed to ...
13982         (struct hash_table): New type.
13983         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
13984         insert_expr_in_table, insert_set_in_table, compute_hash_table,
13985         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
13986         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
13987         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
13988         (alloc_hash_table): New.
13989         (free_set_hash_table, free_expr_hash_table): Merged to ...
13990         (free_hash_table): New.
13991         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
13992         (compute_hash_table_work): New.
13993         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
13994         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
13995         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
13996         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
13997         hoist_code, one_code_hoisting_pass,
13998         trim_ld_motion_mems): Altered due to changed type of hash tables.
13999
14000 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
14001
14002         * final.c (output_alternate_entry_point):
14003         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
14004
14005 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14006
14007         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
14008         avoid ISO C style function definition.
14009
14010         * expr.c (expand_assignment): Delete unused variable.
14011
14012 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
14013
14014         * c-common.c (cb_register_builtins): Set
14015         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
14016         is given, and to 0 otherwise.
14017         * combine.c (simplify_if_then_else): HONOR_NANS
14018         implies FLOAT_MODE_P.
14019
14020 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14021
14022         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
14023         (cpp_handle_option): Don't handle it.
14024         (print_help): Update.
14025         * doc/cppopts.texi: Update.
14026
14027 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14028
14029         * c-common.c (cb_register_builtins): If C++, define
14030         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
14031         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
14032 cp:
14033         * lang-specs.h: Simplify in accordance with new code in
14034         c-common.c.
14035
14036 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14037
14038         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
14039         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
14040         * c-decl.c: Move all warning and flag variables to c-common.c.
14041         * c-format.c: Move all warning variables to c-common.c.
14042         * c-tree.h: Move all warning and flag declarations to c-common.h.
14043         * objc/objc-act.c: Move all warning variables to c-common.c.
14044         (flag_warn_protocol): Rename warn_protocol.
14045
14046 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14047
14048         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
14049
14050 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
14051
14052         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
14053         .section prefix.
14054
14055 2002-07-31  Stan Shebs  <shebs@apple.com>
14056
14057         * config.gcc (i[34567]86-*-darwin*): New configuration.
14058         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
14059         defining.
14060         (TARGET_ENCODE_SECTION_INFO): Ditto.
14061         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
14062         * config/darwin.c (machopic_indirect_data_reference): Remove
14063         setting of RTX_UNCHANGING_P.
14064         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
14065         not to be applied to sums.
14066         * config/i386/t-darwin: New file.
14067         * config/i386/darwin.h: New file.
14068         * config/i386/i386.h (TARGET_MACHO): Add default definition.
14069         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
14070         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
14071         label and not the GOT add.
14072         (constant_address_p): For Mach-O, seeing a CONST is enough.
14073         (legitimate_pic_address_disp_p): Add a Mach-O case.
14074         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
14075         (legitimize_pic_address): Use generic Mach-O code to legitimize.
14076         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
14077         if outputting a difference.
14078         (ix86_output_addr_diff_elt): Add Mach-O case.
14079         (ix86_expand_move): Similarly.
14080         (ix86_expand_call): Similarly.
14081         (current_machopic_label_num): New global.
14082         (machopic_output_stub): New function.
14083         (ix86_value_regno): New function.
14084         (ix86_function_value): Use it instead of VALUE_REGNO.
14085         (ix86_libcall_value): Ditto.
14086         * config/i386/unix.h (VALUE_REGNO): Remove.
14087
14088 2002-07-31  Graham Stott  <grahas@btinternet.com>
14089
14090         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
14091         hash for LABEL_REF's.
14092
14093 2002-07-31  Graham Stott  <grahams@btinternet.com>
14094
14095         * config/rs6000/rs6000.c (spe_init_builtins,
14096         altivec_init_builtins, rs6000_common_init_builtins):
14097         Replace ANSI with K&R function def.
14098
14099 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
14100
14101         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
14102         for CCFPmode.
14103
14104 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
14105
14106         * config/mips/crtn.asm: Don't use __mips16 to determine the
14107         return-address offset.  Define RA to a suitable temporary
14108         register for the return address.
14109
14110 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
14111
14112         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
14113         constraints to 'd'.
14114
14115 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
14116
14117         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
14118         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
14119         patch on 2002-07-29.)
14120         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14121
14122 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14123
14124         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
14125         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
14126         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
14127         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
14128         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
14129         (ASM_GLOBALIZE_LABEL): Delete.
14130         (GLOBAL_ASM_OP): Define.
14131
14132         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
14133
14134         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
14135         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
14136
14137 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
14138
14139         * doc/extend.texi (Hints implementation): Document that GCC
14140         mostly ignores `register'.
14141
14142 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
14143
14144         * flags.h: Declare flag_finite_math_only.
14145         Use it in definition of HONOR_NANS and
14146         HONOR_INFINITIES.
14147         * c-common.c (cb_register_builtins): Emit
14148         __FINITE_MATH_ONLY__ when flag_finite_math_only
14149         is set.
14150         * combine.c (simplify_if_then_else): If
14151         flag_finite_math_only is set, a == b has a
14152         definite value.
14153         * toplev.c: Initialize flag_finite_math_only.
14154         (set_flags_fast_math): Set it on -ffast-math.
14155         (flag_fast_math_set_p): Test it.
14156         * doc/invoke.texi: Document -ffinite-math-only.
14157
14158 2002-07-30  Richard Henderson  <rth@redhat.com>
14159
14160         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
14161         (noce_process_if_block): Likewise.
14162
14163 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
14164
14165         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
14166         Bail out early if false_expr is NULL and we'd crash due to this.
14167         * genemit.c (gen_expand): Recognize return insns even if the return
14168         appears in a parallel.
14169         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
14170         * config/fp-bit.c: Likewise.
14171         * doc/tm.texi: Document it.
14172
14173 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
14174             Zack Weinberg  <zack@codesourcery.com>
14175
14176         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
14177         CODE_FOR_nothing.  Change switch to if.
14178         (rs6000_expand_binop_builtin): Same.
14179         (rs6000_expand_builtin): Expand builtin if target support enabled.
14180         (rs6000_init_builtins): Init builtin if target support enabled.
14181         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
14182
14183 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14184
14185         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
14186
14187 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
14188
14189         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
14190
14191 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
14192
14193         * sh.md (cond_delay_slot): New attribute.
14194         (cbranch delay): Use it for anulled-true case.
14195         (stuff_delay_slot): New pattern.
14196         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
14197         delay slot insn.
14198         (gen_far_branch): Emit stuff_delay_slot pattern.
14199
14200 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
14201
14202         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
14203
14204 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
14205
14206         * fold-const.c: Fix comment typos.
14207         * gcse.c: Likewise.
14208         * reload1.c: Likewise.
14209
14210 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14211
14212         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
14213         for TARGET_SPE.
14214
14215 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14216
14217         * c-pretty-print.h (pp_c_statement): Declare.
14218         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
14219         (pp_c_statement): Define.
14220
14221 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14222
14223         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
14224         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
14225         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
14226         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
14227         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
14228         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
14229
14230         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
14231         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
14232
14233 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14234
14235         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
14236         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
14237         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
14238         (pp_c_expression): Update.
14239
14240 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14241
14242         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
14243         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
14244         * alpha/vms-ld.c (main): Likewise.
14245         * dsp16xx.c (double_reg_to_memory): Likewise.
14246         * mcore.c (mcore_expand_prolog): Likewise.
14247         * cppfiles.c (read_name_map): Likewise.
14248         * gensupport.c (process_rtx, identify_predicable_attribute,
14249         alter_test_for_insn): Likewise.
14250         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
14251
14252 2002-07-29  Roger Sayle  <roger@eyesopen.com>
14253
14254         * builtins.c (expand_builtin):  Change the default behavior to
14255         only issue an error if the builtin function doesn't have a
14256         fallback library call.  Remove several cases handled by the
14257         new default.
14258
14259 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
14260
14261         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
14262         floating point format of the target is IEEE.
14263         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
14264         format of the target is DEC.
14265
14266 2002-07-29  Richard Henderson  <rth@redhat.com>
14267
14268         * unroll.c (verify_addresses): Remove.
14269         (find_splittable_givs): Never split DEST_ADDR givs.
14270
14271 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
14272
14273         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
14274         is exhaustive.
14275         (Files): Improve documentation on generated source files.
14276
14277         * doc/extend.texi (Translation implementation): Document what
14278         diagnostics look like.
14279         (Identifiers implementation): Document that there's normally no
14280         limit on identifier names.
14281         (Integers implementation): Document two's complement.
14282         (Hints implementation): Document that GCC honors 'inline', mostly.
14283         (Preprocessing directives implementation): Document that GCC
14284         requires the current time.
14285
14286 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14287
14288         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
14289         (pp_initializer): New macro.
14290         (pp_c_initializer): Declare.
14291         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
14292         (pp_c_initializer): Define.
14293         (pp_c_initializer_list): New function.
14294         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
14295         VECTOR_CST, CONSTRUCTOR.
14296         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
14297         IMAGPART_EXPR.
14298         (pp_c_cast_expression): Handle FLOAT_EXPR.
14299         (pp_c_assignment_expression): Handle INIT_EXPR.
14300         (pp_c_expression): Update.
14301
14302 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
14303
14304         * objc/objc-act.c (objc_init): Return immediately if filename
14305         is NULL.
14306
14307 2002-07-29  Eric Christopher  <echristo@redhat.com>
14308
14309         * config/mips/elf.h: Remove ecoff.h and gofast includes.
14310         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
14311         (SDB_DEBUGGING_INFO): Undefine.
14312         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
14313         (PUT_SDB_SIZE): Remove.
14314         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
14315         (STARTFILE_SPEC): Add isa3264 define.
14316         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
14317         * config/mips/ecoff.h: Remove. and here...
14318         * config/mips/iris3.h: and here...
14319         * config/mips/sni-svr4.h: and here...
14320         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
14321         Add assembler -mmdebug options for non-dwarf debugging.
14322         * config/mips/r3900.h: Remove debug info defines.
14323         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
14324         * config/mips/isa3264.h: Ditto.
14325         * config/mips/t-isa3264: Fix up for file removal and gofast configure
14326         change.
14327         * config/mips/t-elf: Ditto.
14328         * config/mips/t-ecoff: Ditto.
14329         * config/mips/t-r3900: Ditto.
14330         * config/mips/t-iris5-6: Ditto.
14331         * config/mips/t-isa3264: Ditto.
14332         * config/mips/t-linux: Remove.
14333         * config/mips/t-netbsd: Remove.
14334         * config/mips/t-mips: New file.
14335         * config/mips/t-gofast: Ditto.
14336         * config/mips/netbsd.h: Remove unnecessary undefines.
14337         * config/mips/linux.h: Remove #include of mips.h.
14338         * config.gcc: Add mips.h include for elf targets. Remove tm_file
14339         for ecoff. Add gofast configure option for mips.
14340
14341 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
14342
14343         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
14344         linker scripts use STARTUP directives consistently.
14345         * configure: Regenerate.
14346         * config.in: Regenerate.
14347         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
14348         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
14349         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14350         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
14351         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
14352         will be the same.
14353
14354 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14355
14356         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
14357
14358 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14359
14360         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
14361
14362 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
14363
14364         * config/rs6000/rs6000.md: Move altivec patterns from here...
14365
14366         * config/rs6000/altivec.md: ...to here.
14367
14368 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14369
14370         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
14371
14372 2002-07-29  Richard Henderson  <rth@redhat.com>
14373
14374         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
14375         set_mem_attributes and add BITPOS argument.  Subtract it from
14376         OFFSET when same is adjusted.
14377         (set_mem_attributes): New wrapper function.
14378         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
14379         remove offset adjustment hack.
14380         * expr.h (set_mem_attributes_minus_bitpos): Declare.
14381
14382 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14383
14384         * Makefile.in (C_OBJS): Include c-pretty-print.o
14385         (c-pretty-print.o): Add depency rule.
14386         * pretty-print.h: Add more macros.
14387         * c-pretty-print.c: New file.
14388         * c-pretty-print.h: Likewise.
14389
14390 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14391
14392         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
14393         constants to __ev64_s32__.
14394         (__internal_ev_mwhgsmian): Same.
14395         (__internal_ev_mwhgsmfan): Same.
14396         (__internal_ev_mwhgssfan): Same.
14397         (__internal_ev_mwhgumiaa): Same.
14398         (__internal_ev_mwhgsmiaa): Same.
14399         (__internal_ev_mwhgsmfaa): Same.
14400         (__internal_ev_mwhgssfaa): Same.
14401
14402 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
14403
14404         * varasm.c (assemble_variable): Narrow test for uninitialized
14405         without BSS target support.
14406
14407 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
14408
14409         * profile.c: Add file comment describing the overall algorithm and
14410         structures.
14411         (struct edge_info): Add comments.
14412         (struct bb_info): Add comments.
14413         * basic-block.h (EDGE_*): Add comments.
14414         * doc/gcov.texi (Gcov Data Files): Document bit flags.
14415
14416 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
14417
14418         * config/xtensa/elf.h, config/xtensa/linux.h
14419         (TARGET_OS_CPP_BUILTINS): Define.
14420         (CPP_PREDEFINES): Remove.
14421         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
14422         (CPP_SPEC): Remove.
14423
14424 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
14425
14426         * gensupport.c: Include hashtab.h.
14427         (insn_elision, condition_table, hash_c_test, cmp_c_test,
14428         maybe_eval_c_test): New routines and data structures to
14429         support insn elision.
14430         (init_md_reader): Read and initialize the condition_table.
14431         (read_md_rtx): Discard insn patterns whose C test is provably
14432         always false.
14433         * gensupport.h: Declare new functions and data structures.
14434
14435         * genconditions.c, dummy-conditions.c: New files.
14436         * Makefile.in: Build genconditions; run it to construct
14437         insn-conditions.c; build that and link it into most gen*
14438         programs.
14439         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
14440         (GEN): Delete, unused.
14441         (STAGESTUFF): Update.
14442
14443         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
14444         CODE_FOR_nothing for all elided patterns.
14445         (main): Tweaked to support this.
14446         * genflags.c (gen_proto): Emit a static inline generator
14447         function here for all elided patterns, which simply returns
14448         NULL_RTX.
14449         (gen_insn): Do not define HAVE_xxx for elided patterns.
14450         (main): Tweaked to support this.  No need to forward-declare
14451         struct rtx_def.
14452         * genrecog.c: Do not bother emitting the C test if it's known
14453         to be true at compile time.
14454
14455 2002-07-29  Mike Stump  <mrs@apple.com>
14456
14457         * config.gcc (target_gtfiles): Initialize, as otherwise cross
14458         compilers hosted on powerpc-apple-darwin6.0 won't even build.
14459
14460 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
14461
14462         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
14463         remove clobber of LR.
14464         (sibcall_insn, sibcall_value_insn): Update accordingly.
14465         (sibcall_epilogue): Remove debugging comment from assembler stream.
14466
14467 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14468
14469         * pretty-print.h: Define more macros.
14470         * diagnostic.h (output_formatted_integer): Moved from...
14471         * diagnostic.c: ... here.
14472
14473 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14474
14475         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
14476
14477 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
14478
14479         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
14480         arguments.  Always use ".-symbol" as expression argument.
14481         * doc/tm.texi: Update to match.  Document requirement for
14482         ".size symbol, .-symbol" to be acceptable to assembler.
14483
14484         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14485         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
14486         config/i386/freebsd-aout.h, config/i386/sco5.h,
14487         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
14488         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
14489
14490 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14491
14492         * Makefile.in (gengtype-lex.c): Fix error in last change.
14493
14494         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
14495         backslash.
14496
14497         * Makefile.in (vmsdbgout.o): Depend on function.h.
14498
14499         * vmsdbgout.c: Include function.h.
14500
14501 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
14502
14503         * prefix.c (update_path): Don't strip single `.' path components
14504         unless stripping a later `..' component.  Exit loop as soon as
14505         a valid path is found.
14506
14507 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14508
14509         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
14510         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
14511         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
14512         floating point unordered comparisons (e.g. __builtin_isgreater)
14513         as const, and leave the remaining GCC_BUILTINs unchanged.
14514
14515         * c-decl.c (builtin_function): No need to explicitly mark
14516         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
14517
14518 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14519
14520         * Makefile.in: rtlanal.o now depends upon real.h.
14521
14522         * flags.h [flag_signaling_nans]: New flag.
14523         [HONOR_SNANS]: New macro.
14524
14525         * toplev.c [flag_signaling_nans]: Initialize to false.
14526         (f_options): Add processing for "-fsignaling-nans".
14527         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
14528         (process_options): flag_signaling_nans implies flag_trapping_math.
14529
14530         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
14531         when -fsignaling-nans.  First step to implementing WG14's N965.
14532
14533         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
14534         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
14535         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
14536
14537         * simplify-rtx.c (simplify_relational_operation): Conditionalize
14538         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
14539
14540         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
14541         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
14542         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
14543         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
14544         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
14545
14546         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
14547
14548 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14549
14550         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
14551         * gengtype-lex.l (YY_USE_PROTOS): Undef.
14552         (YY_DECL): Define.
14553
14554 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14555
14556         * doc/invoke.texi: Document that both -fno-builtin-foo and
14557         -fno-builtin are supported by the g++ front-end.
14558
14559 2002-07-27  Stan Shebs  <shebs@apple.com>
14560
14561         * configure.in: Rename config_gtfiles to target_gtfiles.
14562         * configure: Regenerate.
14563         * doc/gty.texi: Update reference.
14564         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
14565         instead of appending to it.
14566
14567 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
14568
14569         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
14570         vectors are split into two registers.
14571         (function_arg): Same.
14572
14573 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
14574
14575         * pa.md (extv): Check predicates before emitting extv_32.
14576
14577 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
14578
14579         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
14580         (rs6000_traceback): New var.
14581         (rs6000_override_options): Set rs6000_traceback.
14582         (rs6000_output_function_epilogue): Implement traceback options.
14583         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
14584         (rs6000_traceback_name): Declare.
14585
14586         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
14587         label reference when NO_PROFILE_COUNTERS.
14588
14589 2002-07-26  Jason Merrill  <jason@redhat.com>
14590
14591         * function.c (assign_parms): Handle frontend-directed pass by
14592         invisible reference.
14593
14594 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14595
14596         * doc/cppopts.texi: Update.
14597
14598 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14599
14600         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
14601         warnings on assertions.
14602
14603 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14604
14605         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
14606         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
14607         RID_COMPL): Remove.
14608         * c-parse.in (rid_to_yy): Similarly.
14609
14610 2002-07-26  Jason Merrill  <jason@redhat.com>
14611
14612         * c-dump.c: Resurrect.
14613         * tree-dump.c: Move C-specific stuff to c-dump.c.
14614         * c-common.h: Declare c_dump_tree.
14615         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
14616         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
14617         (c-dump.o): New rule.
14618
14619 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
14620
14621         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
14622         PowerPC64.  Replace "T" and "S" constraints with "n" when the
14623         predicate will do.  Formatting fixes.
14624         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
14625         as for extzvsi_internal1.
14626
14627 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14628
14629         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
14630         DERIV_END_LABEL_FMT): Remove.
14631         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
14632
14633 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14634
14635         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
14636         Remove.
14637
14638 2002-07-25  Stan Shebs  <shebs@apple.com>
14639
14640         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
14641         local var dwarfp.
14642         (output_compiler_stub): Remove unused locals.
14643         (output_call): Always initialize line number.
14644
14645 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14646
14647         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
14648         * sh.md (truncdiqi2, movqi_media): Likewise.
14649
14650 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14651
14652         * gcse.c (obstack_chunk_alloc): Remove.
14653         (gcse_alloc): Fix to count allocated bytes.
14654         * collect2.c (SYMBOL__MAIN): Remove.
14655
14656 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14657
14658         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
14659         HAVE_TARGET_EXECUTABLE_SUFFIX.
14660
14661 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14662
14663         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
14664         SIZE, EXPR and OFFSET.
14665
14666 2002-07-25  Richard Henderson  <rth@redhat.com>
14667
14668         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
14669         in ARRAY_REF of DECL_P case.
14670
14671 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14672
14673         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
14674         description.  Document -mips32, -mips64, and the associated -march
14675         values.  Describe the "mipsN" arguments to -march.  Say that the
14676         -mipsN options are equivalent to -march.  Reword the description
14677         of default type sizes.
14678         * toplev.h (target_flags_explicit): Declare.
14679         * toplev.c (target_flags_explicit): New var.
14680         (set_target_switch): Update target_flags_explicit.
14681         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
14682         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
14683         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
14684         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
14685         * config/mips/mips.h (mips_cpu_info): New struct.
14686         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14687         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
14688         (MIPS_CPP_SET_PROCESSOR): New macro.
14689         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
14690         Define _MIPS_ARCH and _MIPS_TUNE.
14691         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
14692         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
14693         MIPS_ISA_DEFAULT were already defined.
14694         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
14695         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
14696         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
14697         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
14698         (ABI_GAS_ASM_SPEC): Remove.
14699         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
14700         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
14701         Invoke %(asm_abi_default_spec) if no ABI was specified.
14702         (CC1_SPEC): Remove ISA -> register-size rules.
14703         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
14704         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
14705         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14706         (mips_cpu_info_table): New array.
14707         (mips_set_architecture, mips_set_tune): New fns.
14708         (override_options): Rework to make -mipsN equivalent to -march.
14709         Detect more erroneous cases, including those removed from CC1_SPEC.
14710         Don't change the ABI based on architecture, or vice versa.
14711         Unify logic with GAS.
14712         (mips_asm_file_start): Get architecture name from mips_arch_info.
14713         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
14714         (mips_parse_cpu): Take the name of the option as argument.  Handle
14715         'from-abi'.  Raise an error if the option is wrong.
14716         (mips_cpu_info_from_isa): New fn.
14717
14718 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14719
14720         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
14721         (tablejump_mips162): Likewise.
14722
14723 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
14724
14725         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
14726         int_mode_for_mode.
14727
14728 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
14729
14730         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
14731         complaining.
14732         * c-common.h (c_sizeof): Adjust definition.
14733         (c_alignof): Likewise.
14734         * c-tree.h (c_sizeof_nowarn): Now macro.
14735         * c-typeck.c (c_sizeof_nowarn): Remove definition.
14736
14737 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14738
14739         * c-decl.c (c_decode_option): No need to handle switches
14740         cpplib handles.
14741
14742 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
14743
14744         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
14745         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
14746         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
14747         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14748
14749         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14750         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
14751         config/cris/aout.h, config/i386/freebsd-aout.h,
14752         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
14753         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
14754         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
14755         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
14756         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
14757         config/xtensa/elf.h, config/xtensa/linux.h:
14758         Use the new macros.
14759         Where possible, remove redundant definitions of SIZE_ASM_OP,
14760         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14761
14762 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
14763
14764         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
14765         TARGET_ISEL, and TARGET_FPRS.
14766
14767         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
14768         -mabi=spe, -mabi=no-spe, and -misel=.
14769
14770         * config/rs6000/rs6000-protos.h: Add output_isel.
14771         Move vrsave_operation prototype here.
14772
14773         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
14774         (smaxsi3): Same.
14775         (uminsi3): Same.
14776         (umaxsi3): Same.
14777         (abssi2_nopower): Disallow when TARGET_ISEL.
14778         (*ne0): Same.
14779         (negsf2): Change to expand and rename old pattern to *negsf2.
14780         (abssf2): Change to expand and rename old pattern to *abssf2.
14781
14782         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
14783         fixunssfsi2.
14784
14785         Change patterns that check for TARGET_HARD_FLOAT or
14786         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
14787
14788         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
14789         rs6000_isel, rs6000_fprs, rs6000_isel_string.
14790         (rs6000_override_options): Add 8540 case to
14791         processor_target_table.
14792         Set rs6000_isel for the 8540.
14793         Call rs6000_parse_isel_option.
14794         (enable_mask_for_builtins): New.
14795         (rs6000_parse_isel_option): New.
14796         (rs6000_parse_abi_options): Add spe and no-spe.
14797         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
14798         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
14799         for TARGET_HARD_FLOAT.
14800         Add case for SPE_VECTOR_MODE.
14801         (rs6000_legitimize_reload_address): Handle SPE vector modes.
14802         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
14803         vector modes.
14804         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
14805         (rs6000_emit_move): Check for TARGET_FPRS.
14806         Add cases for SPE vector modes.
14807         (function_arg_boundary): Return 64 for SPE vector modes.
14808         (function_arg_advance): Check for TARGET_FPRS and
14809         Handle SPE vectors.
14810         (function_arg): Same.
14811         (setup_incoming_varargs): Check for TARGET_FPRS.
14812         (rs6000_va_arg): Same.
14813         (struct builtin_description): Un-constify mask field.  Move up in
14814         file.
14815         (bdesc_2arg): Un-constify and add SPE builtins.
14816         (bdesc_1arg): Same.
14817         (bdesc_spe_predicates): New.
14818         (bdesc_spe_evsel): New.
14819         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
14820         (rs6000_expand_binop_builtin): Same.
14821         (bdesc_2arg_spe): New.
14822         (spe_expand_builtin): New.
14823         (spe_expand_predicate_builtin): New.
14824         (spe_expand_evsel_builtin): New.
14825         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
14826         (rs6000_init_builtins): Initialize SPE builtins.  Call
14827         rs6000_common_init_builtins.
14828         (altivec_init_builtins): Move all non-altivec builtin code to...
14829         (rs6000_common_init_builtins): ...here.  New function.
14830         (branch_positive_comparison_operator): Allow NE code for SPE.
14831         (ccr_bit): Return correct ccr bit for SPE fp.
14832         (print_operand): Emit crnor in 'D' case for SPE.
14833         New case 't'.
14834         Add SPE code for 'y' case.
14835         (rs6000_generate_compare): Generate rtl for SPE fp.
14836         (output_cbranch): Handle SPE hard floats.
14837         (rs6000_emit_cmove): Handle isel.
14838         (rs6000_emit_int_cmove): New.
14839         (output_isel): New.
14840         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
14841         64-bits for SPE.
14842         (debug_stack_info): Add SPE info.
14843         (gen_frame_mem_offset): New.
14844         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
14845         Change mode of frame pointer, when saving it, to Pmode.
14846         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
14847         Misc cleanups and use gen_frame_mem_offset when appropriate.
14848
14849         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
14850         (TARGET_SPE_ABI): New.
14851         (TARGET_SPE): New.
14852         (TARGET_ISEL): New.
14853         (TARGET_FPRS): New.
14854         (FIXED_SCRATCH): New.
14855         (RTX_COSTS): Add PROCESSOR_PPC8540.
14856         (ASM_CPU_SPEC): Add case for 8540.
14857         (TARGET_OPTIONS): Add isel= case.
14858         (rs6000_spe_abi): New.
14859         (rs6000_isel): New.
14860         (rs6000_fprs): New.
14861         (rs6000_isel_string): New.
14862         (UNITS_PER_SPE_WORD): New.
14863         (LOCAL_ALIGNMENT): Adjust for SPE.
14864         (HARD_REGNO_MODE_OK): Same.
14865         (DATA_ALIGNMENT): Same.
14866         (MEMBER_TYPE_FORCES_BLK): New.
14867         (FIRST_PSEUDO_REGISTER): Set to 113.
14868         (FIXED_REGISTERS): Add SPE registers.
14869         (reg_class): Same.
14870         (REG_CLASS_NAMES): Same.
14871         (REG_CLASS_CONTENTS): Same.
14872         (REGNO_REG_CLASS): Same.
14873         (REGISTER_NAMES): Same.
14874         (DEBUG_REGISTER_NAMES): Same.
14875         (ADDITIONAL_REGISTER_NAMES): Same.
14876         (CALL_USED_REGISTERS): Same.
14877         (CALL_REALLY_USED_REGISTERS): Same.
14878         (SPE_ACC_REGNO): New.
14879         (SPEFSCR_REGNO): New.
14880         (SPE_SIMD_REGNO_P): New.
14881         (HARD_REGNO_NREGS): Adjust for SPE.
14882         (VECTOR_MODE_SUPPORTED_P): Same.
14883         (REGNO_REG_CLASS): Same.
14884         (FUNCTION_VALUE): Same.
14885         (LIBCALL_VALUE): Same.
14886         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
14887         (SPE_VECTOR_MODE): New.
14888         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
14889         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
14890         (rs6000_stack): Add spe_gp_size, spe_padding_size,
14891         spe_gp_save_offset.
14892         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
14893         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
14894         (SPE_CONST_OFFSET_OK): New.
14895         (rs6000_builtins): Add SPE builtins.
14896
14897         * testsuite/gcc.dg/ppc-spe.c: New.
14898
14899         * config/rs6000/eabispe.h: New.
14900
14901         * config/rs6000/spe.h: New.
14902
14903         * config/rs600/spe.md: New.
14904
14905         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
14906         __SIMD__ for TARGET_SPE.
14907
14908         * config.gcc: Add powerpc-*-eabispe* case.
14909         Add spe.h to user headers for powerpc.
14910
14911 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14912
14913         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
14914         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14915         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
14916
14917 2002-07-24  Richard Henderson  <rth@redhat.com>
14918
14919         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
14920         form when not optimizing.
14921
14922 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
14923
14924         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
14925         thread_pointer_rtx as unchanging.
14926
14927 2002-07-24  Michael Matz  <matz@suse.de>
14928
14929         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
14930         (free_reg): Use it.
14931
14932 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
14933
14934         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
14935         pattern.
14936         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
14937         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
14938
14939 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14940
14941         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
14942         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14943         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
14944
14945 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
14946
14947         * toplev.c (rest_of_compilation): Dump loops before clobbering
14948         the structure.
14949
14950 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
14951
14952         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
14953
14954 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
14955
14956         PR optimization/7291
14957         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
14958         problem on x86_64.
14959
14960 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
14961
14962         * pretty-print.h: Add macros from cp/error.c
14963
14964 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14965
14966         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
14967         (mask64_2_operand): Declare.
14968         (build_mask64_2_operands): Declare.
14969         (and64_2_operand): Declare.
14970         (extract_MB): Declare.
14971         (extract_ME): Declare.
14972         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
14973         CONST_DOUBLE code.
14974         (mask_operand_wrap): New insn predicate.
14975         (mask64_2_operand): Likewise.
14976         (and64_2_operand): Likewise.
14977         (build_mask64_2_operands): New function.
14978         (extract_MB): New function.
14979         (extract_ME): New function.
14980         (print_operand <case m,M>): Use extract_MB and extract_ME.
14981         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
14982         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
14983         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
14984         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
14985         * config/rs6000/rs6000.md (andsi3_internal3): New
14986         (andsi3_internal3+1): Enable split for powerpc64.
14987         (andsi3_internal3+2): New split.
14988         (andsi3_internal4): Renamed old andsi3_internal3.
14989         (andsi3_internal5): New.
14990         (andsi3_internal5+1): Enable split for powerpc64.
14991         (andsi3_internal5+2): New split.
14992         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
14993         (anddi3): Handle 't' constraint.
14994         (anddi3+1): New split.
14995         (anddi3_internal2): Handle 't' constraint.
14996         (anddi3_internal2+1): New split.
14997         (anddi3_internal3): Handle 't' constraint.
14998         (anddi3_internal3+1): New split.
14999
15000 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
15001
15002         * config/rs6000/rs6000.md: Remove scratch reg on insns using
15003         addze and similar (plus (comparison r1 r2) r3) insns.  Add
15004         missing scratch reg in one case.  Formatting fixes.
15005
15006 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
15007
15008         * cppexp.c (parse_defined): Mark macro used.
15009         * cpphash.h (struct cpp_macro): New member "used".
15010         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
15011         (struct cpp_reader): New member.
15012         * cppinit.c (cpp_finish_options): Set first_unused_line.
15013         (cpp_finish): Warn of unused macros if requested.
15014         (OPT_TABLE): New switches.
15015         (cpp_handle_option): Handle them.
15016         * cpplib.c (do_undef): Warn if macro unused.
15017         (do_ifdef, do_ifndef): Mark macro used.
15018         * cpplib.h (struct cpp_options): New member.
15019         * cppmacro.c (_cpp_warn_if_unused_macro): New.
15020         (enter_macro_context): Mark macro used.
15021         (_cpp_create_definition): Mark macro unused; warn if unused
15022         when redefined.
15023         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
15024         Mark macros used.
15025         * doc/cppopts.texi: Update.
15026
15027 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15028
15029         * dwarf2out.c (SECTION_ASM_OP,
15030         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15031         * system.h (SECTION_ASM_OP): Poison.
15032         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
15033         * config/alpha/alpha-interix.h, config/mips/linux.h
15034         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15035         * config/mmix/mmix-protos.h, config/mmix/mmix.c
15036         (mmix_asm_output_define_label_difference_symbol): Remove.
15037         * config/mmix/mmix.h
15038         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15039         * doc/tm.texi: Remove documentation.
15040
15041 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
15042
15043         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
15044         (constrain_operands): Likewise.
15045         * regclass.c (record_reg_classes): Likewise.
15046         * reload.c (find_reloads): Likewise.
15047         * doc/md.texi: Likewise.
15048
15049         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
15050         * simplify-rtx.c (simplify_subreg): When converting to a non-int
15051         mode, try to convert to an integer mode of matching size first.
15052
15053         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
15054         from individual subregs, check that each subreg has been generated
15055         sucessfully.
15056
15057 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15058
15059         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
15060         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
15061         FOR_EACH_BB_IN_SBITMAP): Remove.
15062         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
15063         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
15064         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
15065         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
15066         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
15067         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
15068
15069 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15070
15071         * pretty-print.h: New file.
15072
15073 2002-07-23      Paul Koning     <pkoning@equallogic.com>
15074
15075         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
15076         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
15077         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
15078         (TARGET_G_FLOAT): Default to 0 if not defined.
15079         (ieeetoe): New, common routine to convert target format floats
15080         to internal form.
15081         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
15082         vs. others.
15083         (e113toe): Change to use ieeetoe.
15084
15085 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
15086
15087         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
15088         IBM.
15089         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
15090         (e64toe): Remove special cases for DEC and IBM. Remove support for
15091         ARM_EXTENDED_IEEE_FORMAT.
15092         (e24toe): Remove special cases for DEC.
15093         (significand_size): Simplify. Indent.
15094         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
15095         (etoieee, toieee): New.
15096         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
15097         etoieee and toieee for IEEE arithmetic.
15098
15099 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15100
15101         * doc/extend.texi: Say ISO C90, not ISO C89.
15102         * doc/invoke.texi: Likewise.
15103         * doc/standards.texi: Likewise.
15104
15105 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
15106
15107         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
15108         Fix permutation of conversion and plus/mult.
15109         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
15110         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
15111         (expand_builtin_strncpy) Ditto.
15112         (expand_builtin_memset) Ditto.
15113
15114 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15115
15116         Fix PR/7363:
15117         * c-common.c (c_sizeof_or_alignof_type): New function.
15118         (c_alignof): Remove definition.
15119         * c-common.h (c_sizeof, c_alignof): Define as macros.
15120         (c_sizeof_or_alignof_type): Declare.
15121         (my_friendly_assert): Moved from cp/cp-tree.h
15122         * c-typeck.c (c_sizeof): Remove definition.
15123
15124 2002-07-23  Jan Hubicka  <jh@suse.cz>
15125
15126         * gcse.c (try_replace_reg): Use num_changes_pending.
15127         * recog.c (num_changes_pending): New function.
15128         (validate_replace_src): Use validate_repalce_src_group.
15129         (validate_replace_src_group): New.
15130         * recog.h (validate_repalce_src_group): New.
15131         (num_changes_pending): Likewise.
15132
15133 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15134
15135         * calls.c (emit_library_call_value_1): If
15136         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
15137         libcall, const call nor pure call.
15138
15139 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15140
15141         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
15142
15143 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15144
15145         * vmsdbgout.c (SECTION_ASM_OP): Remove.
15146
15147 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15148
15149         * config/i386/i386.c (AT_BP): Remove.
15150
15151 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15152
15153         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
15154         Default definition.
15155         * gcse.c: Don't define obstack_chunk_free.
15156         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
15157         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
15158         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
15159         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
15160         Don't define obstack macros.
15161
15162 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
15163
15164         PR target/6744
15165         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
15166         ASM_OPERANDS instructions.
15167
15168 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
15169
15170         PR target/7361
15171         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
15172         constant addresses only on 68HC12.
15173
15174 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
15175
15176         * cppfiles.c (stack_include_file): Correct test of whether
15177         a dependency should be output.
15178
15179 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
15180
15181         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
15182
15183 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
15184
15185         * arm.md (movqi): If optimizing and we can create pseudos, use
15186         a ZERO_EXTEND to load from memory, then copy the result into the
15187         target.
15188         (movhi): Likewise, but only for ARMv4.
15189
15190 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
15191
15192         * ssa-ccp.c (PHI_PARMS): Remove.
15193
15194 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
15195
15196         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
15197         on big-endian targets.
15198
15199 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15200
15201         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
15202         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
15203         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
15204         New formatting macros.
15205
15206         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
15207
15208 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
15209
15210         * rtlanal.c (subreg_regno_offset): Return correct offset for
15211         big endian paradoxical subregs.
15212
15213         * optabs.c (expand_vector_unop): Don't expand using sub_optab
15214         if we got the wrong mode.
15215
15216         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
15217         * genrecog.c (write_switch, write_cond): Use it.
15218         * genemit.c (gen_exp): Likewise.
15219
15220 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15221
15222         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
15223
15224 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15225
15226         * c-decl.c (build_compound_literal): Defer compound literal decls
15227         until until file end to emit them only if they are actually used.
15228
15229 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15230
15231         * ra-build.c (check_conflict_numbers): Hide unused function.
15232         (livethrough_conflicts_bb): Avoid automatic aggregate
15233         initialization.
15234         (parts_to_webs_1): Avoid `U' integer constant modifier.
15235         (conflicts_between_webs): Wrap a variable in the macro controlling
15236         its usage.
15237         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
15238         (dump_igraph, dump_graph_cost): Avoid string concatenation
15239         (dump_static_insn_cost): Avoid automatic aggregate
15240         initialization.
15241         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
15242         initialization.
15243         (dump_cost): Avoid string concatenation
15244
15245 2002-07-21  Richard Henderson  <rth@redhat.com>
15246
15247         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
15248         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
15249
15250 2002-07-21  Richard Henderson  <rth@redhat.com>
15251
15252         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
15253         that are not unrolled completely.
15254
15255 2002-07-21  Richard Henderson  <rth@redhat.com>
15256
15257         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
15258         * loop.c (strength_reduce): Update.
15259         * toplev.c (rest_of_compilation): Do unrolling in the first
15260         loop pass, not the second.
15261
15262 2002-07-21  Richard Henderson  <rth@redhat.com>
15263
15264         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
15265         when flag_argument_noalias == 2.
15266         * alias.c (nonoverlapping_memrefs_p): Handle that.
15267         * print-rtl.c (print_mem_expr): Likewise.
15268
15269 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
15270
15271         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
15272         instead of __negdi2 directly.
15273
15274 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15275
15276         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
15277         * function.c (SYMBOL__MAIN): Remove definition.
15278         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
15279         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
15280         * profile.c (GCOV_INDEX_TO_BB): Remove.
15281         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
15282         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
15283
15284 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15285
15286         * c-lex.c (GET_ENVIRONMENT): Remove.
15287         * collect2.c (GET_ENV_PATH_LIST): Remove.
15288         (prefix_from_env): Use GET_ENVIRONMENT.
15289         * cppinit.c (GET_ENV_PATH_LIST): Remove.
15290         (init_standard_includes): Use GET_ENVIRONMENT.
15291         * defaults.h (GET_ENVIRONMENT): Define here if not already.
15292         * gcc.c (GET_ENV_PATH_LIST): Remove.
15293         (make_relative_prefix, process_command): Update.
15294         * protoize.c (GET_ENV_PATH_LIST): Remove.
15295         (do_processing): Update.
15296
15297 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
15298
15299         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
15300         (grokdeclarator): Likewise.
15301         * c-format.c (C_STD_NAME): Likewise.
15302         * c-lex.c (interpret_integer): Likewise.
15303         * c-typeck.c (build_array_ref): Likewise.
15304         * cpplex.c (_cpp_lex_direct): Likewise.
15305         * toplev.c (documented_lang_options): Likewise.
15306
15307 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15308
15309         * c-format.c (T99_I, T99_UI): Remove.
15310
15311 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15312
15313         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
15314
15315 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
15316
15317         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
15318         do_local_cprop.
15319
15320 2002-07-21  Andreas Jaeger  <aj@suse.de>
15321
15322         * reload1.c (fixup_abnormal_edges): Remove unused variable.
15323
15324 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
15325
15326         Improvements for the ifcvt pass from Michael Meissner, with patches
15327         by Richard Sandiford <rsandifo@redhat.com>
15328         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
15329         * ifcvt.c (cond_exec_changed_p): New static variable.
15330         (last_active_insn): New function, renamed from last_active_insn_p
15331         and changed to return the last active insn in a basic block. All
15332         callers updated.
15333         (block_fallthru): New function.
15334         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
15335         IFCVT_MODIFY_INSN.  All callers updated.
15336         Return false if START or END are NULL.
15337         Handle case where we're processing an insn that is already
15338         conditional.
15339
15340         (noce_process_if_block): CE_INFO argument rather than
15341         multiple args containing the involved basic blocks.  All callers
15342         changed.
15343         (process_if_block, merge_if_block, find_if_block,
15344         cond_exec_process_if_block): Likewise.
15345
15346         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
15347         changed.
15348         Use new function last_active_insn to simplify some code.
15349         New code to handle multiple tests.
15350         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
15351         cond_exec_changed_p to TRUE.
15352
15353         (process_if_block): New code to handle multiple tests.
15354         (merge_if_block): Likewise.
15355         (find_if_header): New arg PASS.  Changed to return the currently
15356         processed basic block or NULL instead of true/false. All callers
15357         changed.
15358         Call IFCVT_INIT_EXTRA_FIELDS.
15359         (block_jumps_and_fallthru_p): New function.
15360         (find_if_block): Discover opportunities to convert multiple tests.
15361         Add additional debugging output.
15362         Update the ce_info structure before returning.
15363
15364         (if_convert): Run multiple passes of if-conversion.
15365         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
15366         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
15367         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
15368         these macros.
15369
15370 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
15371
15372         * gcse.c: Include cselib.h
15373         (constptop_register): Break out from ...
15374         (cprop_insn): ... here; kill basic_block argument.
15375         (do_local_cprop, local_cprop_pass): New functions.
15376         (one_cprop_pass): Call local_cprop_pass.
15377
15378 2002-07-20  Roger Sayle  <roger@eyesopen.com>
15379
15380         * simplify-rtx.c (simplify_relational_operation): Optimize
15381         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
15382
15383 2002-07-20  Michae Matz  <matz@suse.de>
15384
15385         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
15386
15387 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
15388
15389         * cppexp.c (struct op): Add token pointer.
15390         (check_promotion, CHECK_PROMOTION): New.
15391         (optab): Update.
15392         (_cpp_parse_expr): Update, use token pointer of struct op.
15393         (reduce): Warn about change of sign owing to promotion.
15394         * cppinit.c (cpp_handle_option): New warning if -Wall.
15395         * cpplib.h (struct cpp_options): New member.
15396
15397 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
15398
15399         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
15400         fpu list.  Separate Power4 compare and delayed_compare.  Correct
15401         Power4 fpcompare.
15402         (fix_truncdfsi2_internal): Restore FPR preference.
15403         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
15404         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
15405
15406 2002-07-19  Momchil Velikov <velco@fadata.bg>
15407
15408         * reload1.c (reload_as_needed): Duplicate oldpat.
15409
15410 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
15411
15412         PR optimization/7130
15413         * loop.h (struct loop_info): Add "preconditioned".
15414         * unroll.c (unroll_loop): Set it.
15415         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
15416
15417 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
15418
15419         * rtl.def (CODE_LABEL): Remove slot 8.
15420         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
15421         (LABEL_ALTERNATE_NAME): Delete.
15422         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
15423         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15424
15425         * final.c (output_alternate_entry_point): New.
15426         (final_scan_insn): Use it instead of
15427         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
15428         of a case label being an alternate entry point.
15429
15430         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
15431         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
15432         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
15433         (field deleted).
15434         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
15435
15436         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
15437         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
15438         * doc/tm.texi: Delete documentation of
15439         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15440
15441 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15442
15443         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
15444         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
15445         (LINK_SPEC): Define.
15446         (STARTFILE_SPEC): Define.
15447         (ENDFILE_SPEC): Define.
15448
15449         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
15450         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
15451
15452         * config/mips/iris6-o32-gas.h: New file.
15453         * config.gcc (mips-sgi-irix6*o32): Use it.
15454
15455         * config/mips/t-iris5-gas: New file.
15456         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15457
15458 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
15459
15460         * cppexp.c (ALWAYS_EVAL): Remove.
15461         (optab, reduce): Always evaluate.
15462         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
15463         only if not skipping evaluation.
15464
15465 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15466
15467         * config/avr/avr.c (debug_hard_reg_set): Remove.
15468
15469 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
15470
15471         * gcc.c (cpp_options): Include "%1" (cc1_spec).
15472
15473 2002-07-19  Richard Henderson  <rth@redhat.com>
15474
15475         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
15476
15477 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
15478
15479         * prefix.c (update_path): Don't zap single `.' path components
15480         unless followed by another `.' and fix typo last patch.
15481
15482 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
15483
15484         * cppexp.c (cpp_num_mul): Remove unused parameter.
15485         (UNARY, BINARY, OTHER, binary_handler): Remove.
15486         (ALWAYS_EVAL): New.
15487         (optab): Update.
15488         (reduce): Refactor to a large switch, don't use a function
15489         pointer.
15490
15491 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
15492
15493         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
15494
15495 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
15496
15497         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
15498         (sh_expand_binop_v2sf): Likewise.
15499         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
15500         (int_gpr_dest, trunc_hi_operand): New functions.
15501         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
15502         trunc_hi_operand.
15503         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
15504         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
15505         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
15506         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
15507         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
15508         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
15509         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
15510         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
15511         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
15512         (movsf_ie+1): Likewise.
15513         (loaddi_trunc): Use int_gpr_dest predicate.
15514         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
15515         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
15516         (casesi_worker_0+[12], casesi_worker): Likewise.
15517         (shcompact_preserve_incoming_args): Likewise.
15518         (mov_nop): Use any_register_operand predicate.
15519         (mperm_w0): Use trunc_hi_operand predicate.
15520
15521 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15522
15523         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
15524         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
15525         numbering.
15526
15527 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15528
15529         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
15530
15531 2002-07-18  Richard Henderson  <rth@redhat.com>
15532
15533         PR optimization/7147
15534         * ifcvt.c (noce_get_condition): Make certain that the condition
15535         is valid at JUMP.
15536
15537 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
15538
15539         * sh.c (barrier_align, push): Shut up compiler warnings.
15540         (initial_elimination_offset,sh_media_init_builtins): Likewise.
15541         (reg_no_subreg_operand): Delete.
15542
15543 2002-07-17  Bo Thorsen  <bo@suse.de>
15544
15545         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
15546         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
15547         (STARTFILE_SPEC): Remove hardcoded library paths.
15548         (ENDFILE_SPEC): Likewise.
15549
15550 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
15551
15552         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
15553
15554         * gcse.c (try_replace_reg): Do not return false positives.
15555
15556 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15557
15558         * prefix.c: (update_path): Strip ".." components when prior dir
15559         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
15560
15561         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
15562         (ASM_OUTPUT_REG_POP): Likewise.
15563
15564 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15565
15566         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
15567         adjustments to first_reg for profiling case.
15568         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
15569         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
15570         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
15571         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
15572         (ASM_OUTPUT_REG_POP): Define.
15573         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
15574         (ASM_OUTPUT_REG_POP): Undef.
15575
15576 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15577
15578         * cpplib.c (do_sccs): Handle #sccs on all systems.
15579         * system.h (SCCS_DIRECTIVE): Poison.
15580         * config/darwin.h, config/freebsd.h, config/netbsd.h,
15581         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
15582         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
15583         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
15584         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
15585         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
15586         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
15587         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
15588         Remove all references to SCCS_DIRECTIVE.
15589         * doc/cpp.texi, doc/tm.texi: Update.
15590
15591 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
15592
15593         * regrename.c (maybe_mode_change): New function.
15594         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
15595
15596 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
15597
15598         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
15599         suppress addition when either ct or cf are zero.
15600
15601 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
15602             Glen Nakamura <glen@imodulo.com>
15603
15604         PR optimization/6713
15605         * loop.c (loop_givs_rescan): Explicitly delete the insn that
15606         sets a non-replaceable giv after issuing the new one.
15607
15608 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15609
15610         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
15611         eval_token): Clarify and correct use of "bool" variables.
15612         * cpplib.h (struct cpp_options): Similarly.
15613         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
15614         * cpptrad.c (recursive_macro): Similarly.
15615
15616 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
15617
15618         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
15619         SHmedia code.
15620
15621         * sh.md (cmpgtudi_media): Remove spurious @.
15622
15623         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
15624         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
15625
15626         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
15627         * sh-protos.h (sh_initialize_trampoline): Declare.
15628         * sh.c (sh_initialize_trampoline): New function.
15629         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
15630         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
15631         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
15632         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
15633         * sh.md (initialize_trampoline, double_shori): New patterns.
15634         (initialize_trampoline_compact): Likewise.
15635         (shmedia32_initialize_trampoline_big): Remove.
15636         (shmedia32_initialize_trampoline_little): Likewise.
15637
15638         * sh-protos.h (binary_float_operator): Remove declaration.
15639         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
15640         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
15641         (unary_float_operator, sh_expand_unop_v2sf): New functions.
15642         (sh_expand_binop_v2sf): Likewise.
15643         (zero_vec_operand): Delete.
15644         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
15645         all non-shared ones.
15646         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
15647         Enable nsb and byterev.
15648         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
15649         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
15650         in general regs.
15651         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
15652         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
15653         immediate operands.
15654         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
15655         Add DF_HI_REGS.
15656         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
15657         lowpart fp regs - only for big endian for now.
15658         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
15659         when FPU is in use.
15660         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
15661         (LOAD_EXTEND_OP): NIL for SImode.
15662         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
15663         general and fp registers is 4.
15664         PREDICATE_CODES: Amend binary_float_operator entry.
15665         Remove zero_vec_operand.  Add unary_float_operator.
15666         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
15667         subreg SET_DEST.
15668         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
15669         (truncdiqi2): Do sign extension.
15670         (movsi_media, movdi_media): Allow to use r63 to an fp register.
15671         (movdf_media, movsf_media): Likewise.
15672         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
15673         Collapse to one define_insn_and_split.  Allow immediate sources.
15674         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
15675         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
15676         (movv4sf): Allow immediate sources.
15677         (movsf_media_nofpu+1): Don't split moves to FP registers.
15678         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
15679         (movv8qi_i+3): Check against CONST0_RTX.
15680         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
15681         for input and output operands.  Fix argument 3 to gen_mextr_rl.
15682         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
15683         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
15684         (mshf0_w, fipr, ftrv): Likewise.
15685         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
15686
15687 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
15688
15689         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
15690         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
15691         * arm.c: Similarly.
15692
15693 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
15694
15695         * config/mips/mips-protos.h (mips_sign_extend): Declare.
15696         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
15697         (TARGET_SWITCHES): Remove debugh.
15698         (ISA_HAS_TRUNC_W): New macro.
15699         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
15700         (PREDICATE_CODES): Remove se_nonimmediate_operand.
15701         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
15702         any SImode move_operand.
15703         (se_nonimmediate_operand): Remove.
15704         (mips_sign_extend): New.
15705         (mips_move_2words): Use it for sign-extended source operands.
15706         (override_options): Allow integers to be put into single FPRs.
15707         (mips_secondary_reload_class): Handle integers in float registers.
15708         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
15709         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
15710         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
15711         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
15712         (fix_truncdfdi2): Provide only a single alternative, in which the
15713         integer is in a float register.  Depend on TARGET_FLOAT64 rather
15714         than TARGET_64BIT.
15715         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
15716         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
15717         (movdi_internal2): Don't allow the source operand to be sign-extended.
15718         Add alternatives for float registers.
15719         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
15720         allows sign-extension.
15721         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
15722         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
15723         float registers.  Remove TARGET_DEBUG_H_MODE test.
15724         (movhi_internal1): Rename to movhi_internal.  Don't check
15725         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
15726         (movqi_internal1): Rename to movqi_internal and remove
15727         TARGET_DEBUG_H_MODE dependency.
15728         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
15729
15730 2002-07-16  Jim Wilson  <wilson@redhat.com>
15731
15732         * toplev.c (lang_dependent_init): Create function context for
15733         init_expr_once.
15734
15735 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
15736
15737         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
15738         --gc-sections if -r.
15739         * config/cris/cris.h: Ditto.
15740
15741 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
15742
15743         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
15744         the comparison directly gives a mask suppress addition when cf is
15745         zero by complementing the mask.
15746
15747 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
15748
15749         * Makefile.in: Delete references to enquire.
15750         * enquire.c: Move to contrib.
15751
15752 2002-07-16  Stan Shebs  <shebs@apple.com>
15753
15754         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
15755         config/rs6000/darwin.h.
15756         (ASM_OUTPUT_SKIP): Ditto.
15757         (TEXT_SECTION_ASM_OP): Ditto.
15758         (DATA_SECTION_ASM_OP): Ditto.
15759         (ASM_APP_ON): Define.
15760         (ASM_APP_OFF): Define.
15761         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
15762         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
15763
15764         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
15765         (machopic_function_base_name): Declare result to be const.
15766         (machopic_non_lazy_ptr_name): Ditto.
15767         (machopic_stub_name): Ditto.
15768         * config/darwin-protos.h: Ditto for the prototypes.
15769
15770 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
15771
15772         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
15773
15774 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
15775
15776         * i386.md (prefetch): Fix for 64bit mode.
15777         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15778
15779 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
15780
15781         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
15782         * i386.c (x86_machine_dependent_reorg): New function.
15783         * i386-protos.h (x86_machine_dependent_reorg): Declare.
15784
15785 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
15786
15787         * builtins.c (std_expand_builtin_va_start): Remove unused
15788         first argument.
15789         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
15790         std_expand_builtin_va_start with just two arguments.
15791         * expr.h: Update prototypes.
15792
15793         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
15794         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
15795         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
15796         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
15797         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
15798         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
15799         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
15800         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
15801         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
15802         argument from all implementations of EXPAND_BUILTIN_VA_START
15803         and all uses of std_expand_builtin_va_start.
15804
15805 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15806
15807         * regrename.c (copy_value): Don't record high part copies.
15808
15809 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15810
15811         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
15812         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
15813         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
15814
15815 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
15816
15817         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
15818
15819         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
15820         into addsi3 using register class "x" and "y".
15821
15822         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
15823         "earlyclobber" constraint modifier for some alternative.
15824
15825         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
15826         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
15827         unordered.
15828         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
15829
15830         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
15831         (TARGET_SWITCHES): Add -mieee-compare option.
15832         (OVERRIDE_OPTIONS): 32332 is a subset of
15833         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
15834         (TARGET_SWITCHES): Fix description of bitfield option.
15835         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
15836         -mieee-compare option. Remove 32332 flag.
15837
15838 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15839
15840         * explow.c (convert_memory_address): Remove special handling
15841         when POINTERS_EXTEND_UNSIGNED < 0.
15842         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
15843         (movedi_symbolic): Fix typo.
15844         (load_fptr): Remove mode restriction so it works for SI and DI.
15845         (load_fptr_internal1): Ditto.
15846         (load_gprel): Ditto.
15847         (load_symptr_internal1): Ditto.
15848         (call_pic): Ditto.
15849         * config/ia64.c (call_operand): Modify mode check.
15850         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
15851         (ia64_expand_move): Ditto.
15852         (ia64_assemble_integer): Handle SImode function pointers.
15853         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
15854         (ia64_expand_op_and_fetch): Ditto.
15855         (ia64_expand_compare_and_swap): Ditto.
15856         (ia64_expand_lock_test_and_set): Ditto.
15857         (ia64_expand_lock_release): Ditto.
15858
15859 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15860
15861         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
15862
15863 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15864             Richard Earnshaw  <rearnsha@arm.com>
15865
15866         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
15867         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
15868
15869 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
15870
15871         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
15872         understands to be a memory clobber.
15873         * arm.c (arm_expand_prologue): Use it.
15874
15875 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
15876
15877         * ra-rewrite.c: #include reload.h, insn-config.h
15878         * ra-build.c: #include reload.h
15879         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
15880         depend on reload.h, insn-config.h.
15881
15882 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
15883
15884         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
15885         the same size as a word.
15886
15887         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
15888         BYTES_BIG_ENDIAN into account.
15889
15890 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
15891
15892         * i386.md (prefetch): Fix for 64bit mode.
15893         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15894
15895         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
15896
15897 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15898
15899         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
15900
15901 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
15902
15903         * ginclude/varargs.h: Replace with stub which issues #error.
15904         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
15905         __builtin_va_start.
15906
15907         * builtins.def (BUILT_IN_VARARGS_START): Delete.
15908         (BUILT_IN_VA_START): New.
15909         * builtins.c (expand_builtin_va_start): Eliminate first
15910         argument and code to implement pre-ISO varargs.
15911         (std_expand_builtin_va_start): Ignore first argument; it is
15912         always 1.
15913         (expand_builtin): Handle BUILT_IN_VA_START and
15914         BUILT_IN_STDARG_START identically.  Delete
15915         BUILT_IN_VARARGS_START case.
15916
15917         * function.c (assign_parms): Delete hide_last_arg and all
15918         its uses.
15919         (mark_varargs): Delete function.
15920         * function.h (struct function): Delete 'varargs' bit.
15921         (current_function_varargs): Delete macro.
15922         * tree.h: Don't declare mark_varargs.
15923
15924         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
15925         (c_expand_body): Don't call mark_varargs.
15926         * c-objc-common.c: Handle BUILT_IN_VA_START and
15927         BUILT_IN_STDARG_START identically.  Delete
15928         BUILT_IN_VARARGS_START case.
15929         * c-tree.h: Don't declare c_mark_varargs.
15930         * c-parse.in: Remove grammar rules for '&...' (which has been
15931         commented out since before 2.7.2) and for '...' in K+R
15932         argument declarations.
15933
15934         * builtins.c, function.c, integrate.c, sibcall.c,
15935         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
15936         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
15937         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
15938         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
15939         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
15940         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
15941         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
15942         config/stormy16/stormy16.c: Delete all references to
15943         current_function_varargs, and code predicated on that flag.
15944
15945         * config/alpha/alpha.c (alpha_va_start),
15946         config/arc/arc.c (arc_va_start),
15947         config/i386/i386.c (ix86_va_start),
15948         config/mips/mips.c (mips_va_start),
15949         config/mn10300/mn10300.c (mn10300_va_start),
15950         config/rs6000/rs6000.c (rs6000_va_start),
15951         config/s390/s390.c (s390_va_start),
15952         config/sh/sh.c (sh_va_start),
15953         Ignore first argument; it is always 1.
15954
15955         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
15956         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
15957         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
15958         Delete m68hc11_va_start.
15959         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
15960         No need to define EXPAND_BUILTIN_VA_START.
15961
15962         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
15963         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
15964
15965 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
15966
15967         PR optimization/7153
15968         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
15969         dies in more than one insn.
15970
15971 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
15972
15973         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
15974
15975 2002-07-15  Michael Matz  <matz@suse.de>,
15976             Daniel Berlin  <dberlin@dberlin.org>,
15977             Denis Chertykov  <denisc@overta.ru>
15978
15979         Add a new register allocator.
15980
15981         * ra.c: New file.
15982         * ra.h: New file.
15983         * ra-build.c: New file.
15984         * ra-colorize.c: New file.
15985         * ra-debug.c: New file.
15986         * ra-rewrite.c: New file.
15987
15988         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
15989         (ra-rewrite.o): New .o files for libbackend.a.
15990         (GTFILES): Add basic-block.h.
15991
15992         * toplev.c (flag_new_regalloc): New.
15993         (f_options): New option "new-ra".
15994         (rest_of_compilation): Call initialize_uninitialized_subregs()
15995         only for the old allocator.  If flag_new_regalloc is set, call
15996         new allocator, instead of local_alloc(), global_alloc() and
15997         friends.
15998
15999         * doc/invoke.texi: Document -fnew-ra.
16000         * basic-block.h (FOR_ALL_BB): New.
16001         * config/rs6000/rs6000.c (print_operand): Write small constants
16002         as @l+80.
16003
16004         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
16005         (df_reg_table_realloc): Make size at least as large as max_reg_num().
16006         (df_insn_table_realloc): Size argument now is absolute, not relative.
16007         Changed all callers.
16008
16009         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
16010         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
16011
16012         2002-06-20  Michael Matz  <matz@suse.de>
16013
16014         * df.h (struct ref.id): Make unsigned.
16015         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
16016
16017         2002-06-13  Michael Matz  <matz@suse.de>
16018
16019         * df.h (DF_REF_MODE_CHANGE): New flag.
16020         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
16021         involving subregs with invalid mode changes, when
16022         CLASS_CANNOT_CHANGE_MODE is defined.
16023
16024         2002-05-07  Michael Matz  <matz@suse.de>
16025
16026         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
16027
16028         2002-05-03  Michael Matz  <matz@suse.de>
16029
16030         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
16031
16032         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
16033
16034         * regclass.c (regclass): Work with all regs which have sets or
16035         refs.
16036         (reg_scan_mark_refs): Count regs inside (clobber ...).
16037
16038         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
16039
16040         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
16041         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
16042         add new refs.
16043         (df_bb_refs_update): Don't clear insns_modified here, ...
16044         (df_analyse): ... but here.
16045
16046         * sbitmap.c (dump_sbitmap_file): New.
16047         (debug_sbitmap): Use it.
16048
16049         * sbitmap.h (dump_sbitmap_file): Add prototype.
16050
16051         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
16052
16053         * df.c (df_insn_modify): Grow the UID table if necessary, rather
16054         than assume all emits go through df_insns_modify.
16055
16056         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
16057
16058         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
16059         increase REG_N_REFS (like flow does), so that regclass doesn't
16060         think a reg is useless, and thus, not calculate a class, when it
16061         really should have.
16062
16063         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
16064
16065         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
16066         dataflow analysis.
16067
16068 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
16069
16070         PR middle-end/7245
16071         * config/i386/i386.c (const_int_1_31_operand): New.
16072         * config/i386/i386.h (PREDICATE_CODES): Add it.
16073         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
16074         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
16075         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
16076
16077 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
16078
16079         PR target/7282
16080         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
16081         (floatunssidf2): Likewise.
16082         (floatsidf_ppc64): New insn_and_split.
16083         (floatunssidf_ppc64): Likewise.
16084
16085 2002-07-14  Andreas Jaeger  <aj@suse.de>
16086
16087         * config.gcc (sh64): Remove unused
16088         target_requires_64bit_host_wide_int.
16089
16090 2002-07-12  Roger Sayle  <roger@eyesopen.com>
16091
16092         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
16093         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
16094         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
16095         whether clear_by_pieces should be used to clear storage.
16096         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
16097
16098         * doc/tm.texi: Document these two new target macros.
16099
16100 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
16101
16102         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
16103         the scratch register.
16104         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
16105         of it, forbid reload to use it.
16106
16107 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16108
16109         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
16110         usage on 64-bit hosts, return value was truncated to 32 bits.
16111
16112 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
16113
16114         * simplify-rtx.c (simplify_subreg): Handle floating point
16115         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
16116         the element mode is requested, compute a subreg with an
16117         integer mode of the same size as the element mode first.
16118
16119 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
16120
16121         * combine.c (try_combine): When converting a paradoxical subreg
16122         to an extension, take LOAD_EXTEND_OP into account.
16123
16124 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16125
16126         * config.gcc (mips-sgi-irix6*o32): New configuration.
16127
16128         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
16129         configurations.
16130         * configure: Regenerate.
16131
16132         * config/mips/iris6-o32-as.h: New file.
16133         * config/mips/iris6-o32.h: New file.
16134
16135         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
16136         (NM_FLAGS): Define.
16137         (HAVE_AS_SHF_MERGE): Undefine.
16138
16139         * config/mips/t-iris5-as: New file.
16140         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
16141
16142         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
16143         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
16144         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
16145         dp-bit.c, fp-bit.c): Move ...
16146         * config/mips/t-iris5-6: ... here.
16147         New file, shared by IRIX 5 and IRIX 6.
16148         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
16149         mips-sgi-irix5*): Use it.
16150
16151         * config/mips/iris6.h: Remove duplicate comment.
16152
16153         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
16154         !TARGET_IRIX6]: Define.
16155         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
16156
16157         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
16158
16159 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16160
16161         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
16162         and delete code to force constant to register.
16163         * pa-protos.h (adddi3_operand): Add prototype.
16164         * pa.c (adddi3_operand): New function.
16165
16166 2002-07-11  Roger Sayle  <roger@eyesopen.com>
16167
16168         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
16169         non-ANSI builtin functions.
16170
16171 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
16172
16173         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
16174         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
16175         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
16176         (gen_const_vector_0): Use it.
16177
16178 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16179
16180         * pa.md (adddi3): For 32-bit targets, force constants to a register
16181         if they don't fit in an 11-bit immediate.  Change insn predicate to
16182         arith11_operand.  Remove comment.
16183         * pa.c (cint_ok_for_move): Fix comment.
16184         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
16185         targets.
16186
16187 2002-07-11  Tim Josling  <tej@melbpc.org.au>
16188
16189         Remove front end hard coding from gengtype.c.
16190
16191         * Makefile.in
16192         (STAGESTUFF): add gtyp-gen.h
16193         (GTFILES): Remove front end specific files.
16194         (GTFILES_FILES_LANGS): New, from configure..
16195         (GTFILES_FILES_FILES): Likewise.
16196         (GTFILES_LANG_DIR_NAMES): Likewise.
16197         (GTFILES_SRCDIR): Likewise.
16198         (gtyp-gen.h): Build from configure information.
16199         (s-gtype): Remove command line parameters from gengtype.
16200         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
16201         (mostlyclean): Delete files generated by and for gengtype.
16202
16203         * c-config-lang.in: New file.
16204
16205         * configure.in (all_gtfiles_files_langs): New. Accumulate files
16206         for each language.
16207         (all_gtfiles_files_files): New. Accumulate language for each file
16208         accumulated.
16209         (gtfiles): Pick up value for C.
16210         (srcdir): AC-SUBST this variable.
16211         (all_gtfiles_files_langs): AC-SUBST this variable.
16212         (all_gtfiles_files_files): AC-SUBST this variable.
16213
16214         * configure: Regenerate.
16215
16216         * gengtype-lex.l (parse_file): Make parameter const.
16217
16218         * gengtype.c (toplevel): include gtyp-gen.h.
16219         (BASE_FILE_<language> unnamed enum): Delete.
16220         (lang_names): Delete (replaced by gtyp-gen.h)
16221         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
16222         all references.
16223         (NUM_GT_FILES): New.
16224         (NUM_LANG_FILES): New.
16225         (srcdir_len): New.
16226         (NUM_BASE_FILES): Change calculation.
16227         (open_base_files): Change prototype to avoid warning.
16228         (startswith): Delete.
16229         (get_file_basename): Iterate through generated language list not
16230         hard coded list.
16231         (get_base_file_bitmap): Use generated list of files and languages.
16232         (close_output_files): Add prototype to rmove warning.
16233         (main): Iterate through list of generated files from gtyp-gen.h
16234         rather than command line paramaters.  Ignore duplicated file
16235         names.
16236
16237         * gengtype.h (parse_file): Amend prototype for const parameter.
16238
16239         * doc/sourcebuild.texi: Document gtfiles variable.
16240
16241         * doc/gty.texi: Document changes to gtfiles variable for front
16242         ends.
16243
16244         * objc/config-lang.in (gtfiles): Add files needed for objc front
16245         end.
16246
16247 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16248
16249         PR c/2454
16250         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
16251         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
16252
16253 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16254             Zack Weinberg <zack@codesourcery.com>
16255
16256         * builtins.def: Make the argument types of abort and exit
16257         independent of the front-end.
16258
16259 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
16260
16261         * config/rs6000/linux64.h (ASM_SPEC): Define.
16262
16263 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
16264
16265         * config/rs6000/rs6000.c (emit_frame_save): New.
16266         (rs6000_frame_related): Replace reg2 before reg.
16267         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
16268         and eh_return registers.
16269
16270 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
16271
16272         Revert all patches for optimization of Complex .op. Real.
16273         * complex_part_zero_p: Remove
16274         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
16275         with x.
16276         * expand_cmplxdiv_wide: Ditto.
16277         * expand_binop: Ditto.
16278
16279 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16280
16281         * config/avr/avr.md: Fix two 0x80000000 constants to make them
16282         negative also on 64-bit hosts.
16283
16284         Default to -fno-reorder-blocks when optimizing for size.
16285         * config/avr/avr-protos.h (avr_optimization_options): Declare.
16286         * config/avr/avr.c (avr_optimization_options): New function.
16287         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
16288
16289         Optimize returning from simple functions.
16290         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
16291         * config/avr/avr.c (avr_simple_epilogue): New function.
16292         * config/avr/avr.md (return): New insn.
16293
16294 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
16295
16296         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
16297         HAS_INIT_SECTION to protection.
16298
16299 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
16300
16301         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
16302         deprecated.
16303
16304 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
16305
16306         * combine.c (gen_lowpart_for_combine): Handle vector modes.
16307         Supply non-VOID mode to simplify_gen_subreg.
16308
16309 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
16310
16311         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
16312
16313 2002-07-10  Jeffrey A Law  <law@redhat.com>
16314
16315         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
16316         as appropriate.
16317
16318         * mn10200.c (expand_epilogue): Fix test to determine which scratch
16319         register to use.
16320
16321 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
16322
16323         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
16324         Get mode from dest.
16325         If simplify_gen_subreg fails, try next equivalent.
16326
16327 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
16328
16329         * diagnostic.h: #include location.h
16330         (location_t): Move definition to..
16331         * location.h: ... here.  New file.
16332         * tree.h: #include location.h
16333         (DECL_SOURCE_LOCATION): New macro.
16334         (DECL_SOURCE_FILE): Use.
16335         (DECL_SOURCE_LINE): Likewise.
16336         (struct tree_decl): REplace filename and linenum with locus.
16337         * Makefile.in (TREE_H): add location.h
16338         (diagnostic.o): Depends on gt-location.h
16339         (gt-location.h): Depends on s-gtype
16340
16341 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
16342
16343         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
16344         TARGET_OS_CPP_BUILTINS.
16345         * config/rs6000/aix31.h: Likewise.
16346         * config/rs6000/aix41.h: Likewise.
16347         * config/rs6000/aix43.h: Likewise.
16348         * config/rs6000/aix51.h: Likewise.
16349         * config/rs6000/beos.h: Likewise.
16350         * config/rs6000/darwin.h: Likewise.
16351         * config/rs6000/eabi.h: Likewise.
16352         * config/rs6000/eabisim.h: Likewise.
16353         * config/rs6000/linux.h: Likewise.
16354         * config/rs6000/linux64.h: Likewise.
16355         * config/rs6000/lynx.h: Likewise.
16356         * config/rs6000/mach.h: Likewise.
16357         * config/rs6000/rtems.h: Likewise.
16358         * config/rs6000/sysv4.h: Likewise.
16359         * config/rs6000/vxppc.h: Likewise.
16360
16361 2002-07-09 Devang Patel <dpatel@apple.com>
16362         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
16363         Do not allow ObjC objects as a parameter type for Objective-C methods.
16364         My previous patch restricted  'struct' also.
16365
16366 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
16367
16368         * cpperror.c (cpp_error): Default to directive_line within
16369         directives here.
16370         * cppexp.c (cpp_interpret_integer): Only use traditional
16371         number semantics in directives.
16372         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
16373         (do_include_common): Similarly.
16374         * cpptrad.c (scan_out_logical_line): Implement accurate
16375         quoting of <> in #include.
16376         * doc/cpp.texi: Update.
16377
16378 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
16379                           J"orn Rennecke <joern.rennecke@superh.com>
16380
16381         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
16382         * sh.md (attribute issues): Replace with:
16383         (attribute pipe_model).  All users changed.
16384         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
16385         All users changed.
16386         (function units sh5issue, sh5fds): New.
16387         (attribute is_mac_media): New.
16388         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
16389         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
16390         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
16391         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
16392         (call_media, call_value_media, sibcall_media): Likewise.
16393         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
16394         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
16395         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
16396         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
16397         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
16398         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
16399         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
16400         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
16401         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
16402         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
16403         (truncdfsf2_media): Likewise.
16404         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
16405         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
16406
16407 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
16408
16409         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
16410         * sh.c (general_extend_operand, inqhi_operand): New functions.
16411         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
16412         alternatives using 'N' modifier.  Add type.
16413         (adddi3z_media): Likewise.  Enable generator function generation.
16414         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
16415         exact predicates / constraints.  Add type.
16416         (subsi3): Allow 0 for SHMEDIA.
16417         (udivsi3_i4_media): Use match_operand for input values
16418         rather than hard registers.
16419         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
16420         unnecessarily through hard registers.  Keep copies of pseudo
16421         registers outside of the libcall sequence.
16422         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
16423         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
16424         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
16425         (extendhidi2, extendqidi2): Likewise.
16426         (andsi3_compact): Name.
16427         (andcdi3): Enable generator function generation.
16428         (zero_extendhisi2, zero_extendqisi2): Rename to
16429         (zero_extendhisi2_compact, zero_extendqisi2_compact).
16430         (extendhisi2, extendqisi2): Rename to
16431         (extendhisi2_compact, extendqisi2_compact).
16432         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
16433         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
16434         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
16435         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
16436         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
16437         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
16438         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
16439         (shmedia32_initialize_trampoline_big): Likewise.
16440         (shmedia32_initialize_trampoline_little): Likewise.
16441         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
16442         (negdi2): Remove spurious T clobber.
16443         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
16444         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
16445         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
16446         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
16447         (ic_invalidate_line_media): Write back data cache before invalidating
16448         instruction cache.  Add type.
16449         (movsf_media): Sign-extend when the destination is a general
16450         purpose register.  Add type.
16451         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
16452         (casesi_worker_0+1): Only increment ref count for proper label.
16453         (casesi_worker_0+2): Likewise.
16454
16455 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
16456
16457         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
16458
16459 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
16460
16461         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
16462         from Pmode to ptr_mode.
16463         (get_exception_pointer): Ditto.
16464         (connect_post_landing_pads): Ditto.
16465         (dw2_build_landing_pads): Ditto.
16466
16467 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
16468         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
16469         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
16470         (handle_pragma_redefine_extname): Change to use new function.
16471
16472 2002-07-08  Roger Sayle  <roger@eyesopen.com>
16473
16474         * combine.c (combine_simplify_rtx): Add an explicit cast
16475         to avoid signed/unsigned comparison warning.
16476         (simplify_if_then_else): Likewise.
16477         (extended_count): Likewise.
16478         (simplify_shift_const): Likewise.
16479         (simplify_comparison): Likewise.
16480
16481 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
16482
16483         * config/mips/mips.md: Add imadd type.  Update scheduler description
16484         to use imadd as well as imul.
16485         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
16486         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
16487         (*mul_sub_si): Likewise for first alternative.  Change second
16488         alternative from imul to multi.
16489
16490 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
16491
16492         * c-common.c (c_common_post_options): Update prototype;
16493         don't init backends if preprocessing only.
16494         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
16495         * langhooks.h (struct lang_hooks): Update post_options to
16496         return a boolean.
16497         * toplev.c (parse_options_and_default_flags, do_compile,
16498         lang_independent_init): Update prototypes.  Allow the
16499         front end to specify that there is no need to initialize
16500         the back end.
16501         (general_init): Move call to hex_init here...
16502         (toplev_main): ...from here.  Pass flag for back end init
16503         suppression.
16504
16505 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
16506
16507         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
16508         (PREDICATE_CODES): Add entries for equality_comparison_operator,
16509         greater_comparison_operator and less_comparison_operator.
16510         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
16511         more operators.
16512         (equality_comparison_operator): New function.
16513         (greater_comparison_operator, less_comparison_operator): Likewise.
16514         * sh.md (beq_media_i): Disable generator function generation.
16515         Use match_operator to handle a whole class of comparisons.  Add
16516         modifier in output template to provide branch prediction.  Add type.
16517         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
16518         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
16519         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
16520         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
16521
16522 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
16523
16524         Emit MMIX function prologue and epilogue as rtl.
16525         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
16526         not unprototyped get_hard_reg_initial_val.
16527         ("call_value", "nonlocal_goto_receiver"): Ditto.
16528         ("return"): Make define_expand.  Move real insn to...
16529         ("*expanded_return"): New pattern.
16530         ("prologue", "epilogue"): New define_expands.
16531         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
16532         (struct machine_function): New member in_prologue.
16533         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
16534         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
16535         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
16536         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
16537         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
16538         (LOCAL_REGNO): Define.  Adjust comment.
16539         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
16540         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
16541         leaf_function_p.
16542         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
16543         the prologue.
16544         (mmix_target_asm_function_prologue): Make static.  Just mark that
16545         the prologue is being emitted.  Move guts to...
16546         (mmix_expand_prologue): New function.  Adjust for emitting
16547         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
16548         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
16549         \n.  Move guts to...
16550         (mmix_expand_epilogue): New function.  Adjust for emitting
16551         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
16552         (mmix_target_asm_function_end_prologue): Mark that the prologue
16553         has ended.
16554         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
16555         (mmix_conditional_register_usage): Improve comments.
16556         (mmix_local_regno): New function.
16557         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
16558         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
16559         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
16560         (mmix_get_hard_reg_initial_val): Ditto.
16561
16562 2002-07-06  Andreas Jaeger  <aj@suse.de>
16563
16564         * toplev.c (set_fast_math_flags): Don't use ISO C style function
16565         definitions.
16566         * gengtype.c (open_base_files): Likewise.
16567         (close_output_files): Likewise.
16568         * tracer.c (find_best_predecessor): Likewise.
16569         (find_best_successor): Likewise.
16570         (ignore_bb_p): Likewise.
16571
16572 2002-07-05  Roger Sayle  <roger@eyesopen.com>
16573
16574         PR c++/7099
16575         * builtin-attrs.def: Define new attribute lists for use in
16576         builtins.def.
16577         * builtins.def [DEF_BUILTIN]: Modify to take an additional
16578         ATTRS argument, an enumerated value defined in builtin-attrs.def
16579         that represents the attribute list for the builtins.  Modify
16580         all builtin functions to pass an appropriate attribute list.
16581         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
16582         their required noreturn attributes.
16583         * tree.h (enum_builtin_function): Ignore the additional parameter
16584         to DEF_BUILTIN.
16585         * builtins.c (built_in_names): Likewise.
16586         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
16587         argument with a tree representing the functions attribute list.
16588         Pass this "attrs" argument to builtin_function.  No longer handle
16589         the noreturn_p processing manually.
16590         (built_in_attributes): Move the definitions from builtin-attrs.def
16591         before c_common_nodes_and_builtins.
16592         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
16593         DEF_BUILTIN, passing it to both builtin_function and the changed
16594         builtin_function_2.
16595
16596         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
16597         __builtin__exit and __builtin__Exit.
16598
16599 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16600
16601         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
16602         QI mode registers in soft registers.
16603         ("zero_extendqihi2"): Do not take into account soft registers
16604         for register allocation (use '*' constraint).
16605
16606 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16607
16608         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
16609         it is dead.
16610         ("*ashrsi3"): Likewise.
16611         ("*lshrsi3"): Likewise.
16612
16613 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
16614
16615         * genautomata.c (output_max_insn_queue_index_def): Take latencies
16616         into account.
16617
16618 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16619
16620         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
16621         address computation and memory moves.
16622
16623 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
16624
16625         PR c++/6706
16626         * dwarfout.c (output_reg_number): Fix warning message.
16627         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
16628         before using it.
16629
16630 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16631
16632         * gcc/gcc.c (asm_debug): Move initialization ...
16633         (init_spec): ... here.
16634
16635 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
16636
16637         * c-parse.in (extdef): Append ';'.
16638         (old_style_parm_decls): Append ';'.
16639
16640 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
16641
16642         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
16643         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
16644         to gcc_cv_as_gstabs_flag.
16645         * configure: Rebuilt.
16646
16647 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
16648
16649         * ggc.h (ggc_add_root): Document as obsolete.
16650
16651 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
16652
16653         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
16654         (mshflo_w): Likewise.
16655
16656 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
16657
16658         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
16659         vector mode subregs of constants to finding integer mode
16660         subregs of constants.
16661         * cse.c (cse_insn): Use simplify_gen_subreg.
16662         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
16663         From a vector mode expression of different size than the
16664         target mode.
16665
16666 2002-07-03  Eric Christopher  <echristo@redhat.com>
16667
16668         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
16669         * config/mips/mips.h: Remove deprecated -m<processor> options
16670         and cc1_cpu_spec associated.
16671         (CONSTANT_ADDRESS_P): Fix last patch.
16672         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
16673         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
16674         sunge_sf): Remove.
16675
16676 2002-07-03  Stan Shebs  <shebs@apple.com>
16677
16678         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
16679         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
16680         (CPP_SPEC): Remove insertion of APPLE_CC definition.
16681
16682 2002-07-03  Roger Sayle  <roger@eyesopen.com>
16683
16684         * combine.c (struct_undo): Change types of recorded substitutions
16685         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
16686         (do_SUBST_INT): Change types of the substitution from unsigned int
16687         to int, to avoid compilation warning from SUBST_INT's only caller.
16688
16689         (make_extraction): Add cast to avoid compilation warning.
16690         (force_to_mode): Remove cast to avoid compilation warning.
16691
16692 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
16693             Jeff Law  <law@redhat.com>
16694
16695         * i386.md (length_immediate attribute): Fix typo.
16696         (length_address attribute): Likewise.
16697         (modrm attribute): Set it to 0 for immediate call instructions.
16698         (jcc_1 pattern): Set modrm attribute to 0.
16699         (jcc_2 pattern ): Likewise.
16700         (jump pattern): Likewise.
16701         (doloop_end_internal pattern): Explicitly set length.
16702         (leave pattern): Fix typo.
16703         (leave_rex64 pattern): Likewise.
16704
16705 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
16706
16707         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
16708         in FPR as preference.
16709         (fctiwz): Same.
16710         (floatdidf2, fix_truncdfdi2): Same.
16711         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
16712         (floatditf2): Same.
16713         (floatsitf2, fix_trunctfsi2): SImode in GPR.
16714         (ctrdi): Remove FPR alternative and splitter.
16715
16716 2002-07-03  Will Cohen  <wcohen@redhat.com>
16717
16718         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
16719
16720 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
16721
16722         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
16723         than UNITS_PER_WORD, unless this is little endian and the first unit
16724         in this word.  Let extract_bit_field decide how to load an element.
16725         Force arguments to matching mode.
16726         (expand_vector_unop): Likewise.
16727
16728         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
16729         consist of word_mode elements.
16730         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
16731         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
16732         (build_unary_op): Allow vector types for BIT_NOT_EPR.
16733         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
16734         CONST_VECTOR.
16735         * optabs.c (expand_vector_binop): Try to perform operation in
16736         smaller vector modes with same inner size.  Add handling of AND, IOR
16737         and XOR.  Reject expansion to inner-mode sized scalars when using
16738         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
16739         (expand_vector_unop): Try to perform operation in smaller vector
16740         modes with same inner size.  Add handling of one's complement.
16741         When there is no vector negate operation, try a vector subtract
16742         operation.  Use simplify_gen_subreg on constants.
16743         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
16744         constants into smaller vectors with same inner mode, and to
16745         integer CONST_DOUBLEs.
16746
16747 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16748
16749         * c-parse.in (parsing_iso_function_signature): New variable.
16750         (extdef_1): New, copied from...
16751         (extdef): ... here.  Reset parsing_iso_function_signature.
16752         (old_style_parm_decls):  Reset parsing_iso_function_signature.
16753         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
16754         Warn about ISO C style function definitions.
16755         (nested_function, notype_nested_function): Reset
16756         parsing_iso_function_signature.
16757         (parmlist_2): Set parsing_iso_function_signature.
16758
16759         * doc/invoke.texi (-Wtraditional): Document new behavior.
16760
16761 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
16762
16763         * config.gcc (mips*el-*-*): Use tm_defines to set
16764         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
16765         * config/mips/little.h: Remove.
16766
16767 2002-07-02 Devang Patel <dpatel@apple.com>
16768
16769         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
16770         object as parameter. Prevent something like 'NSObject' to be
16771         used as the type for a method argument.
16772
16773 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
16774
16775         * cpptrad.c: Update comment.
16776
16777 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16778
16779         * doc/cpp.texi: Update for traditional preprocessing changes.
16780         * goc/cppopts.texi: Similarly.
16781
16782 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
16783
16784         * c-parse.in (designator): Enable designated initializers if ObjC.
16785         (objcmessageexpr): Remove references to objc_receiver_context.
16786         * objc/objc-act.h (objc_receiver_context): Remove decl.
16787         * objc/objc-act.c (objc_receiver_context): Remove.
16788         (lookup_objc_ivar): Test objc_method_context instead of
16789         objc_receiver_context.
16790
16791 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
16792
16793         * sh.c (print_operand, case 'N'): Allow zero vector.
16794         (arith_reg_or_0_operand): Likewise.
16795         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
16796         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
16797         IOR, XOR, PLUS and SET and take their respective constant
16798         ranges into account.
16799         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
16800         * sh.md (subdi3, subdi3_media): Allow zero operand.
16801         (movv8qi_i+3): Only vector that is not split is the zero vector.
16802         Fix operand 3 to simplify_subreg.
16803         (movv2si_i): Split alternative 1.
16804         (mshfhi_l_di_rev+1): New splitter.
16805
16806 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16807
16808         PR preprocessor/7029
16809         * cppinit.c (cpp_handle_option):  Suppress warnings with an
16810         implicit "-w" for "-M" and "-MM".
16811         * doc/cppopts.texi: Update.
16812
16813 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16814
16815         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
16816         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
16817         builtin_function.
16818
16819 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
16820
16821         * README.Portability: Fix typos.
16822
16823 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
16824
16825         PR target/7177
16826         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
16827         of indirections for register inside sign-extended mem part.
16828
16829 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16830
16831         * tree.h:  Modify builtin_function interface to take an extra
16832         argument ATTRS, which is a tree representing an attribute list.
16833
16834         * c-decl.c (builtin_function): Accept additional parameter.
16835         * objc/objc-act.c (builtin_function): Likewise.
16836         * f/com.c (builtin_function): Likewise.
16837         * java/decl.c (builtin_function): Likewise.
16838         * ada/utils.c (builtin_function): Likewise.
16839         * cp/decl.c (builtin_function): Likewise.
16840         (builtin_function_1): Likewise.
16841
16842         * c-common.c (c_common_nodes_and_builtins): Pass an additional
16843         NULL_TREE argument to builtin_function.  (builtin_function_2):
16844         Likewise.
16845         * cp/call.c (build_java_interface_fn_ref): Likewise.
16846         * objc/objc-act.c (synth_module_prologue): Likewise.
16847         * java/decl.c (java_init_decl_processing): Likewise.
16848         * f/com.c (ffe_com_init_0): Likewise.
16849
16850         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
16851         NULL_TREE argument to builtin_function.
16852         * config/arm/arm.c (def_builtin): Likewise.
16853         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
16854         * config/i386/i386.c (def_builtin): Likewise.
16855         * config/ia64/ia64.c (def_builtin): Likewise.
16856         * config/rs6000/rs6000.c (def_builtin): Likewise.
16857
16858 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
16859
16860         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
16861         * config/mips/t-isa3264: Likewise.
16862         * config/mmix/t-mmix: Likewise.
16863
16864 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16865
16866         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
16867
16868 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16869
16870         PR opt/4046
16871         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
16872         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
16873         B are truth values.
16874
16875 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
16876
16877         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
16878
16879 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
16880
16881         * README.Portability (Function prototypes): Give an example of
16882         declaring and defining a function with no arguments.
16883
16884         * README.Portability (Function prototypes): Document new
16885         variable-argument function macros.
16886
16887 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
16888
16889         * sh.c (langhooks.h): Include.
16890         (sh_init_builtins, sh_media_init_builtins): New functions.
16891         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
16892         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
16893         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
16894         (builtin_description): New struct tag.
16895         (signature_args, bdesc): New arrays.
16896         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
16897         (print_operand): Add 'N' modifier.
16898         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
16899         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
16900         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
16901         (CONST_COSTS): Add special case for SHmedia AND.
16902         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
16903         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
16904         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
16905         target_operand can also be const or unspec.
16906         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
16907         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
16908         (attribute type): Add new types.
16909         (anddi3): Add splitter.
16910         (movdi_const_16bit+1): Add code to handle vector constants and
16911         bitmasks efficiently.
16912         (shori_media): Have generator function made.
16913         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
16914         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
16915         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
16916         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
16917         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
16918         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
16919         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
16920         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
16921         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
16922         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
16923         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
16924         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
16925         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
16926         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
16927         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
16928         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
16929         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
16930         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
16931         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
16932         (ftrv): Likewise.
16933
16934         (fpu_switch+1, fpu_switch+2): Remove constraint.
16935
16936 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
16937
16938         * tree.c (build_function_type_list): Update function comment.
16939         Rename first argument to return_type.
16940
16941 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16942
16943         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
16944         tradcif.y and related files.
16945
16946 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16947
16948         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
16949
16950 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16951
16952         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
16953
16954 See ChangeLog.7 for earlier changes.