OSDN Git Service

* i386.md (SSE cmov splitter): Handle memory operand in operand 5.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
2
3         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
4
5 2003-01-20  Andreas Schwab  <schwab@suse.de>
6
7         * system.h: Don't declare strsignal if the decl test hasn't been
8         run yet.
9
10 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
11
12         * config/h8300/h8300.c (notice_update_cc): Don't assume that
13         recog_data.operands[0] is always associated with cc0.
14
15 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
16
17         * collect2.c (ldgetname): Expand declaration to prototype.
18         * read-rtl.c (atoll): Add prototype.
19         * system.h (strsignal): Also declare if no declaration found.
20
21 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
22
23         * config.gcc (mips64*-*-linux*): Added.
24         * config/mips/linux64.h, config/mips/t-linux64: New file.
25         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
26         * config/mips/mips.c (override_options): Use it.
27         * config/mips/mips.h (TARGET_SWITCHES): Added...
28         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
29         * Makefile.in (SPECS): New.
30         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
31         * gcc.c (process_command): Move self-spec processing past spec
32         file loading.
33         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
34         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
35         CRTSTUFF_T_CFLAGS.
36         (SPECS): Document.
37         * doc/invoke.texi (-mabi-fake-default): Document.
38
39 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
40
41         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
42         z_reg, z_reg_qi): Declare static and GTY().
43         (da_reg): Remove.
44         (create_regs_rtx): Don't create da_reg.
45         ("gt-m68hc11.h"): Include for GTY roots.
46         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
47         and GTY() here.
48         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
49         (m68hc11_soft_tmp_reg): Likewise.
50         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
51
52 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
53
54         * basic-block.h: Fix comment formatting.
55         * calls.c: Likewise.
56         * combine.c: Likewise.
57         * convert.c: Likewise.
58         * gcov.c: Likewise.
59         * haifa-sched.c: Likewise.
60         * libgcc2.c: Likewise.
61         * loop.c: Likewise.
62         * profile.c: Likewise.
63         * system.h: Likewise.
64
65 2003-01-18  Roger Sayle  <roger@eyesopen.com>
66
67         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
68
69 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
70
71         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
72
73 2003-01-17  Dale Johannesen  <dalej@apple.com>
74
75         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
76           (*floatunssidf2_internal):  Ditto.
77
78 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
79
80         * alias.c: Fix comment typos.
81         * basic-block.h: Likewise.
82         * c-common.c: Likewise.
83         * c-common.h: Likewise.
84         * c-decl.c: Likewise.
85         * c-opts.c: Likewise.
86         * c-pragma.c: Likewise.
87         * c-pretty-print.h: Likewise.
88         * cfg.c: Likewise.
89         * cfganal.c: Likewise.
90         * cfgbuild.c: Likewise.
91         * cfgcleanup.c: Likewise.
92         * cfglayout.c: Likewise.
93         * cfgrtl.c: Likewise.
94         * convert.c: Likewise.
95         * cpphash.h: Likewise.
96         * cpplex.c: Likewise.
97         * cpplib.h: Likewise.
98         * df.h: Likewise.
99         * diagnostic.c: Likewise.
100         * diagnostic.h: Likewise.
101         * dwarf2.h: Likewise.
102
103 2003-01-17  Stan Shebs  <shebs@apple.com>
104
105         * config/darwin-protos.h: Forward-declare struct cpp_reader.
106
107 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
108
109         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
110         mistake in last checkin.
111
112 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
113
114         * et-forest.c: Fix comment typos.
115         * et-forest.h: Likewise.
116         * except.c: Likewise.
117         * expr.c: Likewise.
118         * flags.h: Likewise.
119         * flow.c: Likewise.
120         * gcc.c: Likewise.
121         * gcse.c: Likewise.
122         * genattrtab.c: Likewise.
123         * genautomata.c: Likewise.
124         * gengtype.c: Likewise.
125         * genrecog.c: Likewise.
126         * global.c: Likewise.
127         * gthr-rtems.h: Likewise.
128
129 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
130
131         * i386.c (x86_function_profiler): Fix format specifier.
132
133 2003-01-17  Richard Henderson  <rth@redhat.com>
134
135         * gengtype.c (walk_type): Allow paramN_is.
136
137 2003-01-17  Nick Clifton  <nickc@redhat.com>
138
139         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
140
141 2003-01-16  Richard Henderson  <rth@redhat.com>
142
143         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
144
145 2003-01-16  Richard Henderson  <rth@redhat.com>
146
147         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
148         (alpha_next_sequence_number): Likewise.
149         (alpha_this_literal_sequence_number): Likewise.
150         (alpha_this_gpdisp_sequence_number): Likewise.
151         (struct alpha_funcs, alpha_funcs_num): Likewise.
152         (struct alpha_links): Fix branch merge error.
153         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
154
155 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
156
157         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
158         R. Ghazi.
159
160 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
161
162         * ifcvt.c: Fix comment typos.
163         * lcm.c: Likewise.
164         * libgcc2.c: Likewise.
165         * local-alloc.c: Likewise.
166         * loop.c: Likewise.
167         * predict.c: Likewise.
168         * ra-build.c: Likewise.
169         * ra.c: Likewise.
170         * ra-colorize.c: Likewise.
171         * ra.h: Likewise.
172         * ra-rewrite.c: Likewise.
173         * regmove.c: Likewise.
174         * reload.h: Likewise.
175         * rtlanal.c: Likewise.
176         * toplev.c: Likewise.
177         * tree.h: Likewise.
178         * unwind-dw2-fde-glibc.c: Likewise.
179         * vmsdbgout.c: Likewise.
180
181 2003-01-16  Richard Henderson  <rth@redhat.com>
182
183         * dwarf2out.c (struct file_table): Remove.
184         (FILE_TABLE_INCREMENT): Remove.
185         (file_table): Make a varray; mark for GC.  Update all users.
186         (file_table_last_lookup_index): Extract from struct file_table.
187         (output_file_names): Fix unsigned compare warnings.
188         (add_name_attribute): Remove inline marker.
189         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
190         (lookup_filename): Don't manage size of file_table.
191         (init_file_table): Allocate file_table with GC.
192         (dwarf2out_init): Don't record main_input_filename here.
193         (dwarf2out_finish): Do it here instead.
194
195 2003-01-16  Bruce Korb  <bkorb@gnu.org>
196
197         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
198
199 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
200
201         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
202         instead of rotldi3_mextr.
203
204 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
205
206         * haifa-sched.c (move_insn): Restore moving all schedule group.
207         (set_priorities): Restore taking SCHED_GROUP_P into account.
208
209         * sched-deps.c (add_dependence): Restore processing the last group
210         insn.
211         (remove_dependence, group_leader): Restore the functions.
212         (set_sched_group_p): Restore adding dependencies from previous insn
213         in the group.
214         (compute_forward_dependences): Restore usage of group_leader.
215
216         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
217         account.
218
219         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
220         account.
221         (can_schedule_ready_p): Ditto.
222         (add_branch_dependences): Restore skipping over the group insns.
223         
224 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
225
226         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
227         68HC12 pre/post inc/dec side effects.
228
229 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
230
231         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
232
233 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
234
235         * sh.md (mshflo_w_x): Fix description of operation.
236
237 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
238
239         * config/rs6000/rs6000.h: Mention Altivec registers in
240         commentary.  Fix typo.
241
242 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
243
244         * config/rs6000/rs6000.md (movti_string): Remove clobber.
245         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
246         generate PARALLEL with clobber for TARGET_POWER.
247
248 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
249
250         * ra-colorize.c (colorize_one_web): Initialize variable.
251         * regmove.c (fixup_match_1): Likewise.
252         * reload1.c (reload_as_needed): Likewise.
253         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
254
255 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
256
257         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
258
259 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
260
261         * dbxout.c (lastfile, cwd): Fix `unused' warning.
262         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
263         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
264         is_main_source, file_table, decl_die_table_in_use,
265         abbrev_die_table_in_use, line_info_table_in_use,
266         separate_line_info_table_in_use, pubname_table_in_use,
267         arange_table_in_use, ranges_table_in_use,
268         current_function_has_inlines): Likewise.
269         * flow.c (life_analysis): Likewise.
270         * genemit.c (gen_insn): Likewise.
271         * protoize.c (cplus_suffix): Likewise.
272
273         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
274         * arm.h (ROUND_UP_WORD): Likewise.
275
276         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
277         warning.
278         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
279         init_emit_once): Likewise.
280         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
281         Likewise.
282         * function.c (assign_stack_temp_for_type): Likewise.
283         * loop.c (loop_invariant_p): Likewise.
284         * recog.c (push_operand): Likewise.
285         * regclass.c (init_reg_sets_1): Likewise.
286         * reload.c (update_auto_inc_notes): Likewise.
287         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
288         * stmt.c (expand_asm_operands): Likewise.
289         * stor-layout.c (start_record_layout): Likewise.
290
291 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
292
293         * config/c4x/c4x.md (epilogue): Correct last patch.
294
295 2003-01-15  Richard Henderson  <rth@redhat.com>
296
297         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
298         also check that GP is being used.
299         (alpha_find_lo_sum_using_gp): New.
300         (alpha_does_function_need_gp): Use get_attr_usegp.
301         * config/alpha/alpha-protos.h: Update.
302         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
303         as needed.
304
305 2003-01-15  Roger Sayle  <roger@eyesopen.com>
306
307         * gcse.c (one_cprop_pass): Change function arguments to take both
308         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
309         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
310         (bypass_jumps): New function to perform separate jump bypassing pass.
311         * rtl.h (bypass_jumps): Add function prototype.
312         * timevar.def (TV_BYPASS): New timing variable.
313         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
314         (dump_file): New entry for the bypass RTL dump file.
315         (rest_of_compilation): Insert new jump bypassing optimization
316         pass after loop.
317         * doc/passes.texi: Document new pass.
318
319 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
320
321         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
322         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
323         * pa.h (TARGET_SOM_SDEF): Define.
324         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
325
326 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
327
328         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
329         allocate 4-bytes of locals on 68HC11.
330         (expand_epilogue): Likewise.
331         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
332
333 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
334
335         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
336         and -mshort-double to the assembler to specify the ABI.
337         (LINK_SPEC): Likewise.
338         (CPP_SPEC): Pass HCS12 specific define.
339         (MASK_M68S12): New define.
340         (TARGET_M68S12): Likewise.
341         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
342         (TARGET_VERSION): Update.
343         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
344         (LINK_SPEC): Update.
345         (ASM_SPEC): Update.
346         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
347         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
348
349 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
350
351         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
352         the return code.
353
354 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
355
356         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
357         flag before setting it.
358
359 2003-01-15  Roger Sayle  <roger@eyesopen.com>
360
361         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
362         when loop condition is known true, i.e.  "while (1) { ... }".
363         (genrtl_for_stmt): Similarly for "for" statements.
364
365 2003-01-15  Roger Sayle  <roger@eyesopen.com>
366
367         * real.c (real_sqrt): Return a bool result indicating whether
368         a floating point exception or trap should be raised.
369         * real.h (real_sqrt): Update function prototype.
370         * builtins.c (fold_builtin): Only fold non-trapping square
371         roots unless we're ignoring errno and trapping math.
372
373 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
374
375         * expr.h (emit_conditional_add): Add PARAMS to declaration.
376         * gengtype-lex.l (malloc, realloc): Move defines after include of
377         system.h.  Remove duplicate include of system.h.
378
379 2003-01-15  Roger Sayle  <roger@eyesopen.com>
380
381         PR middle-end/9009
382         * optabs.c (expand_unop):  When manipulating the FP sign bit
383         using integer operations, account for targets with different
384         integer and FP word orders.
385         (expand_abs): Likewise.
386
387 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
388
389         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
390         file extension in section name.
391
392 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
393
394         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
395         constant offset.
396
397 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
398
399         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
400         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
401         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
402         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
403
404 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
405
406         PR f/9258
407         * global.c (struct allocno): Add no_stack_reg.
408         (global_conflicts): Set no_stack_reg.
409         (find_reg): Use it.
410
411         * convert.c (convert_to_real): Fold - and abs only when profitable.
412         * fold-const.c (fold): Fold truncates in - and abs.
413
414 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
415
416         Segher Boessenkool  <segher@koffie.nl>
417
418         * predict.c (real_inv_br_prob_base): New variable.
419         (propagate_freq): Use multiply by reciprocal instead of
420         division.  Don't divide by 1.0 at all.
421         (estimate_bb_frequencies): Similar.
422
423 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
424
425         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
426         * configure: Rebuilt.
427
428 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
429
430         * config/s390/s390.c (s390_safe_attr_type): New function.
431         (s390_use_dfa_pipeline_interface): New function, return true for z900.
432         (s390_issue_rate): New function.
433         (s390_agen_dep_p): New function.
434         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
435         (s390_adjust_cost): Return 'cost' if new DFA is used.
436         (s390_adjust_priority): Delete function.
437         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
438         * config/s390/s390.md (atype attribute): Attribute 'atype' default
439         determined by 'op_type'.
440         (type attribute): Added more type attributes.
441         * config/s390/2064.md: New DFA description for z900 pipeline.
442
443 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
444
445         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
446         forced to memory.  Fixes PR bootstrap/9036.
447
448         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
449         to set $gp before the call.
450
451 2003-01-14  Richard Henderson  <rth@redhat.com>
452
453         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
454         for force_const_mem.
455
456 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
457
458         * genattr.c (main): Rearrange output to avoid prototype warning.
459         * genautomata.c (transform_3): Fix ambiguous-else warning.
460         * local-alloc.c (requires_inout): Add parentheses around
461         assignment used as truth-value.
462         * timevar.c: Move system includes above local includes.  Include
463         toplev.h
464         * Makefile.in (timevar.o): Depend on toplev.h.
465
466 2003-01-14  Denis Chertykov  <denisc@overta.ru>
467
468         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
469         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
470
471         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
472         attributes.
473         (TARGET_ATTRIBUTE_TABLE): New macro.
474         (valid_machine_type_attribute): Remove.
475         (valid_machine_decl_attribute): Remove.
476         (ip2k_handle_progmem_attribute): New function.
477         (ip2k_handle_fndecl_attribute): New function.
478
479 2003-01-10  Andrew Haley  <aph@redhat.com>
480
481         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
482         registers to be in correct order.  Add rip.
483
484 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
485
486         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
487         (*iorsi3_and_lshiftrt_9_sb): Likewise.
488
489 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
490
491         * convert.c (strip_float_extensions):  Look for narrowest type handling
492         FP constants.
493
494         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
495         float1 CMP float2.
496         * convert.c (strip_float_extensions): Make global.
497         * tree.h (strip_float_extensions): Declare.
498
499 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
500
501         * timevar.def: define TV_NAME_LOOKUP.
502         * timevar.c (timevar_pop): Be verbose when aborting.
503
504 2003-01-13  Andreas Schwab  <schwab@suse.de>
505
506         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
507         $(parsedir), just move the temporary file at the end.
508         ($(parsedir)/gengtype-yacc.c): Likewise.
509
510 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
511
512         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
513         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
514         splitting.
515         * configure: Rebuilt.
516
517 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
518
519         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
520         internal_mcount): Don't use PARAMS.
521         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
522         ISO C style.
523         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
524
525 2003-01-13  Andreas Schwab  <schwab@suse.de>
526
527         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
528         directive.
529
530 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
531
532         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
533         (*iorsi3_and_lshiftrt_n_sb): Likewise.
534
535 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
536
537         PR c++/9264
538         * c-lex.c (c_lex): Set the token value to error_mark_node for
539         invalid numeric constants.
540
541 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
542
543         * c-pch.c (asm_file_startpos): Change to `long'.
544         (pch_init): Use ftell, not ftello.
545         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
546         Use `long' instead of `off_t'.
547         (c_common_read_pch): Likewise.
548         * ggc-common.c (gt_pch_save): Use long/ftell instead of
549         off_t/ftello.
550
551 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
552
553         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
554
555 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
556
557         * arm-protos.h (struct cpp_reader): Add declaration.
558
559 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
560
561         PR target/9068
562         * i386.c (output_fp_compare): Fix typo.
563
564 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
565
566         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
567
568 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
569
570         * Makefile.in (parsedir): New variable.
571         (docobjdir): New variable.
572         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
573         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
574         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
575         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
576         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
577         Use docobjdir.
578         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
579         objc.maintainer-clean): Use parsedir.
580
581         * varasm.c (struct constant_descriptor_rtx): Remove unused
582         `label' field.
583
584         * toplev.c (documented_lang_options): Document -Winvalid-pch.
585
586 2003-01-10  Richard Henderson  <rth@redhat.com>
587
588         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
589         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
590
591 2003-01-10  Richard Henderson  <rth@redhat.com>
592
593         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
594         not INTEGRAL_MODE_P when widening extensions.
595
596 2003-01-10  Richard Henderson  <rth@redhat.com>
597
598         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
599
600 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
601
602         * ggc-page.c (ggc_collect): Avoid overflow computing
603         min_expand.
604
605         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
606         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
607         Remove calls.
608         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
609
610 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
611
612         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
613         with weird operands.
614
615 2003-01-10  Dale Johannesen <dalej@apple.com>
616
617         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
618         parameters.  Call check_sibcall_argument_overlap if indicated.
619         (check_sibcall_argument_overlap):  Add mark_stored_args_map
620         parameter.  Don't mark parameter area as clobbered if not set.
621         (expand_call):  Adjust calls to above.
622
623 2003-01-10 Kelley Cook <kelleycook@comcast.net>
624
625         * configure.in (linker read-only and read-write section mixing):
626         Squelch some assembler warnings.
627         * configure: Likewise.
628
629 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
630
631         * doc/invoke.texi: Document -mtune, delete -mcpu
632         option for S/390 and zSeries.
633         * config/s390/s390.c (s390_tune_string) New variable.
634         (s390_cpu_string) Delete variable.
635         (override_options): Use s390_tune_string instead of
636         s390_cpu_string.
637         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
638
639 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
640
641         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
642
643 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
644
645         * jump.c (next_nonnote_insn_in_loop): New function.
646         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
647         next_nonnote_insn.
648         (duplicate_loop_exit_test). Likewise.
649
650 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
651
652         Merge from pch-branch:
653
654         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
655
656         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
657         load.
658
659         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
660
661         * cpplib.c (count_registered_pragmas): New function.
662         (save_registered_pragmas): New function.
663         (_cpp_save_pragma_names): New function.
664         (restore_registered_pragmas): New function.
665         (_cpp_restore_pragma_names): New function.
666         * cpphash.h (_cpp_save_pragma_names): Prototype.
667         (_cpp_restore_pragma_names): Likewise.
668         * cpppch.c (struct save_macro_item): Split from save_macro_data.
669         (struct save_macro_data): New field 'saved_pragmas'.
670         (save_macros): Update for changes to struct save_macro_data.
671         (cpp_prepare_state): Call _cpp_save_pragma_names, update
672         for changes to struct save_macro_data.
673         (cpp_read_state): Call _cpp_restore_pragma_names, update
674         for changes to struct save_macro_data.
675
676         * cpppch.c (cpp_read_state): Restore the hashtable references
677         in the cpp_reader.
678
679         * tree.h (built_in_decls): Mark for PCH.
680
681         * dbxout.c (lastfile): Don't mark for PCH.
682
683         * ggc.h: Document PCH calls into memory managers.
684
685         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
686
687         * doc/invoke.texi (Precompiled Headers): Document the
688         directory form of PCH.
689         * cppfiles.c (validate_pch): New function.
690         (open_file_pch): Search suitably-named directories for PCH files.
691
692         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
693
694         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
695         reorder options.
696         (Type Information): Mention that the information is also
697         used to implement PCH.
698         * doc/passes.texi (Passes): Improve documentation of
699         language-specific files.
700
701         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
702
703         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
704         (struct walk_type_data): Add reorder_fn field.
705         (walk_type): Process 'reorder' option.
706         (write_types_process_field): Reorder parameters to gt_pch_note_object,
707         call reorder_note_routine.
708         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
709         (ggc_wtd): Update for change to struct write_types_data.
710         (pch_wtd): Likewise.
711         * ggc.h (gt_pch_note_object): Reorder parameters.
712         (gt_handle_reorder): New definition.
713         (gt_pch_note_reorder): New prototype.
714         * ggc-common.c (struct ptr_data): Add reorder_fn.
715         (gt_pch_note_object): Reorder parameters.
716         (gt_pch_note_reorder): New.
717         (gt_pch_save): Call reorder_fn.
718         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
719
720         * dbxout.c (cwd): Don't mark for PCH.
721
722         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
723
724         * gengtype.c (finish_root_table): Fix some warnings.
725         (write_root): Handle TYPE_STRING.
726         * ggc.h (gt_ggc_m_S): Add prototype.
727         * stringpool.c (gt_ggc_m_S): New function.
728
729         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
730
731         * dwarf2out.c (dw2_string_counter): New.
732         (AT_string_form): Use it.
733         (same_dw_val_p): Update for removal of hashtable.h hash tables.
734
735         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
736
737         * dbxout.c: Include gt-dbxout.h.
738         (lastfile): Mark for PCH/GGC.
739         (cwd): Likewise.
740         (struct typeinfo): Likewise.
741         (typevec): Likewise.
742         (typevec_len): Likewise.
743         (next_type_number): Likewise.
744         (struct dbx_file): Likewise.
745         (current_file): Likewise.
746         (next_file_number): Likewise.
747         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
748         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
749         (dbxout_end_source_file): Don't free struct dbx_file.
750         (dbxout_type): Use GGC to allocate typevec.
751         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
752         (GTFILES): Add dbxout.c.
753         (gt-dbxout.h): New rule.
754
755         * Makefile.in (c-pch.o): Add debug.h as dependency.
756         * c-pch.c: Include debug.h.
757         (pch_init): Call start_source_file to keep nesting right.
758         (c_common_read_pch): Add orig_name parameter.  Call
759         start_source_file debug hook.  Call end_source_file debug hook.
760         * c-common.h (c_common_read_pch): Update prototype.
761         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
762         callback.
763         * cppfiles.c (struct include_file): Add new field `header_name'.
764         (find_or_create_entry): Default it to `name'.
765         (open_file_pch): Set it to the original header file searched for.
766         (stack_include_file): Don't stack an empty buffer, just handle
767         PCH files immediately.  Pass header_name field to read_pch callback.
768
769         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
770
771         * function.c (funcdef_no): Mark to be saved in a PCH.
772
773         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
774
775         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
776
777         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
778
779         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
780
781         * optabs.h (code_to_optab): Add GTY marker.
782
783         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
784
785         * Makefile.in (GTFILES): Add cpplib.h.
786         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
787         * c-decl.c (build_compound_literal): Don't use var_labelno.
788         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
789         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
790         * varasm.c (const_labelno): Use gengtype to mark.
791         (var_labelno): Likewise.
792         (in_section): Likewise.
793         (in_named_name): Likewise.
794         (struct in_named_entry): Likewise.
795         (in_named_htab): Likewise.
796         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
797         (init_varasm_once): Use GGC to allocate in_named_htab.
798         * config/darwin.c (current_pic_label_num): Mark for PCH.
799
800         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
801
802         * ggc-simple.c (init_ggc_pch): New stub procedure.
803         (ggc_pch_count_object): Likewise.
804         (ggc_pch_total_size): Likewise.
805         (ggc_pch_this_base): Likewise.
806         (ggc_pch_alloc_object): Likewise.
807         (ggc_pch_prepare_write): Likewise.
808         (ggc_pch_write_object): Likewise
809         (ggc_pch_finish): Likewise.
810         (ggc_pch_read): Likewise.
811
812         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
813
814         * c-pch.c (c_common_write_pch): Write the macro definitions after
815         the GCed data.
816         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
817         definitions after the GCed data.
818         * cpplib.c (save_macros): New.
819         (reset_ht): New.
820         (cpp_write_pch_deps): Split out of cpp_write_pch.
821         (cpp_write_pch_state): Split out of cpp_write_pch.
822         (cpp_write_pch): Delete.
823         (struct save_macro_data): Delete.
824         (cpp_prepare_state): New.
825         (cpp_read_state): Erase and restore initial macro definitions.
826         * cpplib.h (struct save_macro_data): Forward-declare.
827         (cpp_write_pch_deps): Prototype.
828         (cpp_write_pch_state): Prototype.
829         (cpp_write_pch): Delete prototype.
830         (cpp_prepare_state): Prototype.
831         (cpp_read_state): Add fourth argument.
832
833         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
834
835         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
836         (write_array): Remove warning.
837
838         * gengtype.c (contains_scalar_p): New.
839         (finish_root_table): Add the table to all languages, even if it's
840         empty.
841         (write_roots): Output gt_pch_scalar_rtab.
842         * ggc-common.c (gt_pch_save): Write out scalars.
843         (gt_pch_restore): Read scalars back.
844
845         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
846         (struct page_entry): Delete pch_page field.
847         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
848         (clear_marks): Likewise.
849         (sweep_pages): Likewise.
850         (poison_pages): Likewise.
851         (ggc_print_statistics): Likewise.
852         (ggc_pch_read): Don't free objects read from a PCH.
853         Properly set up in_use_p and page_tails.
854
855         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
856
857         * gengtype.c (struct write_types_data): New.
858         (struct walk_type_data): Make `cookie' const; add extra
859         prev_val item; add `orig_s' field.
860         (walk_type): Update prev_val[3].
861         (write_types_process_field): New.
862         (write_func_for_structure): Take write_types_data structure.
863         (write_types): New.
864         (ggc_wtd): New.
865         (pch_wtd): New.
866         (write_types_local_process_field): New.
867         (gc_mark_process_field): Delete.
868         (write_local_func_for_structure): New.
869         (gc_mark_func_name): Delete.
870         (write_gc_types): Delete.
871         (write_local): New.
872         (finish_root_table): Don't include 'ggc_' in PFX.
873         (write_root): Rename from write_root.  Fill pchw field of structures.
874         (write_array): New.
875         (write_roots): Rename from write_gc_roots.  Split out to write_array.
876         Update to changes to other routines.  Write gt_pch_cache_rtab table.
877         (main): Write PCH walking routines.
878         * ggc-common.c: Include toplev.h, sys/mman.h.
879         (ggc_mark_roots): For cache hashtables, also mark the hash table
880         and the array of entries.
881         (saving_htab): New.
882         (struct ptr_data): New.
883         (POINTER_HASH): New.
884         (gt_pch_note_object): New.
885         (saving_htab_hash): New.
886         (saving_htab_eq): New.
887         (struct traversal_state): New.
888         (call_count): New.
889         (call_alloc): New.
890         (compare_ptr_data): New.
891         (relocate_ptrs): New.
892         (write_pch_globals): New.
893         (struct mmap_info): New.
894         (gt_pch_save): New.
895         (gt_pch_restore): New.
896         * ggc-page.c (ROUND_UP_VALUE): New.
897         (ROUND_UP): New.
898         (struct page_entry): Add field `pch_page'.
899         (init_ggc): Use ROUND_UP.
900         (struct ggc_pch_data): Declare.
901         (init_ggc_pch): New.
902         (ggc_pch_count_object): New.
903         (ggc_pch_total_size): New.
904         (ggc_pch_this_base): New.
905         (ggc_pch_alloc_object): New.
906         (ggc_pch_prepare_write): New.
907         (ggc_pch_write_object): New.
908         (ggc_pch_finish): New.
909         (ggc_pch_read): New.
910         * ggc.h (gt_pointer_operator): New.
911         (gt_note_pointers): New.
912         (gt_pch_note_object): New prototype.
913         (gt_pointer_walker): New.
914         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
915         (LAST_GGC_ROOT_TAB): Update.
916         (gt_pch_cache_rtab): Declare.
917         (gt_pch_scalar_rtab): Declare.
918         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
919         (LAST_GGC_CACHE_TAB): Update.
920         (gt_pch_save_stringpool): Declare.
921         (gt_pch_restore_stringpool): Declare.
922         (gt_pch_p_S): Declare.
923         (gt_pch_n_S): Declare.
924         (struct ggc_pch_data): Forward-declare.
925         (init_ggc_pch): Declare.
926         (ggc_pch_count_object): Declare.
927         (ggc_pch_total_size): Declare.
928         (ggc_pch_this_base): Declare.
929         (ggc_pch_alloc_object): Declare.
930         (ggc_pch_prepare_write): Declare.
931         (ggc_pch_write_object): Declare.
932         (ggc_pch_finish): Declare.
933         (ggc_pch_read): Declare.
934         (gt_pch_save): Declare.
935         (gt_pch_restore): Declare.
936         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
937         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
938         const_double_htab, mem_attrs_htab using GGC.
939         * c-pch.c: Include ggc.h.
940         (pch_init): Allow reading PCH file back.
941         (c_common_write_pch): Call gt_pch_save.
942         (c_common_read_pch): Call gt_pch_restore.
943         * c-parse.in (init_reswords): Delete now-untrue comment.
944         Allocate ridpointers using GGC.
945         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
946         calling expand_deferred_fns.
947         * c-common.h (ridpointers): Mark for GTY machinery.
948         * Makefile.in (stringpool.o): Update dependencies.
949         (c-pch.o): Update dependencies.
950         (ggc-common.o): Update dependencies.
951         * stringpool.c: Include gt-stringpool.h.
952         (gt_pch_p_S): New.
953         (gt_pch_n_S): New.
954         (struct string_pool_data): New.
955         (spd): New.
956         (gt_pch_save_stringpool): New.
957         (gt_pch_restore_stringpool): New.
958         * tree.c (init_ttree): Make type_hash_table allocated using GC.
959
960         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
961
962         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
963         (output_mangled_typename): Don't pass size_t to printf.
964
965         * tree.h (union tree_type_symtab): Add tag to `address' field.
966         (union tree_decl_u2): Add tag to 'i' field.
967         * varasm.c (union rtx_const_un): Add tags to all fields.
968         * gengtype.c (struct walk_type_data): New.
969         (output_escaped_param): Take struct walk_type_data parameter.
970         (write_gc_structure_fields): Delete.
971         (walk_type): New.
972         (write_gc_marker_routine_for_structure): Delete.
973         (write_func_for_structure): New.
974         (gc_mark_process_field): New.
975         (gc_mark_func_name): New.
976         (gc_counter): Delete.
977         (write_gc_types): Use write_func_for_structure.
978         (write_gc_roots): Use walk_type.
979
980         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
981
982         * ggc-common.c (ggc_mark_roots): Delete 'x'.
983         (ggc_splay_dont_free): Fix warning about unused 'x'.
984         (ggc_print_common_statistics): Remove warnings.
985
986         2002-10-01  Mike Stump  <mrs@apple.com>
987
988         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
989         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
990
991         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
992             Catherine Moore  <clm@redhat.com>
993
994         * Makefile (c-pch.o): Update dependencies.
995         (LIBCPP_OBJS): Add cpppch.o.
996         (cpppch.o): New.
997         * c-common.c (c_common_init): Don't call pch_init here.
998         * c-common.h (c_common_read_pch): Update prototype.
999         * c-lex.c (c_common_parse_file): Call pch_init here.
1000         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
1001         (c_common_decode_option): Handle them.
1002         * c-pch.c: Include c-pragma.h.
1003         (save_asm_offset): Delete.
1004         (pch_init): Move contents of save_asm_offset into here, call
1005         cpp_save_state.
1006         (c_common_write_pch): Call cpp_write_pch.
1007         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
1008         cpp_valid_state.
1009         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
1010         * cppfiles.c (stack_include_file): Update for change to
1011         parameters of cb.read_pch.
1012         * cpphash.h (struct cpp_reader): Add `savedstate' field.
1013         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
1014         `restore_pch_deps' fields.
1015         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
1016         (cpp_save_state): Prototype.
1017         (cpp_write_pch): Prototype.
1018         (cpp_valid_state): Prototype.
1019         (cpp_read_state): Prototype.
1020         * cpppch.c: New file.
1021         * flags.h (version_flag): Remove prototype.
1022         * mkdeps.c (deps_save): New.
1023         (deps_restore): New.
1024         * mkdeps.h (deps_save): Prototype.
1025         (deps_restore): Prototype.
1026         * toplev.c (late_init_hook): Delete.
1027         (version_flag): Make static again.
1028         (compile_file): Don't call late_init_hook.
1029         * toplev.h (late_init_hook): Delete.
1030         * doc/cppopts.texi: Document -fpch-deps.
1031         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
1032
1033         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
1034
1035         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
1036         callers.
1037         (c_common_valid_pch): Rename from c_valid_pch, change callers.
1038         (c_common_read_pch): Rename from c_read_pch, change callers.
1039
1040         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
1041         a space between it and its argument.
1042
1043         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
1044
1045         * c-pch.c: New file.
1046         * toplev.h (late_init_hook): Declare.
1047         * toplev.c (late_init_hook): Define.
1048         (version_flag): Make globally visible.
1049         (compile_file): Call late_init_hook.
1050         (init_asm_output): Make output file seekable.
1051         * gcc.c (default_compilers): Update c-header rule.
1052         * flags.h (version_flag): Declare.
1053         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
1054         fields.
1055         * cppfiles.c (struct include_file): Add 'pch' field.
1056         (INCLUDE_PCH_P): New.
1057         (open_file_pch): New.
1058         (stack_include_file): Handle PCH files specially.
1059         (find_include_file): Call open_file_pch instead of open_file.
1060         (_cpp_read_file): Explain why open_file is used instead of
1061         open_file_pch.
1062         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
1063         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
1064         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
1065         in cpplib callbacks.
1066         * c-common.c (pch_file): Correct comment.
1067         (allow_pch): Define.
1068         (c_common_init): Call pch_init.
1069         * c-common.h (allow_pch): Declare.
1070         (pch_init): Declare.
1071         (c_valid_pch): Declare.
1072         (c_read_pch): Declare.
1073         (c_write_pch): Declare.
1074         * Makefile.in (c-pch.o): New.
1075         (C_AND_OBJC_OBJS): Add c-pch.o.
1076         * doc/invoke.texi (Precompiled Headers): Add index entries,
1077         complete truncated paragraph.
1078
1079         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
1080
1081         * c-common.c: (pch_file): Define.
1082         * c-common.h (pch_file): Declare.
1083         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
1084         (missing_arg): Require --output-pch= to have an argument.
1085         (c_common_decode_option): Handle --output-pch=.
1086         * gcc.c: Document new %V.
1087         (default_compilers): Handle compiling C header files.
1088         (do_spec_1): Implement %V.
1089         (main): Handle "gcc foo.h" without trying to run linker.
1090         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
1091         (Overall Options): Document what the driver does with header files,
1092         document new -x option possibilities.
1093         (Invoking G++): More documentation for PCH.
1094         (Precompiled Headers): New.
1095
1096         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
1097
1098         * ggc.h: Don't include varray.h.  Rearrange functions to be more
1099         organized.
1100         (ggc_add_root): Delete.
1101         (ggc_mark_rtx): Delete.
1102         (ggc_mark_tree): Delete.
1103         (struct ggc_statistics): Remove contents.
1104         * ggc-common.c: Remove unneeded includes.
1105         (struct ggc_root): Delete.
1106         (roots): Delete.
1107         (ggc_add_root): Delete.
1108         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
1109         (ggc_print_common_statistics): Remove most of the contents.
1110         * Makefile.in (GGC_H): No longer uses varray.h.
1111         (ggc-common.o): Update dependencies.
1112         (c-parse.o): Add varray.h to dependencies.
1113         (c-common.o): Add varray.h.
1114         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
1115         (mark_ident_hash): Rename to ggc_mark_stringpool.
1116         (init_stringpool): Don't use ggc_add_root.
1117         * c-parse.in: Include varray.h.
1118         * c-common.c: Include varray.h.
1119         * objc/Make-lang.in (objc-act.o): Add varray.h.
1120         * objc/objc-act.c: Include varray.h.
1121
1122         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
1123
1124         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
1125         (dw_cfi_oprnd1_desc): Likewise.
1126
1127         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
1128
1129         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
1130         move out of ifdef.
1131         (alpha_links): Use gengtype to mark; move out of ifdef.
1132         (mark_alpha_links_node): Delete.
1133         (mark_alpha_links): Delete.
1134         (alpha_need_linkage): Use GGC to allocate splay tree, struct
1135         alpha_links, strings.  Don't use ggc_add_root.
1136         * ggc-common.c (ggc_splay_alloc): New.
1137         (ggc_splay_dont_free): New.
1138         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
1139         (ggc_mark_tree): Likewise.
1140         (splay_tree_new_ggc): New.
1141         (ggc_splay_alloc): Declare.
1142         (ggc_splay_dont_free): Declare.
1143         * dwarf2asm.c: Include gt-dwarf2asm.h.
1144         (mark_indirect_pool_entry): Delete.
1145         (mark_indirect_pool): Delete.
1146         (indirect_pool): Use gengtype to mark.
1147         (dw2_force_const_mem): Don't use ggc_add_root.
1148         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
1149         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
1150         (gt-dwarf2asm.h): Depend on s-gtype.
1151
1152         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
1153
1154         * tree.h (union tree_type_symtab): Mark `die' field.
1155         * Makefile.in (dwarf2out.o): Update dependencies.
1156         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
1157         hash tables.
1158         (dw_cfi_oprnd1_desc): New function.
1159         (dw_cfi_oprnd2_desc): New function.
1160         (indirect_string_alloc): Delete.
1161         (debug_str_do_hash): New function.
1162         (debug_str_eq): New function.
1163         (mark_limbo_die_list): Delete.
1164         (dwarf2out_init): Don't call ggc_add_root.
1165
1166 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
1167
1168         The following changes are merged from itanium-sched-branch:
1169
1170         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1171
1172         * doc/md.texi: Clarify assignment of units to automata description.
1173
1174         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
1175
1176         * genautomata.c (unit_decl): Remove members
1177         `the_same_automaton_unit' and
1178         `the_same_automaton_message_reported_p'.
1179         (process_unit_to_form_the_same_automaton_unit_lists,
1180         form_the_same_automaton_unit_lists_from_regexp,
1181         form_the_same_automaton_unit_lists, the_same_automaton_lists):
1182         Remove them.
1183         (annotation_message_reported_p): New global variable.
1184         (check_unit_distribution_in_reserv,
1185         check_regexp_units_distribution): New functions.
1186         (check_unit_distributions_to_automata): Rewrite it.
1187
1188         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
1189
1190         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
1191         Use continue instead of break if cycle is too big.
1192
1193         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
1194
1195         * genautomata.c (check_unit_distributions_to_automata): Output at
1196         most one message for a unit.
1197         (process_unit_to_form_the_same_automaton_unit_lists): Check
1198         automaton of units instead of units themself.
1199
1200         * doc/md.texi: Describe the constraint about assigning unit to
1201         automata.
1202
1203         2002-12-20  Jan Hubicka  <jH@suse.cz>
1204                     Vladimir Makarov  <vmakarov@redhat.com>
1205
1206         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
1207         and `in_set_p'.
1208         (gen_cpu_unit): Initialize the new members.
1209         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
1210         up `min_occ_cycle_num'.
1211         (evaluate_max_reserv_cycles): Change the function call.
1212         (CLEAR_BIT): New macro.
1213         (states_union, state_shift): Use the mask.
1214         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
1215         (form_reservs_matter): New function.
1216         (make_automaton): Call the function and use the mask.
1217         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
1218         account.
1219
1220         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1221
1222         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
1223
1224         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1225
1226         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
1227         for Itanium.
1228
1229         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1230
1231         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
1232         default cpu.
1233
1234         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1235                 2002-10-31  Dale Johannesen <dalej@apple.com>
1236
1237         * haifa-sched.c (find_set_reg_weight): New function.
1238         (find_insn_reg_weight): Use the new function.
1239         (schedule_block): Do sorting ready queue always
1240         after insn issue.
1241
1242         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
1243
1244         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
1245
1246         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
1247
1248         * haifa-sched.c (choice_entry): New structure.
1249         (choice_stack, cycle_issued_insns): New variables.
1250         (max_issue): Rewrite it.
1251         (choose_ready): Set up ready_try for unknown insns too.
1252         (schedule_block): Allocate and free choice_stack.  Set up
1253         and modify cycle_issued_insns.
1254
1255         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
1256         with and without filling the bundle.
1257         (bundling): Combine calls of issue_nops_and_insn.
1258
1259         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
1260
1261         * config/ia64/itanium1.md: New file.
1262
1263         * config/ia64/itanium2.md: New file.
1264
1265         * config/ia64/ia64.md: Move DFA descriptions into the new files.
1266         Remove the old pipeline description.
1267
1268         * config/ia64/ia64.c (ia64_override_options): Add aliases of
1269         itanium processor names.
1270
1271         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
1272
1273         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
1274         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
1275
1276         * config/ia64/ia64.md: Add descriptions for Itanium2.
1277
1278         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1279
1280         * config/ia64/ia64.h (processor_type): New enumeration.
1281         (ia64_tune, ia64_tune_string): New external declarations.
1282         (TARGET_OPTIONS): Add option `tune='.
1283
1284         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
1285         variables.
1286         (ia64_override_options): Set up `ia64_tune'.
1287         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
1288         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
1289         (bundling): Add nops for MM-insns only for Itanium.
1290         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
1291         Itanium.
1292
1293         * config/ia64/ia64.md (cpu): New attribute.
1294         (DFA description): Enable it only for Itanium.
1295
1296         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1297                     Richard Henderson  <rth@redhat.com>
1298
1299         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
1300         MASK_EARLY_STOP_BITS.
1301         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
1302         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
1303         `early-stop-bits'.
1304
1305         * config/ia64/ia64.c (ia64_dfa_new_cycle,
1306         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
1307         instead of TARGET_TUNE_STOP_BITS.
1308
1309         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
1310         `-mearly-stop-bits'.
1311
1312         * config/ia64/ia64.c (automata_option "v"): Comment it.
1313
1314         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
1315
1316         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
1317         New macros.
1318         (TARGET_SWITCHES): Add entries for the new option.
1319
1320         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
1321         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
1322         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
1323         global variables.
1324         (ia64_sched_reorder2): Set up `clocks'.
1325         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
1326         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
1327         queue when TARGET_TUNE_STOP_BITS.
1328         (bundling): Insert additional nops for MM-insns.
1329         (final_emit_insn_group_barriers): Add insertion of stop bits
1330         according `stops_p'.
1331         (ia64_reorg): Initiate the new varibales.
1332
1333         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
1334
1335         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
1336
1337         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
1338         insns at the end of block insn scheduling.
1339
1340         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
1341
1342         * sched-deps.c (remove_dependence, group_leader): Remove it.
1343         (add_dependence): Add dependence to group leader to.
1344         (set_sched_group_p): Add dependence to the first insn of the
1345         schedule group too.
1346         (sched_analyze_insn): Make dependence to jump as anti-dependence.
1347         Change true dependence by anti-dependence when
1348         `reg_pending_barrier'.
1349
1350         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
1351         add_branch_dependences): Ignore schedule groups.
1352
1353         * sched-ebb.c (init_ready_list): Ditto.
1354
1355         * (move_insn, set_priorities): Ditto.
1356
1357         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
1358         flag is clear after reload.
1359         (adjust_cost): Change cost only for output dependencies.
1360
1361         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
1362
1363         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
1364
1365         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
1366
1367         * target.h (gcc_target): Add member
1368         `dependencies_evaluation_hook'.
1369
1370         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
1371         macro.
1372         (TARGET_SCHED): Add initiatialization of the new member.
1373
1374         * sched-ebb.c: Include `target.h'.
1375         (schedule_ebb): Call `dependencies_evaluation_hook'.
1376
1377         * sched-rgn.c (schedule_region): Call
1378         `dependencies_evaluation_hook'.
1379
1380         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1381         New macro.
1382         (ia64_dependencies_evaluation_hook): New function.
1383
1384         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1385         Describe the new hook.
1386
1387         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
1388
1389         * target.h (gcc_target): Add members
1390         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
1391
1392         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
1393         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
1394         macros.
1395         (TARGET_SCHED): Add initiatialization of the new members.
1396
1397         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
1398         insn scheduling too.
1399         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
1400         initialize `ready_try'.
1401         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
1402         `dfa_new_cycle' says not to do it.
1403
1404         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
1405         bundling.
1406
1407         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
1408
1409         * config/ia64/ia64.c: Include `hashtab.h'.
1410         (ia64_first_cycle_multipass_dfa_lookahead_guard,
1411         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
1412         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
1413         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
1414         bundle_state_eq_p, insert_bundle_state,
1415         initiate_bundle_state_table, finish_bundle_state_table,
1416         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
1417         get_template, get_next_important_insn, bundling): New functions.
1418         (ia64_internal_sched_reorder): Remove it.
1419         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1420         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
1421         (ia64_safe_itanium_requires_unit0): Remove it.
1422         (group_barrier_needed_p): Place group barrier right before a real
1423         insn.
1424         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
1425         Remove them.
1426         (bundle_name): New variable.
1427         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
1428         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
1429         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
1430         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
1431         temp_dfa_state, prev_cycle_state): New global variables.
1432         (insn_matches_slot, maybe_rotate, finish_last_head,
1433         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
1434         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
1435         find_best_packet, itanium_reorder, dump_current_packet,
1436         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
1437         (sched_data, sched_ready, sched_types): Remove them.
1438         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
1439         `init_insn_group_barriers'.
1440         (ia64_sched_reorder, ia64_sched_reorder2): Call
1441         ia64_dfa_sched_reorder.
1442         (ia64_variable_issue): Rewrite it.
1443         (bundle_state): New structure.
1444         (index_to_bundle_states, bundle_states_num,
1445         allocated_bundle_states_chain, free_bundle_state_chain): New
1446         global variables.
1447         (ia64_sched_finish): Add stop bits and call `bundling' after the
1448         2nd insn scheduling.
1449         (ia64_use_dfa_pipeline_interface): Return zero always.
1450         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
1451         insn scheduling.
1452         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
1453         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
1454         (ia64_reorg): Add bundling insns.
1455
1456         * doc/tm.texi
1457         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1458         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
1459
1460         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
1461
1462         * config/ia64/ia64.md: Add Itanium1 DFA description.
1463         (itanium_class): Add `nop' and `pre_cycle'.  Add
1464         define_function_unit for `nop'.
1465         (nop): Change attribute `itanium_class'.
1466         (pre_cycle): New define_insn.
1467
1468         * config/ia64/ia64-protos.h (bundling_p): New external variable.
1469         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
1470         ia64_produce_address_p): New function prototypes.
1471
1472         * config/ia64/ia64.c (bundling_p): New global variable.
1473         (ia64_use_dfa_pipeline_interface,
1474         ia64_first_cycle_multipass_dfa_lookahead,
1475         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
1476         functions.
1477         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1478         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1479         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1480         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
1481         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
1482         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
1483         (dfa_pre_cycle_insn): New variable.
1484
1485         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1486
1487         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
1488         constructions.
1489
1490         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
1491         New function prototypes.
1492
1493         * genattrtab.c (main): Process the new constructions.
1494
1495         * genautomata.c (gen_presence_absence_set,
1496         process_presence_absence_names, process_presence_absence_patterns,
1497         add_presence_absence, check_absence_pattern_sets): Add parameter
1498         `final_p'.
1499         (unit_decl): Add new members `final_presence_list' and
1500         `final_absence_list'.
1501         (unit_pattern_rel_decl): Add new member `final_p'.
1502         (gen_final_presence_set, gen_final_absence_set): New functions.
1503         (process_decls): Use member `final_p'.
1504         (temp_reserv): New global variable.
1505         (reserv_sets_are_intersected): Add processing `final_presence_set'
1506         and `final_absence_set'.
1507         (initiate_states): Allocate `temp_reserv'.
1508         (unit_final_presence_set_table, unit_final_absence_set_table): New
1509         gloabal variables.
1510         (initiate_presence_absence_pattern_sets): Initiate them.
1511         (NDFA_to_DFA): Fix typo.
1512         (output_description): Output `final_presence_set' and
1513         `final_absence_set'.
1514
1515         * doc/md.texi (final_presence_set, final_absence_set): Describe
1516         them.
1517
1518         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1519
1520         * genautomata.c (transform_3): Process a missing case (nothing on
1521         unit place).
1522
1523         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1524
1525         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
1526         comments about queried units and the minimization.
1527
1528         * doc/md.texi: Ditto.
1529
1530         * genautomata.c (create_composed_state): Return nonzero if the new
1531         state has been created.
1532         (first_cycle_unit_presence): New function.
1533         (state_is_differed): Add new parameter.  Use the new function.
1534         Take queried units into account.
1535         (partition_equiv_class): Pass additional parameter to
1536         `state_is_differed'.
1537         (merge_states): Process composed states too.
1538         (build_automaton, create_automata, output_min_issue_delay_table,
1539         output_tables, output_statistics): Output more information.
1540         (output_reserved_units_table): Use function
1541         `first_cycle_unit_presence'.
1542         (output_tables): Output table of queried units even if the
1543         minimization is switched on.
1544         (write_automata): Output code for querying units even if the
1545         minimization is switched on.
1546
1547         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
1548
1549         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
1550         syntax of the constructions.
1551
1552         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
1553         extended syntax of the constructions.
1554
1555         * genautomata.c (unit_rel_decl): Rename it to
1556         `unit_pattern_rel_decl'.
1557         (pattern_set_el, pattern_reserv): New structures.
1558         (pattern_set_el_t, pattern_reserv_t): New types.
1559         (gen_presence_absence_set): New function.
1560         (process_presence_absence): Remove it.
1561         (process_presence_absence_names,
1562         process_presence_absence_patterns): New functions.
1563         (get_presence_absence_set): Remove it.
1564         (initiate_presence_absence_sets): Rename it on
1565         `initiate_presence_absence_pattern_sets'.  Use new function
1566         `form_reserv_sets_list'.
1567         (form_reserv_sets_list, check_presence_pattern_sets,
1568         check_absence_pattern_sets, output_pattern_set_el_list): New
1569         functions.
1570         (unit_decl): Change types of members `presence_list' and
1571         `absence_list'.
1572         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
1573         (decl): Change types of members `excl', `presence', and `absence'.
1574         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
1575         at the end of the vector.
1576         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1577         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
1578         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
1579         (gen_presence_set, gen_absence_set): Use new function
1580         `gen_presence_absence_set'.
1581         (add_presence_absence): Process `pattern_list' instead of
1582         `source_list'.
1583         (process_decls): USe new functions
1584         `process_presence_absence_names' and
1585         `process_presence_absence_patterns'.
1586         (reserv_sets_are_intersected): Use new function
1587         `check_presence_pattern_sets'.
1588         (presence_set, absence_set): Remove them.
1589         (unit_presence_set_table, unit_absence_set_table): New global
1590         variables.
1591         (output_description): Use new function
1592         `output_pattern_set_el_list'.
1593         (generate): Use `initiate_presence_absence_pattern_sets'.
1594
1595         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
1596
1597         * genattr.c (main): Add output of prototype of new interface
1598         function `dfa_clean_insn_cache'.
1599
1600         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
1601         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
1602         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
1603         the generated code.
1604         (write_automata): Call the new function.
1605
1606 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1607
1608         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
1609         correctly.
1610
1611 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
1612
1613         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
1614
1615 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
1616
1617         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
1618         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1619         (CONSTRAINT_LEN): Provide default definition.
1620         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1621         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
1622         (EXTRA_CONSTRAINT_STR): Likewise.
1623         (REG_CLASS_FROM_CONSTRAINT): Define.
1624         * genoutput.c (check_constraint_len, constraint_len): New functions.
1625         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
1626         constraint / modifier.
1627         (gen_insn): Call check_constraint_len.
1628         * local-alloc.c (block_alloc): Update to use new macros / pass
1629         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
1630         * ra-build.c (handle_asm_insn): Likewise.
1631         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
1632         (constrain_operands, peep2_find_free_register): Likewise.
1633         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1634         * regmove.c (find_matches): Likewise.
1635         * reload.c (push_secondary_reload, find_reloads): Likewise.
1636         (alternative_allows_memconst): Likewise.
1637         * reload1.c (maybe_fix_stack_asms): Likewise.
1638         (reload_cse_simplify_operands): Likewise.
1639         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1640         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
1641         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1642         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
1643         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
1644         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
1645
1646         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
1647
1648 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1649
1650         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
1651         length.
1652         (*extzv_1_r_h8300hs): Likewise.
1653         (*extzv_1_r_inv_h8300): Likewise.
1654         (*extzv_1_r_inv_h8300hs): Likewise.
1655
1656 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1657
1658         * config/h8300/h8300.h (PREDICATE_CODES): New.
1659
1660 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1661
1662         * config/h8300/h8300.md (*addsi3_upper): New.
1663         (*iorsi3_shift): Likewise.
1664         (two splitters): Likewise.
1665         (*addsi3_shift): Likewise.
1666         (two splitters): Likewise.
1667
1668 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
1669
1670         * Makefile.in (optabs.o): Add dependency on basic-block.h.
1671         * basic-block.h (control_flow_insn_p): Fuction was exported.
1672         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
1673         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
1674         notes only when the region is contained in a single basic block.
1675
1676 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1677
1678         PR inline-asm/8832
1679         * tree.h (expand_asm): New prototype.
1680         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
1681         to do so.
1682         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
1683         down to expand_asm.
1684         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
1685         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
1686         (volatile_refs_p) [ASM_INPUT]: Likewise.
1687         (side_effects_p) [ASM_INPUT]: Likewise.
1688
1689 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
1690
1691         * i386.md (*mul*): FIx constraints; remove confused comment; fix
1692         athlon_decode attributes
1693         (imul/k8 optimization peep2s): New.
1694
1695         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
1696         * i386.md (type attribute): Add ssecomi.
1697         (unit, memory, prefix attributes): Handle ssecomi.
1698         (cvt?2? patterns): Fix athlon_decode attribute
1699         (comi patterns): Set attribute to ssecomi.
1700
1701         PR target/8343
1702         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
1703
1704 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
1705
1706         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
1707         that match register_operands.
1708         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
1709         register_operand the default case.
1710
1711 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1712
1713         PR c/8032
1714         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
1715         an empty element, do not advance the pointer to unfilled
1716         fields if there are pending initializers.
1717
1718 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
1719
1720         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
1721         (install-gcc-tooldir, install-cpp, installdirs,
1722         install-common, install-driver, install-info, install-man,
1723         install-headers, install-include-dir, install-headers-tar,
1724         install-headers-cpio, install-headers-cp, install-mkheaders,
1725         install-collect2, uninstall): Prepend $(DESTDIR) to
1726         destination paths in all (un)installation commands.
1727         (install-driver): Rewrite $(LN) commands to support DESTDIR
1728         with "ln" as well as with "ln -s".
1729         (installdirs): Simply use mkinstalldirs.
1730         (install-libgcc, install-multilib): Also pass DESTDIR.
1731         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
1732         installation destination variable ldir.
1733         * config/alpha/t-osf4, config/arm/t-netbsd,
1734         config/ia64/t-hpux, config/mips/t-iris5-6,
1735         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
1736         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
1737         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
1738         in the definition of SHLIB_INSTALL.
1739         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
1740         $(libsubdir) in the installation commands.
1741
1742 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1743
1744         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
1745         non-optimizing compile.
1746         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
1747         compile.
1748
1749 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
1750
1751         * config/i386/i386.c (ix86_attribute_table): Add new attributes
1752         ms_struct and gcc_struct.
1753         (ix86_handle_struct_attribute): New function.
1754         (ix86_ms_bitfield_layout_p): Update to take new attributes
1755         into account.
1756         * doc/extend.texi: Document new attributes.
1757         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
1758
1759 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
1760
1761         PR optimization/8750
1762         * config/i386/i386.c (ix86_expand_prologue): Don't allow
1763         scheduling pass to move insns across __alloca call.
1764
1765 2003-01-08  Dale Johannesen  <dalej@apple.com>
1766
1767         * config/rs6000/rs6000.md:  Replace *store_multiple_string
1768         with *stmsi[3-8].
1769
1770 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
1771
1772         PR target/9210
1773         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
1774         Set SYMBOL_REF_FLAG on local data sym_ref.
1775
1776 2003-01-08  Dale Johannesen  <dalej@apple.com>
1777
1778         * function.c (assign_parms):  Don't set pretend_args_size if
1779           REG_PARM_STACK_SPACE.
1780           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
1781           pretend_args_size.
1782
1783 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1784
1785         * gcc.hlp: Delete.
1786
1787 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
1788
1789         * i386.c  (ix86_expand_int_addcc): Fix thinko.
1790
1791 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1792
1793         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
1794         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
1795         as hook_bool_tree_hwi_hwi_tree_true.
1796         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
1797         (rs6000_emit_epilogue): Same.
1798         (rs6000_output_mi_thunk): Re-implement as RTL.
1799         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
1800         xcoffout_declare_function if any debugging enabled.
1801
1802 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
1803
1804         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
1805         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
1806         * config/mips/mips.h (enum processor_type): Rename
1807         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
1808         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
1809         Add PROCESSOR_M4K.
1810         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
1811         (ISA_MIPS32R2): New define.
1812         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
1813         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
1814         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
1815         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
1816         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
1817         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
1818         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
1819         compiling MIPS16 code.
1820         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
1821         comment.
1822         (ISA_HAS_SEB_SEH): New define.
1823         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
1824         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
1825         processor_type value renaming.  Add support for MIPS32R2.
1826         Clean up comments, and move "sb1" entry with other MIPS64 CPU
1827         entries.
1828         (override_options): Reimplement -mipsN option handling so that
1829         it will work correctly for -mips32r2.  Avoid branch-likely
1830         instructions on MIPS32R2.
1831         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
1832         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
1833         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
1834         (extendhisi2_hw, extendqisi2_hw): New.
1835         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
1836         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
1837         MIPS32R2, and MIPS64.
1838         (LINK_SPEC): Pass -mips32r2 to linker.
1839         * config/mips/t-isa3264: Built -mips32r2 multilibs.
1840         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
1841         for mips32r2 in the -march description.  Alphabetically sort
1842         CPU names in the -march description.  Add long-missed -mips32
1843         and -mips64 to MIPS option summary.
1844
1845         * config.gcc: Update copyright years to include 2003.
1846         * config/mips/mips.c: Likewise.
1847         * config/mips/mips.h: Likewise.
1848         * config/mips/mips.md: Likewise.
1849         * config/mips/netbsd.h: Likewise.
1850         * doc/invoke.texi: Likewise.
1851
1852 2003-01-08  Andreas Schwab  <schwab@suse.de>
1853
1854         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
1855         variable.
1856         * configure: Regenerated.
1857
1858 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1859
1860         * config/h8300/h8300.c (output_logical_op): Replace byte/word
1861         extraction of det with b0, b1, w0, w2, etc.
1862         (compute_logical_op_length): Likewise.
1863         (compute_logical_op_cc): Likewise.
1864
1865 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1866
1867         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
1868         HIGH on all variants.
1869
1870 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
1871
1872         * Makefile.in (PARTITION_H): New.
1873         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
1874         * basic-block.h: Include hard-reg-set.h.
1875
1876 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
1877
1878         * arm.h (ENABLE_XF_PATTERNS): Delete.
1879         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
1880         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
1881         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
1882         (cmpxf_trap): Delete.
1883         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
1884
1885 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1886
1887         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
1888         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
1889         (add??cc): New expanders.
1890         * i386.c (expand_int_addcc): New function.
1891         * i386-protos.h (expand_int_addcc): Declare.
1892
1893         * alias.c (memory_modified_1): New static function.
1894         (memory_modified): New static varaible.
1895         (memory_modified_in_insn_p): New global function.
1896         * rtl.h (memory_modified_in_insn_p): Declare.
1897         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
1898         references.
1899
1900         * expr.h (emit_conditional_add): Declare.
1901
1902 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
1903
1904         PR other/8947
1905         * doc/invoke.texi (-malign-double): Explain that the option breaks
1906         binary compatibility.
1907
1908 2003-01-08  Andreas Schwab  <schwab@suse.de>
1909
1910         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
1911         should come from the generic *-*-linux* entry.
1912
1913 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
1914
1915         * cselib.c (cselib_current_insn_in_libcall): New static variable.
1916         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
1917         we are inside libcall.
1918         * cselib.h (elt_loc_list): Add in_libcall.
1919         * gcse.c (do_local_cprop): Do not copy propagate using insns
1920         in libcalls.
1921
1922 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
1923
1924         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
1925         not normally affect to issue rate.
1926
1927 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1928
1929         * genopinit.c (optabs): Add addc_optab.
1930         * ifcvt.c (noce_try_store_flag): Rename to ...
1931         (noce_try_addcc): ... this one; handle generic conditional increment.
1932         (noce_process_if_block): Update noce_try_addcc call.
1933         * optabs.c (emit_conditional_add): New.
1934         (init_obtabs): Initialize addc_optab.
1935         * optabs.h (optab_index): Add OTI_addcc.
1936         (addcc_optab): New macro.
1937         * md.texi: Document addMcc
1938
1939         PR target/8322
1940         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
1941         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1942         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1943
1944         * reload1.c (delete_output_reload): Avoid repeated attempts
1945         to delete insn.
1946
1947 2003-01-07  Andreas Schwab  <schwab@suse.de>
1948
1949         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
1950         Move --enable-initfini-array check ...
1951         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
1952         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
1953         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
1954         * configure: Rebuild.
1955
1956 2003-01-07  Richard Henderson  <rth@redhat.com>
1957
1958         * alias.c (find_base_value): Only use new_reg_base_value shortcut
1959         if the register is set once.
1960
1961 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
1962
1963         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
1964         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
1965         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
1966
1967 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
1968             Sunil Davasam  <sunil.k.davasam@intel.com>
1969
1970         PR libstdc++/9076
1971         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
1972         DW_CFA_same_value, read next and ignore.
1973
1974 2003-01-07  Richard Henderson  <rth@redhat.com>
1975
1976         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
1977
1978 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
1979
1980         * cfg.c: Include alloc-pool.h
1981         (edge_pool): New pool.
1982         (bb_pool): New pool.
1983         (first_deleted_edge): Remove.
1984         (first_deleted_block): Remove.
1985         (init_flow): Alloc/free the pools.
1986         (free_edge): Use pools.
1987         (alloc_block): Ditto.
1988         (expunge_block): Ditto.
1989         (cached_make_edge): Ditto.
1990
1991         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
1992
1993 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
1994
1995         * et-forest.c: Include alloc-pool.h.
1996         (struct et_forest): Add node_pool and occur_pool.
1997         (et_forest_create): Create the new pools.
1998         (et_forest_delete): Delete them.
1999         (et_forest_add_node): Allocate and free using pools.
2000         (et_forest_add_edge): Ditto.
2001         (et_forest_remove_node): Ditto.
2002         (et_forest_remove_edge): Ditto.
2003
2004         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
2005
2006 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
2007
2008         * config/h8300/h8300.c (output_logical_op): Simplify and
2009         optimize the handling of SImode.
2010         * config/h8300/h8300.c (compute_logical_op_length): Update
2011         accordingly.
2012         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
2013
2014 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
2015
2016         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
2017         big-endian correction to indirect arguments too.
2018
2019 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
2020
2021         Segher Boessenkool  <segher@koffie.nl>
2022
2023         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
2024         (alt_reg_names): Ditto, fix formatting.
2025         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
2026
2027 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2028
2029         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
2030         (output_logical_op): Constify intval and det.
2031         (compute_logical_length): Likewise.
2032         (compute_logical_cc): Likewise.
2033         (output_a_shift): Constify mask.
2034         (h8300_encode_label): Constify len.
2035
2036 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2037
2038         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
2039         (h8300_expand_epilogue): Likewise.
2040
2041 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
2042
2043         Segher Boessenkool  <segher@koffie.nl>
2044
2045         * config/rs6000/altivec.md: Remove spaces from assembler
2046         instruction argument lists.
2047
2048 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2049
2050         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
2051         c4x_assembler_function_p.
2052         (c4x_null_epilogue_p): Complement return value, all uses updated.
2053         (c4x_insert_attributes): Add naked.
2054         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
2055         * doc/extend.texi: Update C4x function attributes.
2056
2057 2003-01-06  Richard Henderson  <rth@redhat.com>
2058
2059         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
2060         properly when changing "local-ness".
2061         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
2062
2063 2003-01-06  Dale Johannesen  <dalej@apple.com>
2064
2065         * config/darwin-protos.h:  Add prototypes for new section functions.
2066
2067 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
2068
2069         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
2070         to EABI.
2071
2072 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
2073
2074         * hwint.h: If the current compiler has no 64-bit type at all,
2075         make HOST_WIDEST_INT 32 bits.
2076
2077 2003-01-06  Eric Christopher  <echristo@redhat.com>
2078
2079         * config/mips/mips.md (movdf_internal2): Fix constraints.
2080
2081 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2082
2083         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
2084
2085 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
2086
2087         * config/mips/mips.md (leadi): Use dla rather than la.
2088
2089 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
2090
2091         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
2092         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
2093
2094 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
2095
2096         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
2097         redefinition.
2098
2099 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2100
2101         * config/h8300/h8300.md (*extzv_8_23): New.
2102
2103 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2104
2105         * pa64-hpux.h (JCR_SECTION_NAME): Define.
2106         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
2107         USE_EH_FRAME_REGISTRY when defining.
2108
2109 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2110
2111         * config/h8300/h8300.c (output_a_shift): Do not output a
2112         variable shift.
2113         * config/h8300/h8300.md (two splitters): New.
2114
2115 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
2116
2117         * config/mips/mips.md: Disable the movstrsi define_split.
2118
2119 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2120
2121         * alloc-pool.c: Don't include "libiberty.h".
2122         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
2123         * convert.c (convert_to_real): Hide unused variable.
2124
2125 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2126
2127         * Makefile.in (gtyp-gen.h): Const-ify.
2128         * gcov-dump.c (tag_table): Likewise.
2129
2130 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2131
2132         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
2133         of *both* the file name and the fix name.
2134
2135 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
2136
2137         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
2138         collect2.
2139         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
2140         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
2141         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
2142         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
2143         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
2144         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
2145         elfos.h.
2146         (EH_FRAME_IN_DATA_SECTION): Delete define.
2147         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
2148         (STARTFILE_SPEC): Use crtbegin.o.
2149         (ENDFILE_SPEC): Use crtend.o.
2150         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
2151         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
2152         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
2153         DTOR_LIST_BEGIN): Define.
2154         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
2155         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
2156         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
2157
2158 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
2159
2160         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
2161         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
2162         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
2163         Cleanup handling of replacement text.
2164         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
2165
2166 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2167
2168         * fixinc/tests/base/math.h: removed obsolete results
2169         * fixinc/tests/base/stdlib.h: ditto
2170         * fixinc/tests/base/sys/param.h: ditto
2171         * fixinc/tests/base/sys/stat.h: ditto
2172         * fixinc/tests/base/time.h: ditto
2173         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
2174         * fixinc/tests/base/sys/byteorder.h: ditto
2175         * fixinc/inclhack.def: Remove superfluous backslashes
2176
2177 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
2178
2179         * config/h8300/h8300-protos.h: Add prototypes for
2180         the new functions defined below.
2181         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
2182         define.
2183         (dosize): Emit RTL instead of assembly code.
2184         (push): Likewise.
2185         (pop): Likewise.
2186         (h8300_output_function_prologue): Remove.
2187         (h8300_expand_prologue): New.
2188         (h8300_expand_epilogue): New.
2189         (h8300_output_function_epilogue): Do only the reset of
2190         pragma_saveall.
2191         * config/h8300/h8300.md (push_h8300): New.
2192         (push_h8300hs): Likewise.
2193         (pop_h8300): Likewise.
2194         (pop_h8300hs): Likewise.
2195         (*stm_h8300s_2): Change the name to stm_h8300s_2.
2196         (*stm_h8300s_3): Change the name to stm_h8300s_3.
2197         (*stm_h8300s_4): Change the name to stm_h8300s_4.
2198         (*ldm_h8300s_2): New.
2199         (*ldm_h8300s_3): Likewise.
2200         (*ldm_h8300s_4): Likewise.
2201         (return): Likewise.
2202         (*return_1): Likewise.
2203         (prologue): Likewise.
2204         (epilogue): Likewise.
2205         (monitor_prologue): Likewise.
2206
2207 2003-01-03  Dale Johannesen  <dalej@apple.com>
2208
2209         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
2210           machopic_picsymbol_stub1.
2211           (EXTRA_SECTION_FUNCTIONS):  Ditto.
2212         * rs6000/rs6000.c:  Update copyright.
2213           (machopic_output_stub):  Use them.  Remove an insn from stub code.
2214
2215 2003-01-02  Jason Merrill  <jason@redhat.com>
2216
2217         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
2218
2219         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
2220         static/external decls.
2221
2222         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
2223         outermost scope.
2224         * c-decl.c (c_make_fname_decl): Push the decls there, too.
2225
2226 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
2227
2228         * config/h8300/h8300-protos.h: Add a prototype for
2229         h8300_current_function_interrupt_function_p.
2230         * config/h8300/h8300.c (interrupt_handler): Remove.
2231         (os_task): Likewise.
2232         (monitor): Likewise.
2233         (pragma_interrupt): New.
2234         (WORD_REG_USED): Use
2235         h8300_current_function_interrupt_function_p.
2236         (dosize): Likewise.
2237         (h8300_output_function_prologue): Likewise.
2238         Do not set interrupt_handler, os_task, monitor.
2239         (h8300_output_function_prologue): Use
2240         h8300_current_function_interrupt_function_p.
2241         Do not set interrupt_handler, os_task, monitor.
2242         (h8300_current_function_interrupt_function_p): New.
2243         (h8300_pr_interrupt): Set pragma_interrupt.
2244         (h8300_insert_attributes): Reset pragma_interrupt.
2245
2246 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2247
2248         * doc/install.texi (Configuration): Fix markup for reference to
2249         gcc/config.gcc.
2250
2251 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2252
2253         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
2254         (*iorhi3_two_qi): Likewise.
2255         (*iorsi3_zexthi): Likewise.
2256         (*xorhi3_zextqi): Likewise.
2257         (*xorsi3_zexthi): Likewise.
2258         (*xorsi3_zextqi): Likewise.
2259
2260 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2261
2262         * config/h8300/h8300.c (stack_pointer_operand): New.
2263         (const_int_gt_2_operand): Likewise.
2264         (const_int_ge_8_operand): Likewise.
2265         * config/h8300/h8300.md (a splitter): Likewise.
2266         (a peephole2): Likewise.
2267         * config/h8300/h8300-protos.h: Add prototypes for the new
2268         functions above.
2269
2270 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
2271
2272         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
2273         objc/objc-act.h: Fix copyright years.
2274
2275 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2276
2277         * doc/passes.texi: Fix documentation for -fssa-ccp
2278
2279 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
2280
2281         * gccbug.in: Update for new categories.
2282
2283 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2284
2285         * config/h8300/h8300.md: Reorder some patterns.
2286
2287 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2288
2289         * config/h8300/h8300.c (output_logical_op): Fix a warning.
2290
2291 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2292
2293         * config/darwin-protos.h, config/c4x/c4x-protos.h,
2294         config/cris/cris-protos.h, config/i370/i370-protos.h,
2295         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
2296         config/v850/v850-protos.h: Use struct, and don't conditionally
2297         compile on GCC_C_PRAGMA_H.
2298
2299 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2300
2301         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
2302         * config/h8300/h8300-protos.h: Likewise.
2303         * config/sh/sh-protos.h: Likewise.
2304
2305 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2306
2307         * config/arm/arm-protos.h: Use struct cpp_reader instead of
2308         cpp_reader.
2309         * config/h8300/h8300-protos.h: Likewise.
2310         * config/sh/sh-protos.h: Likewise.
2311
2312 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2313
2314         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
2315         arm_pr_long_calls_off): Use struct.
2316         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
2317         : Similarly.
2318         Don't include cpplib.h.
2319         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
2320         sh_pr_nosave_low_regs): Similarly.
2321
2322 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2323
2324         * config/h8300/h8300.c: Include cpplib.h.
2325
2326 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2327
2328         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
2329           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
2330           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
2331           "GCC" in the copyright header.
2332
2333 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2334
2335         * c-pragma.c (c_register_pragma): New.
2336         (init_pragma): Use it.
2337         * c-pragma.h (cpp_register_pragma): Don't declare.
2338         (c_register_pragma): New.
2339         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
2340         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
2341         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
2342         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2343         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
2344         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
2345         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
2346         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
2347         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
2348         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
2349         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
2350         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
2351
2352 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2353
2354         * config/h8300/h8300-protos.h: Update the prototypes.
2355         * config/h8300/h8300.c (const_le_2_operand): Change to
2356         const_int_le_2_operand.
2357         (const_int_le_6_operand): Change to const_int_le_6_operand.
2358         * config/h8300/h8300.md (two peepholes): Update the function
2359         names.
2360
2361 2002-12-31  Tom Tromey  <tromey@redhat.com>
2362
2363         * doc/install.texi (Testing): Fixed typo.
2364
2365 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2366
2367         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
2368         (TRAMPOLINE_SIZE): Support the normal mode.
2369         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
2370
2371 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
2372
2373         * c-common.h (pending_lang_change): Declare.
2374
2375 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2376
2377         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
2378         descriptions.
2379
2380 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2381
2382         * gcc/doc/invoke.texi (Optimization Options): List the options
2383         enabled by each -O flag.
2384
2385 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2386
2387         * doc/install.texi (Configuration): Explicitly refer
2388         gcc/config.gcc for a list of cpu models.
2389
2390 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2391
2392         * config/h8300/h8300.h: Fix comment typos.
2393
2394 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
2395
2396         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
2397
2398 2002-12-30  Tom Tromey  <tromey@redhat.com>
2399
2400         * doc/install.texi (Testing): Mention Jacks.
2401
2402 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2403
2404         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
2405
2406 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2407
2408         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
2409         cases.
2410         (compute_logical_op_length): Update to reflect the change in
2411         output_logical_op.
2412         (compute_logical_op_cc): Likewise.
2413
2414 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2415
2416         * doc/service.texi: Uncomment and update FAQ link.
2417
2418 2002-12-30  Andreas Jaeger  <aj@suse.de>
2419
2420         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
2421
2422 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2423
2424         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
2425
2426 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2427
2428         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
2429         are clearing the most significant byte.
2430         (compute_logical_op_length): Update to reflect the change in
2431         output_logical_op.
2432         (compute_logical_op_cc): Likewise.
2433
2434 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2435
2436         * config/h8300/h8300.md: Give internal names to anonymous
2437         insns.
2438
2439 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2440
2441         * config/h8300/h8300.md: Reorder some insns.
2442
2443 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2444
2445         * config/h8300/h8300-protos.h: Add prototypes for
2446         const_int_qi_operand and const_int_hi_operand.
2447         * config/h8300/h8300.c (const_int_qi_operand): New.
2448         (const_int_hi_operand): Likewise.
2449         * config/h8300/h8300.md (three peepholes): New.
2450
2451 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2452
2453         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
2454         Use @copying.
2455
2456 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2457
2458         * configure.in: Increase makeinfo version requirement to 4.[2-9].
2459         * configure: Regenerate.
2460         * doc/install.texi: Update Texinfo version requirement.
2461
2462 2002-12-28  Andreas Jaeger  <aj@suse.de>
2463
2464         * config/i386/i386.c (x86_function_profiler): Mark labelno as
2465         possibly unused.
2466
2467         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
2468         correct format.
2469
2470 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
2471
2472         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
2473         *iorhi_ashift_8.
2474         (*iorhi_lshiftrt_8): New.
2475
2476 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
2477
2478         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
2479
2480 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2481
2482         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
2483
2484 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2485
2486         * config/h8300/h8300-protos.h: Fix comment typos.
2487         Update copyright.
2488         * config/h8300/h8300.c: Fix comment typos.
2489
2490 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2491
2492         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
2493
2494 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2495
2496         * config/i386/athlon.md: Fix comment typos.
2497         * config/i386/crtdll.h: Likewise.
2498         * config/i386/djgpp.h: Likewise.
2499         * config/i386/i386-interix.h: Likewise.
2500         * config/i386/i386.c: Likewise.
2501         * config/i386/i386.h: Likewise.
2502         * config/i386/i386.md: Likewise.
2503         * config/i386/k6.md: Likewise.
2504         * config/i386/mingw32.h: Likewise.
2505         * config/i386/pentium.md: Likewise.
2506         * config/i386/sco5.h: Likewise.
2507         * config/i386/winnt.c: Likewise.
2508         * config/i386/xmmintrin.h: Likewise.
2509
2510 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
2511
2512         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
2513         INSN_P before checking to see if it is dead.
2514         (mark_all_insn_unnecessary): Similarly.
2515         (ssa_eliminate_dead_code): Similarly.
2516         * rtl.h (struct rtx_def): Update comments for in_struct usage
2517         in dead code elimination pass.
2518         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
2519
2520 2002-12-26  Andreas Schwab  <schwab@suse.de>
2521
2522         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
2523
2524 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
2525
2526         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
2527         tartet_flags_explicit.
2528         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
2529         Compact target_flags bits.
2530         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
2531         (TARGET_SWITCHES): Delete references to *_SET flags.
2532
2533 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
2534
2535         * i386.md (memory attribute): Fix setcc attribute.
2536
2537 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2538
2539         * output.h: Fix comment typos.
2540         * predict.c: Likewise.
2541         * print-tree.c: Likewise.
2542         * profile.c: Likewise.
2543         * ra-build.c: Likewise.
2544         * ra-colorize.c: Likewise.
2545         * ra-debug.c: Likewise.
2546         * ra-rewrite.c: Likewise.
2547         * ra.c: Likewise.
2548         * ra.h: Likewise.
2549         * real.c: Likewise.
2550         * recog.c: Likewise.
2551         * reg-stack.c: Likewise.
2552         * regclass.c: Likewise.
2553
2554 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2555
2556         * config/h8300/h8300.c (print_operand_address): Do not negate
2557         a negative number when printing one.
2558
2559 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2560
2561         * config/h8300/h8300-protos.h: Add prototypes for
2562         output_plussi, compute_plussi_length, and compute_plussi_cc.
2563         * config/h8300/h8300.c (output_plussi): New.
2564         (compute_plussi_length): Likewise.
2565         (compute_plussi_cc): Likewise.
2566         * config/h8300/h8300.md (addsi_h8300h): Call
2567         output_plussi, compute_plussi_length, and compute_plussi_cc.
2568
2569 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2570
2571         * config/h8300/h8300.md (two peepholes): Use match_dup instead
2572         of match_operand in the new patterns.
2573
2574 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
2575
2576         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
2577
2578 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
2579
2580         * configure.in (enable-coverage): Add SELF_COVERAGE.
2581         * profile.c (end_branch_prob): Use SELF_COVERAGE.
2582
2583 2002-12-24  Jim Wilson  <wilson@redhat.com>
2584
2585         * alias.c (record_set): Handle multi-reg hard registers.
2586
2587 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2588
2589         * regmove.c: Fix comment typos.
2590         * reload.c: Likewise.
2591         * reload1.c: Likewise.
2592         * resource.c: Likewise.
2593         * rtl.def: Likewise.
2594         * rtl.h: Likewise.
2595         * rtlanal.c: Likewise.
2596         * sched-deps.c: Likewise.
2597         * sched-rgn.c: Likewise.
2598         * sibcall.c: Likewise.
2599         * simplify-rtx.c: Likewise.
2600         * ssa-ccp.c: Likewise.
2601         * ssa.c: Likewise.
2602         * stmt.c: Likewise.
2603         * stor-layout.c: Likewise.
2604         * system.h: Likewise.
2605         * tlink.c: Likewise.
2606         * toplev.c: Likewise.
2607         * tracer.c: Likewise.
2608         * tree-inline.c: Likewise.
2609         * tree.c: Likewise.
2610         * tree.h: Likewise.
2611         * unroll.c: Likewise.
2612         * varasm.c: Likewise.
2613
2614 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
2615
2616         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
2617         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
2618         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
2619         DG/UX entries.
2620         * doc/md.texi: Remove AMD 29K entries.
2621         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
2622         1.38.1, NewsOS, RT PC, WE32K entries.
2623
2624 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
2625
2626         PR/8763
2627         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
2628         (altivec_vspltisw_v4sf): Name pattern.
2629         (altivec_vslw_v4sf): New pattern.
2630
2631 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2632
2633         * doc/include/gcc-common.texi: Define DEVELOPMENT.
2634
2635 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
2636
2637         * stor-layout.c (update_alignment_for_field): Correct handling of
2638         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
2639         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
2640         bitfield does not affect alignment.
2641
2642 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
2643
2644         * expr.c (expand_assignment): Apply special treatment to
2645         ARRAY_TYPE.
2646
2647 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2648
2649         * config/h8300/h8300-protos.h: Update the prototype of
2650         expand_a_shift.
2651         * config/h8300/h8300.c (expand_a_shift): Change the return
2652         type to void.
2653         * config/h8300/h8300.md: Update all the uses of
2654         expand_a_shift.
2655
2656 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
2657
2658         * tree.c (save_expr): Allow either side of a dyadic operand to be
2659         constant.
2660
2661         * doc/portability.texi (portability): Update portability goals.
2662
2663 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2664
2665         * config/h8300/h8300.c (output_a_shift): Remove unused code.
2666
2667 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
2668
2669         * stor-layout.c (update_alignment_for_field): Guard use of
2670         ADJUST_FIELD_ALIGN with #ifdef.
2671
2672         * stor-layout.c (update_alignment_for_field): Use
2673         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
2674         bitfield when PCC_BITFIELD_TYPE_MATTERS.
2675
2676 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2677
2678         * genautomata.c: Fix comment typos.
2679
2680 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2681
2682         * params.def (tracer-min-branch-probability-feedback): Fix default.
2683         * final.c (compute_alignments): Use profile to avoid code bloat.
2684
2685 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2686
2687         * config/h8300/h8300.c (get_shift_alg): Make shift insn
2688         sequences end with a valid cc0 whenever possible.
2689
2690 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2691
2692         * config/h8300/h8300.md (negsf2): New.
2693         (*negsf2_h8300): Likewise.
2694         (*negsf2_h8300hs): Likewise.
2695
2696 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
2697
2698         * integrate.c (output_inline_function): Don't hold private
2699         pointers to 'struct function' over GC calls.
2700
2701 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
2702
2703         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
2704         NO_FPSCR_VALUES.
2705         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
2706
2707 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2708
2709         * config/h8300/h8300.md (zero_extendqisi2): Correct the
2710         length.
2711
2712 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2713
2714         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
2715         second alternative "#".
2716         (*zero_extendqihi2_h8300hs): Likewise.
2717         (a define_split): New.
2718
2719 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2720
2721         * config/h8300/h8300-protos.h: Update the prototype for
2722         split_adds_subs.
2723         Add prototypes for const_le_2_operand and const_le_6_operand.
2724         * config/h8300/h8300.c (split_adds_subs): Add an argument to
2725         specify whether inc/dec should be used when possible.
2726         (const_le_2_operand): New.
2727         (const_le_6_operand): Likewise.
2728         * config/h8300/h8300.md (two peepholes): New.
2729
2730 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2731
2732         * config/fr30/fr30.md: Fix a comment typo.
2733         * config/i386/i386.c: Likewise.
2734         * config/ip2k/ip2k.h: Likewise.
2735
2736 2002-12-20  Jim Wilson  <wilson@redhat.com>
2737
2738         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
2739         (__ev_subw, __ev_subiw): New.
2740         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
2741         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
2742
2743 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
2744
2745         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
2746         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
2747         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
2748         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
2749
2750 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2751
2752         * config/h8300/h8300-protos.h: Add prototypes for
2753         incdec_operand and eqne_operator.
2754         * config/h8300/h8300.c (incdec_operand): New.
2755         (eqne_operator): Likewise.
2756         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
2757         (CONST_OK_FOR_O): Likewise.
2758         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
2759         CONST_OK_FOR_O.
2760         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
2761         (addhi3_incdec): New.
2762         (addsi3_incdec): Likewise.
2763         (two peepholes): Likewise.
2764
2765 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2766
2767         * config/h8300/h8300.c (dosize): Remove warnings.
2768         (print_operand): Likewise.
2769
2770 2002-12-20  Richard Henderson  <rth@redhat.com>
2771
2772         * config/alpha/alpha.c (decl_has_samegp): New.
2773         (samegp_function_operand): Use it.  Rename from
2774         current_file_function_operand.
2775         (direct_call_operand): Handle -msmall-text via symbol->jump.
2776         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
2777         (tls_symbolic_operand_type): Likewise.
2778         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
2779         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
2780         (alpha_end_function): Set symbol->jump for functions defined in
2781         the text section.
2782         * config/alpha/alpha-protos.h: Update.
2783         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
2784         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
2785         (PREDICATE_CODES): Update.
2786         * config/alpha/alpha.md (call patterns): Update for
2787         samegp_function_operand rename; use !samegp reloc if
2788         TARGET_EXPLICIT_RELOCS.
2789         * doc/invoke.text: Document -msmall-text and -mlarge-text.
2790
2791 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
2792
2793         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
2794         all registers capable of holding a double float.
2795         (*rcond): change name of "reverse branch" insns to
2796         something more meaningful.
2797         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
2798         comparisons properly.
2799         (*ffs): Change operand 0 from write to read-modify-write.
2800         (*ffsssi2): Drop constraints from define_expand.
2801
2802         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
2803         MOVE_RATIO as default for store operations.
2804
2805         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
2806         LONG_REGS class.
2807         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
2808         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
2809         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
2810
2811         * config/ns32k/STATUS: New File
2812         * config/ns32k/NOTES: New file.
2813
2814 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
2815
2816         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
2817         option for S/390 and zSeries.
2818         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
2819         s390_arch_string): New variables.
2820         (override_options): Checking for options and setting of
2821         appropriate target_flags, cpu and arch flags.
2822         * config/s390/s390.h: (processor_type): New enum.
2823         (TARGET_SWITCHES): New switches -mesa/zarch.
2824         * config/s390/s390.md: New attribute 'cpu'.
2825
2826 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2827
2828         * c-pretty-print.h: Fix comment typos.
2829         * integrate.c: Likewise.
2830         * varasm.c: Likewise.
2831         * config/c4x/c4x.h: Likewise.
2832         * config/c4x/c4x.md: Likewise.
2833         * config/fr30/fr30.md: Likewise.
2834         * config/frv/frv.c: Likewise.
2835         * config/h8300/h8300.c: Likewise.
2836         * config/i386/i386.c: Likewise.
2837         * config/i386/i386.h: Likewise.
2838         * config/ia64/ia64.c: Likewise.
2839         * config/ia64/ia64.h: Likewise.
2840         * config/ip2k/ip2k.md: Likewise.
2841         * config/m68hc11/m68hc11-crt0.S: Likewise.
2842         * config/m68hc11/m68hc11.h: Likewise.
2843         * config/m68hc11/m68hc11.md: Likewise.
2844         * config/m68hc11/m68hc12.h: Likewise.
2845         * config/mcore/mcore.md: Likewise.
2846         * config/mips/mips.c: Likewise.
2847         * config/mips/mips.md: Likewise.
2848         * config/mmix/mmix-modes.def: Likewise.
2849         * config/pa/pa.c: Likewise.
2850         * config/rs6000/rs6000.c: Likewise.
2851         * config/rs6000/rs6000.h: Likewise.
2852         * config/rs6000/rs6000.md: Likewise.
2853
2854 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2855
2856         * config/h8300/h8300.md (output_a_shift): Clean up the code to
2857         output shifts using rotation.
2858
2859 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2860
2861         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
2862
2863 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2864
2865         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
2866         pointer.
2867         (pushqi_h8300hs): Likewise.
2868         (pushhi_h8300): Likewise.
2869         (pushhi_h8300hs): Likewise.
2870
2871 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
2872
2873         * sched-rgn.c (init_regions): Update comment.
2874
2875 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
2876
2877         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
2878         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
2879         attributes.
2880         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
2881         (get_vrsave_internal,set_vrsave_internal): Same.
2882         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
2883         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
2884         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
2885
2886 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
2887             Danny Smith  <dannysmith@users.sourceforge.net>
2888             Eric Kohl  <ekohl@rz-online.de>
2889
2890         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
2891         attributes incompatible with fastcall attribute.
2892         (ix86_handle_regparm_attribute): Likewise.
2893
2894         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
2895         fastcall types.
2896
2897         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2898         attributes.
2899         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
2900         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
2901         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
2902         i386_pe_output_labelref rather than here.
2903         (gen_fastcall_suffix): New function. Decorates a label name with the
2904         fastcall prefix (@) and the stdcall suffix.
2905         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
2906         has a fastcall attribute.
2907         (i386_pe_output_labelref): New function. Outputs a label reference.
2908         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
2909         valid attribute.
2910         (ix86_return_pops_args): Fastcall functions pop the stack.
2911         (init_cumulative_args): Reserve registers ECX and EDX if function has
2912         fastcall attribute.
2913         (function_arg): Use registers ECX and EDX if function has fastcall
2914         attribute.
2915         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
2916         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
2917         (FASTCALL_PREFIX): Define as '@'.
2918         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2919         attributes.
2920         * doc/extend.texi: Add documentation of fastcall attribute.
2921
2922 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2923
2924         * configure.in: FORBUILD when build!=host changed from
2925         ../$build-alias to ../build-$build_alias to match change made
2926         in top directory.
2927         * configure: Regenerated.
2928
2929 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2930
2931         PR optimization/8988
2932         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
2933         the biv when eliminating.
2934
2935 2002-12-19  Devang Patel  <dpatel@apple.com>
2936         * gcc.c (struct default_compiler): Recognizes input file name with
2937         .CPP extension as C++ source files
2938         * cp/lang-spec.h: Same
2939         * doc/invoke.texi:  Add documentation for .CPP support.
2940
2941 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
2942
2943         PR 8553
2944         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
2945         registers.
2946         ("absv16qi2"): Same.
2947         ("absv4si2"): Same.
2948         ("absv4sf2"): Same.
2949         ("altivec_abss_v16qi"): Same.
2950         ("altivec_abss_v8hi"): Same.
2951         ("altivec_abss_v4si"): Same.
2952
2953 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
2954
2955         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
2956         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
2957
2958 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2959
2960         PR target/8340
2961         * stmt.c (expand_asm_operands): Produce an error when
2962         the PIC register is clobbered.
2963
2964 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
2965
2966         * Makefile.in (OBJS): Add alloc-pool.o
2967         (alloc-pool.o): New object.
2968
2969         * alloc-pool.c: New file.
2970         * alloc-pool.h: New file.
2971
2972 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
2973
2974         * gcc.c (validate_switches): Robustify against skipping past '\0'.
2975
2976 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2977
2978         * config.gcc: Set extra_objs in the generic Darwin rule,
2979         not in the machine-specific rules.
2980
2981 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2982
2983         * ChangeLog: Follow spelling conventions.
2984         * ChangeLog.2: Likewise.
2985         * ChangeLog.4: Likewise.
2986         * ChangeLog.5: Likewise.
2987         * cppexp.c: Likewise.
2988         * df.c: Likewise.
2989         * gcov.c: Likewise.
2990         * gengtype.c: Likewise.
2991         * reload1.c: Likewise.
2992         * sched-rgn.c: Likewise.
2993         * stmt.c: Likewise.
2994         * stor-layout.c: Likewise.
2995         * timevar.c: Likewise.
2996         * toplev.c: Likewise.
2997         * tree.h: Likewise.
2998         * varasm.c: Likewise.
2999         * config/fr30/fr30.md: Likewise.
3000         * config/i386/i386.c: Likewise.
3001         * config/ia64/ia64.c: Likewise.
3002         * config/pa/pa.c: Likewise.
3003
3004 2002-12-18  Roger Sayle  <roger@eyesopen.com>
3005
3006         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
3007
3008 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
3009
3010         PR 8551
3011         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
3012         macro.
3013         (vec_cmplt C++ functions): Reverse arguments.
3014
3015 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3016
3017         * config/rs6000/t-rs6000: Move contents to t-fprules,
3018         add rules for dependencies of rs6000.o and to build rs6000-c.o
3019         * config/rs6000/t-fprules: New file from t-rs6000.
3020         * config/rs6000/t-beos: Remove soft-fp rules.
3021         * config/rs6000/t-ppccomm: Likewise.
3022         * config/rs6000/t-newas: Likewise.
3023         * config/rs6000/t-rs6000-c-rule: Delete.
3024         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
3025         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
3026         Create generic Darwin rules.
3027
3028         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
3029
3030 2002-12-18  Doug Evans  <dje@sebabeach.org>
3031
3032         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
3033         and LIT_NAME_P.
3034         (move_src_operand): Remove compile-time warning.
3035         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
3036
3037 2002-12-18  Jason Merrill  <jason@redhat.com>
3038
3039         * unwind-dw2-fde.c (frame_downheap): Split out from...
3040         (frame_heapsort): Here.
3041
3042 2002-12-17  Jason Merrill  <jason@redhat.com>
3043
3044         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
3045         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
3046
3047         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
3048
3049         * calls.c (expand_call): Don't try to be clever about expanding
3050         the return slot address.
3051
3052 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
3053
3054         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
3055         Define.
3056
3057 2002-12-17  Jason Merrill  <jason@redhat.com>
3058
3059         * genmultilib: Use 'cd ./foo'.
3060
3061 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3062
3063         * doc/c-tree.texi: Restore deliberate spelling mistakes.
3064
3065 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3066
3067         * doc/c-tree.texi: Fix typos and follow spelling conventions.
3068         * doc/cpp.texi: Likewise.
3069         * doc/extend.texi: Likewise.
3070         * doc/gty.texi: Likewise.
3071         * doc/install.texi: Likewise.
3072         * doc/invoke.texi: Likewise.
3073         * doc/md.texi: Likewise.
3074         * doc/passes.texi: Likewise.
3075         * doc/rtl.texi: Likewise.
3076         * doc/sourcebuild.texi: Likewise.
3077         * doc/tm.texi: Likewise.
3078
3079 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
3080
3081         * doc/invoke.texi: Minor spelling and grammar fixes.
3082
3083 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
3084
3085         * config/s390/s390.c (s390_output_constant_pool): Replace
3086         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
3087
3088 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
3089
3090         * convert.c (convert_to_real): Disable function transformation for
3091         now.
3092
3093 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3094
3095         * gcc.c (handle_braces): Allow '@' as a switch name.
3096
3097 2002-12-16  Jason Merrill  <jason@redhat.com>
3098
3099         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
3100         with special struct-return ABIs.
3101
3102         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
3103         doesn't match the begin SCOPE_STMT in partialness.
3104
3105 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3106
3107         * genmultilib: Create temporary files in unique subdirectory.
3108
3109         * gcc.c (validate_switches): Allow '@' as a switch name.
3110
3111 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
3112
3113         * Makefile.in (gcov-iov.h): Improve portability.
3114
3115 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
3116
3117         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
3118         gas
3119         * mips.md (tablejump insn): Likewise.
3120
3121 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
3122
3123         * doc/include/gcc-common.texi: Change version number to 3.4.
3124
3125 2002-12-16  Bruce Korb  <bkorb@gnu.org>
3126
3127         * fixinc/fixlib.h: add: #include <signal.h>
3128         * fixinc/fixincl.c: remove: #include <signal.h>
3129
3130 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
3131
3132         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
3133         (EXTRA_CONSTRAINT): Use it.
3134         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
3135
3136 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
3137
3138         * config.gcc (need_64bit_hwint): New variable.
3139         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
3140         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
3141         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
3142         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
3143         Set it.
3144         (powerpc*-*-darwin*): Unset it.
3145         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
3146         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
3147         deleted/nonexistent xm-*.h headers.
3148         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
3149         target set need_64bit_hwint in config.gcc.
3150         * configure, config.in: Regenerate.
3151
3152         * hwint.h: Overhaul.  Don't bother trying int for
3153         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
3154         decision to force 64-bit HOST_WIDE_INT on
3155         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
3156         not visible at this point.  Don't allow prior definition of
3157         any macro defined by this file.
3158
3159         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
3160         HOST_BITS_PER_WIDE_INT.
3161         * config/c4x/c4x.h: Adjust redefinition of
3162         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
3163         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
3164         config/i386/xm-i386-interix.h: Delete file.
3165
3166 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
3167             John David Anglin  <dave@hiauly1.hia.nrc.ca>
3168
3169         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
3170         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
3171
3172 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3173
3174         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
3175
3176 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3177
3178         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
3179         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
3180         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
3181         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
3182         config/v850/t-v850:  Correct dependencies and normalize
3183         compilation commands for files that include coretypes.h and tm.h.
3184
3185         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
3186         not config.h and system.h.
3187
3188 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
3189
3190         * i386.c (flags_reg_operand):  New function.
3191         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
3192         * i386.md (cmov splitter, movqicc): Use new predicate.
3193
3194 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
3195
3196         * i386.md (movqicc splitter): Fix template.
3197
3198 2002-12-13  Jason Merrill  <jason@redhat.com>
3199
3200         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
3201         * calls.c (expand_call): Handle it.
3202         * tree-inline.c (struct inline_data): Remove target_exprs field.
3203         (optimize_inline_calls): Don't initialize it.
3204         (expand_call_inline): Don't modify it.  Handle
3205         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
3206         (declare_return_variable): Take return slot addr.
3207         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
3208         to return_slot_addr.
3209         * langhooks-def.h, langhooks.c: Adjust.
3210         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
3211         a decl with no DECL_INITIAL.
3212
3213         * expr.c (expand_expr): Don't discard the target of a call which
3214         returns in memory.
3215
3216 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
3217
3218         * cppinit.c (path_include): Take an environment variable name.
3219         Tidy up.
3220         (init_standard_includes): Simplify environment handling, and
3221         move to ...
3222         (cpp_read_main_file): ...here as -nostdinc should not affect
3223         environment variable paths.
3224
3225 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3226
3227         * pa.c (output_millicode_call): Correct typo.
3228         (output_call): Likewise.
3229
3230 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
3231
3232         * config/mn10300/mn10300.c (print_operand) <case N>: Check
3233         operand's range.  Print value directly, without aid from
3234         output_address.
3235         <case U>: New.
3236         <case S>: Make sure argument to fprintf has the right type.
3237         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
3238         (EXTRA_CONSTRAINT): Adjust.
3239         * config/mn10300/mn10300.md: Add new all-QImode pattern for
3240         bclr.  Use %U for immediate operands of bset and bclr.
3241         (iorqi3): New expand, with insns for AM33 and mn10300.
3242
3243 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
3244
3245         * sh.c (sh_register_operand): New function.
3246         (prepare_move_operands): Use it.
3247         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
3248         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
3249         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
3250         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
3251         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
3252         (movv2si_i): Likewise.
3253
3254 2002-12-13  Jim Wilson  <wilson@redhat.com>
3255
3256         * doc/extend.texi (Complex Numbers): Update info on debug info.
3257
3258 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
3259
3260         * config/h8300/h8300.md (addhi3_h8300): Remove the last
3261         alternative.
3262
3263 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3264
3265         * hooks.h (hook_tree_tree_bool_false): Declare
3266         hook_bool_tree_tree_false instead.
3267
3268 2002-12-12  Devang Patel  <dpatel@apple.com>
3269
3270         * doc/invoke.texi: Document Darwin linker options, -bundle
3271         -bind_at_load, -all_load and -arch_errors_fatal
3272
3273 2002-12-12  Jim Wilson  <wilson@redhat.com>
3274
3275         * dbxout.c (dbxout_fptype_value): New.
3276         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
3277
3278 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3279
3280         * c-decl.c: Fix a comment typo.
3281         * cfg.c: Likewise.
3282         * cfgcleanup.c: Likewise.
3283         * cfglayout.c: Likewise.
3284         * cfgrtl.c: Likewise.
3285         * c-typeck.c: Likewise.
3286         * dominance.c: Likewise.
3287         * dwarf2asm.c: Likewise.
3288         * dwarfout.c: Likewise.
3289         * expmed.c: Likewise.
3290         * expr.c: Likewise.
3291         * final.c: Likewise.
3292         * flow.c: Likewise.
3293         * function.c: Likewise.
3294         * gcc.c: Likewise.
3295         * genautomata.c: Likewise.
3296         * integrate.c: Likewise.
3297         * loop.c: Likewise.
3298         * loop.h: Likewise.
3299         * output.h: Likewise.
3300         * profile.c: Likewise.
3301         * ra.h: Likewise.
3302         * reload1.c: Likewise.
3303         * reload.c: Likewise.
3304         * sched-rgn.c: Likewise.
3305         * stmt.c: Likewise.
3306         * tree.h: Likewise.
3307         * vmsdbgout.c: Likewise.
3308
3309 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3310
3311         * config/h8300/h8300.md: Add a new peephole2.
3312
3313 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3314
3315         * config/h8300/h8300.md (a peephole2): Accept a constant
3316         that's accepted by CONST_OK_FOR_J.
3317
3318 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3319
3320         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
3321         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
3322         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
3323         (*addhi_h8300hs): Likewise.
3324
3325 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
3326
3327         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
3328         (sh_register_move_cost): Add clause for SImode fp-fp moves.
3329         Increase cost for moves involving multiple general purpose registers.
3330         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
3331         TARGET_FMOVD.
3332         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
3333         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
3334         (enum reg_class reg_class_from_letter): No longer const.
3335         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
3336         REGCLASS_HAS_GENERAL_REG.
3337         Handle SImode moves from/to fp registers.
3338         ! TARGET_SHMEDIA && TARGET_FMOVD.
3339         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
3340         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
3341
3342 2002-12-12  Andreas Schwab  <schwab@suse.de>
3343
3344         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
3345         change and some warnings.
3346
3347 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3348
3349         * doc/md.texi (pushm): Fix a typo.
3350
3351 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
3352
3353         * config/mips/mips.c (mips_output_conditional_branch): Support
3354         PIC-safe out-of-range branch and branch-likely.
3355         * config/mips/mips.md (attr length): PIC-safe out-of-range
3356         branches are longer.
3357         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
3358         unused code to support indirect jumps.
3359
3360 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
3361
3362         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
3363         $(tm_file_list).
3364
3365 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
3366
3367         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
3368
3369 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
3370
3371         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
3372
3373 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3374
3375         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
3376         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
3377         BIGGEST_ALIGNMENT.
3378         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
3379         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
3380
3381 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3382
3383         * doc/invoke.texi: Correct dump file names.
3384
3385 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3386
3387         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
3388         name to globalize_label or assemble_name.
3389
3390 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
3391
3392         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
3393         if not TARGET_SHMEDIA.
3394
3395 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
3396
3397         * sh.h (REG_CLASS_HAS_FP_REG): New.
3398         (REGISTER_MOVE_COST) Use it.  Put body into a function and
3399         move it into:
3400         * sh.c (sh_register_move_cost).
3401         * sh-protos.h (sh_register_move_cost): Declare.
3402
3403         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
3404         (sh_adjust_cost): Always return a value.
3405
3406 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
3407
3408         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
3409         (REGISTER_MOVE_COST): Use it.
3410
3411 2002-12-11  Richard Henderson  <rth@redhat.com>
3412
3413         * tree.h (MODULE_LOCAL_P): Kill.
3414         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
3415
3416 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3417
3418         * config/h8300/h8300.md (two define_peephole2): New.
3419
3420 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3421
3422         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
3423         (CONST_OK_FOR_K): Likewise.
3424         (CONST_OK_FOR_M): Likewise.
3425         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
3426
3427 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
3428
3429         * c-common.c (builtin_define_type_max): Handle unsigned
3430         types too.
3431
3432 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
3433
3434         * haifa-sched.c (rank_for_schedule): Correct style.
3435
3436 2002-12-10  Per Bothner  <pbothner@apple.com>
3437
3438         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
3439         directive_index into an unsigned field and a new is_directive field.
3440         * cppinit.c (mark_named_operators):  Update to set new fields.
3441         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
3442         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
3443         No longer need to subtract 1 from directive_index.
3444         (_cpp_init_directives):  No longer need to add 1 to directive_index.
3445         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
3446
3447 2002-12-10  Roger Sayle  <roger@eyesopen.com>
3448
3449         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
3450         check for evaluating sqrt of a constant at compile time.
3451         * simplify-rtx.c (simplify_unary_operation): Likewise.
3452
3453 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
3454
3455         PR other/8882
3456         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
3457
3458 2002-12-10  Devang Patel  <dpatel@appple.com>
3459
3460         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
3461         * doc/invoke.texi: Add new "Darwin Options" section.
3462
3463 2002-12-10  Jim Wilson  <wilson@redhat.com>
3464
3465         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
3466         memory.
3467
3468 2002-12-10  Andrew Haley  <aph@redhat.com>
3469
3470         * cse.c (cse_insn): Don't cse past a basic block boundary.
3471
3472 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
3473
3474         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
3475         -shared.
3476         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
3477         * config/alpha/linux.h (LIB_SPEC): Likewise.
3478         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
3479         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
3480         * config/sparc/linux.h (LIB_SPEC): Likewise.
3481         * config/sparc/linux64.h (LIB_SPEC): Likewise.
3482
3483 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
3484
3485         * doc/invoke.texi: Document UltraSparc III option.
3486
3487 2002-12-09  Richard Henderson  <rth@redhat.com>
3488
3489         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
3490         __tune_pentium2__ and __tune_pentium3__ as necessary.
3491
3492 2002-12-09  Richard Henderson  <rth@redhat.com>
3493
3494         * target.h (gcc_target): Add cannot_force_const_mem.
3495         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
3496         (TARGET_INITIALIZER): Add it.
3497         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
3498         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
3499         * reload1.c (reload): Likewise.
3500         * hooks.c (hook_bool_rtx_false): New.
3501         * hooks.h: Declare it.
3502
3503         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
3504         (TARGET_CANNOT_FORCE_CONST_MEM): New.
3505         (ix86_expand_move): Remove de-const-pooling hack.
3506
3507 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
3508
3509         * toplev.c (dump_file): Fix order to match reality.
3510
3511 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
3512
3513         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
3514         (store_multiple): Likewise.
3515
3516 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3517
3518         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
3519         function pointers in page 0.
3520
3521 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3522
3523         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
3524         definition
3525         (MEMBER_TYPE_FORCES_BLK): Move.
3526         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
3527         aggregate arguments.
3528         (ia64_function_value): Use PARALLEL to return aggregate values.
3529
3530 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3531
3532         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3533         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3534         * calls.c (store_unaligned_arguments_into_pseudos) Remove
3535         FUNCTION_ARG_REG_LITTLE_ENDIAN.
3536         * stmt.c (expand_return): Ditto.
3537         * expr.c (move_block_from_reg): Ditto.
3538         (copy_blkmode_from_reg): Ditto.
3539         * expmed.c (store_bit_field): Ditto.
3540
3541 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
3542
3543         * config.gcc: Added tic4x-* target as an alias to c4x-*
3544
3545 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3546
3547         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
3548         constructing insn directly.
3549
3550 2002-12-06  Per Bothner  <pbothner@apple.com>
3551
3552         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
3553         char to an int bit-field, for hosts where char is unsigned.
3554
3555 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3556             Richard Henderson <rth@redhat.com>
3557
3558         * real.c (ieee_extended_motorola_format,
3559         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
3560         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
3561         Provide appropriate values for new signbit field.
3562
3563 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3564
3565         * real.h (real_format): Add signbit field.
3566         * real.c (ieee_single_format, ieee_double_format,
3567         ieee_extended_motorola_format, ieee_extended_intel_96_format,
3568         ieee_extended_intel_128_format, ibm_extended_format,
3569         ieee_quad_format, vax_f_format, vax_d_format,
3570         vax_g_format, i370_single_format, i370_double_format,
3571         c4x_single_format, c4x_extended_format, real_internal_format):
3572         Provide suitable signbit value, or -1 to avoid bit twiddling.
3573
3574         * optabs.c (expand_unop): Try implementing negation of
3575         floating point modes by flipping the sign bit.
3576         (expand_abs): Try implementing abs of floating point modes
3577         by clearing the sign bit.
3578
3579 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3580
3581         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
3582         of constructing insn directly.
3583
3584 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
3585
3586         * config/h8300/h8300.md (*iorhi_shift_8): New.
3587
3588 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
3589
3590         * doc/invoke.texi: Document FRV port options.
3591         * doc/md.texi: Document FRV register classes.
3592
3593 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3594
3595         * doc/install.texi (Configuration): Improve description of cases
3596         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
3597
3598 2002-12-06  Per Bothner  <pbothner@apple.com>
3599
3600         * cpplib.h (NODE_MACRO_ARG):  New flag.
3601         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
3602         Remove value.operator field.  Move arg_index field to value union.
3603         (directive_index):  Make signed, since also used for C++ operators.
3604         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
3605         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
3606         Save node->value, and set node->value.arg_index.
3607         (_cpp_create_definition):  For each paramater, restore node->value.
3608         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
3609         * cpptrad.c (scan_out_logical_line): Likewise.
3610         (scan_out_logical_line): Check for directive > 0.
3611         * cpplib.c (cpp_handle_directive):  Likewise.
3612         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
3613         by negative of directive_index.
3614         * cppinit.c (mark_named_operators):  Likewise.
3615
3616         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
3617
3618 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
3619
3620         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
3621         FPU.
3622         (push): Generate push_fpscr.
3623         (pop): Generate pop_fpscr.
3624         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
3625         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
3626
3627 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
3628
3629         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
3630         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
3631
3632 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
3633
3634         * sh.md (movdi_i): Name.  Remove inappropriate comment.
3635
3636 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
3637         Merged from basic improvements branch (excerpt):
3638
3639         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
3640         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
3641
3642 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
3643
3644         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
3645
3646 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
3647
3648         * i386.md (dimode peep2s): Re-add "&& 1".
3649
3650 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3651
3652         * i386.c (ix86_expand_prologue):  Add comment, do not use
3653         fast prologues for cold and normal functions.
3654
3655 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
3656
3657         * i386.c (x86_rep_movl_optimal): New variable.
3658         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
3659         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
3660
3661         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
3662         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
3663         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
3664         generate unnecesary subregs.
3665
3666 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3667
3668         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
3669         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
3670
3671 2002-12-05  Dale Johannesen  <dalej@apple.com>
3672
3673         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
3674
3675 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
3676
3677         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
3678         PROFILE_HOOK.
3679         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
3680
3681 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
3682
3683         * config/rs6000/spe.h (__ev_mwlufi): Remove.
3684         (__ev_mwlufia): Remove.
3685         (__ev_mwlumfaaw): Remove.
3686         (__ev_mwlusfaaw): Remove.
3687         (__ev_mwlumfanw): Remove.
3688         (__ev_mwlusfanw): Remove.
3689
3690 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3691
3692         * config/h8300/h8300.md (*andorsi3_shift_8): New.
3693
3694 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3695
3696         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
3697         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
3698         (get_shift_alg): Return optimal assembly instructions for the
3699         shifts mentioned above.
3700
3701 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
3702
3703         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
3704         condtiional moves.
3705
3706 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3707
3708         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
3709         implement ashiftrt:HI by 13 bits on H8S.
3710
3711 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3712
3713         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
3714         * pa.md (canonicalize_funcptr_for_compare): Output library call to
3715         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
3716         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
3717         CTOR_LIST_BEGIN): New defines.
3718         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
3719         (fptr.c): Add make rules.
3720
3721 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
3722
3723         * combine.c (combine_simplify_rtx): Add new canonicalizations.
3724         * doc/md.texi (Insn Canonicalizations): Document new
3725         canonicalizations for multiply/add combinations.
3726         * config/rs6000/rs6000.md: Add and modify floating add/multiply
3727         patterns to ensure they're used whenever they can be.
3728
3729 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3730
3731         * config/h8300/h8300.c: Update the comments related to shifts.
3732
3733 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3734
3735         * config/mips/mips.md (get_fnaddr): Correct length attribute.
3736
3737 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3738
3739         * config/h8300/h8300.md (*extzv_8_8): New.
3740         (*extzv_8_16): Likewise.
3741
3742 2002-12-04  Jason Merrill  <jason@redhat.com>
3743
3744         PR c++/8461, c++/8625
3745         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
3746         references.
3747         * tree-inline.c (initialize_inlined_parameters): Likewise.
3748
3749         * tree.c (variably_modified_type_p): Just return an error_mark_node.
3750
3751 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3752
3753         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
3754         macro instruction in a branch delay slot, to avoid assembler
3755         warnings.
3756
3757 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3758
3759         PR c/7622
3760         * c-semantics (genrtl_scope_stmt): Do not output inlined
3761         nested functions that contain no code.
3762
3763 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
3764
3765         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
3766         to be forced into nonfallthru.
3767
3768 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
3769
3770         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
3771
3772 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
3773
3774         * config/rs6000/spe.md (*movv1di_const0): New pattern.
3775
3776 2002-12-03  Richard Henderson  <rth@redhat.com>
3777
3778         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
3779
3780 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
3781
3782         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
3783         Initialize tmp.using_obstack to 0.
3784
3785 2002-12-03  Andreas Schwab  <schwab@suse.de>
3786
3787         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
3788         (EH_RETURN_STACKADJ_RTX): Define.
3789         (EH_RETURN_HANDLER_RTX): Define.
3790         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3791         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
3792         registers and don't save fixed registers.
3793         (m68k_output_function_prologue): Use it.
3794         (use_return_insn): Likewise.
3795         (m68k_output_function_epilogue): Likewise.
3796
3797 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
3798
3799         * config/h8300/h8300.c (single_one_operand): Fix a warning.
3800         (single_zero_operand): Likewise.
3801
3802 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
3803
3804         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
3805         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
3806         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
3807         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
3808         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
3809         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
3810         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
3811         doc/install-old.texi: Replace hconfig.h with bconfig.h.
3812         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
3813
3814 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
3815
3816         * config/rs6000/rs6000.md (ffssi): Convert to expander.
3817         (ffsdi): Likewise.
3818         (cntlzw2, cntlzd2): New patterns.
3819
3820 2002-12-02  H.J. Lu <hjl@gnu.org>
3821
3822         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
3823         (mips*-*-linux*): Remove mips/t-linux.
3824
3825 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
3826
3827         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3828
3829 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3830
3831         * config/h8300/h8300.c (dosize): Replace argument op with
3832         sign.
3833         (h8300_output_function_prologue): Update the call to dosize.
3834         (h8300_output_function_epilogue): Likewise.
3835
3836 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
3837
3838         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
3839
3840 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3841
3842         * configure.in: Use "missing" script to generate warning if
3843         flex or bison programs not found, instead of invoking "false".
3844         * configure: Rebuilt.
3845
3846 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
3847
3848         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
3849
3850 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
3851
3852         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3853
3854 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3855
3856         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
3857         (push): Likewise.
3858         (pop): Likewise.
3859         (h8300_output_function_prologue): Likewise.
3860         (h8300_output_function_epilogue): Likewise.
3861
3862 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
3863
3864         * expmed.c (store_bit_field): Use int_mode_for_mode to find
3865         corresponding mode of non-integer mode, unless it is VOIDmode.
3866
3867 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3868
3869         * config/h8300/h8300.md (stm_h8300s_2): New.
3870         (stm_h8300s_3): Likewise.
3871         (stm_h8300s_4): Likewise.
3872         (five define_peephole2): Likewise.
3873
3874 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3875
3876         * ra-build.c: Fix a comment typo.
3877
3878 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3879
3880         * i386.c (ix86_expand_int_movcc): fix
3881         reversed BRANCH_COST test; be curefull about infinite recursion.
3882
3883 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3884
3885         * config/h8300/h8300.c (h8300_output_function_prologue):
3886         Remove variable idx.
3887         (h8300_output_function_epilogue): Likewise.
3888
3889 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
3890
3891         * config/frv/xm-frv.h: Delete, unnecessary.
3892
3893 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3894
3895         * config/h8300/h8300.md: Add comments for define_peephole2.
3896
3897 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
3898
3899         * builtin-types.def (BT_SIZE): Use size_type_node.
3900         * builtins.c (fold_builtin): Make the builtin strlen returns a
3901         size_t, not a sizetype.
3902         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
3903         c_size_type_node.
3904         (c_alignof_expr): Likewise.
3905         (c_common_nodes_and_builtins): Likewise.
3906         * c-common.h (CTI_C_SIZE_TYPE): Remove.
3907         (c_size_type_node): Likewise.
3908         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
3909         * tree.h (TI_SIZE_TYPE): New enumeral.
3910         (size_type_node): Likewise.
3911
3912 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
3913
3914         * configure.in: Don't put ${tm_file} into host_xm_file,
3915         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
3916         Take location of tm-preds.h into account when calculating
3917         tm_p_file_list.
3918         * configure: Regenerate.
3919         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
3920         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
3921         Remove special case code for tm_p.h and *config.h; add new
3922         special case code for tm.h and tconfig.h. Clean up a bit.
3923
3924         * Makefile.in (tm_file, tm_file_list): New variables set from
3925         @-substitutions.
3926         (GCONFIG_H): Deleted.
3927         (GTM_H, TM_H): New.
3928         (CONFIG_H): Is now just config.h $(host_xm_file_list).
3929         (TM_P_H): Move up with the other mkconfig.sh-generated
3930         headers; don't mention tm-preds.h explicitly.
3931         (tm.h, cs-tm.h): New rule.
3932         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
3933         invocations of mkconfig.sh for changes to that program.
3934         (mostlyclean): Delete print-rtl1.c.
3935         (clean): Delete tm.h.
3936         Update dependencies for the files listed below.
3937
3938         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
3939
3940         * coretypes.h: New file.
3941         * system.h: #define malloc to xmalloc and realloc to xrealloc
3942         when FLEX_SCANNER or YYBISON is defined, independent of the
3943         value of GCC_VERSION.
3944         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
3945         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
3946         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
3947         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
3948         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
3949         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
3950         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
3951         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
3952         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
3953         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
3954         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
3955         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
3956         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
3957         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
3958         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
3959         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
3960         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
3961         genconstants.c, genemit.c, genextract.c, genflags.c,
3962         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
3963         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
3964         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
3965         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
3966         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
3967         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
3968         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
3969         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
3970         print-tree.c, profile.c, protoize.c, ra-build.c,
3971         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
3972         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
3973         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
3974         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
3975         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
3976         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
3977         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
3978         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
3979         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
3980         xcoffout.c, config/darwin-c.c, config/darwin.c,
3981         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
3982         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
3983         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
3984         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
3985         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
3986         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
3987         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
3988         config/i960/i960-c.c, config/i960/i960.c,
3989         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
3990         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
3991         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
3992         config/mips/irix6-libc-compat.c, config/mips/mips.c,
3993         config/mmix/mmix.c, config/mn10200/mn10200.c,
3994         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
3995         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
3996         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
3997         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
3998         config/sparc/sparc.c, config/stormy16/stormy16.c,
3999         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
4000         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
4001         Include coretypes.h and tm.h.
4002
4003         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
4004         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
4005         genrecog.c: Include coretypes.h and tm.h from the file
4006         generated by this program.
4007
4008         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
4009         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
4010         coretypes.h and tm.h, and tsystem.h when not already included.
4011         No need to include stddef.h nor stdlib.h.
4012
4013         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
4014         include auto-host.h or ansidecl.h/
4015         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
4016         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
4017         include auto-host.h, ansidecl.h, or system.h.
4018         * fixinc/server.c: Likewise.  Also, do not include signal.h,
4019         and do not redefine volatile.
4020
4021 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4022
4023         * i386.md (movdf_integer):  Always enable in 64bit.
4024         (movdf_nointeger): Always disable in 64bit.
4025
4026 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4027
4028         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
4029         pseudo register number plus 1.
4030
4031 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
4032
4033         * expmed.c (store_bit_field): Use int_mode_for_mode to find
4034         corresponding mode of non-integer mode, unless it is VOIDmode.
4035
4036 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
4037
4038         * cpplib.c (_cpp_test_assertion): Default *value to 0.
4039
4040         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
4041
4042 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
4043
4044         * config/s390/t-crtstuff: New target makefile fragment.
4045         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
4046
4047 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
4048
4049         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
4050         alternatives to correct the length when the memory operand is
4051         either pre_dec or post_inc.
4052
4053 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
4054
4055         * config/h8300/h8300.md (an anonymous pattern): Give an
4056         internal name *tst_extzv_bitqi_1_n.
4057         Accept bit_operand instead of bit_memory_operand.
4058         Do not accept bit tests with the MSB.
4059         (*tst_extzv_memqi_1_n): New.
4060
4061 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
4062
4063         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
4064         sharing when operand is SUBREG.
4065
4066 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
4067
4068         * athlon.md (athlon-decodev): New reservation unit.
4069         (athlon-direct0): New reservation.
4070         (athlon-vector): New use athlon-decodev.
4071         (athlon-double, athlon-direct): Better model.
4072         (athlon_imul_k8): Use athlon-direct0.
4073         (athlon_movlpd_load): New insn reservation.
4074
4075 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4076
4077         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
4078         Fix a comment typo.
4079         (h8300_tiny_constant_address_p): Likewise.
4080
4081 2002-11-28  Michael Matz  <matz@suse.de>
4082
4083         * doc/passes.texi: Mention the other register allocator.
4084
4085 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4086
4087         * config/h8300/h8300.md (6 new peephole2 patterns): New.
4088
4089 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
4090
4091         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
4092         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
4093         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
4094
4095 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4096
4097         * config/h8300/h8300.c (h8300_and_costs): New.
4098         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
4099         * config/h8300/h8300-protos.h: Add a prototype for
4100         h8300_and_costs.
4101
4102 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
4103
4104         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
4105         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
4106         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
4107         * i386.md (truncdfsf patterns and splitters): Use
4108         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
4109
4110 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
4111
4112         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
4113         pointer argument in the prototypes of the following builtins
4114         be (const TYPE *) rather than (TYPE *):
4115          + __builtin_altivec_ld_internal_4sf
4116          + __builtin_altivec_ld_internal_4si
4117          + __builtin_altivec_ld_internal_8hi
4118          + __builtin_altivec_ld_internal_16qi
4119          + __builtin_altivec_lvsl
4120          + __builtin_altivec_lvsr
4121          + __builtin_altivec_lvebx
4122          + __builtin_altivec_lvehx
4123          + __builtin_altivec_lvewx
4124          + __builtin_altivec_lvxl
4125          + __builtin_altivec_lvx
4126          + __builtin_altivec_dst
4127          + __builtin_altivec_dstt
4128          + __builtin_altivec_dstst
4129          + __builtin_altivec_dststt
4130
4131 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4132
4133         * except.c (default_exception_section): Move variable into the
4134         scope where it is used.
4135
4136 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
4137
4138         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
4139         correct version.
4140
4141 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4142
4143         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
4144
4145 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4146
4147         * config/h8300/h8300.c (h8300_shift_costs): New.
4148         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
4149         * config/h8300/h8300-protos.h: Add a prototype for
4150         h8300_shift_costs.
4151
4152 2002-11-27  Jim Wilson  <wilson@redhat.com>
4153
4154         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
4155         in output template.
4156
4157 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
4158
4159         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
4160         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
4161         DLL_IMPORT_EXPORT_PREFIX, not '@'.
4162         (i386_pe_dllimport_name_p): Likewise.
4163         (i386_pe_mark_dllexport): Likewise.
4164         (i386_pe_mark_dllimport): Likewise.
4165         (i386_pe_encode_section_info): Likewise.
4166         (i386_pe_strip_name_encoding): Likewise.
4167
4168 2002-11-27  Richard Henderson  <rth@redhat.com>
4169
4170         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
4171         (nm && NF == 3): Set sawsymbol true.
4172         (END): Exit if no symbols seen.
4173         (output): Fix map syntax error if no globals for the version.
4174
4175 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4176
4177         * builtins.def (DEF_C99_BUILTIN): Fix.
4178
4179 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
4180
4181         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
4182         (all): Add .size and .type information.
4183
4184 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
4185
4186         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
4187         partial_reg_stall target.
4188
4189 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4190
4191         * i386.md (movhicc): Allow general operand.
4192         (movqicc): New expander.
4193         (movqicc_noc): New pattern.
4194         * i386.c (ix86_expand_carry_flag_compare): New function.
4195         (ix86_expand_int_movcc): Optimize harder using sbb; support more
4196         HImode conversion; support QImode conditional moves
4197
4198 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
4199
4200         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
4201         (ix86_expand_prologue): Multiply the count by amount of registers to be
4202         pushed.
4203
4204 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4205
4206         * i386.c (override_options): Error about wrong -mcpu on x86-64
4207         compilation.
4208
4209 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
4210
4211         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
4212
4213 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
4214
4215         * i386-protos.h (x86_extended_QIreg_mentioned_p,
4216         x86_extended_reg_mentioned_p): Declare.
4217         * i386.c (extended_reg_mentioned_1): New static function.
4218         (x86_extended_QIreg_mentioned_p,
4219         x86_extended_reg_mentioned_p): New global functions.
4220         * i386.h (REX_SSE_REGNO_P): New macro.
4221         * i386.md (prefix_rex): New attribute.
4222         (length attribute): Add rex.
4223
4224 2002-11-26  Andrew Haley  <aph@redhat.com>
4225
4226         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
4227         from_Unwind_Find_Enclosing_Function.
4228         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
4229         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
4230         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
4231         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
4232         * unwind.h (_Unwind_FindEnclosingFunction): Add.
4233
4234 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4235
4236         * config/s390/s390.c (390_output_constant_pool): Set alignment
4237         before label in 64 bit mode, behind otherwise.
4238
4239 2002-11-26  Richard Henderson  <rth@redhat.com>
4240
4241         * c-common.c (handle_visibility_attribute): Accept "default".
4242         * tree.h (enum symbol_visibility): New.
4243         (decl_visibility): Declare.
4244         * target.h (gcc_target.visibility): Take visibility arg as integer.
4245         * varasm.c (default_assemble_visibility): Likewise.
4246         (decl_visibility): New.
4247         (maybe_assemble_visibility): Use it.
4248         * output.h (default_assemble_visibility): Update prototype.
4249         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
4250         visibility arg as integer.
4251         * doc/extend.texi: Document default visibility.
4252
4253 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
4254
4255         * config/h8300/h8300.c: Adjust spacing.
4256         * config/h8300/h8300.h: Likewise.
4257
4258 2002-11-26  Richard Henderson  <rth@redhat.com>
4259
4260         * hooks.c (hook_bool_void_false, hook_void_tree_int,
4261         hook_void_FILEptr_constcharptr): Rename so that the return
4262         type is first.
4263         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
4264         hook_bool_tree_false): New.
4265         * hooks.h: Update.
4266         * langhooks-def.h: Update for renames.
4267         * target-def.h: Likewise.
4268         * tree.c (default_comp_type_attributes,
4269         default_set_default_type_attributes, default_insert_attributes,
4270         default_function_attribute_inlinable_p,
4271         default_ms_bitfield_layout_p): Remove.
4272         * tree.h: Update.
4273
4274 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4275
4276         * pa-protos.h (function_value): New prototype.
4277         * pa.c (function_value): Use a PARALLEL to return small aggregates on
4278         TARGET_64BIT.
4279         * pa.h (FUNCTION_VALUE): Use function_value.
4280         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
4281         call_value_internal_reg, sibcall_value_internal_symref,
4282         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
4283         value.
4284
4285 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4286
4287         * expr.c (gen_group_rtx, emit_group_move): New functions.
4288         * expr.h (gen_group_rtx, emit_group_move): Prototype.
4289         * function.c (expand_function_start): Use gen_group_rtx to create a
4290         PARALLEL rtx to hold the return value when the real return rtx is a
4291         PARALLEL.
4292         (expand_function_end): Use emit_group_move to move the return value
4293         from a PARALLEL to the real return registers.
4294         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
4295         in PARALLELs.
4296
4297 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4298
4299         * config/t-libc-ok: Fix typo.
4300
4301 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4302
4303         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
4304         before AC_PROG_CC.
4305         * configure: Rebuilt.
4306
4307 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
4308
4309         * c-decl.c: (start_struct): Commonize flag setting.
4310
4311 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4312
4313         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
4314         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
4315         RS6000_CPU_CPP_ENDIAN_BUILTINS.
4316         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
4317
4318 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4319
4320         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
4321         insns.
4322         * config/s390/s390.c (struct machine_function): Introduction of
4323         struct machine_function.
4324         (s390_output_symbolic_const): Use of cfun.
4325         (s390_optimize_prolog): Likewise.
4326         (s390_fixup_clobbered_return_reg): Likewise.
4327         (s390_frame_info): Likewise.
4328         (s390_emit_prologue, s390_emit_epilogue): Likewise.
4329         (s390_init_machine_status): New function.
4330         (override_options): call s390_init_machine_status.
4331         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
4332         prototype.
4333
4334 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4335
4336         * varasm.c (output_constant_pool): For pool constants in mergeable
4337         section ensure each constant is padded to multiple of entity size.
4338
4339 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4340
4341         * varasm.c (default_exception_section): Move to...
4342         * except.c (default_exception_section): ... here. Make
4343         .gcc_except_table read-only if it is not expected to have any
4344         dynamic relocations and linker handles it.
4345         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
4346         if it is not expected to have any dynamic relocations and linker
4347         handles it.
4348         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
4349         when linking read-only and read-write sections together.
4350         * configure, config.in: Rebuilt.
4351         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
4352         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
4353
4354 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
4355
4356         * i386.md (pushsf_rex64): Fix typo.
4357
4358 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4359
4360         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
4361         new function.
4362         (__ev_create_ufix32_fs): Same.
4363         (__ev_get_sfix32_fs_internal): New.
4364         (__ev_get_sfix32_fs): Define to use function.
4365         (__ev_get_ufix32_fs_internal): New.
4366         (__ev_get_ufix32_fs): Define to use function.
4367         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
4368         (__ev_get_lower_ufix32_fs): Same.
4369         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
4370         (__ev_get_lower_sfix32_fs): Same.
4371         (__ev_set_sfix32_fs_internal): New.
4372         (__ev_set_ufix32_fs_internal): New.
4373         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
4374         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
4375         (__ev_set_upper_sfix32_fs): Call function.
4376         (__ev_set_lower_sfix32_fs): Same.
4377         (__ev_set_upper_ufix32_fs): Same.
4378         (__ev_set_lower_ufix32_fs): Same.
4379
4380 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
4381
4382         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
4383
4384 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4385
4386         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
4387         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4388         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4389         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
4390         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
4391         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4392         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
4393         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
4394         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4395         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4396         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
4397         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
4398         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
4399         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4400         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
4401         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
4402         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
4403         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
4404         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
4405         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
4406         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4407         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
4408         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
4409         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
4410         defining.
4411         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
4412         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
4413
4414 2002-11-25  Dave Pitts  <dpitts@cozx.com>
4415
4416         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
4417
4418 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4419
4420         * config/h8300/h8300.md (an anonymous pattern): New.
4421
4422 2002-11-25  Richard Henderson  <rth@redhat.com>
4423
4424         * alias.c (find_base_value): Use new_reg_base_value if it's live.
4425         (copying_arguments): Make boolean.
4426
4427 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4428
4429         * gcc.c (static_spec_functions): Add if-exists-else spec
4430         function.
4431         (if_exists_else_spec_function): New function.
4432         * doc/invoke.texi: Document the if-exists-else spec function.
4433
4434         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
4435         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
4436
4437 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4438
4439         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
4440         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
4441         "${tmake_file} rs6000/t-netbsd".
4442         * config/rs6000/netbsd.h: Rewrite.
4443         * config/rs6000/t-netbsd: New file.
4444
4445 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4446
4447         * config/h8300/h8300.md (an anonymous pattern): Relax the
4448         condition for the pattern.
4449
4450 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4451
4452         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
4453         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
4454         evmwlssfanw, evmwlsmfanw.
4455
4456         * config/rs6000/rs6000.c (bdesc_2arg): Same.
4457
4458         * config/rs6000/spe.md: Same for patterns.
4459
4460 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
4461
4462         PR c/8639
4463         * fold-const.c (extract_muldiv): Don't propagate division unless
4464         both arguments are multiples of C.
4465
4466 2002-11-25  Andrew Haley  <aph@redhat.com>
4467
4468         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
4469         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
4470         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
4471         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
4472
4473 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
4474
4475         * i386.c (x86_use_ffreep): New global variable.
4476         * i386.h (x86_use_frfeep): Declare
4477         (TARGET_USE_FFREEP): New macro
4478         * i386.md  (movs?f*): Use freep when asked for.
4479         (push?f): Remove dead code.
4480
4481 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
4482
4483         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
4484         target help message.
4485
4486 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4487
4488         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
4489         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
4490         crtbeginT.o".
4491         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
4492         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
4493         to "" for a.out configurations.
4494         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
4495
4496 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4497
4498         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
4499         NETBSD_CPP_SPEC directly.
4500         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
4501         netbsd_endfile_spec.
4502         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
4503
4504 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4505
4506         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
4507         NETBSD_STARTFILE_SPEC.
4508         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
4509         (ENDFILE_SPEC): Likewise.
4510         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
4511
4512 2002-11-24  Andreas Schwab  <schwab@suse.de>
4513
4514         * Makefile.in (install-driver): Remove versioned link before
4515         trying to create it.
4516
4517         * config/m68k/m68k.c: Fix typo in last change defining
4518         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
4519
4520 2002-11-23  H.J. Lu <hjl@gnu.org>
4521
4522         * aclocal.m4: Include ../config/accross.m4.
4523         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
4524         (gcc_AC_C_COMPILE_ENDIAN): Removed.
4525         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
4526         instead of $ac_cv_c_compile_endian.
4527
4528         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
4529         AC_COMPILE_CHECK_SIZEOF.
4530         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
4531         * configure: Rebuild.
4532
4533 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
4534
4535         * config/h8300/h8300.c (print_operand): Update the use of
4536         h8300_tiny_constant_address_p.
4537         (h8300_adjust_insn_length): Likewise.
4538         (h8300_tiny_constant_address_p): Check if the given rtx is a
4539         variable declared with __attribute__ ((tiny_data)).
4540
4541 2002-11-22  Dale Johannesen  <dalej@apple.com>
4542
4543         * toplev.c (rest_of_compilation):  Fix comments.
4544
4545 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
4546
4547         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
4548         allow mmap from /dev/zero.  Don't make decisions for the host
4549         based on presence or absence of /dev/zero on the build machine.
4550         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
4551         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
4552         * configure: Regenerate.
4553
4554 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4555
4556         * gcc.c (make_relative_prefix, split_directories)
4557         (free_split_directories): Removed.
4558
4559 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4560
4561         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
4562         * configure: Regenerated.
4563
4564 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
4565
4566         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
4567         length computation when xor.l is output.
4568
4569 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
4570
4571         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
4572         (call_vms_1, call_value_vms_1): Cleanup syntax.
4573
4574 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4575
4576         * athlon.md (define_atuomaton): Add athlon_load.
4577         (athlon-double): New reservation.
4578         (athlon-ieu0): New CPU unit.
4579         (athlon-load?): Use athlon_load automaton.
4580         (*_k8 reservations): New.
4581         (other insn revervations): Activate for K8.
4582
4583 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
4584
4585         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
4586
4587 2002-11-21  Jim Wilson  <wilson@redhat.com>
4588
4589         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
4590         vectors to SI.
4591
4592 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
4593
4594         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
4595         * config/xtensa/xtensa.c (struct machine_function): Add
4596         incoming_a7_copied flag.
4597         (xtensa_copy_incoming_a7): Define.
4598         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
4599         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
4600
4601 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
4602
4603         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
4604         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
4605         x86_64_nonmemory_operand, x86_64_movabs_operand,
4606         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4607         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
4608         (local_symbolic_operand): Do not care the 64bit limits.
4609         (x86_64_sign_extended_value): Remove allow_rip support.
4610         (legitimate_pic_address_disp_p): Handle all cases allowed
4611         with RIP addressing.
4612         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
4613         (legitimize_pic_address): Reorganize.
4614         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
4615
4616 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4617
4618         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
4619         * config/arm/netbsd-elf.h: New file.
4620
4621 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4622
4623         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
4624         subtarget_asm_float_spec.
4625         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
4626         defaults from...
4627         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
4628
4629 2002-11-21  Nick Clifton  <nickc@redhat.com>
4630
4631         * config/fr30/fr30.md (movsf_constant_store): Move code to
4632         detect 0.0 into fr30.c.
4633         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
4634         Prototype.
4635         * config/fr30/fr30.c (fr30_const_double_is_zero): New
4636         function.  Return true if the rtx is 0.0.
4637
4638 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4639
4640         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
4641         if -mlittle-endian is specified.
4642
4643 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4644
4645         PR optimization/2903
4646         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
4647         (anddi_notsesidi_di): Likewise.
4648
4649 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
4650
4651         * config/h8300/h8300.c (print_operand): Use
4652         h8300_eightbit_constant_address_p and
4653         h8300_tiny_constant_address_p.
4654         (h8300_adjust_insn_length): Likewise.
4655         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
4656         (TINY_CONSTANT_ADDRESS_P): Likewise.
4657         (OK_FOR_U): Use eightbit_constant_address_p.
4658
4659 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
4660
4661         * config/s390/libgcc-libc.ver: Add multilib support.
4662         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
4663         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
4664         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
4665         EXTRA_MULTILIB_PARTS): Define.
4666
4667 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4668
4669         * arm.c (arm_get_frame_size): A leaf function does not need its
4670         stack padding to an aligned boundary if it has no frame.
4671         (thumb_get_frame_size): Likewise.
4672
4673 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
4674
4675         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
4676         (override_options): Likewise.
4677
4678 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
4679
4680         * config.gcc: Add k8 target alias support
4681         * i386.c (_cost): Declare costs for various variants of divides and
4682         multiplies.
4683         (k8_cost): New.
4684         (m_K8, m_ATHLON_K8): New macros.
4685         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
4686         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
4687         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
4688         x86_integer_DFmode_moves, x86_partial_reg_dependency,
4689         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
4690         x86_prologue_using_move, x86_epilogue_using_move,
4691         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
4692         x86_sse_typeless_stores): Set for K8
4693         (override_options): Add k8 support; fix athlon alignment;
4694         complain about non-x86-64 capable CPU being used in x86-64 compilation.
4695         (ix86_issue_rate): Set for K8.
4696         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
4697         x86_machine_dependent_reorg): Handle K8 like
4698         * i386.h
4699         (x86_costs):  Change mult_init and divide into array.
4700         (TARGET_K8, TARGET_ATHLON): New macros.
4701         (MODE_INDEX): New macro.
4702         (RTX_COST): Use new costs.
4703         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
4704         (TARGET_CPU_DEFAULT_NAMES): Add k8
4705         (TARGET_CPU_DEFAULT_k8): New constant
4706         (enum processor_type): Add PROCESSOR_K8.
4707         * i386.md (cpu attribute): Add k8.
4708
4709         * invoke.texi: Document -march=k8.
4710
4711         * i386.md (type attribute): Add leave
4712         (mode attribute): Remove unknownfp.
4713         (length_immediate, modrm, memory attributes): Handle leave correctly.
4714         (fp comparison patterns): Determine FP mode.
4715         (leave, leave_rex64): Remove special cases.
4716         * ppro.md (ppro_uops, ppro_p2): Add leave
4717         * pentiun.md (pent_pop): Handle leave too.
4718         * k6.md (k6_load): Handle leave.
4719         * athlon.md (athlon_leave, athlon_pop): Fix.
4720         (athlon_decode): Handle leave.
4721
4722 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
4723
4724         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
4725         to component type using GET_MODE_INNER.
4726         * expr.c (emit_move_insn_1): Ditto.
4727         * optabs.c (expand_binop): Ditto.
4728         (expand_unop): Ditto.
4729         (expand_complex_abs): Ditto.
4730
4731 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
4732
4733         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
4734
4735 2002-11-20  DJ Delorie  <dj@redhat.com>
4736
4737         * config/stormy16/stormy16.c (s16builtins,
4738         xstormy16_init_builtins, xstormy16_expand_builtin): New.
4739         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
4740
4741 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
4742
4743         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
4744         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
4745         (executing gencheck, genconfigs, genconditions, genflags,
4746         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
4747         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
4748         gengtype, genprotos): Prepend $(RUN_GEN).
4749         * configure.in: Move host compiler tests before --enable-checking
4750         tests.
4751         (--enable-checking=valgrind): New.
4752         * config.in, configure: Regenerate.
4753         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4754         Define as empty.
4755         (read_include_file): When doing the mmap+1 trick,
4756         valgrind-annotate the byte after the mmap:ed area as readable.
4757         (purge_cache): Remove above annotation.
4758         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
4759         VALGRIND_PATH -q to each command.
4760
4761         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4762         Define as empty.
4763         (ggc_realloc): Update valgrind annotations.
4764         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4765         Define as empty.
4766         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
4767         valgrind-annotate memory.
4768
4769 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
4770
4771         * recog.c (constrain_operands): Prefer exact match over reloadable
4772         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
4773
4774         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
4775         operands in Pmode.
4776
4777 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
4778
4779         PR c/8518
4780         * c-decl.c (duplicate_decls): Outline the second definition
4781         of an extern inline function in all cases.
4782
4783 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4784
4785         * stor-layout.c (place_field): Update rli->offset as well as
4786         rli->bitpos.
4787
4788 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4789
4790         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
4791
4792 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4793
4794         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
4795         into a libcall block.
4796         (divsi3): Likewise divsi3_i4_media.
4797
4798 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4799
4800         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
4801         out another register.
4802
4803 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
4804
4805         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
4806         (not just mask) are set in C.
4807
4808 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
4809
4810         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
4811
4812 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4813
4814         * profile.c (index_counts_file): Fix obvious mistake.
4815
4816 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4817
4818         * Makefile.in (profile.o): Add hashtab.h dependency.
4819         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
4820         * profile.c: Include hashtab.h.
4821         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
4822         cleanup_counts_index, index_counts_file, struct section_reference,
4823         struct da_index_entry, counts_file_name, counts_file_index): New.
4824         (get_exec_counts, init_branch_prob): Modified.
4825
4826 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
4827
4828         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
4829         to tmake_file. Remove setting gas and gnu_ld here.
4830         * config/sh/libgcc-glibc.ver: New file.
4831         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
4832         (SHLIB_MAPFILES): New.
4833         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
4834         (MD_STARTFILE_PREFIX): Likewise.
4835         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
4836         (DWARF2_UNWIND_INFO): Redefine.
4837         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4838         (LINK_EH_SPEC): Redefine.
4839         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
4840         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
4841         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
4842         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
4843         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
4844         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
4845         SH_DWARF_FRAME_FPSCR): Likewise.
4846         * config/sh/sh-protos.h (sh_set_return_address): Declare.
4847         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
4848         registers if the current function calls EH return.
4849         (sh_expand_epilogue): Handle EH stack adjustments.
4850         (sh_set_return_address): New function.
4851         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
4852         Don't abort even if the number is mapped to -1.
4853         (EH_RETURN_DATA_REGNO): Define.
4854         (EH_RETURN_STACKADJ_RTX): Define.
4855         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
4856         (eh_return): New pattern.
4857         (eh_set_ra_di, eh_set_ra_si): Likewise.
4858         Add splitter to perform EH return after reload.
4859
4860 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
4861
4862         * stor-layout.c (excess_unit_span): New function.
4863         (place_field): Use it.
4864
4865 2002-11-19  Andreas Schwab  <schwab@suse.de>
4866
4867         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
4868         not valid in C++.
4869
4870 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
4871
4872         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
4873         * configure: Regenerate.
4874
4875 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
4876
4877         * convert.c (strip_float_extensions): New function.
4878         (convert_to_real): Optimize some cases.
4879
4880 2002-11-19  Andreas Jaeger  <aj@suse.de>
4881
4882         * loop.c (record_giv): Initialize not_replaceable.
4883         (check_final_value): Likewise.
4884
4885 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4886
4887         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
4888         MASK_H8300S.
4889
4890 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
4891
4892         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
4893         only if -mh or -ms present.
4894         (h8300_eightbit_constant_address_p): Support the normal mode.
4895         (h8300_tiny_constant_address_p): Likewise.
4896         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
4897         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
4898         (Pmode): Evaluate to HImode for the normal mode.
4899         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
4900         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
4901         (ASM_WORD_OP): Evaluate to word for the normal mode.
4902         * config/h8300/h8300.md (tablejump_normal_mode): New.
4903         (indirect_jump_normal_mode): New.
4904         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
4905         directory.
4906         (MULTILIB_DIRNAMES): Create target dependent directory
4907         'normal'.
4908         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
4909         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
4910
4911 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
4912
4913         * i386.md (length_immediate): Do not refer to insn address.
4914         (jcc*, jmp patterns):  Compute length explicitly.
4915
4916 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
4917
4918         PR c/8588
4919         * optabs.c (expand_binop): Convert CONST_INTs in shift
4920         operations too.
4921
4922 2002-11-19  Roger Sayle  <roger@eyesopen.com>
4923
4924         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
4925
4926 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4927
4928         * config/h8300/h8300.md (an anonymous pattern): Relax the
4929         condition to accept the same operands and/or subregs.
4930
4931 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
4932
4933         * config/sh/sh.c (gen_shl_and): Revert previous patch.
4934         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
4935         reload_completed.
4936
4937 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4938
4939         * config/h8300/h8300.c (print_operand): Update the use of
4940         EIGHTBIT_CONSTANT_ADDRESS_P.
4941         (h8300_adjust_insn_length): Likewise.
4942         (h8300_eightbit_constant_address_p): Check if the given rtx is
4943         a variable with __attribute__((eightbit_data)).
4944         * config/h8300/h8300.h (OK_FOR_U): Update the use of
4945         EIGHTBIT_CONSTANT_ADDRESS_P.
4946
4947 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4948
4949         * doc/contrib.texi (Contributors): Add self as second contact in
4950         addition to Jeff Law.
4951
4952 2002-11-19  Andreas Jaeger  <aj@suse.de>
4953
4954         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
4955         find_alloca_call to right place.
4956
4957 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4958
4959         * cppfiles.c: Fix formatting.
4960
4961 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
4962
4963         * gcc.c (The Specs Language): Document spec functions.
4964         (static_spec_functions, lookup_spec_function)
4965         (eval_spec_function, handle_spec_function)
4966         (if_exists_spec_function, alloc_args): New.
4967         (execute): Abort if processing_spec_function is true.
4968         (do_spec_1): Hand off spec to handle_spec_function if %:
4969         is encountered.  If processing_spec_function is true,
4970         end any pending argument when the end of the string is reached.
4971         (main): Use alloc_args to allocate the initial argument vector.
4972         * gcc.h (struct spec_function): New.
4973         (lang_specific_spec_functions): New extern.
4974
4975         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
4976         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
4977         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
4978
4979         * doc/invoke.texi: Document spec functions.
4980
4981         * cppspec.c (lang_specific_spec_functions): New.
4982         * gccspec.c: Likewise.
4983
4984 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
4985
4986         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
4987         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
4988         (fixunstfsi_libfunc): Change.
4989         (fixunstfdi_libfunc): Change.
4990         (sdiv_optab): Don't zero out SImode handler.
4991         (udiv_optab): Don't zero out SImode handler.
4992         (smod_optab): Don't zero out SImode handler.
4993         (umod_optab): Don't zero out SImode handler.
4994
4995 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
4996
4997         PR preprocessor/8524
4998         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
4999         Add a new one in its place, which hopefully works.
5000         (skip_rest_of_line): Change test for bottom-of-context-stack.
5001
5002 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
5003
5004         * i386.md (addqi_1_slp): Fix output template.
5005         (subqi_1_slp): Fix type.
5006
5007 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
5008
5009         * calls.c (alloca_call_p): New global function.
5010         * tree.h (alloca_call_p): New.
5011         * tree-inline.c (inlinable_function_p):  Do not inline when
5012         function calls alloca.
5013         (find_alloca_call, find_alloca_call_1): New functions.
5014
5015 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
5016
5017         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
5018         bst.  Update the insn length.
5019         (*andorhi3): Likewise.
5020         (*andorsi3): Likewise.
5021
5022 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5023
5024         * config/sh/sh-protos.h (sh_mark_label): Declare.
5025         * config/sh/sh.c (sh_mark_label): New function, taken from
5026         movdi_const, but fixing the case when the address has an addend.
5027         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
5028
5029 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5030
5031         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
5032         (add_constant): Set it.
5033         (dump_table): Don't reorder a constant if part_of_sequence_p.
5034         (machine_dependent_reorg): Assume that float constants will
5035         stay in their original order if used as a sequence.
5036
5037 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5038
5039         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
5040         in compact code.
5041
5042 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5043
5044         * config/sh/sh.md (initialize_trampoline): Do not force the
5045         trampoline address into R0_REGS here.
5046
5047 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
5048
5049         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
5050         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
5051         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
5052         generate unnecesary subregs.
5053
5054 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5055
5056         * df.c: Fix formatting.
5057
5058 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5059
5060         * config/h8300/h8300.md (two anonymous patterns): Fix insn
5061         lengths.
5062
5063 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
5064
5065         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
5066         is not an arith_reg_operand.
5067
5068 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
5069
5070         * real.c (real_to_decimal): Fix buffer overrun when buffer size
5071         is smaller than representation.
5072
5073 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5074
5075         * builtins.c: Fix formatting.
5076
5077 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5078
5079         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
5080         floats?dff2_i387):
5081         Work around regclass stupidity.
5082         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
5083
5084 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
5085
5086         * i386.md (fop_df_6): New pattern.
5087         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
5088         (fop_xf_6): Rewrite
5089         (fop_xf_7): Delete.
5090         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
5091         (fop_tf_6): Rewrite
5092         (fop_tf_7): Delete.
5093
5094 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5095
5096         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
5097
5098 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5099
5100         * config/h8300/h8300.md: Fix formatting.
5101
5102 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5103
5104         * config/h8300/h8300.md: Replace spaces with tabs.
5105         * config/h8300/t-h8300: Remove a trailing empty line.
5106
5107 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5108
5109         * tlink.c: Fix formatting.
5110
5111 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
5112
5113         PR 8362
5114         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
5115         * config/rs6000/rs6000.md (movti_string): Remove output modifier
5116         when scratch register never needed.
5117         (ldmsi[3-8]): New patterns.
5118
5119 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5120
5121         * hard-reg-set.h: Follow spelling conventions.
5122         * real.c: Likewise.
5123         * target.h: Likewise.
5124
5125 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
5126
5127         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
5128
5129 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5130
5131         * optabs.c: Fix formatting.
5132
5133 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
5134
5135         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
5136         * i386.md (attribute type): Add type shift1 and rotate1.
5137         (*_slp): Rewrite to have just two operands to avoid reload problems.
5138
5139 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
5140
5141         * config/h8300/h8300.md (4 anonymous patterns): New.
5142
5143 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
5144
5145         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
5146         * doc/invoke.texi: Correct description of what needs to be done to
5147         force collection at every ggc_collect call.
5148
5149 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5150
5151         * config/s390/s390.c (optimization_options): Set
5152         flag_asynchronous_unwind_tables to 1 by default.
5153
5154 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5155
5156         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5157
5158 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5159
5160         * i386-protos.h (x86_function_profiler): New function
5161         * i386.h (MCOUNT_NAME): New.
5162         (PROFILE_COUNT_REGISTER): New.
5163         (FUNCTION_PROFILER): Move offline to ...
5164         * i386.c (x86_function_profiler) ... here; fix 64bit support
5165         * beos-elf.h (FUNCTION_PROFILER): Kill.
5166         (MCOUNT_NAME): New.
5167         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
5168         (MCOUNT_NAME): New.
5169         (PROFILE_COUNT_REGISTER): New.
5170         * linux.h (FUNCTION_PROFILER): Kill.
5171         (MCOUNT_NAME): New.
5172         * x86-64.h (FUNCTION_PROFILER): Kill.
5173         (MCOUNT_NAME): New.
5174         * freebsd.h (FUNCTION_PROFILER): Kill.
5175         (MCOUNT_NAME): New.
5176
5177 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
5178
5179         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
5180         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
5181         * config/arm/arm.c (arm_va_arg,
5182         arm_function_arg_pass_by_reference): New.
5183         * config/arm/arm-protos.h: Add prototypes.
5184
5185 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5186
5187         * gthr-single.h: Fix formatting.
5188
5189 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
5190
5191         * tree.c (tree_vec_elt_check_failed): New function.
5192         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
5193         (TREE_VEC_ELT): Use it.
5194
5195         * tree-inline.c (optimize_inline_calls): Don't copy a
5196         zero-length vector.
5197
5198 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5199
5200         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
5201
5202 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
5203
5204         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
5205         both operands contain local relocations.
5206         (categorize_decl_for_section): Don't use mergeable sections if
5207         initializer has any relocations.
5208
5209 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5210
5211         * gthr-vxworks.h: Fix formatting.
5212
5213 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
5214
5215         * doc/install.texi (Testing): Document extra Java testing.
5216         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
5217
5218 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5219
5220         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
5221         beginning of the spec.
5222         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
5223         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
5224         regarding problems with global constructors when using GNU ld.
5225
5226 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5227
5228         * gthr-solaris.h: Fix formatting.
5229
5230 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5231
5232         * gthr-posix.h: Fix formatting.
5233
5234 2002-11-12  Devang Patel <dpatel@apple.com>
5235         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
5236         (process_command): Same.
5237         * doc/invoke.texi: Info about these two new options.
5238
5239 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5240
5241         * config/h8300/h8300.md (*andorsi3): New.
5242
5243 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5244
5245         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
5246
5247 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5248
5249         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
5250         expressions appropriately.
5251
5252 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5253
5254         * gthr-win32.h: Fix formatting.
5255
5256 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5257
5258         * config/h8300/h8300.c (single_one_operand): Correctly compute
5259         mask when mode is SImode.
5260         (single_zero_operand): Likewise.
5261         * config/h8300/h8300.md (two new anonymous insns): New.
5262
5263 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5264
5265         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
5266         to that entire project.
5267
5268 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5269
5270         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
5271         directories.
5272
5273 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
5274
5275         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
5276         * doc/invoke.texi: Document them.
5277
5278         * ggc-page.c: Include params.h.  Remove definitions of
5279         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
5280         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
5281         (init_gcc): Don't set G.allocated_last_gc here.
5282         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
5283         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
5284         perform collection.
5285         * ggc-simple.c: Similarly.
5286         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
5287         dependencies.
5288
5289 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5290
5291         * gthr-dce.h: Fix formatting.
5292
5293 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5294
5295         PR c/8467
5296         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
5297         mode of DECL_RTL case.
5298
5299 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
5300
5301         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
5302
5303 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
5304
5305         * i386.c (construct_container): Fix handling of SSE_CLASS.
5306
5307 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
5308
5309         * config/m68k/t-crtstuff (crti.o): Use this...
5310         ($(T)crti.o): ... instead.
5311         (crtn.o): Use this...
5312         ($(T)crtn.o): ... instead.
5313
5314 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
5315
5316         PR c/8439
5317         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
5318         if there is something new to be simplified.
5319
5320 2002-11-10  H.J. Lu <hjl@gnu.org>
5321
5322         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
5323         * expr.c (PUSH_ARGS_REVERSED): Likewise.
5324
5325         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
5326
5327 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
5328
5329         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
5330         * config/rs6000/linux.h, config/rs6000/linux64.h,
5331         config/rs6000/windiss.h: ... not here.
5332
5333 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
5334
5335         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
5336         __ABICALLS__ if TARGET_ABICALLS.
5337
5338 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
5339
5340         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
5341
5342 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
5343
5344         * c-decl.c (grokdeclarator): Make error for duplicate type
5345         qualifiers into a pedwarn, disabled for C99.
5346
5347 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
5348
5349         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
5350         as FUNCTION_ARG_PASS_BY_REFERENCE.
5351
5352 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
5353
5354         * doc/install.texi: Add *-*-vxworks* specific installation
5355         instructions.
5356
5357         * config/vxlib.c: Rewrite using generation numbers to identify
5358         valid TSD keys.
5359
5360 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
5361
5362         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
5363
5364 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5365
5366         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
5367
5368         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
5369         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
5370         * pa.c (output_millicode_call): Use symbol difference rather than
5371         $PIC_pcrel$0 when using HP assembler.
5372         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
5373         not elfos.h (i.e., gas) is being used.
5374         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
5375         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
5376         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
5377         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
5378         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
5379         using elfos.h.
5380         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
5381         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
5382         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
5383         using elfos.h.
5384         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5385         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
5386         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
5387         Don't define when not using elfos.h.
5388         (ASM_DECLARE_RESULT): Don't define.
5389         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
5390         doesn't work on hppa64-hp-hpux11.
5391         (hppa*-hp-hpux11): Update.
5392
5393 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
5394
5395         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
5396         to the assembler if -mno-abicalls was specified.
5397
5398 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5399
5400         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
5401         ASM_OUTPUT_DEF): Delete.
5402
5403 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
5404
5405         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
5406
5407 2002-11-08  Roger Sayle  <roger@eyesopen.com>
5408
5409         * real.c (real_sqrt): Update comment with bibliographic reference.
5410
5411 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5412
5413         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
5414
5415 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
5416
5417         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
5418
5419 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
5420
5421         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
5422         (expand_builtin): Likewise.
5423         * builtins.def: Add
5424         __builtin_floor, __builtin_floorf, __builtin_floorl
5425         __builtin_ceil, __builtin_ceilf, __builtin_ceill
5426         __builtin_round, __builtin_roundf, __builtin_roundl
5427         __builtin_trunc, __builtin_truncf, __builtin_truncl
5428         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
5429         * genopinit.c (optabs): Initialize the new optabs.
5430         * optab.c (init_optabs): Likewise.
5431         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
5432         OTI_round, OTI_nearbyint.
5433         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
5434         * doc/md.texi: Document new named patterns.
5435         * doc/extend.texi (builtin functions)  Document
5436         floor, floorf, floorl, ceil, ceilf,
5437         ceill, round, roundf, roundl, trunc,
5438         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
5439
5440 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
5441
5442         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
5443
5444 2002-11-08  Dale Johannesen  <dalej@apple.com>
5445
5446         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
5447
5448 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5449
5450         PR preprocessor/8497
5451         PR preprocessor/8501
5452         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
5453         start a directive.  In assembler, #NUM is not a line directive.
5454
5455 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5456
5457         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
5458         buffers.
5459
5460 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5461
5462         * config/h8300/h8300.md (two anonymous test insns): New.
5463
5464 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5465
5466         * jump.c (mark_jump_label): Handle subregs of label_refs.
5467
5468 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
5469
5470         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
5471         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
5472
5473 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
5474
5475         * config/ia64/crtend.asm: Include "auto-host.h".
5476         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
5477         * config/ia64/crtbegin.asm: Similarly.
5478         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
5479         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
5480
5481         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
5482         * configure.in: Use it if --enable-initfini-array not specified.
5483         * doc/install.texi (Configuration): Document --enable-initfini-array.
5484         * configure, config.in: Rebuild.
5485
5486 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
5487
5488         * config/arm/arm-protos.h (arm_get_frame_size)
5489         (thumb_get_frame_size): New prototypes.
5490         * config/arm/arm.c (arm_get_frame_size)
5491         (thumb_get_frame_size): New functions.
5492         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
5493         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
5494         arm_get_frame_size.
5495         (thumb_expand_prologue, thumb_expand_epilogue): Use
5496         thumb_get_frame_size.
5497         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
5498         (machine_function): Add frame_size member.
5499         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
5500
5501 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5502
5503         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
5504         Adjust code to use portable unsigned bit manipulation.
5505         (insn_flags, tune_flags): Change type to unsigned.
5506         (struct processors): Make flags unsigned long.
5507         (arm_override_options): Change type of count and current_bit_count
5508         to unsigned.
5509
5510 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5511
5512         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
5513
5514 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
5515
5516         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
5517
5518 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
5519
5520         * reg-stack.c (compensate_edge): Fix sanity check.
5521
5522 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
5523
5524         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
5525         crt2.o.  Rearrange t-darwin makefiles.
5526         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
5527         * unwind-dw2-fde-darwin.c: New.
5528         * unwind-dw2-fde-glibc.c: Correct comment.
5529         * unwind-dw2-fde.c (__register_frame_info_bases)
5530         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
5531         (classify_object_over_fdes): Use last_fde.
5532         (add_fdes): Likewise.
5533         (linear_search_fdes): Likewise.
5534         * unwind-dw2-fde.h (struct object)
5535         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
5536         (last_fde): New.
5537         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
5538         (ENDFILE_SPEC): No crtend.o.
5539         * config/t-darwin: New.
5540         * config/i386/t-darwin: Delete.
5541         * config/darwin-crt2.c: New.
5542         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
5543         or config/t-darwin.
5544
5545 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
5546
5547         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
5548         MASK_MS_BITFIELD_LAYOUT
5549         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
5550         MS bitfields for Objective-C.
5551         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
5552         defines.
5553
5554         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
5555         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
5556         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
5557
5558         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
5559         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
5560         (TARGET_SWITCHES): Add above mask.
5561
5562         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
5563         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
5564         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
5565         flags for interix.
5566
5567 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
5568
5569         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
5570         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
5571         assembler.
5572         * config/mips/mips.md (tablejump_internal3): Output .cpadd
5573         before jump on ABI_N32 too.
5574         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
5575         length to match.
5576
5577 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
5578
5579         * i386.md (negsf splitter): Accept memory operand in second register.
5580         (abssf/absdf splitters): Simplify
5581         (sse_loadss, sse_loadsd): Turn into expander.
5582
5583 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
5584
5585         PR target/8480
5586         * config/rs6000/rs6000.md (movdi_internal64): Discourage
5587         FPR to FPR moves.
5588
5589 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
5590
5591         * doc/contrib.texi: Merge in the list from the Java web pages.
5592
5593 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
5594
5595         * config/sparc/freebsd: Fix typo.
5596
5597 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5598
5599         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
5600
5601 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
5602
5603         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
5604         non-SImode addresses.
5605
5606 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
5607
5608         * i386.md (float_truncate SSE splitter): Ensure that operand is not
5609         stack register.
5610         (float SSE splitters): Reorder conditional.
5611
5612 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
5613
5614         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
5615
5616 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
5617
5618         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
5619         (STARTFILE_SPEC): Remove p and pg options.
5620
5621 2002-11-05  Andrew Haley  <aph@redhat.com>
5622
5623         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
5624         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
5625
5626 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
5627
5628         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
5629         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
5630
5631 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
5632
5633         * gthr-vxworks.h: Rewritten from scratch.
5634         * config/vxlib.c: New file.
5635         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
5636         * config/rs6000/t-vxworks: Add config/vxlib.c to
5637         LIB2FUNCS_EXTRA here too, because of clash with
5638         config/rs6000/t-ppccomm.
5639
5640 2002-11-04  Dale Johannesen  <dalej@apple.com>
5641
5642         * doloop.c (doloop_modify_runtime):  Fix loop count computation
5643         for unrolled loops.
5644         * loop.c (loop_invariant_p):  Support calling from unroller.
5645
5646 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
5647
5648         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
5649         for comparison.
5650
5651 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
5652
5653         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
5654
5655         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
5656         (CLASS_CANNOT_CHANGE_MODE): Remove.
5657         (CANNOT_CHANGE_MODE_CLASS): New.
5658
5659         * config/alpha/alpha.h: Same.
5660
5661         * config/ia64/ia64.h: Same.
5662
5663         * config/mips/mips.h: Same.
5664
5665         * config/s390/s390.h: Same.
5666
5667         * config/sh/sh.h: Same.
5668
5669         * config/pa/pa64-regs.h: Same.
5670
5671         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
5672
5673         * config/sh/sh.c (sh_cannot_change_mode_class): New.
5674
5675         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
5676         prototype.
5677
5678         * config/mips/mips.c (mips_cannot_change_mode_class): New.
5679
5680         * doc/tm.texi (Register Classes): Remove
5681         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
5682         Document CANNOT_CHANGE_MODE_CLASS.
5683
5684         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
5685         (push_reload): Same.
5686
5687         * simplify-rtx.c (simplify_subreg): Same.
5688
5689         * reload1.c (choose_reload_regs): Same.
5690
5691         * recog.c (register_operand): Same.
5692
5693         * regrename.c (mode_change_ok): Change to use new
5694         CANNOT_CHANGE_MODE_CLASS infrastructure.
5695
5696         * regclass.c (cannot_change_mode_set_regs): New.
5697         Declare subregs_of_mode.
5698         (regclass): Use subregs_of_mode.
5699         Remove references to reg_changes_mode.
5700         (init_reg_sets_1): Remove class_can_change_mode and
5701         reg_changes_mode code.
5702         (invalid_mode_change_p): New.
5703         (dump_regclass): Use invalid_mode_change_p instead of
5704         class_can_change_mode.
5705         (regclass): Same.
5706         (record_operand_costs): Do not set reg_changes_mode.
5707
5708         * local-alloc.c (struct qty): Remove changes_mode field.
5709         (alloc_qty): Remove changes_mode initialization.
5710         (update_qty_class): Remove set of changes_mode.
5711         (find_free_reg): Use subregs_of_mode.
5712
5713         * global.c (find_reg): Use subregs_of_mode info.
5714
5715         * rtl.h (cannot_change_mode_set_regs): New prototype.
5716         (invalid_mode_change_p): Same.
5717         (REG_CANNOT_CHANGE_MODE_P): New macro.
5718
5719         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
5720         REG_CHANGES_MODE.
5721         (life_analysis): Clear subregs_of_mode.
5722
5723         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
5724         Remove use of CLASS_CANNOT_CHANGE_MODE.
5725         (simplify_set): Same.
5726         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
5727         REG_CHANGES_MODE.
5728
5729         * regs.h: Add extern for subregs_of_mode;
5730         Include hard-reg-set and basic-block.
5731         (REG_CHANGES_MODE): Delete.
5732
5733 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5734
5735         * real.c (real_sqrt): New function to calculate square roots.
5736         * real.h (real_sqrt): Add function prototype.
5737         * builtins.c (fold_builtin): Fold sqrt of constant argument.
5738         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
5739         of constant argument.
5740
5741 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5742
5743         * jump.c (never_reached_warning): Don't set contains_insn until the
5744         first line note is seen.
5745
5746 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
5747
5748         * config/rs6000/rs6000.md (movti_string): Use string instructions.
5749
5750 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5751
5752         PR c/7128
5753         * c-typeck.c (c_expand_asm_operands): Defend against
5754         error_mark_nodes in the output argument to avoid ICE.
5755
5756 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
5757
5758         PR middle-end/8408
5759         * genrecog.c (preds): Handle ADDRESSOF.
5760         (validate_pattern): Mark it as an lvalue.
5761
5762 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
5763
5764         * config/rs6000/rs6000.c (rs6000_override_options): Use string
5765         instructions when optimizing for size.
5766
5767 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
5768
5769         * config/h8300/h8300.h: Fix comment typos.
5770         * config/h8300/h8300.md: Likewise.
5771         * config/h8300/lib1funcs.asm: Likewise.
5772
5773 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5774
5775         Revert this change:
5776
5777         *doc/install.texi (Installing GCC: Configuration): Clarify
5778         the only supported ways to configure gcc.
5779
5780 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5781
5782         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
5783         instead of 'O' for the constraint for the second operand.
5784
5785 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
5786
5787         PR c++/8391
5788         * toplev.c (rest_of_compilation): Do not refuse to output code for
5789         an inline function in a local class.
5790
5791 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
5792
5793         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
5794         (TRANSFER_FROM_TRAMPOLINE): Reformat.
5795         Add comment.
5796
5797 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5798
5799         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
5800
5801 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
5802
5803         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
5804
5805 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
5806
5807         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
5808         (MASK_INLINE_DIV_THR): Remove.
5809         (TARGET_INLINE_DIV_LAT): Remove.
5810         (TARGET_INLINE_DIV_THR): Remove.
5811         (TARGET_INLINE_DIV): Remove.
5812         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
5813         (MASK_INLINE_FLOAT_DIV_THR): New macro.
5814         (MASK_INLINE_INT_DIV_LAT): New macro.
5815         (MASK_INLINE_INT_DIV_THR): New macro.
5816         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
5817         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
5818         (TARGET_INLINE_INT_DIV_LAT): New macro.
5819         (TARGET_INLINE_INT_DIV_THR): New macro.
5820         (TARGET_INLINE_FLOAT_DIV): New macro.
5821         (TARGET_INLINE_INT_DIV): New macro.
5822         * config/ia64/ia64.md (divsi3): Change to use new macros.
5823         (modsi3): Ditto.
5824         (udivsi3): Ditto.
5825         (umodsi3): Ditto.
5826         (divsi3_internal): Ditto.
5827         (divdi3): Ditto.
5828         (moddi3): Ditto.
5829         (udivdi3): Ditto.
5830         (umoddi3): Ditto.
5831         (divdi3_internal_lat): Ditto.
5832         (divdi3_internal_thr): Ditto.
5833         (divsf3): Ditto.
5834         (divsf3_internal_lat): Ditto.
5835         (divsf3_internal_thr): Ditto.
5836         (divdf3): Ditto.
5837         (divdf3_internal_lat): Ditto.
5838         (divdf3_internal_thr): Ditto.
5839         (divtf3): Ditto.
5840         (divtf3_internal_lat): Ditto.
5841         (divtf3_internal_thr): Ditto.
5842         * config/ia64/ia64.c (ia64_override_options): Change
5843         to check new macros for conflicts in settings.
5844         * doc/invoke.texi (-minline-divide-min-latency): Remove.
5845         (-minline-divide-max-throughput): Remove.
5846         (-minline-float-divide-min-latency): New.
5847         (-minline-float-divide-max-throughput): New.
5848         (-minline-int-divide-min-latency): New.
5849         (-minline-int-divide-max-throughput): New.
5850
5851 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
5852
5853         PR target/7856
5854         * arm.c (use_return_insn): Don't use a return insn if there are
5855         saved integer regs, but LR is not one of them.
5856
5857 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
5858
5859         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
5860         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
5861
5862 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
5863
5864         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
5865         (movps, movpd splitters): Use canonical form.
5866         (movv2di): Fix merge problem.
5867
5868 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
5869
5870         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5871
5872 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
5873
5874         PR optimization/6162
5875         * doc/md.texi: Document restriction on commutative operand
5876         specification.
5877
5878 2002-10-31  Eric Christopher  <echristo@redhat.com>
5879
5880         * explow.c (convert_memory_address): Use shallow_copy_rtx.
5881
5882 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5883
5884         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
5885
5886 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5887
5888         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
5889
5890 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5891
5892         * config/rs6000/darwin.h:  Correct formatting in previous.
5893
5894 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5895
5896         * config/rs6000/darwin.h:  Enable -falign-xxx options.
5897
5898 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
5899
5900         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
5901         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
5902         * i386.c (optimization_options): Set flag_omit_frame_pointer,
5903         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
5904         Do not clear -momit-leaf-frame-pointer when profiling.
5905         (ix86_frame_pointer_required): Frame pointer is always required when
5906         profiling.
5907
5908 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
5909
5910         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5911
5912 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
5913
5914         * sh.h (binary_logical_operator): Declare.
5915         * sh.c (binary_logical_operator): New function.
5916         * sh.md (xordi3+1): New combiner splitter pattern.
5917
5918 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
5919
5920         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
5921         __enable_execute_stack function.
5922
5923 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
5924
5925         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
5926         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
5927         * unwind-sjlj.c (fc_key_dtor): Delete.
5928         (fc_key_init): Adjust __gthread_key_create call to match.
5929
5930 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
5931
5932         * c-common.c: Add GTY to vector_type_node_list.
5933
5934 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
5935
5936         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
5937         * pa-protos.h (attr_length_millicode_call, attr_length_call,
5938         pa_init_machine_status): Declare new global functions.
5939         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
5940         implement new functions.
5941         (attr_length_millicode_call, attr_length_call): Implement.
5942         (total_code_bytes): Change type to long.
5943         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
5944         Reset counter if flag_function_sections.
5945         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
5946         (output_cbranch): Move call to gen_label_rtx.
5947         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
5948         delay slot in all variants, shorten pc-relative calls.
5949         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
5950         slot usage and exposure, various new call variants, and shortened
5951         sequences for some variants on TARGET_PA_20.
5952         Miscellaneous format changes.
5953         * pa.h (total_code_bytes): Change type to long.
5954         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
5955         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
5956         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
5957         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
5958         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
5959         stores on TARGET_ELF32.
5960         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
5961         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
5962         canonicalize_funcptr_for_compare expanders): Calculate attribute length
5963         attr_length_millicode_call().
5964         (call_internal_symref, call_value_internal_symref): Clobber register 1.
5965         Calculate attribute length using attr_length_call().
5966         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
5967         to delay slot.
5968         (sibcall, sibcall_value): Rewrite.
5969         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
5970         register 1.  Use attr_length_call().
5971         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
5972         New patterns.
5973         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
5974         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
5975         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
5976         * doc/invoke.texi (mlong-calls): Document.
5977
5978 2002-10-30  Roger Sayle  <roger@eyesopen.com>
5979
5980         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
5981         handling of cases where one or both branches of the conditional
5982         have void type, i.e. throw an exception or don't return.
5983         (fold): Only apply (and undo) type conversion to the non-void
5984         branches of a COND_EXPR.
5985
5986 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
5987
5988         PR c++/8333
5989         * varasm.c (asm_output_aligned_bss): Do not call
5990         ASM_GLOBALIZE_LABEL.
5991
5992 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
5993             Torbjorn Granlund  <tege@swox.com>
5994
5995         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
5996         for addressibility.
5997         (load_toc_v4_PIC_1b): Same.
5998
5999 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
6000
6001         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
6002         Truncate the addresses for H8/300 using HImode.
6003
6004 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
6005
6006         * i386.md (negdf splitter): Fix construction of the constant.
6007
6008 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
6009
6010         * i386.md (negsf, negdf): Reorganize to use vector modes
6011         for SSE variants.
6012         (abssf, absdf): Use force_reg.
6013         (movv4sf, movv2df): New splitters.
6014         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
6015         * i386.c (zero_extended_scalar_load_operand
6016
6017         * i386-protos.h (ix86_expand_call): Update prototype.
6018         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
6019         (ix86_expand_call): Use r11 for indirect sibcalls.
6020         * i386.md (call, call_value, untyped_call, call_value_pop):
6021         update x86_expand_call call.
6022         (sibcall, sibcall_value): new patterns
6023         (call_rex64, call_value_rex64): Do not accept sibcalls.
6024         (sibcall_rex64, sibcall_value_rex64,
6025         sibcall_rex64_v, sibcall_value_rex64_v): New.
6026
6027 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6028
6029         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6030         before final pass.
6031
6032 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
6033
6034         * toplev.c (rest_of_type_compilation): Return early in case of
6035         errors.
6036         (check_global_declarations): Don't call debug_hooks->global_decl
6037         in case of errors.
6038
6039 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
6040
6041         * doc/c-tree.texi (Tree overview): Fix typos.
6042
6043 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
6044
6045         * Makefile.in (gnucompare*):  Only record bad comparisons
6046         if there really was a bad comparison.
6047
6048 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
6049
6050         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
6051         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
6052         * md.texi (machine dependent constraints): Document 'C'
6053
6054         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
6055
6056         * i386.c (ix86_expand_vector_move): Fix.
6057
6058         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
6059         * i386.md (sse2_maskmovdqu_rex64): New pattern
6060
6061         PR target/8322
6062         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
6063         (ix86_init_mmx_sse_builtins): Fix type.
6064
6065 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
6066
6067         * gthr-posix.h: Include <unistd.h> for feature tests.
6068         (sched_get_priority_max, sched_get_priority_min)
6069         (pthread_getschedparam, pthread_setschedparam): Only use
6070         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
6071         (__gthread_objc_thread_set_priority): Don't treat all nonzero
6072         returns from sched_get_priority_max and sched_get_priority_min
6073         as an error.
6074
6075 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6076
6077         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
6078         MASK_QUICKCALL.
6079
6080 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6081
6082         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
6083         (h8300_tiny_constant_address_p): Likewise.
6084         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
6085         h8300_eightbit_constant_address_p.
6086         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
6087         * config/h8300/h8300-protos.h: Add the prototypes for the two
6088         new functions.
6089
6090 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6091
6092         * reload1.c (update_eliminables): Unconditionally check if
6093         frame_pointer_needed has changed.
6094
6095 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6096
6097         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6098         before final pass.
6099
6100 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
6101
6102         PR optimization/8334
6103         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
6104         check for zero operands explicitly.
6105
6106 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
6107
6108         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
6109         memory after adjusting to BLKmode.
6110
6111 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6112
6113         * config/h8300/h8300.h (MASK_*): New.
6114         (TARGET_*): Use MASK_*.
6115
6116 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
6117
6118         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
6119         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
6120         config/rs6000/vxworks.h: New files.
6121         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
6122
6123         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
6124         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
6125         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
6126         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
6127         sparc-*-vxsim*): Delete stanzas.
6128         * gthr-vxworks.h: Rip out all substantive code and just
6129         include gthr-single.h.
6130
6131         * config/alpha/vxworks.h, config/arm/vxarm.h,
6132         config/i386/vxi386.h, config/i960/t-vxworks960,
6133         config/i960/vx960-coff.h, config/i960/vx960.h,
6134         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
6135         config/mips/vxworks.h, config/rs6000/vxppc.h,
6136         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
6137         config/sparc/vxsim.h, config/sparc/vxsparc.h,
6138         config/sparc/vxsparc64.h: Delete files.
6139
6140 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
6141
6142         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
6143         tm_defines if pthreads are enabled.
6144         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
6145         if NETBSD_ENABLE_PTHREADS is defined.
6146
6147 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
6148
6149         * ChangeLog.1: Fix typos.
6150         * cse.c: Fix a comment typo.
6151         * reload1.c: Likewise.
6152
6153 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
6154
6155         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
6156         * fixinc/tests/base/_G_config.h: New file.
6157
6158 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6159
6160         * combine.c: Fix comment formatting.
6161         * loop.c: Likewise.
6162         * real.c: Likewise.
6163         * regclass.c: Likewise.
6164         * regmove.c: Likewise.
6165         * regrename.c: Likewise.
6166         * reg-stack.c: Likewise.
6167         * reload1.c: Likewise.
6168         * reload.c: Likewise.
6169         * reload.h: Likewise.
6170         * unroll.c: Likewise.
6171
6172 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6173
6174         * reload1.c (reload): Fix a comment typo.
6175
6176 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
6177
6178         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
6179
6180 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6181
6182         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
6183         * dwarf2out.c: Include hashtab.h.
6184         (is_main_source): New static variable.
6185         (attr_checksum, die_checksum): Modified to handle die references.
6186         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
6187         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
6188         record_comdat_symbol_number): New static functions.
6189         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
6190         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
6191         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
6192         declarations added.
6193
6194 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
6195
6196         * config/h8300/h8300.c (initial_offset): Change to
6197         h8300_initial_elimination_offset.
6198         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
6199         h8300_initial_elimination_offset.
6200         * config/h8300/h8300-protos.h: Update the prototype.
6201
6202 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
6203
6204         * config/mmix/mmix.h (LIBCALL_VALUE): Use
6205         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
6206         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
6207         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
6208         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
6209         and RTX_CODE.
6210         (mmix_function_value_regno_p): Declare.
6211
6212         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
6213         invalid for floating point mode result, with fix.
6214
6215 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
6216
6217         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
6218         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
6219         (stage1_build): Likewise.
6220
6221 2002-10-25  Mike Stump  <mrs@apple.com>
6222
6223         Fixes gcc.dg/warn-1.c.
6224         * c-typeck.c (warn_for_assignment): Don't print argument number,
6225         if zero.
6226
6227 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
6228
6229         * toplev.c (dump_file_index): Add DFI_ce3.
6230         (dump_file_info): Likewise.
6231         (rest_of_compilation): Run first ifcvt pass before tracer.
6232
6233 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
6234
6235         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
6236
6237 2002-10-25  Richard Henderson  <rth@redhat.com>
6238
6239         * real.c (real_to_decimal): If the >1 tens reduction loop results
6240         in a negative exponent, fall into the <1 pten computation.
6241
6242 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
6243
6244         PR middle-end/6994
6245         * c-objc-common.c (inline_forbidden_p): Can not inline
6246         functions containing structures or unions containing VLAs.
6247         * tree-inline.c (walk_tree): For all class 't' nodes, walk
6248         TYPE_SIZE and TYPE_SIZE_UNIT.
6249         (copy_tree_r): Copy types if they are variably modified.
6250
6251 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6252
6253         * config/s390/s390.md: Remove old-style peepholes.
6254
6255 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6256
6257         * config/s390/s390.c (s390_decompose_address): Do not range check the
6258         displacement if base or index is the argument pointer register.
6259
6260 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
6261
6262         PR other/3337
6263         PR bootstrap/6763
6264         PR bootstrap/8122
6265         * fixinc/inclhack.def (libc1_G_va_list): New fix.
6266         * fixinc/fixincl.x: Regenerate.
6267         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
6268         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
6269         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
6270         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
6271         * config.in, configure: Regenerate.
6272
6273 2002-10-24  Igor Shevlyakov <igor@microunity.com>
6274
6275         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
6276
6277 2002-10-24  Richard Henderson  <rth@redhat.com>
6278
6279         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
6280
6281 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6282
6283         * config/h8300/h8300.c (initial_offset): Simplify by using
6284         round_frame_size.
6285
6286 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
6287
6288         * doc/install.texi (avr): Update required binutils version.
6289
6290 2002-10-24  Theodore A. Roth  <troth@openavr.org>
6291
6292         * doc/install.texi: Point avr users at more up-to-date information.
6293
6294 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6295
6296         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
6297         to pull operands out of the literal pool where possible.
6298
6299 2002-10-24  Denis Chertykov  <denisc@overta.ru>
6300
6301         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
6302
6303 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
6304
6305         * expr.c (convert_move): If unsignedp is less then zero there
6306         is no equivalent code.
6307
6308 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
6309
6310         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
6311
6312 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6313
6314         * config/s390/s390.h: Rework comments; re-sort target macro definitions
6315         according to the sequence they are defined in the manual.
6316         (POINTER_BOUNDARY): Remove.
6317
6318 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6319
6320         * config/h8300/h8300.c (round_frame_size): Replace 8 with
6321         BITS_PER_UNIT.
6322
6323 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6324
6325         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
6326         64-bit safe.
6327         (TINY_CONSTANT_ADDRESS_P): Likewise.
6328
6329 2002-10-24  Richard Henderson  <rth@redhat.com>
6330
6331         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6332         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
6333         vcall offset.
6334
6335 2002-10-24  Richard Henderson  <rth@redhat.com>
6336
6337         PR opt/7944
6338         * reload.c (find_reloads_toplev): Mode of X is not important
6339         when simplifying subregs of constants.
6340
6341 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6342
6343         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
6344         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
6345         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
6346         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
6347         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
6348
6349 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6350
6351         * optabs.c (expand_binop): Don't reuse the shift target in the
6352         middle of shift sequences.
6353
6354 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
6355
6356         * i386.md (abs splitters): Do not produce nested subregs.
6357
6358 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
6359
6360         * i386.md (movti_rex64): Fix constraints.
6361
6362 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
6363
6364         * i386.md (abssf,absdf): Use vector operands for SSE
6365         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
6366         vector operand.
6367
6368 2002-10-23  Ziemowit Laski <zlaski@apple.com>
6369
6370         * objc/objc-act.c (get_static_reference): Remove unneeded
6371         TYPE_BINFO initialization.
6372         (get_object-reference): Likewise.
6373         (build_constructor): Tighten precondition check.
6374         (finish_message_expr): Likewise.
6375
6376 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
6377
6378         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
6379         after CONST test.
6380
6381 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
6382
6383         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
6384         in HFAs.
6385
6386 2002-10-23  Richard Henderson  <rth@redhat.com>
6387
6388         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6389         (alpha_output_mi_thunk_osf): Handle vcall_offset.
6390
6391 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
6392
6393         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
6394         var_mod_type_p.
6395         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
6396         hook_tree_bool_false.
6397
6398         * tree.c (variably_modified_type_p): Moved here from
6399         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
6400         language-specific cases.  Due to this, must weaken some 'if
6401         and only if' checks to merely 'if'.
6402         * tree.h: Prototype variably_modified_type_p.
6403
6404         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
6405
6406 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6407
6408         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
6409         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
6410
6411         * config/s390/s390-protos.h (fp_operand): Remove.
6412         * config/s390/s390.c (fp_operand): Remove.
6413         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
6414         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
6415         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
6416         (movdi_31, movdf_31 splitters): Likewise.
6417
6418         * config/s390/s390.h (IEEE_FLOAT): Remove.
6419         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
6420         (INT_REGNO_P): Rename to ...
6421         (GENERAL_REGNO_P): ... this.
6422         (FLOAT_REGNO_P): Rename to ...
6423         (FP_REGNO_P): ... this.
6424         (ADDR_REGNO_P): New macro.
6425         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
6426         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
6427         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
6428         (HARD_REGNO_NREGS): Adapt to macro renaming.
6429         (HARD_REGNO_MODE_OK): Likewise.
6430
6431 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
6432             Geoff Keating  <geoffk@apple.com>
6433
6434         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
6435         (rs6000_memory_move_cost): New function.
6436         * config/rs6000/rs6000-protos.h: Declare them.
6437         * config/rs6000/rs6000.h: Use them.
6438
6439 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6440
6441         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
6442         inlining it into other libgcc2 routines.
6443         (__udivmoddi4): Likewise.
6444
6445 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
6446
6447         * doc/sourcebuild.texi (Test Suites): Improve.
6448
6449 2002-10-22  Stan Shebs  <shebs@apple.com>
6450
6451         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
6452         case for Darwin.
6453
6454 2002-10-22  Jim Wilson  <wilson@redhat.com>
6455
6456         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
6457
6458 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
6459
6460         PR other/8289
6461         * xmmintrin.h: Add const to the argument of loads.
6462
6463         * i386.md (pushv2di): New pattern.
6464         PR target/6890
6465         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
6466
6467 2002-10-22  Richard Henderson  <rth@redhat.com>
6468
6469         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
6470         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
6471         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
6472         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6473         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6474         (TARGET_ASM_OUT): Update.
6475         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
6476         (hook_bool_tree_hwi_hwi_tree_true): New.
6477         (default_can_output_mi_thunk_no_vcall): New.
6478         * hooks.h: Declare them.
6479         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
6480
6481         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6482         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
6483         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
6484         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
6485         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
6486         config/stormy16/stormy16.c: Similarly.
6487
6488         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
6489         Handle 64-bit properly.  Streamline.
6490         (x86_output_mi_vcall_thunk): Remove.
6491         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
6492         (x86_can_output_mi_thunk): New.
6493         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6494         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6495         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
6496
6497         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
6498         output_mi_thunk; make static; always use function_section.
6499         (TARGET_ASM_OUTPUT_MI_THUNK): New.
6500         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6501         (rs6000_ra_ever_killed): Test no_new_pseudos not
6502         targetm.asm_out.output_mi_thunk in conjunction with thunks.
6503         * config/rs6000/rs6000-protos.h: Update.
6504         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6505         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
6506         xcoffout_declare_function when using rs6000_output_mi_thunk.
6507
6508         * config/s390/s390.c (s390_output_mi_thunk): Rename from
6509         s390_output_mi_vcall_thunk.
6510         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6511         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6512
6513         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
6514         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6515         * config/vax/vax-protos.h: Update.
6516         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
6517
6518 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
6519
6520         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
6521         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
6522         * i386.md (movti_internal): Use 'C'
6523
6524         * xmmintrin.h (_mm_cmplt_epi*): New.
6525
6526 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6527
6528         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
6529         ("*movdf_64"): Likewise.
6530         ("*lshrdi3_64"): Likewise.
6531         ("blockage"): Add length attribute.
6532         ("lit"): Likewise.
6533
6534 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
6535
6536         * i386.md: FIx typo.
6537         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
6538         (sse2_umulv2siv2di3): Fix predicate.
6539         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
6540         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
6541         * xmmintrin.h (_mm_mul_epu16): Rename to...
6542         (_mm_mul_epu32): This one.
6543         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
6544
6545         (contains_128bit_aligned_vector_p): Undo accidental checkin.
6546
6547 2002-10-22  Eric Christopher  <echristo@redhat.com>
6548
6549         * config/sparc/sparc.h: Add #error.
6550
6551 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6552
6553         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
6554         [s390x-*-linux*]: Likewise.
6555         * config/s390/t-linux: Remove.
6556         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
6557
6558 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
6559
6560         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
6561         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
6562         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
6563         * i386.md (mmx_punpck?dq): Simplify.
6564         (sse2_pubpcklqdq): Fix.
6565         (sse2_pubpckhqdq): New.
6566         * xmmintrin.h (_mm_unpackhi_epi32): New.
6567
6568         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
6569         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
6570
6571 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
6572
6573         PR c++/7209
6574         * fold_const.c (fold_binary_op_with_conditional_arg): Always
6575         build compound_expr if we used save_expr.
6576
6577 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
6578
6579         * output.h (SECTION_NOTYPE): Define.
6580         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
6581         init array sections.
6582         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
6583         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
6584         merge TLS support.
6585
6586 2002-10-21  Richard Henderson  <rth@redhat.com>
6587
6588         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
6589         the function type, not the return type.
6590
6591 2002-10-21  Richard Henderson  <rth@redhat.com>
6592
6593         * real.c (sticky_rshift_significand): Return inexact, don't
6594         or it in immediately.
6595         (sub_significands): Accept incomming carry.
6596         (div_significands, rtd_divmod): Update for sub_significands change.
6597         (round_for_format): Update for sticky_rshift_significand change.
6598         (do_add): Don't involve the inexact bit in addition, do give the
6599         inexact bit as the subtraction carry-in.
6600         (encode_internal, decode_internal, real_internal_format): New.
6601         * real.h (real_internal_format): Declare.
6602
6603 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6604
6605         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
6606         don't define sdiv_qrnnd.
6607
6608 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6609
6610         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
6611         using IN_RANGE.
6612         (TINY_CONSTANT_ADDRESS_P): Likewise.
6613
6614 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
6615
6616         * i386.c (builtin_description): Add punpcklqdq and movdq2q
6617         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
6618         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
6619         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
6620         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
6621         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
6622         __builtin_ia32_setzero128.
6623         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
6624         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
6625         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
6626         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
6627         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
6628         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
6629         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
6630         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
6631         sse2_movq): New patterns.
6632         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
6633         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
6634         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
6635         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
6636         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
6637         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
6638         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
6639         (_mm_insert_epi16): Fix.
6640
6641 2002-10-21  Dale Johannesen  <dalej@apple.com>
6642
6643         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
6644             unsafe math reversals correctly for RTL generation.
6645           (output_cbranch):  Replace rs6000_reverse_condition call
6646             by its former definition.
6647
6648 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
6649
6650         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
6651         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
6652         from constant pool or LABEL_REFs as sign extended if allow_rip.
6653         Change all +-1GB limits to +-16MB.
6654         (x86_64_general_operand, x86_64_szext_general_operand,
6655         x86_64_nonmemory_operand, x86_64_movabs_operand,
6656         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
6657         legitimate_address_p, ix86_expand_int_movcc): Update callers.
6658         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
6659         in CM_SMALL_PIC model.
6660         (legitimate_pic_address_disp_p): Don't check offsets before
6661         calling local_symbolic_operand.
6662         (legitimize_pic_address): Force offsets bigger than +-16MB into
6663         register.
6664         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
6665         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
6666         prototype.
6667
6668         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
6669         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
6670         * configure: Rebuilt.
6671         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
6672         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
6673         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
6674         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
6675         -fpic.
6676         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
6677         non-pic code if TARGET_64BIT.
6678         (legitimize_address): Generate 64-bit TLS sequences.
6679         (output_pic_addr_const): Support x86-64 TLS operators.
6680         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
6681         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
6682         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
6683         (output_addr_const_extra): Support x86-64 TLS operators.
6684         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
6685         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
6686         unconditionally.
6687         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
6688         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
6689         (*tls_global_dynamic_sun): Renamed to...
6690         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
6691         (tls_global_dynamic): Renamed to...
6692         (tls_global_dynamic_32): ... this.
6693         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
6694         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
6695         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
6696         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
6697         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
6698         (tls_local_dynamic_base_dynamic): Renamed to...
6699         (tls_local_dynamic_base_dynamic_32): ... this.
6700         (tls_local_dynamic_base_dynamic_64,
6701         *tls_local_dynamic_base_dynamic_64): New.
6702         (*tls_local_dynamic_once): Renamed to...
6703         (*tls_local_dynamic_32_once): ... this.
6704
6705 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6706
6707         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
6708         __divdi3, __umoddi3, or __moddi3.
6709
6710 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6711
6712         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
6713         instead of just opt_index as switch expression.
6714
6715         * calls.c (store_one_arg): Change type of 'excess_align'
6716         to unsigned int.
6717
6718         * profile.c (output_gcov_string): Change type of 'temp'
6719         to size_t.
6720
6721 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6722
6723         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
6724         (__fixunssfdi, __fixsfdi): Likewise.
6725         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
6726         (s390_single_qi): Likewise.
6727         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
6728         unsigned comparison warning.
6729         (s390_return_addr_rtx): New function.
6730         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
6731         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
6732         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
6733
6734 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6735
6736         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
6737         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
6738         (s390_output_mi_thunk): Remove.
6739         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6740
6741 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6742
6743         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
6744
6745 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
6746
6747         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
6748         inverted test in the conditional determining the possibility
6749         of sibcalls in PIC mode.
6750
6751 2002-10-20  Richard Henderson  <rth@redhat.com>
6752
6753         * target.h (struct gcc_target): Line wrap.
6754
6755         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
6756         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
6757         * config/alpha/alpha.h: ... not here.
6758         * config/alpha/alpha-protos.h: Update.
6759
6760         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
6761         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
6762         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6763         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
6764         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
6765         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
6766         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
6767         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6768         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
6769         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
6770         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
6771         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
6772         config/sparc/sparc.c, config/sparc/sparc.h,
6773         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
6774         config/stormy16/stormy16.h: Similarly.
6775
6776         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
6777         selection logic from call patterns.
6778
6779 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
6780
6781         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
6782
6783 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6784
6785         PR other/8202
6786         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
6787         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
6788         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
6789         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
6790
6791 2002-10-20  Roger Sayle  <roger@eyesopen.com>
6792
6793         PR c/761
6794         * toplev.c (flag_unsafe_profile_arcs): Remove.
6795         (flag_bounded_pointers): Remove.
6796         (flag_bounds_check): Correct comments.
6797         (lang_independent_options): Remove -funsafe-profile-arcs and
6798         -fbounded-pointers.  Correct -fbounds-check comments.
6799
6800         * flags.h: Correct flag_schedule_interblock comments.
6801         (flag_bounded_pointers): Remove prototype.
6802         (flag_bounds_check): Correct comments.
6803
6804         * c-opts.c (c_common_init_options): No need to mark
6805         flag_bounds_check as unspecified.
6806         (c_common_post_options): And no need to set it from
6807         flag_bounded_pointers if its still unspecified.
6808
6809         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
6810         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
6811         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
6812         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
6813
6814 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
6815         Angela Marie Thomas  <angela@releasedominatrix.com>
6816         Brendan Kehoe  <brendan@zen.org>
6817         Nick Clifton  <nickc@redhat.com>
6818         Andrew Haley  <aph@redhat.com>
6819
6820         * configure.in (--with-sysroot): New.  Don't inhibit libc if
6821         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
6822         and CROSS_SYSTEM_HEADER_DIR.
6823         * configure: Rebuilt.
6824         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
6825         (TARGET_SYSTEM_ROOT): New.
6826         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
6827         CROSS_SYSTEM_HEADER_DIR.
6828         (install-gcc-tooldir): New target.
6829         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
6830         if SYSTEM_HEADER_DIR does not exist and it's not the default
6831         sys-include directory.
6832         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
6833         (install-mkheaders): Likewise.
6834         * gcc.c (target_system_root): New variable.
6835         (add_sysrooted_prefix): New function.
6836         (process_command): Recompute run-time target_system_root from
6837         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
6838         does not exist.
6839         (do_spec_1): Process 'R' spec.
6840         (main): Add md_exec_prefix to exec_prefixes regardless of
6841         startfile_prefix_spec.  Use add_sysrooted_prefix for
6842         startfile_prefixes, and don't skip the default ones when cross
6843         compiling with sysroot enabled.  Removed unused case of
6844         non-absolute standard_startfile_prefix.
6845         * config/interix.h: Remove the only potential, yet disabled,
6846         occurrence of non-absolute (empty) standard_startfile_prefix.
6847         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
6848         linking.
6849         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
6850         * doc/install.texi (--with-sysroot): Document.
6851         (--with-headers, --with-libs): Deprecate.
6852
6853 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6854             Mark Mitchell  <mark@codesourcery.com>
6855
6856         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
6857         match target.h.
6858         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
6859         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
6860         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
6861         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
6862         x86_output_mi_thunk): Likewise.
6863         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
6864         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
6865         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
6866         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
6867         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
6868         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
6869         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
6870         Likewise.
6871         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
6872
6873         * target.h (gcc_target): Update output_mi_thunk and
6874         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
6875         vcall_index.
6876
6877         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
6878         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6879         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
6880         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
6881         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
6882         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
6883         signature.
6884         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
6885         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6886         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6887         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
6888         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
6889         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6890         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6891         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
6892         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
6893
6894         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
6895         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
6896
6897 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
6898
6899         * real.c (do_add): Fix 0+0 sign corner case.
6900         (do_divide): Fix Inf/0 corner case.
6901
6902 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
6903
6904         * i386.c (classify_argument): Pass MMX arguments in memory
6905         (ix86_expand_builtin): Expand proper address mode for cflush.
6906         * i386.md (movdqa): Fix typo.
6907         (sse2_cflush): Accept DImode addresses.
6908
6909         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
6910         (_mm_max_sd): Fix pasto.
6911         (_mm_storeh_pd, _mm_storel_pd): Fix.
6912
6913         * i386.c (bdesc_comi): Fix to match specification.
6914         (ix86_expand_sse_comi): Emit the comparison properly.
6915         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
6916         Do not use comparison operator.
6917         (vnmaskcmp): Fix template.
6918
6919         * xmmintrin.h (_mm_cvtps_pi16): Fix.
6920
6921 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
6922
6923         * dependence.c : Removed.
6924         * Makefile.in : Remove dependence.o.
6925
6926 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
6927
6928         * mmintrin.h (__m64): typedef it to v2si.
6929         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
6930         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
6931         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
6932         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
6933         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
6934         * xmmintrin.h (_mm_setzero_si64): Likewise.
6935
6936         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
6937         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
6938
6939         PR target/7693
6940         Patch by Shawn Wagner
6941         * mmintrin.h: Replace pi64 by si64.
6942
6943 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
6944
6945         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
6946         Use length of 4 not *.
6947         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
6948         (movdf_softfloat64): Likewise.
6949         (movdi_internal32): Use length of 4 not *.
6950         (movti_power): Same.
6951         (ctrsi, ctrdi): Same.
6952
6953 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
6954
6955         * c-decl.c (start_decl): Point users of the old initialized-
6956         typedef extension at __typeof__.
6957
6958 2002-10-18  Richard Henderson  <rth@redhat.com>
6959
6960         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
6961         (real_to_decimal): Re-implement using the logic from the
6962         gcc 3.2 etoasc.  Comment heavily.
6963         (div_significands): Simplify loop startup and comparison logic.
6964
6965 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
6966
6967         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
6968         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
6969         (TARGET_ASM_OUT): Add them.
6970         * target.h (asm_out): Add output_mi_thunk and
6971         output_mi_vcall_thunk.
6972         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6973         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6974         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
6975         * config/arm/arm.c (arm_output_mi_thunk): Define.
6976         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6977         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6978         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6979         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6980         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6981         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6982         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
6983         prototype.
6984         (x86_output_mi_vcall_thunk): Declare.
6985         * config/i386/i386.c (override_options): Clear
6986         output_mi_vcall_thunk in 64-bit mode.
6987         (ix86_fntype_regparm): New function.
6988         (ix86_return_pops_args): Use it.
6989         (ia32_this_parameter): New function.
6990         (x86_output_mi_vcall_thunk): New function.
6991         (x86_output_mi_thunk): Use it
6992         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
6993         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
6994         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
6995         * config/i960/i960.c (i960_output_mi_thunk): New function.
6996         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
6997         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
6998         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
6999         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7000         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7001         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
7002         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7003         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7004         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7005         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7006         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7007         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7008         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7009         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7010         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7011         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7012         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
7013         * config/s390/s390.c (s390_output_mi_thunk): Define.
7014         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7015         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7016         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7017         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7018         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7019         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7020         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
7021         * config/vax/vax.c (vax_output_mi_thunk): Define.
7022         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7023         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7024         * doc/tm.texi: Adjust documentation.
7025
7026 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
7027
7028         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
7029         __enable_execute_stack function.
7030         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
7031         as NETBSD_ENABLE_EXECUTE_STACK.
7032         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7033         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7034         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7035         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7036         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7037
7038 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
7039
7040         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
7041         to __enable_execute_stack with the address of the trampoline
7042         if TRANSFER_FROM_TRAMPOLINE is defined.
7043         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
7044         constant if building libgcc2.
7045
7046 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
7047
7048         * i386.c (pentium4_cost): Fix according to Intel recommendations.
7049         (ix86_memory_move_cost): Fix for 64bit compilation.
7050
7051 2002-10-17  Roger Sayle  <roger@eyesopen.com>
7052
7053         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
7054
7055 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
7056
7057         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
7058         in CTR/LR/MQ.
7059         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
7060         to/from CTR/LR/MQ.
7061         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
7062         (movsf_softfloat): Likewise.
7063
7064 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
7065
7066         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
7067
7068 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
7069
7070         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
7071         tramp, not addr, to pass the trampoline address to
7072         __enable_execute_stack.
7073
7074 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
7075
7076         * mmintrin.h: Guard by __MMX__
7077         * xmmintrin.h: Guard by __SSE__
7078
7079         PR other/8062
7080         * xmmintrin.h (_MM_SHUFFLE2): New macro.
7081         (_mm_load*_?d): New functions.
7082         (_mm_set*_?d): New functions.
7083         (_mm_store*_?d): New functions.
7084
7085 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
7086
7087         Really commit patch announced at Oct 14
7088         PR c/7344
7089         * predict.c (can_predict_insn_p): New function.
7090         (estimate_probability): Avoid unnecesary work.
7091         (process_note_prediction): Likewise.
7092         * toplev.c (rest_of_compilation): Account early branch prediction pass
7093         as TV_BRANCH_PROB.
7094
7095         PR other/8048
7096         Found by Ian Ollmann
7097         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
7098         (_mm_load?_pd): Likewise.
7099         (_mm_store?_pd): Likewise.
7100
7101         PR target/7386
7102         * i386.c (builtin_description):Drop cmpg[te]s[sd].
7103         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
7104         swapped alternative.
7105
7106         PR opt/7630
7107         * reload1.c (reload_inner_reg_of_subreg): New argument output;
7108         (push_reload): Update call.
7109
7110 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
7111
7112         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
7113         if using mips/elf.h or mips/elf64.h.
7114         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
7115         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
7116
7117 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
7118
7119         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
7120         SI.
7121
7122 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
7123
7124         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
7125         (LPREFIX): Likewise.
7126         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
7127         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
7128         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
7129         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
7130         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
7131
7132         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
7133         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
7134         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7135         BSS_SECTION_ASM_OP): Move from linux.h.
7136         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7137         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7138
7139         * config/s390/s390.c (s390_function_profiler): Use
7140         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7141
7142 2002-10-15  Eric Christopher  <echristo@redhat.com>
7143
7144         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
7145         * java/parse.y (obtain_incomplete_type): Make pointer
7146         ptr_mode.
7147
7148 2002-10-15  Richard Henderson  <rth@redhat.com>
7149
7150         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
7151         as arguments.  Bound DIGITS by the available buffer size.
7152         (real_to_hexadecimal): Likewise.
7153         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
7154         (REAL_VALUE_TO_DECIMAL): Remove.
7155         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
7156         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
7157         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
7158         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7159         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
7160         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
7161         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
7162         use real_to_decimal directly, and with the proper arguments.
7163         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
7164
7165 2002-10-15  Jim Wilson  <wilson@redhat.com>
7166
7167         * reload1.c (merge_assigned_reloads): After converting overlapping
7168         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
7169
7170         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
7171
7172 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
7173
7174         * expr.c (do_tablejump): Fix typo in my previous commit.
7175
7176 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
7177
7178         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
7179
7180 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7181
7182         * config/s390/s390.c (s390_split_branches): Add return
7183         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
7184
7185         (find_base_register_in_addr): New function.
7186         (find_base_register_ref): New function.
7187         (replace_base_register_ref): New function.
7188
7189         (struct constant_pool): Add members pool_insn, insns, and anchor.
7190         Remove member last_insn.
7191         (s390_start_pool): Initialize them.
7192         (s390_end_pool): Emit pool placeholder insn.
7193         (s390_add_pool_insn): New function.
7194         (s390_find_pool): Use insns bitmap instead of addresses.
7195         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
7196         Replace unspec 104 by local-pool-relative references.
7197         (s390_output_constant_pool): Output anchor label if required.
7198         (s390_output_symbolic_const): Handle unspec 104 and 105.
7199         (s390_add_pool): Remove, replace by ...
7200         (s390_add_constant, s390_find_constant): ... these new functions.
7201         (s390_add_anchor): New function.
7202
7203         (s390_chunkify_pool): Delete, replace by ...
7204         (s390_chunkify_start, s390_chunkify_finish,
7205         s390_chunkify_cancel): ... these new functions.
7206         (s390_optimize_prolog): Add parameter TEMP_REGNO.
7207         Recompute register live data for special registers.
7208         (s390_fixup_clobbered_return_reg): New function.
7209         (s390_machine_dependent_reorg): Rewrite to use new
7210         s390_chunkify_... routines.
7211
7212         config/s390/s390.md ("reload_base"): Rename to ...
7213         ("reload_base_31"): ... this.
7214         ("reload_base_64"): New insn.
7215         ("reload_base2"): Remove.
7216         ("reload_anchor"): New insn.
7217         ("pool"): New insn.
7218
7219         s390.c (s390_pool_overflow): Remove.
7220         s390.h (s390_pool_overflow): Likewise.
7221         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
7222
7223 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
7224
7225         * sh.md (movv8qi_i+2): Don't split if source is -1.
7226
7227 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
7228
7229         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
7230
7231 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7232
7233         PR opt/7409
7234         * loop.c (loop_regs_scan): Mark registers used for function
7235         argument passing as MAY_NOT_OPTIMIZE.
7236
7237 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7238
7239         * gcov-io.h (gcov_info): Fix type.
7240         * profile.c (create_profiler): Fix type mismatch.
7241
7242 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
7243
7244         * i386.md (movv2di_internal): New pattern.
7245         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
7246         (movv2di): New expander.
7247         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
7248
7249         * i386.c (ix86_expand_timode_binop_builtin): Delete.
7250         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
7251         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
7252         (ix86_expand_builtin): Likewise.
7253         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7254         sse_andti3,
7255         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7256         sse_andnti3,
7257         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
7258         sse_orti3,
7259         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
7260         sse_xorti3): Kill.
7261         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
7262          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
7263         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
7264          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7265         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
7266          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7267
7268         * xmmintrin.h (__m128i): Define as __v2di.
7269
7270         PR c++/6419
7271         (expand_expr): Use DECL_RTL_SET_P.
7272
7273 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7274
7275         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
7276
7277 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7278             Zack Weinberg <zack@codesourcery.com>
7279
7280         * config/i386/i386.c (k6_cost): Correct typo.
7281
7282 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
7283
7284         PR optimization/6631
7285         * alias.c (objects_must_conflict_p): Check honor_readonly when
7286         examining TYPE_READONLY.
7287         * function.c (assign_stack_temp_for_type): Likewise.
7288
7289 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
7290
7291         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
7292         Swap zero extension arguments.
7293         (umaxhi3): Fix instruction class.
7294         PR target/7211
7295         (prefetch): Fix prefetch instructions.
7296         PR target/7238
7297         (pkwb): Fix output constraint.
7298
7299 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
7300
7301         * config/mips/mips.c (print_operand): Increase buffer size for
7302         real numbers.
7303
7304 2002-10-14  Richard Henderson  <rth@redhat.com>
7305
7306         PR opt/8165
7307         * gcse.c (adjust_libcall_notes): Revert last change.
7308         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
7309
7310 2002-10-14  Andrew Haley  <aph@redhat.com>
7311
7312         * tree-inline.c (remap_block): All local class initialization
7313         flags go in the outermost scope.
7314         (expand_call_inline): Call java_inlining_map_static_initializers.
7315         (expand_call_inline): Call java_inlining_merge_static_initializers.
7316         * java/lang.c (merge_init_test_initialization): New.
7317         (java_inlining_merge_static_initializers): New.
7318         (inline_init_test_initialization): New.
7319         (java_inlining_map_static_initializers): New.
7320
7321         * tree-inline.c (expand_call_inline): Convert retvar to expected
7322         type.
7323
7324 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
7325
7326         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
7327
7328 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
7329
7330         * stmt.c: Fix typo in comment.
7331
7332 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7333
7334         * c-common.c (c_common_type_for_mode): Add V2HImode case.
7335         * tree.c (build_common_tree_nodes_2): Initialize
7336         unsigned_V2HI_type_node and V2HI_type_node.
7337         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
7338         (unsigned_V2HI_type_node, V2HI_type_node): Define.
7339
7340 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
7341
7342         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
7343         Handle TARGET_64BIT.
7344
7345 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7346
7347         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
7348         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
7349         (MULTILIB_DIRNAMES): Remove long32.
7350         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
7351         (MULTILIB_REDUNDANT_DIRS): Remove.
7352
7353 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7354
7355         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
7356         * gcc.c (driver_self_specs): New variable.
7357         (do_self_spec): New function.
7358         (main): Use it to process driver_self_specs.
7359
7360 2002-10-13  Richard Henderson  <rth@redhat.com>
7361
7362         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
7363         indirect sibcalls when regparm >= 3.
7364
7365         * config/i386/i386.c (sibcall_insn_operand): New.
7366         * config/i386/i386.h (PREDICATE_CODES): Update.
7367         * config/i386/i386-protos.h: Update.
7368         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
7369
7370         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
7371
7372 2002-10-12  Roger Sayle  <roger@eyesopen.com>
7373
7374         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
7375         arithmetic right shifts of ~0 during RTL simplifications.
7376
7377 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
7378
7379         PR preprocessor/7862
7380         PR preprocessor/8190
7381         * gcc.c (cpp_unique_options): Don't delete .d files.
7382         Remove stray whitespace.
7383
7384 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
7385
7386         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
7387         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
7388         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
7389         (pdp11_output_function_epilogue, output_ascii): Likewise.
7390         (output_addr_const_pdp11): Likewise.
7391         * pdp11.md (movdi): Use offsetable memory for floating store.
7392         (lshrsi3, negsi2): Delete irrelevant comment.
7393
7394 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
7395
7396         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
7397         indirect calls to be sibcall optimized.
7398         * config/i386/i386.md (sibcall_1): New.
7399         (call_1): Add no-sibcalls condition.
7400         (sibcall_value_1): New.
7401         (call_value_1): Add no-sibcalls condition.
7402
7403 2002-10-11  Eric Christopher  <echristo@redhat.com>
7404
7405        * output.h (default_valid_pointer_mode): Declare.
7406        * varasm.c (default_valid_pointer_mode): Define.
7407        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
7408        * target.h: Ditto.
7409        * tree.c (build_pointer_type_for_mode): New function.
7410        (build_pointer_type): Use.
7411        (build_reference_type_for_mode): New function.
7412        (build_reference_type): Use.
7413        * tree.h: Declare new functions.
7414        * c-common.c (handle_mode_attribute): Use new functions, check
7415        for type.
7416        * stor-layout.c (layout_type): Depend on machine mode for
7417        REFERENCE_TYPE and POINTER_TYPE.
7418        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
7419        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
7420        and REFERENCE_TYPE.
7421        * config/mips/mips.c (mips_valid_pointer_mode): New function.
7422        (TARGET_VALID_POINTER_MODE): Use and define.
7423        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
7424
7425 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
7426
7427         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
7428         not the address of the REG.
7429         (struct cse_reg_info): Make subreg_ticked unsigned.
7430
7431 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
7432
7433         * doc/compat.texi: Add info about C++ libraries.
7434
7435 2002-10-11  Richard Henderson  <rth@redhat.com>
7436
7437         PR opt/8165
7438         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
7439
7440 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7441
7442         * cfganal.c (dfs_enumerate_from): Use PARAMS.
7443         * genautomata.c (output_insn_code_cases): Likewise.
7444         * real.c (real_format): Likewise.
7445         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
7446         ensure value is promoted before doing subtraction.
7447
7448 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
7449
7450         * calls.c (expand_call): Simplify noreturn call.
7451
7452         PR c/7344
7453         * cfgbuild.c (make_edges): Create edge cache when we do have
7454         large jumptable.
7455         * expr.c (do_tablejump): Note size of maximal jumptable.
7456         * function.c (prepare_function_start): Zero out size.
7457         * function.h (function): Add max_jumptable_ents.
7458
7459         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7460
7461 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
7462
7463         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
7464         register for mperm_w operation.
7465
7466 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
7467
7468         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
7469         an integer, use simplify_gen_subreg.
7470
7471 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
7472
7473         * calls.c (flags_from_decl_or_type): Make extern.
7474         (ECF_*): Move ...
7475         * rtl.h (ECF_*): ... here.
7476         (flags_from_decl_or_type): Declare.
7477
7478 2002-10-10  Roger Sayle  <roger@eyesopen.com>
7479             Nathan Sidwell <nathan@codesourcery.com>
7480
7481         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
7482         shifts of the form -1 >> x.
7483
7484 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
7485
7486         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7487
7488 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
7489
7490         * extend.texi (Vector Extensions): Remove comment about single
7491         element vectors.
7492
7493 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7494
7495         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
7496         * function.c (insns_for_mem_hash): Likewise.
7497         * varasm.c (STRHASH): Likewise.
7498
7499 2002-10-10  Stuart Hastings  <stuart@apple.com>
7500
7501         * cse.c (struct cse_reg_info): Add subreg_ticked.
7502         (SUBREG_TICKED): New.
7503         (get_cse_reg_info): Initialize SUBREG_TICKED.
7504         (mention_regs): Use it.
7505         (invalidate): Set SUBREG_TICKED.
7506         (invalidate_for_call): Likewise.
7507         (addr_affects_sp_p): Likewise.
7508
7509 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
7510
7511         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
7512         into proper operand.
7513
7514 2002-10-10  Denis Chertykov  <denisc@overta.ru>
7515
7516         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
7517         deallocation.
7518         * config/ip2k/libgcc.S: Combine routines used by function
7519         epilogue.
7520
7521 2002-10-10  Jim Wilson  <wilson@redhat.com>
7522
7523         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
7524         UDIV.
7525
7526 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
7527
7528         * config/rs6000/aix52.h: New file.
7529         * config/rs6000/t-aix52: New File.
7530         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
7531         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
7532
7533 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
7534
7535         PR target/5610
7536         * invoke.texi (-msse-math): Kill
7537         (-msse): Add note to mfpmath=sse.
7538
7539 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
7540
7541         PR target/7723
7542         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
7543
7544 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
7545
7546         PR preprocessor/8179
7547         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
7548         as cc1_options.
7549         (default_compilers): Pass debug options when preprocessing
7550         stdin.
7551
7552 2002-10-06  Richard Henderson  <rth@redhat.com>
7553
7554         * toplev.c (rest_of_compilation): Revert opt/2960 change.
7555
7556 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
7557
7558         * i386.c (*_cost): Add branch costs.
7559         (override_options): set ix86_branch_cost.
7560         (ix86_expand_int_movcc): Use BRANCH_COST.
7561         * i386.h (costs): Add branch_cost.
7562
7563 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
7564
7565         PR c/7353
7566         * c-decl.c (start_decl): Unconditionally issue error for
7567         'typedef foo = bar'.
7568         (finish_decl): Remove special case for TYPE_DECL with initializer.
7569
7570         * doc/extend.texi: Delete "Naming Types" section.  Change all
7571         cross-references to that section to refer to "Typeof" instead.
7572         Add the useful safe-max()-macro example from "Naming Types" to
7573         "Typeof", rewritten using that extension.  Add some compatibility
7574         notes to "Typeof."
7575
7576 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7577
7578         * loop.c: Revert 2002-08-15 change.
7579         (LOOP_REGNO_NREGS): Ensure type is int.
7580
7581 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7582
7583         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
7584         which copies first FPR and clears second.
7585         (extendsftf2): Same.
7586         (floatditf2): Fix typo.
7587         (floatsitf2): Same.
7588         (fix_trunctfdi2): Same.
7589         (fix_trunctfsi2): Same.
7590
7591 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7592
7593         * conflict.c (arc_hash): Change return type to hashval_t.
7594         * cselib.c (get_value_hash): Likewise.
7595         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
7596         state_hash, automata_list_hash): Likewise.
7597         * read-rtl.c (def_hash): Likewise.
7598         * tree.c (type_hash_hash): Likewise.
7599
7600 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
7601
7602         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
7603         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
7604
7605 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7606
7607         * sh.md (ffssi2): Fix emitted code.
7608
7609 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
7610
7611         * cse.c (insn_live_p): Pass insn pattern, not full insn
7612         to may_trap_p.
7613
7614 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
7615
7616         * cppmacro.c (paste_tokens): Only allow / to paste with =.
7617
7618 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7619
7620         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
7621         64-bit hosts.
7622         (movtf_internal): Reference correct displacement for second value
7623         in memory.
7624         (movtf splitter): Correct generation of constants in 64-bit mode.
7625
7626 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
7627
7628         * libgcc2.c (__floatdisf): Properly cure double rounding.
7629
7630 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7631
7632         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
7633         * doc/cpp.texi (Common Predefined Macros): Document.
7634
7635 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7636
7637         PR doc/7484
7638         * doc/invoke.texi (Option Summary): List
7639         -Wmissing-declarations as a C only option.
7640
7641 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7642
7643         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
7644         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
7645         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
7646
7647 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7648
7649         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7650         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
7651         variables.
7652         (safe_vector_operand): Update sse_clrv4sf call.
7653         (ix86_expand_buildin): Likewise
7654         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7655         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
7656         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
7657         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
7658         macros.
7659         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
7660         movv4si):  Obey the new flags.
7661         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
7662         reformating penalty.
7663         (anddf, cmov patterns): Avoid reformating by first converting.
7664         (sse_cvtsd2ss): Fix predicate.
7665         (sse2_clrti): Fix mode,
7666         (sse_clrv4sf): Avoid unspec.
7667
7668 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
7669
7670         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
7671         mno-app-regs|mcmodel=medany.
7672         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
7673         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
7674         (CRTSTUFF_T_CFLAGS): Define.
7675
7676 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7677
7678         PR target/8087
7679         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
7680         pool references that are constructed using LO_SUM.
7681
7682 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
7683
7684         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
7685         -Wall.
7686         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
7687         message.
7688         * flags.h (warn_strict_aliasing): Declare.
7689         * toplev.c (warn_strict_aliasing): Define.
7690         (lang_independent_options): Add it.
7691         * doc/invoke.texi (-Wstrict-aliasing): Document it.
7692
7693 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
7694
7695         * system.h (GCCBUGURL): Delete.
7696         * version.c (bug_report_url): New.  Add commentary about
7697         modifying both these strings in modified distributions.
7698         * version.h: Declare bug_report_url.
7699
7700         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
7701         bug_report_url.
7702
7703 2002-10-08  Nick Clifton  <nickc@redhat.com>
7704
7705         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
7706         convert uint64_t into __ev64_opaque__.
7707         (__ev_set_acc_s64): Likewise, but using signed types.
7708
7709 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
7710
7711         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
7712         ("*doloop_di_long"): Likewise.
7713
7714 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
7715
7716         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
7717
7718 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
7719
7720         * config/mips/mips.md (define_attr cpu): Add r4111.
7721
7722 2002-10-08  Anthony Green  <green@redhat.com>
7723
7724         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
7725
7726 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7727
7728         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
7729         for REAL_VALUE_TO_DECIMAL output.
7730
7731 2002-10-07  Richard Henderson  <rth@redhat.com>
7732
7733         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
7734         function; cleanup PLUS case by using recursion.  Update all users.
7735         (NONZERO_BASE_PLUS_P): Remove.
7736         (find_comparison_args): Use rtx_addr_can_trap_p instead.
7737         (fold_rtx): Use nonzero_address_p.
7738         * rtl.h (nonzero_address_p): Declare.
7739         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
7740         (rtx_addr_can_trap_p): Likewise.
7741         (nonzero_address_p): New.
7742         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
7743         (simplify_relational_operation): Use nonzero_address_p.
7744
7745 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
7746
7747         * config/rs6000/rs6000.c (rs6000_override_options): Set
7748         real_format_for_mode for IBM extended format, if enabled.
7749         (easy_fp_constant): Add TFmode.
7750         (rs6000_legitimize_address): Add TFmode.
7751         (rs6000_legitimate_address): Same.
7752         (function_arg_advance): TFmode uses two FPRs.
7753         (rs6000_emit_prologue): Fix warning.
7754         (rs6000_output_function_epilogue): Add TFmode.
7755         (output_toc): Add TFmode.
7756         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
7757         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
7758         * rs6000.md (movtf splitter): Load TFmode constant.
7759
7760 2002-10-07  Dale Johannesen  <dalej@apple.com>
7761
7762         * rtl.h:  Add NOTE_PRECONDITIONED.
7763         * unroll.c:  Set it.
7764         * loop.c:  Set loop_info->preconditioned from it.
7765         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
7766
7767 2002-10-07  Richard Henderson  <rth@redhat.com>
7768
7769         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
7770         new rtx for comparing the argument pointer against zero.
7771         (i960_va_start): Similarly.
7772
7773 2002-10-07  Richard Henderson  <rth@redhat.com>
7774
7775         * config/i960/i960.md (*): Use TFmode, not XFmode.
7776         * config/i960/i960.c (*): Likewise.
7777         (i960_arg_size_and_align): Remove XFmode alignment hack.
7778         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
7779         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
7780         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
7781         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
7782
7783 2002-10-07  Richard Henderson  <rth@redhat.com>
7784
7785         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
7786         entry points; use void return value and argument list.
7787
7788 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
7789
7790         * calls.c (expand_call): Fix function-is-volatile check.
7791
7792 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
7793
7794         * t-pdp11: Add MULTILIB support for msoft-float.
7795         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
7796
7797         * t-pdp11: Add LIB2FUNCS_EXTRA.
7798         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
7799         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
7800         'fldd' to 'ldd', rename 'fstd' to 'std'.
7801         (pdp11_output_function_epilogue): Likewise.
7802         (output_move_quad): Make the comment gas compatible.
7803         (output_ascii): Add preceding 0 to the octal constant.
7804         (print_operand_address): Add pre_modify, post_modify.
7805         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
7806         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
7807         with the indication of Paul Koning.
7808         (PRINT_OPERAND): Fix floating constant.
7809         * pdp11.md (movdi): Restrict matching pattern.
7810         (movqi): Generalize the matching pattern.
7811         (movdf): Restrict matching pattern.
7812         (zero_extendqihi2): Change constant representation.
7813         (floatsidf2): Fix wrong operands.
7814         (addqi3): Fix wrong instruction name.
7815         (subqi3): Fix wrong instruction name.
7816         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
7817         (xorsi3): Fix wrong insn.
7818         (one_cmplqi2): Add two operand pattern.
7819         (lsrsi3): New.
7820         (negsi2): New.
7821         (call): Add register indirect case.
7822         (mod): Fix wrong subreg.
7823
7824 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
7825             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7826
7827         PR c/7411
7828         * expr.c (expand_expr) [PLUS]: Simplify after the operands
7829         have been expanded in EXPAND_NORMAL mode.
7830
7831 2002-10-06  Richard Henderson  <rth@redhat.com>
7832
7833         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
7834
7835 2002-10-06  Richard Henderson  <rth@redhat.com>
7836
7837         PR optimization/2960
7838         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
7839         optimize_size.
7840
7841 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
7842
7843         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
7844         previously definitions.
7845
7846 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
7847
7848         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
7849         * c-opts.c (find_opt): Similarly.
7850
7851 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
7852
7853         * athlon.md: rewrite to DFA.
7854         * i386 (ix86_adjust_cost): Drop memory latency code.
7855         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
7856
7857 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
7858
7859         * gcc.c (set_multilib_dir): Don't access *end.
7860         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
7861         (print_multilib_info): Don't show paths starting with ".:".
7862         * genmultilib: Add new option, "yes" if multilibs are enabled.
7863         Update comments.  If multilibs not enabled, print .:${osdirout}
7864         for each directory.  If multilibs are enabled, always print
7865         ${dirout}:${osdirout}, even if the two are the same.
7866         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
7867         Pass all MULTILIB_* variables to genmultilib even if
7868         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
7869
7870 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
7871
7872         * gcc.c (process_command): Set .validated for -pipe.  Correct
7873         grammar in comment.
7874
7875 2002-10-04  Bruce Korb  <bkorb@gnu.org>
7876
7877         * fixinc/inclhack.def(hpux11_abs):  use format fix
7878         * fixinc/fixincl.x: regenerate
7879         * fixinc/tests/base/stdlib.h: accommodate new fix test
7880
7881 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
7882
7883         * c-common.c (cb_register_builtins):  Use really_no_inline.
7884
7885 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
7886
7887         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
7888         copied instruction if the note is not loop invariant.
7889
7890 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
7891
7892         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
7893
7894 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7895
7896         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
7897         and -mhp-ld options to list of options.  Add -mgnu-ld
7898         and -mhp-ld option descriptions.
7899
7900 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7901
7902         * fixinc/inclhack.def (hpux11_abs):  New.
7903         (stdio_va_list): change __va_list__ to __gnuc_va_list.
7904         * fixinc/fixincl.x: Rebuild.
7905
7906 2002-10-04  Roger Sayle  <roger@eyesopen.com>
7907
7908         * config/i386/i386.h (processor_costs): Add new fields fadd,
7909         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
7910         (RTX_COSTS): Use these fields to determine the RTX costs
7911         of floating point addition/subtraction, multiplication,
7912         division, fabs, negation and square root respectively.
7913         * config/i386/i386.c (size_cost): Provide instruction sizes
7914         for these new fields.
7915         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
7916         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
7917         counts for these new fields for all x86 processor variants.
7918
7919 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7920
7921         * mips.c (mips_const_double_ok): Delete unused variable.
7922
7923         * gengtype.c (rtx_next): Change type to int.
7924
7925 2002-10-04  Andreas Jaeger  <aj@suse.de>
7926
7927         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
7928
7929 2002-10-04  Richard Henderson  <rth@redhat.com>
7930
7931         * real.h (SIGNIFICAND_BITS): Add one more word.
7932         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
7933         * real.c (times_pten): New.
7934         (real_to_decimal, real_from_string): Use it.
7935         (sticky_rshift_significand): Use & to find modulus.
7936         (rshift_significand, lshift_significand): Likewise.
7937         (do_divide): Apply sticky bit after normalization.
7938         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
7939
7940 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
7941
7942         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
7943         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
7944
7945 2002-10-03  Andreas Jaeger  <aj@suse.de>
7946
7947         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
7948         to unsigned long, adjust printf format string.
7949         (output_mangled_typename): Likewise.
7950
7951 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
7952
7953         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
7954         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
7955         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
7956         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
7957         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
7958         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
7959         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
7960         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
7961
7962 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
7963
7964         * doc/invoke.texi (-Wabi): Document mangling bug.
7965
7966 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
7967
7968         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
7969         name for the tbtab label that depends on the function asm name.
7970         Don't output tbtab label unless optional_tbtab.
7971         (output_mi_thunk): Formatting.
7972
7973 2002-10-03  Richard Henderson  <rth@redhat.com>
7974
7975         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
7976         * config/m68k/m68k.c (override_options): ... here.
7977         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
7978         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
7979         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7980         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7981
7982 2002-10-03  Richard Henderson  <rth@redhat.com>
7983
7984         * real.h (struct real_value): Use ENUM_BITFIELD.
7985
7986 2002-10-03  Richard Henderson  <rth@redhat.com>
7987
7988         * config/i960/i960.md (call, call_value): Use emit_call_insn.
7989
7990 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
7991
7992         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
7993
7994 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
7995
7996         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
7997         * config/pa/pa.h (MASK_GNU_LD): New.
7998         (TARGET_GNU_LD): New.
7999         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
8000         on gnu-ld and MASK_GNU_LD.
8001         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
8002
8003 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
8004
8005         * i386.c (athlon_cost): Fix the move costs.
8006
8007 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
8008
8009         * final.c (final): Use symbol name as function name for profiling.
8010         * profile.c (get_exec_counts): Likewise.
8011         (branch_prob): Likewise.
8012
8013 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
8014
8015         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
8016
8017 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
8018
8019         * gcc.c (print_multi_os_directory): New variable.
8020         (option_map): Support --print-multi-os-directory.
8021         (struct prefix_list): Add os_multilib field.
8022         (multilib_os_dir): New variable.
8023         (static_specs): Add multilib_options.
8024         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
8025         subdirs if nonzero.
8026         (read_specs, execute): Update callers.
8027         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
8028         pass 1 as multilib option.
8029         (display_help): Include --print-multi-os-directory.
8030         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
8031         (process_command): Update callers.  Handle --print-multi-os-directory.
8032         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
8033         set.
8034         (main): Update find_a_file and add_prefix callers.
8035         Handle print_multi_os_directory.
8036         (struct mdswitchstr): New.
8037         (mdswitches, n_mdswitches): New variables.
8038         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
8039         present on the command line nor their mutually incompatible
8040         switches.
8041         (default_arg): Optimize.
8042         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
8043         array.
8044         (print_multilib_info): Only print GCC multilib dir name, not OS
8045         multilib dirname.
8046         * genmultilib: Add osdirnames parameter.  Output multilib_options
8047         variable.  If osdirnames is specified, output dirnames as
8048         dirname:osdirname.
8049         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
8050         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
8051         to compute libgcc_s soname and install path.
8052         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
8053         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
8054         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
8055         argument.
8056
8057         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8058         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8059         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
8060         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
8061         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
8062         and -m64.
8063         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
8064         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8065         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
8066         (STARTFILE_ARCH_SPEC): Remove.
8067         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8068         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8069         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
8070         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
8071         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8072
8073 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
8074
8075         * predict.c (choose_function_section): Avoid choice for linkonce functions.
8076
8077 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
8078
8079         * i386.md (lea to mul peep2): Fix condition.
8080
8081 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8082
8083         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
8084         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
8085
8086 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
8087
8088         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
8089         attribute "unused".
8090
8091         * config/t-libunwind: Mention unwind-sjlj.c.
8092         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
8093         to #ifndef __USING_SJLJ_EXCEPTIONS__.
8094
8095         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
8096         before inclusion of config.gcc, but after configuring the compiler etc.
8097         Determine default value for --enable-libunwind-exceptions based on
8098         whether the host has a libunwind library (not guaranteed to be correct,
8099         but it's a reasonable first guess and can always be overridden with an
8100         explicit --enable/disable-libunwind-exceptions.
8101         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
8102         tmake_file when $use_libunwind_exceptions is enabled.
8103         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
8104         ia64 (e.g., config/t-linux also updates it).
8105         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
8106         along with the shared version of libgcc since the latter requires
8107         the former.
8108         * unwind-libunwind.c: New file.
8109         * config/t-libunwind: Ditto.
8110
8111 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8112
8113         * config.gcc: Remove support for vax-*-vms*.
8114         * config/vax/vms.h: Remove.
8115         * config/vax/xm-vms.h: Remove.
8116         * config/vax/vax-protos.h: Remove VMS-specific code.
8117         * config/vax/vax.c: Remove VMS-specific code.
8118
8119 2002-10-02  Richard Henderson  <rth@redhat.com>
8120
8121         PR opt/7124
8122         * config/i386/i386.c (ix86_register_move_cost): Increase cost
8123         for secondary_memory_needed pairs.
8124
8125 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8126
8127         * doc/vms.texi: Blow away false include file section.
8128
8129 2002-10-02  Roger Sayle  <roger@eyesopen.com>
8130
8131         PR optimization/6627
8132         * toplev.c (force_align_functions_log): New global variable.
8133         * flags.h (force_align_functions_log): Add extern prototype.
8134         * varasm.c (assemble_start_function): Use it to force minimum
8135         function alignment.
8136         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
8137         minimum function alignment to one byte.
8138         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
8139         the least significant bit of vtable member function pointers.
8140         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
8141         here from cp/cp-tree.h.
8142
8143 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
8144
8145         * i386.c (print_operand_address): Use RIP addressing for offsetted
8146         label refs too.
8147
8148 2002-09-30  David S. Miller  <davem@redhat.com>
8149
8150         PR middle-end/7151
8151         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
8152         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
8153
8154 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
8155
8156         * calls.c (expand_call): Remove the `no indirect check'
8157         for sibcall optimization; use function_ok_for_sibcall
8158         target hook; refine check for `function is volatile'.
8159         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
8160         * hooks.c (hook_tree_tree_bool_false): New.
8161         * hooks.h (hook_tree_tree_bool_false): Declare.
8162         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8163         (TARGET_INITIALIZER): Add it.
8164         * target.h (struct gcc_target): Add function_ok_for_sibcall.
8165         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
8166         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8167         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8168         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
8169         Remove function declaration.
8170         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
8171         function static and accept another argument of type `tree'.
8172         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8173         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8174         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8175         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
8176         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8177         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8178         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8179         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
8180         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
8181         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8182         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8183         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
8184         Remove function declaration.
8185         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
8186         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
8187         rename first argument to `decl'; accept another argument
8188         of type `tree'; make static.
8189         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8190         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8191         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
8192         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8193         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8194         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
8195         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8196         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8197         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8198
8199 2002-10-01  Roger Sayle  <roger@eyesopen.com>
8200
8201         * unroll.c (loop_iterations): Revert 2002-09-08 change.
8202
8203 2002-10-01  Richard Henderson  <rth@redhat.com>
8204
8205         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
8206         (real_to_hexadecimal): Likewise.
8207         * print-rtl.c (print_rtx): If we are linked with real.c, don't
8208         dump the XWINT fields of a floating point CONST_DOUBLE.
8209
8210 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
8211
8212         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
8213
8214 2002-10-01  Richard Henderson  <rth@redhat.com>
8215
8216         * calls.c (precompute_register_parameters): Force non-legitimate
8217         constants into pseudos.
8218
8219 2002-10-01  Nick Clifton  <nickc@redhat.com>
8220
8221         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
8222         to assembler template.
8223
8224 2002-10-01  Richard Henderson  <rth@redhat.com>
8225
8226         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
8227         for TLS debug info to !DECL_EXTERNAL.
8228
8229 2002-10-01  Matt Thomas  <matt@3am-software.com>
8230             Jason Thorpe  <thorpej@wasabisystems.com>
8231
8232         * config.gcc (vax-*-netbsdelf*): Enable configuration.
8233         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
8234         if not already defined.
8235         * config/vax/elf.h: New file.
8236         * config/vax/netbsd-elf.h: New file.
8237         * config/vax/vax.c: Include "debug.h".
8238         (vax_output_function_prologue): Add dwarf2 support.  Use
8239         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
8240         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
8241         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
8242         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
8243         (VAX_ISTREAM_SYNC): Remove.
8244         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
8245         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8246         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
8247         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
8248         and assemble_name.
8249         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8250         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
8251         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
8252         (INCOMING_RETURN_ADDR_RTX): Define.
8253         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
8254         (VUNSPEC_SYNC_ISTREAM): Define.
8255         (blockage): Use VUNSPEC_BLOCKAGE.
8256         (sync_istream): New insn.
8257
8258 2002-10-01  Richard Henderson  <rth@redhat.com>
8259
8260         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
8261         (*call_value_pop, call, call_value): Add dwarf2 EH support.
8262         (*call): New insn.
8263
8264 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8265
8266         PR c/8083
8267         * c-typeck.c (build_c_cast): Warn about type punning which breaks
8268         type based aliasing.
8269
8270 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
8271
8272         * stor-layout.c (update_alignment_for_field): New function.
8273         (place_union_field): Use it.
8274         (place_field): Likewise.
8275
8276 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8277
8278         PR other/8077
8279         * gcc.c (cc1_options): Add space on -auxbase-strip.
8280
8281 2002-10-01  Jim Wilson  <wilson@redhat.com>
8282
8283         * config/v850/v850.h (EPILOGUE_USES): Define.
8284
8285 2002-09-30  Andrew Haley  <aph@redhat.com>
8286
8287         * flow.c (insn_dead_p): When using non-call-exceptions, don't
8288         eliminate insns that may trap.
8289         * cse.c (insn_live_p): Likewise.
8290
8291 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8292
8293         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
8294         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
8295         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
8296         * config/mips/mips.md: Apply same renaming here.
8297
8298 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8299
8300         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
8301         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
8302         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
8303         * config/mips/mips.md (define_attr cpu): Remove r4320.
8304         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
8305
8306 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8307
8308         * config/mips/mips.c (mips16_strings): New variable.
8309         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
8310         symbol in mips16_strings.  Free the list.
8311         (mips_encode_section_info): Keep track of local strings.
8312
8313 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8314
8315         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
8316         (sordered_df, sordered_sf): Remove.
8317         * config/mips/mips.c (get_float_compare_codes): New fn.
8318         (gen_int_relational, gen_conditional_move): Use it.
8319
8320 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8321
8322         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
8323         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
8324         * config/mips/mips.c (fcc_register_operand): New function.
8325         (mips_emit_fcc_reload): New function, extracted from reload_incc.
8326         (override_options): Allow TFmode values in float registers
8327         if ISA_HAS_8CC.
8328         * cnfig/mips/mips.md (reload_incc): Change destination prediate
8329         to fcc_register_operand.  Remove misleading source constraint.
8330         Use mips_emit_fcc_reload.
8331         (reload_outcc): Duplicate reload_incc.
8332
8333 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
8334
8335         * gcc.c (validate_switches): Handle all new forms of spec
8336         syntax introduced recently.  Now returns a char *.
8337         (validate_all_switches): Repetitive logic broken out to...
8338         (validate_switches_from_spec): ...here.
8339         * mklibgcc.in: Don't @-flag commands to generate .oS files.
8340
8341 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
8342
8343         * longlong.h: Partially synchronize with GMP-4.1 version:
8344         Use i370 definitions also for s390.
8345         Add generic definition of umul_ppmm in terms of smul_ppmm.
8346         [s390] (umul_ppmm): Remove.
8347         [s390] (smul_ppmm): Fix incorrect assembler constraints.
8348         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
8349
8350 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
8351
8352         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
8353         Add new RL_REGS register class.
8354         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
8355         Call xtensa_preferred_reload_class for both input and output reloads.
8356         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
8357         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
8358         instead of either AR_REGS or GR_REGS classes.
8359         (xtensa_secondary_reload_class): Use new RL_REGS class.
8360         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
8361
8362 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8363
8364         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
8365         (pa_strip_name_encoding): Strip '@' and '*', in that order.
8366         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
8367         there is a '*' prefix in NAME.
8368
8369 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
8370
8371         * reload.c (push_reload): Handle subregs and secondary memory.
8372         * reload1.c (gen_reload): Likewise.
8373
8374         * jump.c (reg_or_subregno): New function.
8375         * rtl.h (reg_or_subregno): Declare
8376         * unroll.c (find_splittable_givs): Handle subregs.
8377
8378 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
8379
8380         * store-layout.c (finish_record_layout): Add free_p parameter.
8381         (layout_type): Pass it.
8382         * tree.h (finish_record_layout): Update prototype.
8383
8384 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
8385
8386         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
8387
8388         * gcse.c (cprop_jump): Check that the register has not
8389         been modified
8390         (cprop_jump): Likewise.
8391
8392 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
8393
8394         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
8395         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
8396         that we have a SImode access, and only then if reload hasn't completed;
8397         for all other cases, use LO_REGS.
8398
8399 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8400
8401         * openbsd.h: Fix typo in last change.
8402
8403 2002-09-29  Richard Henderson  <rth@redhat.com>
8404
8405         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
8406
8407 2002-09-29  Richard Henderson  <rth@redhat.com>
8408
8409         PR c/8002
8410         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
8411         for CONST_INT.
8412
8413 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
8414
8415         * real.h (ibm_extended_format): Declare.
8416         * real.c (encode_ibm_extended, decode_ibm_extended): New
8417         functions.
8418
8419 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8420
8421         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
8422
8423         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
8424
8425 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8426
8427         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
8428
8429 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
8430
8431         * builtins.def: Fix comment formatting.
8432         * c-common.def: Likewise.
8433         * cfgcleanup.c: Likewise.
8434         * combine.c: Likewise.
8435         * gengtype.c: Likewise.
8436         * params.def: Likewise.
8437         * predict.def: Likewise.
8438         * rtl.def: Likewise.
8439         * stab.def: Likewise.
8440         * stor-layout.c: Likewise.
8441         * tree.def: Likewise.
8442         * config/darwin.c: Likewise.
8443         * config/darwin.h: Likewise.
8444         * config/dbxcoff.h: Likewise.
8445         * config/elfos.h: Likewise.
8446         * config/fp-bit.c: Likewise.
8447         * config/freebsd-spec.h: Likewise.
8448         * config/interix.h: Likewise.
8449         * config/libgloss.h: Likewise.
8450         * config/linux-aout.h: Likewise.
8451         * config/linux.h: Likewise.
8452         * config/lynx-ng.h: Likewise.
8453         * config/lynx.h: Likewise.
8454         * config/netbsd-aout.h: Likewise.
8455         * config/netbsd.h: Likewise.
8456         * config/netware.h: Likewise.
8457         * config/psos.h: Likewise.
8458         * config/ptx4.h: Likewise.
8459
8460 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
8461
8462         * ChangeLog.4: Fix typos.
8463         * ChangeLog.6: Likewise.
8464         * FSFChangeLog.10: Likewise.
8465         * genattrtab.c: Fix comment typos.
8466         * haifa-sched.c: Likewise.
8467         * real.c: Likewise.
8468         * tree.h: Likewise.
8469         * config/arm/arm.c: Likewise.
8470         * config/arm/crti.asm: Likewise.
8471         * config/arm/crtn.asm: Likewise.
8472         * config/frv/frv.c: Likewise.
8473         * config/frv/frv.md: Likewise.
8474         * config/h8300/h8300.md: Likewise.
8475         * config/i386/rtemself.h: Likewise.
8476         * config/ia64/unwind-ia64.c: Likewise.
8477         * config/ip2k/ip2k.h: Likewise.
8478         * config/m88k/m88k.c: Likewise.
8479         * config/m88k/m88k.md: Likewise.
8480         * config/mips/sr71k.md: Likewise.
8481         * config/mmix/mmix.c: Likewise.
8482         * config/rs6000/rs6000.c: Likewise.
8483         * config/sh/sh.md: Likewise.
8484
8485 2002-09-26  Theodore A. Roth  <troth@verinet.com>
8486
8487         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
8488         * config/avr/avr.md: Ditto.
8489
8490 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
8491
8492         PR preprocessor/8055
8493         * cppmacro.c (stringify_arg): Do not overflow the buffer
8494         with the terminating NUL when the argument to be stringified
8495         has no tokens.
8496
8497 2002-09-27  Richard Henderson  <rth@redhat.com>
8498
8499         * unroll.c (simplify_cmp_and_jump_insns): New.
8500         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
8501         instead of expand_simple_foo.
8502
8503 2002-09-27  Richard Henderson  <rth@redhat.com>
8504
8505         PR optimization/7520
8506         * cfganal.c (flow_active_insn_p): New.
8507         (forwarder_block_p): Use it.
8508
8509 2002-09-27  Richard Henderson  <rth@redhat.com>
8510
8511         * emit-rtl.c (active_insn_p): Revert last change.
8512
8513 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
8514
8515         * doc/extend.texi (tls_model): Document.
8516         * varasm.c (decl_tls_model): New.
8517         * c-common.c (handle_tls_model_attribute): New.
8518         (c_common_attribute_table): Add tls_model.
8519         * config/alpha/alpha.c (alpha_encode_section_info): Use
8520         decl_tls_model.
8521         * flags.h (enum tls_model, flag_tls_default): Move...
8522         * tree.h (enum tls_model, flag_tls_default): ...here.
8523         (decl_tls_model): New prototype.
8524         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
8525         * config/i386/i386.c (ix86_encode_section_info): Likewise.
8526         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
8527         Allow !flag_pic.
8528
8529 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8530
8531         * LANGUAGES: Follow spelling conventions.
8532         * rtl.def: Likewise.
8533         * sbitmap.c: Likewise.
8534         * sched-int.h: Likewise.
8535         * sched-rgn.c: Likewise.
8536         * sibcall.c: Likewise.
8537         * simplify-rtx.c: Likewise.
8538         * ssa.c: Likewise.
8539         * stab.def: Likewise.
8540         * stmt.c: Likewise.
8541         * stor-layout.c: Likewise.
8542         * target.h: Likewise.
8543         * timevar.c: Likewise.
8544         * toplev.c: Likewise.
8545         * tree-dump.c: Likewise.
8546         * tree-inline.c: Likewise.
8547         * tree.c: Likewise.
8548         * tree.def: Likewise.
8549         * tree.h: Likewise.
8550         * unroll.c: Likewise.
8551         * varasm.c: Likewise.
8552         * vmsdbgout.c: Likewise.
8553         * treelang/treelang.texi: Likewise.
8554         * treelang/treetree.c: Likewise.
8555
8556 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8557
8558         * config/h8300/h8300.c (compute_saved_regs): Use a macro
8559         instead of a hard register number.
8560         (get_shift_alg): Use an enumerated type instead of numbers.
8561         (h8300_shift_needs_scratch_p): Likewise.
8562
8563 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8564
8565         * varasm.c (force_data_section): Remove.
8566         (assemble_constant_align): Likewise.
8567         * output.h: Remove corresponding prototypes.
8568
8569 2002-09-26  Roger Sayle  <roger@eyesopen.com>
8570
8571         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
8572         jump, if the loop to exit is the top of the current nesting stack.
8573
8574 2002-09-26  Torbjorn Granlund  <tege@swox.com>
8575
8576         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
8577         arithmetic.
8578
8579 2002-09-26  David S. Miller  <davem@redhat.com>
8580
8581         PR optimization/7335
8582         * calls.c (emit_library_call_value_1): Passing args by reference
8583         converts a CONST function into a PURE one.
8584
8585 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8586
8587         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
8588         text_section.
8589         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
8590         text section.
8591         * config/rs6000/rs6000.c (rs6000_override_options): Allow
8592         function-sections and data-sections functionality on AIX.
8593
8594 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8595             Dale Johannesen  <dalej@apple.com>
8596
8597         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
8598         in RTL for sub-word loads from memory.
8599
8600 2002-09-26  Richard Henderson  <rth@redhat.com>
8601
8602         PR c/7160
8603         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
8604         on call insns.
8605
8606 2002-09-26  Richard Henderson  <rth@redhat.com>
8607
8608         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
8609
8610 2002-09-26  Chris Lattner  <sabre@nondot.org>
8611
8612         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
8613         handling undefined values.
8614
8615 2002-09-26  Richard Henderson  <rth@redhat.com>
8616
8617         PR opt/7520
8618         * emit-rtl.c (active_insn_p): Consider a clobber of the
8619         function return value to be active even after reload.
8620
8621 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
8622
8623         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
8624         by absolute loop increment, not loop increment.
8625
8626 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8627
8628         * c-common.h: Follow spelling conventions.
8629         * cpplex.c: Likewise.
8630         * cpplib.h: Likewise.
8631         * gthr-dce.h: Likewise.
8632         * gthr-posix.h: Likewise.
8633         * optabs.c: Likewise.
8634         * output.h: Likewise.
8635         * profile.c: Likewise.
8636         * protoize.c: Likewise.
8637         * ra-rewrite.c: Likewise.
8638         * real.c: Likewise.
8639         * recog.c: Likewise.
8640         * reg-stack.c: Likewise.
8641         * regclass.c: Likewise.
8642         * regmove.c: Likewise.
8643         * reload.c: Likewise.
8644         * reload.h: Likewise.
8645         * reload1.c: Likewise.
8646         * reorg.c: Likewise.
8647         * resource.c: Likewise.
8648         * rtl.h: Likewise.
8649         * rtlanal.c: Likewise.
8650
8651 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8652
8653         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
8654         for symbol address.
8655
8656 2002-09-24  Eric Christopher  <echristo@redhat.com>
8657
8658         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
8659         * config/mips/elf64.h: Ditto.
8660
8661 2002-09-24  Eric Christopher  <echristo@redhat.com>
8662
8663         * except.c (expand_builtin_extract_return_address): Handle case
8664         where Pmode != ptr_mode.
8665
8666 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8667
8668         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
8669
8670 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8671
8672         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
8673
8674 2002-09-26  Igor Shevlyakov <igor@microunity.com>
8675
8676         * combine.c (simplify_set): Don't call to force_to_mode if size
8677         of integer type is larger than HOST_BITS_PER_WIDE_INT.
8678
8679 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
8680
8681         * Makefile.in (qmtest-g++): Fix file path.
8682
8683 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8684
8685         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
8686         A + (-const) on RTX level, even for unsigned types.
8687
8688 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8689
8690         * reload.c (dup_replacements): New function.
8691         (find_reloads): Use it to duplicate replacements at the top level
8692         of match_dup operands.
8693
8694 2002-09-26  Miles Bader  <miles@gnu.org>
8695
8696         * v850.md ("length"): Change default value to 4.
8697
8698 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8699
8700         * ChangeLog.1: Follow spelling conventions.
8701         * ChangeLog.4: Likewise.
8702         * ChangeLog.6: Likewise.
8703         * FSFChangeLog.11: Likewise.
8704         * doc/cpp.texi: Likewise.
8705         * doc/invoke.texi: Likewise.
8706         * doc/tm.texi: Likewise.
8707
8708 2002-09-26  Nick Clifton  <nickc@redhat.com>
8709
8710         * config.gcc: Add x prefix to v850e case for handling
8711         --with-cpu=v850e.
8712
8713 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
8714
8715         * gcc.c (input_suffix_matches, switch_matches,
8716         mark_matching_switches, process_marked_switches,
8717         process_brace_body): New functions - split from handle_braces.
8718         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
8719         and ignore whitespace in more places.
8720         (specs documentation comment): Document %{S:X;T:Y;:D}.
8721         Clarify other %{...} docs.
8722         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
8723         %{...} docs.
8724
8725         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
8726         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
8727
8728 2002-09-25  David S. Miller  <davem@redhat.com>
8729
8730         PR target/7842
8731         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
8732         extend.
8733
8734 2002-09-25  Richard Henderson  <rth@redhat.com>
8735
8736         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
8737         fp CONST_DOUBLE; use real_identical.
8738
8739 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
8740
8741         * doc/invoke.texi: Add more -Wabi examples.
8742
8743 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
8744
8745         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
8746
8747 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
8748
8749         * profile.c (end_branch_prob): Only look for __gcov_init on
8750         weak-enabled native compilers.
8751
8752 2002-09-24  Denis Chertykov  <denisc@overta.ru>
8753
8754         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
8755         cases of optimizing "add sp,w" to "inc sp".
8756
8757 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8758
8759         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
8760         epilogue for naked functions.
8761
8762 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8763             Nick Clifton  <nickc@redhat.com>
8764
8765         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
8766         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
8767         is defined.
8768
8769 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
8770
8771         * config/s390/s390.c (preferred_la_operand_p): New function.
8772         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
8773         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
8774         ("*la_64_cc", "*la_31_cc", splitters): ... these.
8775         ("*la_31"): Deactivate for TARGET_64BIT.
8776         ("*la_31_and", "*la_31_and_cc"): New.
8777
8778 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8779
8780         * real.h (real_value): Make `exp' explicitly signed.
8781
8782 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
8783
8784         * config/elfos.h: Follow spelling conventions.
8785         * config/alpha/alpha.h: Likewise.
8786         * config/arc/arc.h: Likewise.
8787         * config/arm/arm.md: Likewise.
8788         * config/avr/avr.h: Likewise.
8789         * config/cris/cris.md: Likewise.
8790         * config/d30v/d30v.h: Likewise.
8791         * config/frv/frv.c: Likewise.
8792         * config/frv/frv.h: Likewise.
8793         * config/h8300/h8300.c: Likewise.
8794         * config/h8300/h8300.h: Likewise.
8795         * config/h8300/h8300.md: Likewise.
8796         * config/i386/cygwin.h: Likewise.
8797         * config/i386/i386.h: Likewise.
8798         * config/i386/sysv3.h: Likewise.
8799         * config/i960/i960.h: Likewise.
8800         * config/ia64/ia64.h: Likewise.
8801         * config/ia64/ia64.md: Likewise.
8802         * config/ip2k/ip2k.h: Likewise.
8803         * config/m32r/m32r.h: Likewise.
8804         * config/m68k/m68k.h: Likewise.
8805         * config/m88k/m88k.h: Likewise.
8806         * config/mcore/mcore.c: Likewise.
8807         * config/mcore/mcore.h: Likewise.
8808         * config/mcore/mcore.md: Likewise.
8809         * config/mips/mips.h: Likewise.
8810         * config/mmix/mmix.h: Likewise.
8811         * config/mmix/mmix.md: Likewise.
8812         * config/ns32k/netbsd.h: Likewise.
8813         * config/ns32k/ns32k.h: Likewise.
8814         * config/ns32k/ns32k.md: Likewise.
8815         * config/pa/pa.h: Likewise.
8816         * config/romp/romp.h: Likewise.
8817         * config/rs6000/rs6000.h: Likewise.
8818         * config/rs6000/rs6000.md: Likewise.
8819         * config/sparc/sparc.h: Likewise.
8820         * config/stormy16/stormy-abi: Likewise.
8821         * config/stormy16/stormy16.h: Likewise.
8822         * config/vax/vax.h: Likewise.
8823
8824 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8825
8826         * config/alpha/alpha.h: Remove commented-out macro
8827         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
8828         * config/avr/avr.h: Likewise.
8829         * config/d30v/d30v.h: Likewise.
8830         * config/dsp16xx/dsp16xx.h: Likewise.
8831         * config/i370/i370.h: Likewise.
8832         * config/i386/i386.h: Likewise.
8833         * config/i960/i960.h: Likewise.
8834         * config/m68k/m68k.h: Likewise.
8835         * config/m88k/m88k.h: Likewise.
8836         * config/mips/mips.h: Likewise.
8837         * config/ns32k/ns32k.h: Likewise.
8838         * config/pdp11/pdp11.h: Likewise.
8839         * config/romp/romp.h: Likewise.
8840         * config/rs6000/rs6000.h: Likewise.
8841         * config/s390/s390.h: Likewise.
8842         * config/sh/sh.h: Likewise.
8843         * config/sparc/sparc.h: Likewise.
8844         * config/stormy16/stormy16.h: Likewise.
8845         * config/vax/vax.h: Likewise.
8846
8847 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8848
8849         * function.c (push_temp_slots_for_block): Remove.
8850         (push_temp_slots_for_target): Likewise.
8851         (get_target_temp_slot_level): Likewise.
8852         (set_target_temp_slot_level): Likewise.
8853         (get_first_block_beg): Likewise.
8854         * function.h: Remove corresponding prototypes.
8855
8856 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
8857
8858         * version.c (version_string): Now const char[].
8859         * version.h: Update to match.
8860
8861 2002-09-23  Richard Henderson  <rth@redhat.com>
8862
8863         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
8864         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
8865         (TARGET_SWITCHES): Don't reference them.
8866         * config/i386/i386.c (override_options): Use target_flags_explicit
8867         to examine bits set by the user.
8868
8869 2002-09-23  Dale Johannesen  <dalej@apple.com>
8870
8871         * dbxout.c (dbxout_parms):  Set current_sym_code for params
8872         passed on stack by invisible reference.
8873
8874 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
8875
8876         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
8877         at least one byte of space.
8878
8879 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8880
8881         * c-common.h (flag_abi_version): Fix typo in comment.
8882         * doc/invoke.texi (flag_abi_version): Document default value.
8883
8884 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
8885
8886         * doc/extend.texi (Extended Asm): Clarify that overlap between
8887         asm-declared register variables used in an asm and the asm clobber
8888         list is not allowed.
8889         * stmt.c (decl_conflicts_with_clobbers_p): New function.
8890         (expand_asm_operands): Keep track of clobbered registers.  Call
8891         decl_conflicts_with_clobbers_p for each input and output operand.
8892         If no conflicts found before, also do conflict sanity check when
8893         emitting clobbers.
8894
8895 2002-09-23  Richard Henderson  <rth@redhat.com>
8896
8897         * c-common.c (cpp_define_data_format): Remove.
8898         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
8899         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
8900         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
8901         * doc/cpp.texi: Don't document them either.
8902         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
8903         __LONG_LONG_MAX__): Document.
8904         (__TARGET_FLOAT_FORMAT__): Remove.
8905
8906 2002-09-23  Richard Henderson  <rth@redhat.com>
8907
8908         * real.c (do_multiply): Normalize U before addition.
8909
8910 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8911
8912         * c-common.c (flag_abi_version): New variable.
8913         * c-common.h (flag_abi_version): Declare it.
8914         * c-opts.c (missing_arg): Add -fabi-version.
8915         (c_common_decode_option): Process -fabi-version.
8916         * doc/invoke.texi (-fabi-version): Document it.
8917         (-Wabi): Add information about bit-fields in unions.
8918
8919 2002-09-22  Roger Sayle  <roger@eyesopen.com>
8920
8921         * expr.c (STORE_BY_PIECES_P): New target macro.
8922         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
8923         instead of MOVE_BY_PIECES_P.
8924         * doc/tm.texi: Document this new macro.
8925
8926 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8927
8928         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
8929         unless -fno-pic or -fno-PIC is specified.
8930
8931 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8932
8933         * c-common.c (preprocessing_trad_p): Define.
8934         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
8935         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
8936         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8937         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
8938         * pa-linux.h (CPP_PREDEFINES): Delete.
8939         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8940         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
8941         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
8942         (TARGET_OS_CPP_BUILTINS): Define.
8943         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
8944         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
8945         (SUBTARGET_SWITCHES): Provide default definition.
8946         (TARGET_OPTIONS): Reformat.  Use N_() macro.
8947         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
8948         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
8949         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
8950         (TARGET_CPU_CPP_BUILTINS): Define.
8951         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
8952         * doc/invoke.texi (msio, mwsio): Document new hppa options.
8953         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
8954         preprocessing_trad_p().
8955
8956 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8957
8958         * doc/install.texi: Document behavior of --with-headers and
8959         --with-libs when arguments are omitted.
8960
8961 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
8962
8963         * dbxout.c: Follow spelling conventions.
8964         * defaults.h: Likewise.
8965         * df.c: Likewise.
8966         * diagnostic.h: Likewise.
8967         * doloop.c: Likewise.
8968         * dwarf2out.c: Likewise.
8969         * dwarfout.c: Likewise.
8970         * emit-rtl.c: Likewise.
8971         * except.c: Likewise.
8972         * explow.c: Likewise.
8973         * expmed.c: Likewise.
8974         * expr.c: Likewise.
8975         * expr.h: Likewise.
8976         * flags.h: Likewise.
8977         * flow.c: Likewise.
8978         * fold-const.c: Likewise.
8979         * function.c: Likewise.
8980         * function.h: Likewise.
8981         * gcc.c: Likewise.
8982         * gcov-io.h: Likewise.
8983         * gcov.c: Likewise.
8984         * gcse.c: Likewise.
8985         * genattrtab.c: Likewise.
8986         * genconfig.c: Likewise.
8987         * genrecog.c: Likewise.
8988         * ggc-page.c: Likewise.
8989         * ggc.h: Likewise.
8990         * global.c: Likewise.
8991         * gthr-win32.h: Likewise.
8992         * integrate.c: Likewise.
8993         * jump.c: Likewise.
8994         * langhooks.c: Likewise.
8995         * langhooks.h: Likewise.
8996         * line-map.h: Likewise.
8997         * local-alloc.c: Likewise.
8998         * longlong.h: Likewise.
8999         * loop.c: Likewise.
9000         * loop.h: Likewise.
9001
9002 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
9003
9004         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
9005
9006 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
9007
9008         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
9009         for -Os/TARGET_64BIT too.
9010
9011 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
9012
9013         * ChangeLog: Follow spelling conventions.
9014         * ChangeLog.0: Likewise.
9015         * ChangeLog.1: Likewise.
9016         * ChangeLog.2: Likewise.
9017         * ChangeLog.3: Likewise.
9018         * ChangeLog.4: Likewise.
9019         * ChangeLog.5: Likewise.
9020         * ChangeLog.6: Likewise.
9021         * FSFChangeLog.10: Likewise.
9022         * FSFChangeLog.11: Likewise.
9023         * alias.c: Likewise.
9024         * basic-block.h: Likewise.
9025         * c-aux-info.c: Likewise.
9026         * c-common.c: Likewise.
9027         * c-common.h: Likewise.
9028         * c-decl.c: Likewise.
9029         * c-format.c: Likewise.
9030         * c-semantics.c: Likewise.
9031         * c-typeck.c: Likewise.
9032         * calls.c: Likewise.
9033         * cfganal.c: Likewise.
9034         * cfgloop.c: Likewise.
9035         * collect2.c: Likewise.
9036         * combine.c: Likewise.
9037         * conflict.c: Likewise.
9038         * cppexp.c: Likewise.
9039         * cppfiles.c: Likewise.
9040         * cpphash.h: Likewise.
9041         * cppinit.c: Likewise.
9042         * cpplex.c: Likewise.
9043         * cpplib.c: Likewise.
9044         * cpplib.h: Likewise.
9045         * cppmacro.c: Likewise.
9046         * cse.c: Likewise.
9047
9048 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
9049
9050         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
9051         LINK_SPEC.
9052         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
9053         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
9054         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
9055
9056 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
9057
9058         PR opt/7930
9059         * cse.c (fold_rtx): Calculate old_cost before we fold each
9060         operand.
9061
9062 2002-09-21  Richard Henderson  <rth@redhat.com>
9063
9064         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
9065         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
9066         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
9067         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
9068         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
9069         * doc/cpp.texi: Don't document them.
9070
9071 2002-09-21  Richard Henderson  <rth@redhat.com>
9072
9073         * c-common.c (builtin_define_float_constants): Use real_format
9074         to get the floating-point parameters.
9075
9076 2002-09-21  Richard Henderson  <rth@redhat.com>
9077
9078         * real.c (struct real_format): Move to real.h.
9079         (real_format_for_mode): Rename from fmt_for_mode; update all users;
9080         initialize with ieee defaults.
9081         (real_to_target_fmt, real_from_target_fmt): New.
9082         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9083         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9084         ieee_quad_format, i370_single_format, i370_double_format,
9085         c4x_single_format, c4x_extended_format): Rename from s/_format//.
9086         (ieee_quad_format): Fix emin.
9087         (format_for_size, init_real_once): Remove.
9088         * real.h (struct real_format): Move from real.c.
9089         (real_format_for_mode): Declare.
9090         (real_to_target_fmt, real_from_target_fmt): Declare.
9091         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9092         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9093         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
9094         i370_single_format, i370_double_format, c4x_single_format,
9095         c4x_extended_format): Declare.
9096         * toplev.c (do_compile): Don't call init_real_once.
9097
9098         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9099         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9100
9101         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
9102         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
9103         * config/alpha/alpha.c (override_options): Set real_format_for_mode
9104         for VAX, if enabled.
9105
9106         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
9107         for C4X.
9108
9109         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
9110         * config/i370/i370.c (override_options): New.
9111         * config/i370/i370-protos.h: Update.
9112
9113         * config/i386/i386.c (override_options): Set real_format_for_mode
9114         for Intel 80-bit extended.
9115         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9116
9117         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
9118         (OVERRIDE_OPTIONS): Move code...
9119         * config/i960/i960.c (i960_initialize): ... here.  Set
9120         real_format_for_mode for Intel 80-bit extended.
9121
9122         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
9123         for Intel 80-bit extended, if enabled.
9124
9125         * config/m68k/m68k.c (override_options): Set real_format_for_mode
9126         for Motorola 96-bit extended.
9127
9128         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
9129         * config/vax/vax.c (override_options): New.
9130         * config/vax/vax-protos.h: Update.
9131
9132 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
9133
9134         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
9135         #if TARGET_MACHO.
9136
9137         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
9138         insns.  Supply missing clobber of scratch reg.
9139
9140 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
9141
9142         * config/m32r/m32r.c: Follow spelling conventions.
9143         * config/m32r/m32r.h: Likewise.
9144         * config/m32r/m32r.md: Likewise.
9145         * config/m68k/m68k.c: Likewise.
9146         * config/m88k/m88k.c: Likewise.
9147         * config/mcore/mcore.c: Likewise.
9148         * config/mips/mips.c: Likewise.
9149         * config/mips/mips.h: Likewise.
9150         * config/mmix/mmix.c: Likewise.
9151         * config/mn10200/mn10200.c: Likewise.
9152         * config/ns32k/ns32k.h: Likewise.
9153         * config/pa/pa.c: Likewise.
9154         * config/pa/pa64-linux.h: Likewise.
9155         * config/pdp11/pdp11.h: Likewise.
9156         * config/romp/romp.c: Likewise.
9157         * config/romp/romp.h: Likewise.
9158         * config/rs6000/eabi.asm: Likewise.
9159         * config/rs6000/linux64.h: Likewise.
9160         * config/rs6000/rs6000.c: Likewise.
9161         * config/rs6000/rs6000.h: Likewise.
9162         * config/rs6000/rs6000.md: Likewise.
9163         * config/rs6000/sysv4.h: Likewise.
9164         * config/rs6000/xcoff.h: Likewise.
9165
9166 2002-09-20  Jim Wilson  <wilson@redhat.com>
9167
9168         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
9169
9170 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9171
9172         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
9173         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
9174         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
9175         (legitimate_address_p): Likewise.
9176         (legitimize_address): Use @gotntpoff and @indntpoff.
9177         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
9178         (output_addr_const_extra): Likewise.
9179
9180 2002-09-20  Jim Wilson  <wilson@redhat.com>
9181
9182         * combine.c (try_combine): When split an instruction pair, where the
9183         first has a sign_extend src, verify that the src and dest modes match.
9184
9185 2002-09-20  Richard Henderson  <rth@redhat.com>
9186
9187         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
9188         (override_options): Do not initialize them.
9189         (mips_const_double_ok): Allow no fp constants except zero,
9190         and not even that for mips16.
9191         (const_float_1_operand): Use dconst1.
9192         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
9193         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
9194         Don't allow arbitrary constants; fix predicates and C constraint.
9195
9196 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
9197
9198         * cppmacro.c: Don't warn about function-like macros without
9199         '(' during pre-expansion.
9200
9201 2002-09-20  Jim Wilson  <wilson@redhat.com>
9202
9203         * config/v850/v850.c (current_function_anonymous_args): Delete.
9204         (expand_prologue): Use current_function_args_info.anonymous_args.
9205         (expand_epilogue): Delete use of current_function_anonymous_args.
9206         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
9207         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
9208         (current_function_anonymous_args): Delete extern declaration.
9209         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
9210
9211 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
9212
9213         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
9214         to load_macho_picbase.
9215         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
9216         (load_macho_picbase): Take the symbol to use as a parameter.
9217         (macho_correct_pic): New insn.
9218         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
9219
9220         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
9221         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
9222         (CAN_ELIMINATE): Likewise.
9223         (INITIAL_ELIMINATION_OFFSET): Likewise.
9224         (TOC_REGISTER): Likewise.
9225
9226 2002-09-20  Richard Henderson  <rth@redhat.com>
9227
9228         * real.c (real_hash): New.
9229         * real.h: Declare it.
9230         * cse.c (canon_hash): Use it.
9231         * cselib.c (hash_rtx): Likewise.
9232         * emit-rtl.c (const_double_htab_hash): Likewise.
9233         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
9234         * varasm.c (struct rtx_const): Reduce vector size; separate
9235         integer and fp vectors.
9236         (HASHBITS): Remove.
9237         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
9238         take modulus MAX_HASH_TABLE.
9239         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
9240         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
9241         (SYMHASH): Don't use HASHBITS.
9242         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
9243         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
9244         (simplify_subtraction): Fix kind comparison.
9245         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
9246         Use a union to pun integer array.
9247         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
9248         only hash two words of integral CONST_DOUBLE.
9249
9250 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
9251
9252         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
9253         (STARTFILE_PREFIX_SPEC): New.
9254         (LINK_SPEC): Modify.
9255         (LIB_SPEC): Modify.
9256         (LIBGCC_SPEC): New.
9257
9258 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9259
9260         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
9261         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
9262
9263 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
9264
9265         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
9266         Add clobber of the condition code register.
9267
9268 2002-09-20  Richard Henderson  <rth@redhat.com>
9269
9270         * real.c (do_fix_trunc): Static.
9271         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
9272         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
9273         encode_i370_single, encode_i370_double, encode_c4x_single,
9274         encode_c4x_extended): Add default abort case.
9275
9276 2002-09-20  Richard Henderson  <rth@redhat.com>
9277
9278         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
9279         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
9280         (struct realvaluetype): Remove.
9281         (REAL_VALUE_TYPE): Use struct real_value.
9282         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
9283         (test_real_width): New.
9284         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
9285         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
9286         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
9287         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
9288         real_to_integer, real_to_integer2, real_to_decimal,
9289         real_to_hexadecimal, real_from_string, real_from_integer,
9290         real_inf, real_nan, real_2expN, real_convert, real_to_target,
9291         real_from_target): Likewise.
9292         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
9293         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
9294
9295 2002-09-20  Richard Henderson  <rth@redhat.com>
9296
9297         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
9298         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
9299         * defaults.h: ... here.
9300         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
9301         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
9302         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
9303         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
9304
9305 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
9306
9307         * config/mmix/mmix.md ("negdf2"): Rewrite.
9308         ("*expanded_negdf2"): New.
9309
9310 2002-09-19  Jim Wilson  <wilson@redhat.com>
9311
9312         * combine.c (simplify_set): When optimizing a subreg src with a
9313         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
9314
9315 2002-09-19  Dale Johannesen <dalej@apple.com>
9316         * combine.c (make_extraction): Don't create
9317         invalid subreg.
9318
9319 2002-09-19  Roger Sayle  <roger@eyesopen.com>
9320
9321         * tree.c (integer_nonzerop): New predicate for nonzero integers.
9322         * tree.h (integer_nonzerop): Add function prototype.
9323         * stmt.c (expand_end_loop):  Don't rotate the loop when there
9324         are no instructions in the test, i.e. the loop is unconditional.
9325         (expand_exit_loop_if_false):  Optimize RTL generation of loop
9326         tests when the condition is always true or always false.
9327         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
9328         do-loops when the condition is always true.
9329         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
9330         the for-expression is empty.
9331
9332 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
9333
9334         * gcc.c (use_pipes): New flag.
9335         (process_command): Set it.  Adjust check for -pipe conflicting
9336         with -time or -save-temps.
9337         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
9338         %<SWITCH.  Drop %| (without a SUFFIX).
9339         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
9340         (give_switch): Third argument eliminated.
9341         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
9342         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
9343         (specs documentation comment): Update.
9344
9345         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
9346         config/svr4.h, config/i386/freebsd-aout.h,
9347         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
9348         config/m68k/openbsd.h, config/mips/openbsd.h,
9349         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
9350         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
9351         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
9352         * config/cris/cris.h: Update comment.
9353
9354         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
9355         error messages.  Don't use %{^SWITCH}.
9356         * ada/misc.c (gnat_decode_option): Handle -I with a
9357         separate argument.
9358
9359         * f/lang-specs.h: Use %| and %m.
9360         * java/jvspec.c: Use %m and %(invoke_as).  Change all
9361         uses of %{<SWITCH} to %<SWITCH.
9362
9363         * doc/invoke.texi: Update documentation of specs.
9364         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
9365
9366 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
9367
9368         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
9369         and STRICT_LOW_PART within SET_DEST.
9370         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
9371         splitters, replacing pre-reload splitters.
9372         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
9373         "*zero_extendqihi2_31"): New insns.
9374         ("*zero_extendqihi2_64"): Do not clobber CC.
9375
9376 2002-09-18  Devang Patel  <dpatel@apple.com>
9377
9378         * cp/cp-tree.h: New prototype for walk_vtables().
9379         * cp/decl.c (walk_vtables_r): New function.
9380         (struct cp_binding_level): Add new members, namespaces,
9381         names_size and vtables.
9382         (add_decl_to_level): Add decl in namespaces or vtables
9383         chain, if conditions match.
9384         (walk_vtables): New function.
9385         (walk_namespaces_r): Travers separate namespace chain
9386         for namespace decls.
9387         (wrapup_globals_for_namespace): Use names_size instead
9388         of list_length().
9389         * cp/decl2.c (finish_file): Use walk_vtables() instead of
9390         walk_globals() to walk vtable decls.
9391
9392 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
9393
9394         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
9395         (DTORS_SECTION_ASM_OP): Ditto.
9396         (READONLY_DATA_SECTION_ASM_OP): Moved.
9397         (DATA_SECTION_ASM_OP): New.
9398         (SDATA_SECTION_ASM_OP): New.
9399         (BSS_SECTION_ASM_OP): New.
9400         (SBSS_SECTION_ASM_OP): New.
9401         (TEXT_SECTION_ASM_OP): New.
9402
9403 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
9404
9405         * config/fp-bit.c: Follow spelling conventions.
9406         * config/d30v/d30v.c: Likewise.
9407         * config/d30v/d30v.h: Likewise.
9408         * config/fr30/fr30.c: Likewise.
9409         * config/fr30/fr30.h: Likewise.
9410         * config/fr30/fr30.md: Likewise.
9411         * config/frv/frv.c: Likewise.
9412         * config/frv/frv.h: Likewise.
9413         * config/h8300/h8300.c: Likewise.
9414         * config/h8300/lib1funcs.asm: Likewise.
9415         * config/i370/i370.c: Likewise.
9416         * config/i386/i386.h: Likewise.
9417         * config/i386/i386.md: Likewise.
9418         * config/i386/pentium.md: Likewise.
9419         * config/i386/winnt.c: Likewise.
9420         * config/i960/i960.c: Likewise.
9421         * config/ia64/ia64.h: Likewise.
9422         * config/ip2k/ip2k.c: Likewise.
9423         * config/ip2k/ip2k.h: Likewise.
9424         * config/ip2k/ip2k.md: Likewise.
9425         * config/ip2k/libgcc.S: Likewise.
9426
9427 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
9428
9429         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
9430         (GOTOFF_P): Extend to allow gotoff plus constant.
9431
9432 2002-09-18  Richard Henderson  <rth@redhat.com>
9433
9434         * ifcvt.c (noce_process_if_block): Correctly detect X modified
9435         with INSN_B before COND_EARLIEST.  Don't check A and B for
9436         modification in condition range.  Reorder INSN_B for A==B properly.
9437         (if_convert): Iterate until no matches for a block.
9438
9439 2002-09-18  Richard Henderson  <rth@redhat.com>
9440
9441         * calls.c (store_one_arg): Rename default_align to parm_align;
9442         always adjust parm_align for downward padding.
9443
9444 2002-09-18  Richard Henderson  <rth@redhat.com>
9445
9446         * toplev.c (backend_init): Move init_real_once invocation ...
9447         (do_compile): ... here.
9448
9449 2002-09-18  Richard Henderson  <rth@redhat.com>
9450
9451         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
9452         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
9453
9454 2002-09-18  Richard Henderson  <rth@redhat.com>
9455
9456         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
9457
9458 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
9459
9460         * config/rs6000/rs6000.md: (floatdisf2): Rename to
9461         floatdisf2_internal1.
9462         (floatdisf2): New define_expand.
9463         (floatdisf2_internal2): Likewise.
9464
9465 2002-09-18  Richard Henderson  <rth@redhat.com>
9466
9467         * real.c (sticky_rshift_significand): Collect sticky as
9468         unsigned long, not bool.
9469
9470 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
9471
9472         * config/s390/s390.c (s390_address_cost): New function.
9473         config/s390/s390-protos.h (s390_address_cost): Add prototype.
9474         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
9475         (RTX_COST): Use COSTS_N_INSNS.
9476
9477 2002-09-18  Douglas Rupp  <rupp@gnat.com>
9478             Donn Terry  <donnte@microsoft.com>
9479
9480         * stor-layout.c (place_field): Handle alignment of whole
9481         structures when MSVC compatible bitfields are involved.
9482         Change method of computing location of MS bitfields to
9483         be compatible with #pragma pack(n).
9484
9485         * tree.h (record_layout_info): Add new field
9486         remaining_in_alignment.
9487
9488         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
9489         (pragma pack): Add paragraph on MSVC bitfield packing.
9490
9491 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
9492
9493         PR optimization/7967
9494         * arm.md (ne_zeroextractsi): Add clobber of the condition code
9495         register.
9496
9497 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
9498
9499         * config/s390/s390.c: Follow spelling conventions.
9500         * config/sh/lib1funcs.asm: Likewise.
9501         * config/sh/sh.c: Likewise.
9502         * config/sh/sh.h: Likewise.
9503         * config/sparc/sparc.c: Likewise.
9504         * config/sparc/sparc.h: Likewise.
9505         * config/sparc/sparc.md: Likewise.
9506         * config/stormy16/stormy16.c: Likewise.
9507         * config/stormy16/stormy16.h: Likewise.
9508         * config/v850/v850.c: Likewise.
9509         * config/v850/v850.h: Likewise.
9510         * config/vax/vax.c: Likewise.
9511         * config/vax/vax.h: Likewise.
9512
9513 2002-09-18  Nick Clifton  <nickc@redhat.com>
9514
9515         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
9516         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
9517         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
9518
9519 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9520
9521         * function.c (max_parm_reg_num): Remove.
9522         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
9523         drop_through_at_end_p, move_cleanups_up,
9524         expand_end_case_dummy, case_index_expr_type): Likewise.
9525         * stor-layout.c (pos_from_byte): Likewise.
9526         * tree.c (chain_member_value, chain_member_purpose, listify,
9527         tree_int_cst_msb, index_type_equal): Likewise.
9528         * tree.h: Remove prototypes for unused functions.
9529
9530 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
9531
9532         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
9533         statement that the only translation is to en_UK.
9534
9535 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9536
9537         * config/alpha/alpha.c: Follow spelling conventions.
9538         * config/alpha/alpha.h: Likewise.
9539         * config/alpha/alpha.md: Likewise.
9540         * config/arc/arc.h: Likewise.
9541         * config/arm/arm.c: Likewise.
9542         * config/arm/arm.h: Likewise.
9543         * config/arm/arm.md: Likewise.
9544         * config/arm/pe.c: Likewise.
9545         * config/arm/unknown-elf.h: Likewise.
9546         * config/avr/avr.c: Likewise.
9547         * config/avr/avr.h: Likewise.
9548         * config/c4x/c4x.c: Likewise.
9549         * config/cris/cris.c: Likewise.
9550         * config/cris/cris.h: Likewise.
9551
9552 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
9553
9554         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
9555         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
9556         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
9557
9558 2002-09-17  Dale Johannesen  <dalej@apple.com>
9559
9560         * cfgcleanup.c (try_forward_edges):  Do not forward a
9561         branch to just after a loop exit before loop optimization;
9562         this interfered with doloop detection.
9563
9564 2002-09-17  Nick Clifton  <nickc@redhat.com>
9565
9566         * config/arm/arm.c (output_return_instruction): Do not
9567         writeback the stack pointer when it is being loaded.
9568         (arm_output_epilogue): Likewise.
9569
9570 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9571
9572         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
9573         generate a pseudo reg that receives the result of a libcall.
9574         (prepare_float_lib_cmp): Likewise.
9575
9576 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
9577
9578         * config/ia64/elf.h: Remove CPP_PREDEFINES.
9579
9580 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9581
9582         Fix PR/7014 and related objc bugs:
9583         * c-typeck.c (comp_target_types): Added a reflexive argument.
9584         Pass it to ObjC when/if calling objc_comptypes().  Updated all
9585         callers to provide the appropriate reflexive argument.
9586         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
9587         typechecking for all cases of comparisons and assignments,
9588         particularly the obscure and less common ones involving protocols.
9589
9590 2002-09-17  Nick Clifton  <nickc@redhat.com>
9591
9592         * machmode.def (V1DImode): New mode.  A single element vector.
9593         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
9594         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
9595         * tree.c (build_common_tree_nodes_2): Build
9596         unsigned_V1DI_type_node and V1D1_type_node.
9597         * c-common.c (c_common_type_for_mode): Return
9598         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
9599         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
9600
9601 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9602
9603         * doc/objc.texi (Constant string objects): Extended documentation
9604         to make clear that the constant string class ivar layout is
9605         completely fixed.
9606
9607 2002-09-17  Roger Sayle  <roger@eyesopen.com>
9608
9609         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
9610         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
9611
9612 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9613
9614         * config/mips/mips.c (save_restore_insns): Remove unused variable.
9615         * gcc.c (make_relative_prefix): Likewise.
9616         * loop.c (check_final_value): Likewise.
9617         * jump.c (init_label_info): Remove return value.
9618         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
9619
9620 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9621
9622         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
9623         (ASM_PN_FORMAT): Define.
9624
9625 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9626
9627         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
9628         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
9629         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
9630         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
9631         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
9632         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
9633         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
9634         Delete.
9635         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
9636         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
9637         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
9638
9639         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
9640         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
9641
9642 2002-09-16  Richard Henderson  <rth@redhat.com>
9643
9644         * expr.c (emit_block_move): Set memory block size as appropriate
9645         for the copy.
9646
9647 2002-09-16  Richard Henderson  <rth@redhat.com>
9648
9649         PR fortran/3924
9650         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
9651
9652 2002-09-16  Richard Henderson  <rth@redhat.com>
9653
9654         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
9655         as well as OFFSET for BITPOS.
9656
9657 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
9658
9659         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
9660         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
9661         winchip2 and c3.
9662         * doc/invoke.texi: Mention new aliases.
9663
9664 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9665
9666         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
9667         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
9668         downward.
9669         * function.c (pad_below):  Always compile.
9670         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
9671         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
9672         Pad below when the argument is not in a register and the padding
9673         direction is downward.
9674
9675         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
9676         (PAD_VARARGS_DOWN): Define.
9677         * pa.c (function_arg_padding): Revise padding directions to make them
9678         compatible with the 32 and 64-bit runtime architecture documentation.
9679         (hppa_va_arg):  Add code to handle variable and size zero arguments
9680         passed by reference on TARGET_64BIT.  Reformat.
9681         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
9682         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
9683         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
9684         Add comments.
9685         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
9686         (RETURN_IN_MEMORY): Return size zero types in memory.
9687         (FUNCTION_VALUE): Return TFmode in general registers.
9688         (MUST_PASS_IN_STACK): Define.
9689         (FUNCTION_ARG_BOUNDARY): Simplify.
9690         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
9691         by reference.
9692         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
9693
9694 2002-09-16  Richard Henderson  <rth@redhat.com>
9695
9696         * real.c (do_fix_trunc): New.
9697         (real_arithmetic): Call it.
9698         * simplify-rtx.c (simplify_unary_operation): Handle FIX
9699         with a floating-point result mode.
9700
9701 2002-09-16  Richard Henderson  <rth@redhat.com>
9702
9703         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
9704         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
9705         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
9706         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
9707         * builtins.c (fold_builtin_nan): New.
9708         (fold_builtin): Call it.
9709         * real.c (real_nan): Parse a non-empty string.
9710         (round_for_format): Fix NaN significand truncation.
9711         * real.h (real_nan): Return bool.
9712         * doc/extend.texi: Document new builtins.
9713
9714 2002-09-16  Jason Merrill  <jason@redhat.com>
9715             Danny Smith  <dannysmith@users.sourceforge.net>
9716
9717         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
9718         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
9719         (i386_pe_mark_dllimport): Not here.
9720
9721 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
9722
9723         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
9724
9725 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
9726
9727         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
9728         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
9729         < 64.
9730         (rs6000_emit_cmove): Use real_isinf not target_isinf.
9731
9732 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9733
9734         * calls.c (emit_library_call_value_1): Don't refer to
9735         hard_libcall_value.
9736         * optabs.c (prepare_float_lib_cmp): Likewise.
9737
9738 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
9739
9740         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
9741         mangling.
9742
9743         The following changes are merged from pch-branch:
9744
9745         * doc/gty.texi (GTY Options): Document %a.
9746         * gengtype.c (do_scalar_typedef): New function.
9747         (process_gc_options): Handle `length' option.
9748         (set_gc_used_type): A pointer to an array of structures doesn't
9749         qualify as a pointer to a structure.
9750         (output_escaped_param): Add `%a' escape.
9751         (write_gc_structure_fields): Allow 'desc' on array of unions.
9752         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
9753         do_scalar_typedef.
9754
9755         * gengtype.c (enum rtx_code): Make global.
9756         (rtx_format): Make global.
9757         (rtx_next): New.
9758         (gen_rtx_next): New.
9759         (write_rtx_next): New.
9760         (adjust_field_rtx_def): Skip fields marked by chain_next.
9761         (open_base_files): Delete redundant prototype.
9762         (write_enum_defn): New.
9763         (output_mangled_typename): Correct abort call.
9764         (write_gc_marker_routine_for_structure): Handle chain_next and
9765         chain_prev options.
9766         (finish_root_table): Don't output redundant \n.
9767         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
9768         * c-tree.h (union lang_tree_node): Add chain_next option.
9769
9770         * gengtype.h (NUM_PARAM): New definition.
9771         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
9772         * gengtype.c (find_param_structure): New.
9773         (adjust_field_type): Handle param<n>_is option.
9774         (process_gc_options): Detect use_params option.  Update callers.
9775         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
9776         'use_params' option.
9777         (open_base_files): Add splay-tree.h to list of files included.
9778         (output_mangled_typename): New.
9779         (write_gc_structure_fields): Update 'param' parameter to support
9780         multiple parameters.  Change name mangling.  Allow parameterized
9781         fields to have an apparent scalar type.  Handle param<n>_is options,
9782         use_param option.
9783         (write_gc_marker_routine_for_structure): Update for change to name
9784         mangling.  Better guess the output file for parameterized types.
9785         (write_gc_types): Update for change to name mangling.
9786         (write_gc_root): Update for change to name mangling.  Handle (ignore)
9787         param<n>_is options.
9788         * doc/gty.texi (GTY Options): Add description of param<n>_is
9789         options, use_params option.
9790         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
9791         * gengtype-lex.l: Produce token for param<n>_is.
9792         * gengtype-yacc.y: Parse param<n>_is.
9793
9794         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
9795
9796         * rtl.c: Update comment describing rtx_format.
9797         * rtl.h (union rtunion): Separate definition and typedef.
9798         (struct rtx_def): Use gengtype to mark.
9799         * Makefile.in (gengtype.o): Also depend on rtl.def.
9800         * ggc.h (ggc_mark_rtx_children): Delete prototype.
9801         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
9802         * ggc-common.c (ggc_mark_rtx_children): Delete.
9803         (ggc_mark_rtx_children_1): Delete.
9804         (gt_ggc_m_rtx_def): Delete.
9805         * gengtype.c (adjust_field_rtx_def): New.
9806         (adjust_field_type): Call adjust_field_rtx_def.
9807         (write_gc_structure_fields): Add 'default' case to switch if none
9808         is specified; remove unused code.
9809
9810         * tree.h (struct tree_exp): Update for change to meaning
9811         of special.
9812         * gengtype.c (adjust_field_tree_exp): New function.
9813         (adjust_field_type): Handle `tree_exp' special here.
9814         (write_gc_structure_fields): Don't handle `tree_exp' special here.
9815         Handle new `dot' option.
9816
9817         * gengtype.h: Make `info' a pointer-to-const.
9818         * gengtype-yacc.y (yacc_ids): Use xasprintf.
9819
9820         * gengtype.c (write_gc_structure_fields): Remove implementation
9821         of `always' option, add `default' option.
9822         * doc/gty.texi (GTY Options): Remove documentation of `always',
9823         add `default'.
9824
9825 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
9826
9827         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
9828
9829 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9830
9831         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
9832
9833         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
9834         instead of the *-protos.h file directly.
9835         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
9836         * darwin.c (machopic_output_stub): Move prototype ...
9837         * darwin-protos.h (machopic_output_stub): ... here.
9838         * rs6000-protos.h (machopic_output_stub): Don't declare.
9839
9840 2002-09-16  Richard Henderson  <rth@redhat.com>
9841
9842         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
9843
9844 2002-09-16  Richard Henderson  <rth@redhat.com>
9845
9846         * real.c, real.h: Rewrite from scratch.
9847
9848         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
9849         (paranoia): New target.
9850         * builtins.c (fold_builtin_inf): Use new real.h interface.
9851         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
9852         * c-lex.c (interpret_float): Likewise.
9853         * emit-rtl.c (gen_lowpart_common): Likewise.
9854         * optabs.c (expand_float): Use real_2expN.
9855         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
9856         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
9857         (FLOAT_WORDS_BIG_ENDIAN): New.
9858         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
9859         directly to REAL_VALUE_NEGATIVE.
9860         * loop.c (canonicalize_condition): Likewise.
9861         * simplify-rtx.c: Include tree.h.
9862         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
9863         with floating-point result modes.
9864         * toplev.c (backend_init): Call init_real_once.
9865
9866         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
9867         * tree.c (build_real): Likewise.
9868         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
9869         float_values, inited_float_values, check_float_value): Remove.
9870         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
9871         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
9872         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
9873         (VAX_HALFWORD_ORDER): Remove.
9874
9875 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
9876
9877         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
9878         (s390_load_address): ... this new function.
9879         (s390_decompose_address): Allow the argument pointer and all
9880         virtual registers as 'pointer' registers.
9881         (s390_expand_plus_operand): Use s390_load_address.
9882         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
9883         ("force_la_31"): New insn pattern.
9884         config/s390/s390-protos.h (legitimize_la_operand): Remove.
9885         (s390_load_address): Add prototype.
9886
9887         * config/s390/s390.c: Include "optabs.h".
9888         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
9889         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
9890         s390_expand_cmpstr): Add prototypes.
9891         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
9892         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
9893         for operands 0 and 1 to "memory_operand".  Add type attribute.
9894         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
9895         for operands 0 and 1 to "memory_operand".  Add type attribute.
9896         ("movstrdi_long", "movstrsi_long"): Remove.
9897         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
9898         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
9899         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
9900         ("clrstrsico"): Remove, replace by ...
9901         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
9902         ("clrstrsi_64"): Rename to "clrstr_long_64".
9903         ("clrstrsi_31"): Rename to "clrstr_long_31".
9904         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
9905         ("cmpstr_const"): Remove, replace by ...
9906         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
9907         ("cmpstr_64"): Rename to "cmpstr_long_64".
9908         ("cmpstr_31"): Rename to "cmpstr_long_31".
9909
9910 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9911
9912         * ABOUT-NLS: Follow spelling conventions.
9913         * ChangeLog: Likewise.
9914         * ChangeLog.1: Likewise.
9915         * ChangeLog.2: Likewise.
9916         * ChangeLog.3: Likewise.
9917         * ChangeLog.4: Likewise.
9918         * ChangeLog.5: Likewise.
9919         * ChangeLog.6: Likewise.
9920         * FSFChangeLog.10: Likewise.
9921         * FSFChangeLog.11: Likewise.
9922         * c-common.c: Likewise.
9923         * c-lex.c: Likewise.
9924         * c-objc-common.c: Likewise.
9925         * cppexp.c: Likewise.
9926         * cppinit.c: Likewise.
9927         * cpplex.c: Likewise.
9928         * doloop.c: Likewise.
9929         * flow.c: Likewise.
9930         * function.c: Likewise.
9931         * integrate.c: Likewise.
9932         * loop.c: Likewise.
9933         * reg-stack.c: Likewise.
9934         * reload.h: Likewise.
9935         * ssa.c: Likewise.
9936
9937 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9938
9939         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
9940         * vmsdbgout.c: Include "target.h".
9941
9942 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9943
9944         * ChangeLog: Follow spelling conventions.
9945         * ChangeLog.0: Likewise.
9946         * ChangeLog.1: Likewise.
9947         * ChangeLog.2: Likewise.
9948         * ChangeLog.4: Likewise.
9949         * ChangeLog.6: Likewise.
9950         * config.gcc: Likewise.
9951         * dwarfout.c: Likewise.
9952         * reload1.c: Likewise.
9953         * simplify-rtx.c: Likewise.
9954         * unwind-sjlj.c: Likewise.
9955         * config/avr/avr.h: Likewise.
9956         * config/d30v/d30v.h: Likewise.
9957         * config/frv/frv.c: Likewise.
9958         * config/frv/frv.h: Likewise.
9959         * config/ip2k/ip2k.h: Likewise.
9960         * config/m88k/m88k-move.sh: Likewise.
9961         * config/stormy16/stormy16.c: Likewise.
9962         * config/stormy16/stormy16.h: Likewise.
9963         * doc/extend.texi: Likewise.
9964         * doc/interface.texi: Likewise.
9965         * doc/invoke.texi: Likewise.
9966         * doc/md.texi: Likewise.
9967         * doc/rtl.texi: Likewise.
9968         * doc/tm.texi: Likewise.
9969         * doc/trouble.texi: Likewise.
9970         * ginclude/float.h: Likewise.
9971         * treelang/treelang.texi: Likewise.
9972
9973 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9974
9975         * i386-protos.h (i386_pe_dllexport_name_p,
9976         i386_pe_dllimport_name_p, i386_pe_unique_section,
9977         i386_pe_declare_function_type, i386_pe_record_external_function,
9978         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
9979         prototype.
9980         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
9981         * i386/t-interix (winnt.o): Likewise.
9982
9983         * v850-protos.h (v850_output_addr_const_extra): Prototype.
9984
9985 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9986
9987         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
9988         MIPS ABI CPP macros.
9989         (TARGET_CPU_CPP_BUILTINS): Redefine.
9990         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
9991         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
9992
9993 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9994
9995         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
9996
9997 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9998
9999         * ChangeLog: Follow spelling conventions.
10000         * ChangeLog.0: Likewise.
10001         * ChangeLog.1: Likewise.
10002         * ChangeLog.2: Likewise.
10003         * ChangeLog.3: Likewise.
10004         * ChangeLog.4: Likewise.
10005         * ChangeLog.5: Likewise.
10006         * ChangeLog.6: Likewise.
10007         * FSFChangeLog.10: Likewise.
10008         * FSFChangeLog.11: Likewise.
10009         * c-common.c: Likewise.
10010         * c-common.h: Likewise.
10011         * c-format.c: Likewise.
10012         * c-opts.c: Likewise.
10013         * cpplib.c: Likewise.
10014         * langhooks.h: Likewise.
10015         * real.c: Likewise.
10016         * reg-stack.c: Likewise.
10017         * toplev.c: Likewise.
10018         * config/arm/arm.c: Likewise.
10019         * config/arm/arm.md: Likewise.
10020         * config/arm/linux-gas.h: Likewise.
10021         * config/arm/netbsd.h: Likewise.
10022         * config/c4x/c4x.c: Likewise.
10023         * config/c4x/c4x.h: Likewise.
10024         * config/c4x/c4x.md: Likewise.
10025         * config/c4x/libgcc.S: Likewise.
10026         * config/fr30/fr30.md: Likewise.
10027         * config/frv/frv.md: Likewise.
10028         * config/ia64/ia64.md: Likewise.
10029         * config/mips/mips.h: Likewise.
10030         * config/mn10300/mn10300.c: Likewise.
10031         * config/stormy16/stormy16.c: Likewise.
10032         * config/v850/v850.md: Likewise.
10033         * doc/extend.texi: Likewise.
10034         * doc/invoke.texi: Likewise.
10035         * doc/md.texi: Likewise.
10036
10037 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10038
10039         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
10040         library if -pthread is specified.
10041
10042 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10043
10044         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
10045         for --enable-threads=yes and --enable-threads=posix.
10046
10047 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10048
10049         * config/sparc/cypress.md: Replace Sparc with SPARC.
10050         * config/sparc/freebsd.h: Likewise.
10051         * config/sparc/gmon-sol2.c: Likewise.
10052         * config/sparc/hypersparc.md: Likewise.
10053         * config/sparc/lb1spc.asm: Likewise.
10054         * config/sparc/lb1spl.asm: Likewise.
10055         * config/sparc/linux.h: Likewise.
10056         * config/sparc/linux64.h: Likewise.
10057         * config/sparc/lynx.h: Likewise.
10058         * config/sparc/sol2.h: Likewise.
10059         * config/sparc/sparc-modes.def: Likewise.
10060         * config/sparc/sparc.c: Likewise.
10061         * config/sparc/sparc.h: Likewise.
10062         * config/sparc/sparc.md: Likewise.
10063         * config/sparc/sparclet.md: Likewise.
10064         * config/sparc/supersparc.md: Likewise.
10065         * config/sparc/sysv4.h: Likewise.
10066         * config/sparc/vxsim.h: Likewise.
10067         * config/sparc/vxsparc64.h: Likewise.
10068
10069 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10070
10071         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
10072         * collect2.c (ignore_library, aix_std_libs): Move into the context
10073         where it is used.
10074         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
10075         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
10076         * m88k.c (output_call): Wrap variables with macro controlling use.
10077         * rs6000.md: Likewise.  Const-ify variable.
10078         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
10079         * final.c (only_leaf_regs_used): Likewise.
10080         * regrename.c (maybe_mode_change): Mark parameter with
10081         ATTRIBUTE_UNUSED.
10082         * reload.c (find_valid_class): Likewise.  Likewise for variable.
10083         (find_reloads_address_1): Likewise.
10084         * varasm.c (weak_finish): Wrap variable with macro controlling use.
10085
10086 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
10087
10088         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
10089
10090 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10091
10092         * ChangeLog: Follow spelling conventions.
10093         * ChangeLog.0: Likewise.
10094         * ChangeLog.2: Likewise.
10095         * ChangeLog.3: Likewise.
10096         * ChangeLog.4: Likewise.
10097         * ChangeLog.5: Likewise.
10098         * ChangeLog.6: Likewise.
10099         * cppfiles.c: Likewise.
10100         * cppinit.c: Likewise.
10101         * cpplib.h: Likewise.
10102         * cse.c: Likewise.
10103         * debug.h: Likewise.
10104         * df.c: Likewise.
10105         * dominance.c: Likewise.
10106         * hashtable.c: Likewise.
10107         * hashtable.h: Likewise.
10108         * loop.c: Likewise.
10109         * config/arm/README-interworking: Likewise.
10110         * config/arm/arm.c: Likewise.
10111         * config/arm/arm.h: Likewise.
10112         * config/arm/arm.md: Likewise.
10113         * config/dsp16xx/dsp16xx.h: Likewise.
10114         * config/frv/frv.c: Likewise.
10115         * config/frv/frv.h: Likewise.
10116         * config/ip2k/ip2k.h: Likewise.
10117         * config/rs6000/rs6000.c: Likewise.
10118         * config/stormy16/stormy-abi: Likewise.
10119         * config/stormy16/stormy16.h: Likewise.
10120         * config/v850/v850.c: Likewise.
10121
10122 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10123
10124         * loop.c: Fix a comment typo.
10125
10126 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10127
10128         * config/fr30/fr30.h: Fix comment typos.
10129         * config/frv/frv.c: Likewise.
10130         * config/i386/xmmintrin.h: Likewise.
10131         * config/mips/mips.c: Likewise.
10132         * config/sh/sh.c: Likewise.
10133
10134 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10135
10136         * haifa-sched.c: Follow spelling conventions.
10137         * regclass.c: Likewise.
10138         * regrename.c: Likewise.
10139         * config/fp-bit.c: Likewise.
10140         * config/frv/frv.h: Likewise.
10141         * config/m88k/m88k.c: Likewise.
10142         * config/mcore/mcore.c: Likewise.
10143         * config/rs6000/darwin.h: Likewise.
10144         * config/rs6000/gnu.h: Likewise.
10145         * config/rs6000/linux.h: Likewise.
10146         * config/rs6000/linux64.h: Likewise.
10147         * config/rs6000/rs6000.c: Likewise.
10148         * config/rs6000/rs6000.h: Likewise.
10149         * config/sh/sh.c: Likewise.
10150         * config/sparc/sparc.c: Likewise.
10151         * config/sparc/ultra1_2.md: Likewise.
10152
10153 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
10154
10155         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
10156         memory operand when source is 0 (K constraint).
10157         ("movsi_internal"): Likewise.
10158         ("movdf_internal"): Likewise.
10159         ("movsf_internal"): Likewise.
10160
10161 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10162
10163         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
10164         targetm.binds_local_p to set SYMBOL_REF_FLAG.
10165         (rs6000_xcoff_encode_section_info): Likewise.
10166         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10167
10168 2002-09-10  Theodore A. Roth  <troth@verinet.com>
10169
10170         * gcc/config/avr/avr.h: Set default options for C++ for avr.
10171
10172 2002-09-13  Roger Sayle  <roger@eyesopen.com>
10173
10174         * stmt.c (struct nexting): Remove unused alt_end_label field.
10175         (expand_start_loop): Delete initialization of alt_end_label.
10176         (expand_start_null_loop): Likewise.
10177         (expand_exit_loop_if_false): Delete updating of alt_end_label.
10178
10179 2002-09-13  Richard Henderson  <rth@redhat.com>
10180
10181         * Makefile.in (toplev.o): Depend on real.h.
10182         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
10183
10184 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10185
10186         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
10187         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
10188         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
10189
10190 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
10191
10192         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
10193
10194 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10195
10196         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
10197         ia64*-*-linux*): Set extra_parts.
10198         * config/ia64/t-aix (EXTRA_PARTS): Remove.
10199         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
10200
10201 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10202
10203         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
10204         * config/h8300/h8300.c: Likewise.
10205         * config/h8300/h8300.h: Likewise.
10206         * config/h8300/h8300.md: Likewise.
10207         * doc/invoke.texi: Likewise.
10208
10209 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10210
10211         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
10212
10213 2002-09-13  Richard Henderson  <rth@redhat.com>
10214
10215         * config/alpha/alpha.md (attr type): Add callpal.
10216         (imb, trap, load_tp, set_tp): Use it.
10217         * config/alpha/ev4.md (ev4_callpal): New.
10218         * config/alpha/ev5.md (ev5_callpal): New.
10219         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
10220         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
10221         (alphaev5_insn_pipe): Likewise.
10222
10223 2002-09-13  Andreas Jaeger  <aj@suse.de>
10224
10225         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
10226
10227 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10228
10229         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
10230         LIB2ADDEH): New, set to NULL.
10231         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
10232
10233 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10234
10235         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
10236         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
10237         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
10238         Add declarations.
10239         (_U_Qfneg): Remove.
10240
10241 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
10242
10243         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
10244         for H8/300, H8S aa:8 mode.
10245         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
10246         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
10247         for H8/300 aa:8 mode.
10248
10249 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
10250
10251         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
10252         insns.
10253
10254 2002-09-12  Richard Henderson  <rth@redhat.com>
10255
10256         * Makefile.in (HOST_PRINT): Use print-rtl1.o
10257         (print-rtl.o): Don't define GENERATOR_FILE.
10258         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
10259         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
10260         unless GENERATOR_FILE.
10261
10262 2002-09-12  Stan Shebs  <shebs@apple.com>
10263
10264         * config/darwin.h (USER_LABEL_PREFIX): Define here...
10265         * config/i386/darwin.h: ... instead of here.
10266
10267         * target.h (struct gcc_target): New field
10268         terminate_dw2_eh_frame_info.
10269         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10270         (TARGET_INITIALIZER): Add it.
10271         * dwarf2out.c (output_call_frame_info): Use target hook.
10272         * dwarf2asm.c (dw2_asm_output_delta): Use macro
10273         ASM_OUTPUT_DWARF_DELTA if defined.
10274         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
10275         (ASM_OUTPUT_DWARF_DELTA): Ditto.
10276         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
10277         (ASM_OUTPUT_DWARF_PCREL): Ditto.
10278         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
10279         (powerpc-*-darwin*): Ditto.
10280         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
10281         to work correctly for Darwin.
10282         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
10283         (STARTFILE_SPEC): Add crtbegin.o.
10284         (ENDFILE_SPEC): Define.
10285         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
10286         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
10287         (ASM_OUTPUT_DWARF_DELTA): Define.
10288         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10289         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
10290
10291 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
10292
10293         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
10294         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
10295         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
10296
10297 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
10298
10299         * toplev.c: Move default definition of USER_LABEL_PREFIX...
10300         * defaults.h: ... here.
10301
10302 2002-09-12  Richard Henderson  <rth@redhat.com>
10303
10304         * vax.c: Include tree.h earlier.
10305
10306 2002-09-12  Stan Shebs  <shebs@apple.com>
10307
10308         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
10309         (machopic_operand_p): Ditto.
10310
10311 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10312
10313         * config/arm/arm.c (arm_compute_initial_elimination_offset):
10314         Fix a comment typo.
10315
10316 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10317
10318         * toplev.c (do_abort): Fix a comment typo.
10319
10320 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10321
10322         * cselib.c: Fix comment formatting.
10323         * gengtype.c: Likewise.
10324
10325 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10326
10327         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
10328         (udivmodhi4): Likewise.
10329
10330 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
10331             Roger Sayle  <roger@eyesopen.com>
10332
10333         * i386.c (any_fp_register_operand, fp_register_operand,
10334         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
10335         New predicate functions.
10336         * i386-protos.h:  Add their prototypes.
10337         * i386.h: Add them to PREDICATE_CODES.
10338         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
10339         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
10340         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
10341         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
10342         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
10343         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
10344         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
10345         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
10346         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
10347         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
10348         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
10349         Use these new predicates to simplify and correct the use of
10350         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
10351
10352 2002-09-12  Jason Merrill  <jason@redhat.com>
10353
10354         * diagnostic.c (output_add_identifier): New fn.
10355         * diagnostic.h: Declare it.
10356
10357         * calls.c (store_one_arg): Use size_in_bytes to determine the
10358         amount of space to push.
10359
10360 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
10361
10362         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
10363
10364 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
10365
10366         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
10367         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
10368         (s390_select_ccmode): Likewise.
10369         (s390_branch_condition_mask): Likewise.
10370         (optimization_options): Do not set flag_branch_on_count.
10371         (s390_split_branches): Handle doloop branches.
10372         (s390_chunkify_pool): Likewise.
10373         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
10374         ("doloop_end"): New expander.
10375         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
10376         associated splitters): New.
10377
10378 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10379
10380         * genattrtab.c (simplify_cond): Remove unused variable(s).
10381         * global.c (record_conflicts): Likewise.
10382         * jump.c (rebuild_jump_labels): Likewise.
10383         * loop.c (scan_loop, check_final_value): Likewise.
10384         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
10385         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
10386         * rtlanal.c (reg_set_p): Likewise.
10387         * stmt.c (expand_asm_operands, expand_decl): Likewise.
10388         * genautomata.c (empty_reserv): Remove.
10389         * loop.c (max_luid): Likewise.
10390         * sched-rgn.c (bitlst_table_size): Likewise.
10391
10392 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
10393
10394         Reimplement gcov format.
10395         * gcov-io.h: Replace.
10396         * gcov.c: Reimplement.
10397         * gcov-iov.c: New file.
10398         * gcov-dump.c: New file.
10399         * libgcc2.c (L_bb): Replace with ...
10400         (L_gcov): ... this.
10401         (struct bb_function_info, struct bb): Remove.
10402         (inhibit_libc): Never inhibit.
10403         (gcov_list, gcov_crc): New static variables.
10404         (gcov_version_mismatch): New static function.
10405         (__bb_exit_func): Renamed to ...
10406         (__gcov_exit): ... here. Made static. Reimplement.
10407         (__gcov_init_func): Rename to ...
10408         (__gcov_init): ... here. Check version, update crc.
10409         (__bb_fork_func): Rename to ...
10410         (__gcov_flush): ... here.
10411         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
10412         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
10413         * calls.c (expand_call): Call __gcov_flush.
10414         * profile.c (bb_file, last_bb_file_name): Remove.
10415         (bbg_file_name): New global variable.
10416         (output_gcov_string): Remove.
10417         (get_exec_counts): Reimplement.
10418         (branch_prob): Reimplement gcov file writing.
10419         (init_branch_prob): Create bbg_file_name, don't create
10420         bb_file_name.
10421         (end_branch_prob): Adjust. Don't remove counter file when
10422         instrumenting ourselves.
10423         (create_profiler): Adjust.
10424         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
10425         point to gcov-io.h.
10426         * Makefile.in (LANGUAGES): Add gcov-dump.
10427         (coverageexts): Remove .bb.
10428         (STAGESTUFF): Add gcov-dump.
10429         (LIB2FUNCS_ST): Replace _bb with _gcov.
10430         (profile.o): Depend on gcov-iov.h.
10431         (final.o): Don't depend on profile.h, gcov.h.
10432         (gcov.o): Depend on gcov-iov.h.
10433         (gcov-iov.o): New target.
10434         (gcov-iov): New target.
10435         (gcov-iov.h): New target.
10436         (gcov-dump.o): New target.
10437         (GCOV_DUMP_OBJS): New variable.
10438         (gcov-dump): New target.
10439         (distclean): Remove coverageexts.
10440         (stage1): Remove coverageexts.
10441
10442 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
10443
10444         * fold-const.c (make_range): Only narrow to signed range if
10445         the signed range is smaller than the unsigned range.
10446
10447 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
10448
10449         * emit-rtl.c (set_mem_size): New function.
10450         * expr.h (set_mem_size): Declare.
10451         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
10452         (expand_block_move): Instead, use adjust_address and
10453         replace_equiv_address to generate proper aliasing info.
10454         Move common code out of conditionals.  Localize vars.
10455
10456 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
10457
10458         * optabs.c (expand_binop): Minor cleanup.
10459         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
10460
10461 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
10462
10463         * print-tree.c (print_node): Print the restrict qualifier.
10464
10465 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
10466
10467         * doc/install.texi: Fix typos.
10468
10469 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
10470
10471         * Makefile.in: Remove all references to s-under and underscore.c.
10472         * collect2.c, tlink.c: Change all uses of prepends_underscore
10473         to look directly at USER_LABEL_PREFIX.
10474
10475 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
10476
10477         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
10478         alignment to csect.
10479         (rs6000_xcoff_unique_section): Only set section name for public
10480         data.
10481         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
10482         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
10483         duplicate definition.
10484
10485 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10486
10487         * pa.md (extzv): Check predicates before emitting extzv_32.
10488         (insv): Likewise.
10489
10490 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
10491
10492         * config/s390/s390.h (MOVE_MAX): Define to correct value.
10493         (MAX_MOVE_MAX): Define.
10494         (MOVE_BY_PIECES_P): Define.
10495         (CLEAR_BY_PIECES_P): Define.
10496
10497 2002-09-10  Denis Chertykov  <denisc@overta.ru>
10498
10499         * config/avr/avr.md (movstrhi): Use right operands for conversion.
10500
10501 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
10502
10503         PR c/7873
10504         * arm.md (insv): Use reg_or_int_operand for operand[3].
10505
10506 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
10507
10508         * rs6000.c (rs6000_assemble_visibility): Protect declaration
10509         inside macro.  Correct function definition typo.
10510         (rs6000_xcoff_section_type_flags): New function.
10511         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
10512         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
10513         with appropriate PIC test.
10514         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
10515         determine readonly.
10516         (rs6000_binds_local_p): Combine PIC flags.
10517         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
10518         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
10519
10520 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10521
10522         * h8300.md: Fix signed/unsigned warnings.
10523         * mcore.md: Likewise.
10524         * mn10300.c (mask_ok_for_mem_btst): Likewise.
10525
10526 2002-09-09  Per Bothner  <per@bothner.com>
10527
10528         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
10529         characters, and only print TREE_STRING_LENGTH chars.
10530
10531 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
10532
10533         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
10534         (ASM_FILE_END) New.
10535         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
10536         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
10537         * config/ia64/ia64.c (ia64_asm_output_external): Create list
10538         of external functions if TARGET_HPUX_LD is true.
10539         (ia64_hpux_add_extern_decl): New, routine to put names on
10540         list of external functions.
10541         (ia64_hpux_asm_file_end): Put out declarations for external
10542         functions if and only if they are used.
10543
10544 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10545
10546         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
10547         on TARGET_64BIT before pic register restore.
10548
10549 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
10550
10551         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
10552         (TARGET_HAVE_TLS): New description.
10553
10554 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
10555
10556         * doc/extend.texi (Statement Exprs): Fix broken link.
10557
10558 2002-09-09  Denis Chertykov  <denisc@overta.ru>
10559
10560         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
10561         right conversion of operands[1].
10562
10563 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
10564
10565         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
10566         commutative.  Use "nonimmediate_operand" instead of "register_operand"
10567         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
10568
10569         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
10570         as commutative.
10571
10572         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
10573         mark as commutative.  Use "nonimmediate_operand" instead of
10574         "register_operand" as predicate for operand 1.
10575
10576         ("movstrictsi"): Fix typo in insn name.
10577
10578 2002-09-09  Jan Hubicka  <jh@suse.cz>
10579
10580         * i386.c (index_register_operand): New.
10581         * i386.h (predicate_codes): Add new predicate.
10582         * i386.md (lea_general_*): Use index_register_operand
10583         (ashift to lea splitter): Do not produce invalid leas
10584         (ashift to mov+ashift split): New.
10585
10586 2002-09-09  Nick Clifton  <nickc@redhat.com>
10587
10588         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
10589         Fix folding marks.
10590
10591 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10592             J"orn Rennecke <joern.rennecke@superh.com>
10593
10594         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
10595
10596 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
10597
10598         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
10599         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
10600         attributes.
10601
10602 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
10603
10604         * basic_block.h (gcov_type): Explain why it is signed.
10605         * final.c: Don't include profile.h.
10606         (struct function_list, functions_head, functions_tail,
10607         end_final): Moved to profile.c
10608         (final): Move arc chaining code to profile.c.
10609         * function.c (prepare_function_start): Remove duplicate line.
10610         * output.h (end_final): Remove prototype.
10611         * predict.c (estimate_loops_at_level): Use gcov_type.
10612         * profile.c (struct function_list, functions_head,
10613         functions_tail): Moved from final.c
10614         (need_func_profiler): Remove.
10615         (instrument_edges): Don't set need_func_profiler.
10616         (get_exec_counts): Avoid signed/unsigned warning.
10617         (compute_checksum): Use crc32.
10618         (branch_prob): Adjust. Chain onto functions_head.
10619         (init_branch_prob): Absorb init_edge_profiler.
10620         (init_edge_profiler): Remove.
10621         (create_profiler): Moved and renamed from final.c:end_final.
10622         Emit data and constructor.
10623         (output_func_start_profiler): Remove.
10624         * profile.h (struct profile_info): checksum is unsigned.
10625         * rtl.h (output_func_start_profiler): Remove prototype.
10626         (create_profiler): Declare.
10627         * toplev.c (compile_file): Call create_profiler, if instrumenting
10628         arcs. Don't call end_final.
10629
10630 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10631
10632         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
10633
10634 2002-09-08  Richard Henderson  <rth@redhat.com>
10635
10636         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
10637         (DW_OP_GNU_push_tls_address): New.
10638         (DW_OP_lo_user): Fix.
10639         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
10640         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
10641         (size_of_loc_descr): Likewise.
10642         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
10643         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
10644         (loc_descriptor_from_tree): Handle TLS variables.
10645         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
10646         (add_location_or_const_value_attribute): ... not here.  Defer
10647         to loc_descriptor_from_tree for TLS variables.
10648
10649         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
10650         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
10651         * config/i386/i386-protos.h: Update.
10652
10653 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10654
10655         PR optimization/6405
10656         * unroll.c (loop_iterations): last_loop_insn should be the previous
10657         non-note instruction before loop->end.
10658         * loop.c (strength_reduce): The conditional jump is the last
10659         non-note instruction before loop->end (as above).
10660
10661 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10662
10663         * combine.c (try_combine): Handle the case that undobuf.other_insn
10664         has been turned into a return or unconditional jump, by inserting
10665         a BARRIER if necessary.
10666         (simplify_set):  Test if a condition code setter has a constant
10667         comparison at compile time, if so convert this insn to a no-op move
10668         and update/simplify the condition code user (undobuf.other_insn).
10669
10670 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
10671
10672         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
10673         (CLEAR_INSN_CACHE): Define.
10674
10675 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10676
10677         * basic-block.h: Fix comment formatting.
10678         * c-common.c: Likewise.
10679         * c-common.h: Likewise.
10680         * c-lex.c: Likewise.
10681         * c-pretty-print.c: Likewise.
10682         * cfglayout.c: Likewise.
10683         * cfgloop.c: Likewise.
10684         * defaults.h: Likewise.
10685         * et-forest.c: Likewise.
10686         * explow.c: Likewise.
10687         * function.h: Likewise.
10688         * gcov.c: Likewise.
10689         * genattrtab.c: Likewise.
10690         * gengtype.c: Likewise.
10691         * ifcvt.c: Likewise.
10692         * libgcc2.c: Likewise.
10693         * loop.c: Likewise.
10694         * profile.c: Likewise.
10695         * ra-build.c: Likewise.
10696         * real.c: Likewise.
10697         * rtl.h: Likewise.
10698         * tracer.c: Likewise.
10699         * tree-inline.c: Likewise.
10700         * varasm.c: Likewise.
10701
10702 2002-09-08  Jan Hubicka  <jh@suse.cz>
10703
10704         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
10705         handling.
10706
10707         * loop.c (loop_givs_reduce):  Emit addition after.
10708
10709 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10710
10711         * varasm.c (default_assemble_visibility): Rename from
10712         assemble_visibility.
10713         * output.h: Here too.
10714         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
10715         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
10716
10717 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10718
10719         * reload.c (find_reloads <p constraint>): Pass operand_mode to
10720         find_reloads_address.
10721
10722 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10723
10724         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
10725         (anonymous pattern): Likewise.
10726
10727 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10728
10729         * machmode.def: Add modes for half-float vectors.
10730
10731 2002-09-07  Scott Snyder  <snyder@fnal.gov>
10732
10733         PR target/7374
10734         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
10735
10736 2002-09-07  Roger Sayle  <roger@eyesopen.com>
10737
10738         * basic-block.h (struct loop): Remove unused cont_dominator field.
10739
10740 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10741
10742         * varasm.c (decode_rtx_const): Don't check undefined field for
10743         CONST_VECTOR.
10744
10745 2002-09-07  Glen Nakamura  <glen@imodulo.com>
10746
10747         PR opt/7814
10748         * sched-deps.c (sched_analyze_insn): Make sure to add insn
10749         to reg_last->sets after flushing the dependency lists to guarantee
10750         that subsequent clobbers will be dependent on it.
10751
10752 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10753
10754         * combine.c (simplify_shift_const): Calculate rotate count
10755         correctly for vector operands.
10756
10757 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
10758
10759         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
10760         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
10761         tree_expr_nonnegative_p.
10762         (build_conditional_expr): Likewise.
10763         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
10764
10765 2002-09-07  Richard Henderson  <rth@redhat.com>
10766
10767         * builtins.def (inf, inff, infl): Mark const.
10768         (huge_val, huge_valf, huge_vall): Likewise.
10769         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
10770
10771         * real.c (ereal_inf): Clear E before use.
10772
10773 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10774
10775         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
10776         an expander and an anonymous pattern.  Zero out the upper half
10777         of the dividend in the expander.
10778         (udivmodqi4): Likewise.
10779
10780 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10781
10782         * config/h8300/h8300.c: Fix formatting.
10783         * config/h8300/h8300.h: Likewise.
10784         * config/h8300/h8300.md: Likewise.
10785
10786 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10787
10788         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
10789         information.
10790
10791 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
10792
10793        * rtlanal.c (dead_or_set_regno_p): Fix typo.
10794
10795 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
10796
10797         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10798
10799         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
10800         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10801         (TARGET_ASM_OUT): Add the above here.
10802         * target.h (struct gcc_target): Add "visibility" field.
10803         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
10804         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
10805         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10806         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
10807
10808 2002-09-06  Ziemowit Laski <zlaski@apple.com>
10809
10810         * c-lang.c (objc_is_id): New stub.
10811         * c-tree.h (objc_is_id): New forward declaration.
10812         * c-typeck.c (build_c_cast): Do not strip protocol
10813         qualifiers from 'id' type.
10814         * objc/objc-act.c (objc_comptypes): Correct handling
10815         of protocol qualifiers.
10816         (objc_is_id): New.
10817
10818 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
10819
10820         * pentium.md (pentium-firstvboth): Fix typo.
10821
10822 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
10823
10824         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
10825         (enum shift_type, enum h8_cpu): Likewise.
10826         (INL, ROT, LOP, SPC macros): Likewise.
10827         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
10828         const designator.
10829         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
10830         space efficient algorithms when optimize for codesize.
10831
10832 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10833
10834         Fix PR/1727 and long-standing failing testcase
10835         objc/formal-protocol-6.m.
10836         * objc-act.c (build_protocol_expr): If compiling for the GNU
10837         runtime, create a list of Protocol statically allocated instances
10838         if it doesn't exist, then add the Protocol object to this same
10839         list.
10840         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
10841         instead of TREE_CHAIN.
10842
10843 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10844
10845         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
10846         10k.  Fixed category dumping - print out category names with the
10847         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
10848         interface.
10849         (finish_objc): Fixed the -gen-decls option.  It was printing out
10850         only the last class.  Dump an interface declaration of all classes
10851         being compiled instead.
10852
10853 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
10854
10855         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
10856         prototype.
10857         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
10858         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
10859         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
10860         rather than GEN_INT.
10861         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
10862         (return_addr_mask, *check_arch2): New.
10863
10864 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
10865
10866         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
10867         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
10868         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
10869         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
10870         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
10871         "adddf3", "*adddf3", "*adddf3_ibm",
10872         "addsf3", "*addsf3", "*addsf3_ibm",
10873         "muldi3", "mulsi3", "mulsidi3",
10874         "muldf3", "*muldf3", "*muldf3_ibm",
10875         "mulsf3", "*mulsf3", "*mulsf3_ibm",
10876         "*anddi3_cc", "*anddi3_cconly", "anddi3",
10877         "*andsi3_cc", "*andsi3_cconly", "andsi3",
10878         "*iordi3_cc", "*iordi3_cconly", "iordi3",
10879         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
10880         "*xordi3_cc", "*xordi3_cconly", "xordi3",
10881         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
10882         instead of "register_operand" as predicate for "%0" operand.
10883
10884 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
10885
10886         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
10887         unconditionally when gcc_cv_as_flags64 checks are gone.
10888         * configure: Rebuilt.
10889
10890 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
10891
10892         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
10893         2002-07-26 change.  Comment.
10894
10895 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10896
10897         * frv.c (frv_unique_section, frv_select_section,
10898         frv_select_rtx_section): Delete.
10899         (frv_in_small_data_p): New.
10900         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
10901         TARGET_ASM_SELECT_RTX_SECTION): Delete.
10902         (TARGET_IN_SMALL_DATA_P): Define.
10903
10904 2002-09-05  Dale Johannesen  <dalej@apple.com>
10905
10906         * reload1.c (reload):  Retain only those memory clobbers
10907         added for variable-array handling.
10908
10909 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10910
10911         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
10912         return-in-memory rules.
10913         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
10914
10915 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10916
10917         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
10918         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
10919
10920 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10921
10922         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
10923         not a compile-time constant for the non-IBM case.
10924         * config/arm/arm-protos.h (arm_float_words_big_endian): New
10925         prototype.
10926         * config/arm/arm.c (arm_float_words_big_endian): New function.
10927         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
10928         if TARGET_VFP  and not TARGET_HARD_FLOAT.
10929         (ARM_FLAG_VFP, TARGET_VFP): Define.
10930         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
10931
10932 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10933
10934         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
10935         URLs.  Fix AIX wording.
10936
10937 2002-09-05  Stan Shebs  <shebs@apple.com>
10938
10939         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
10940         -fPIC equivalent on Darwin.
10941
10942 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
10943
10944         * sh.c (sh_expand_builtin): Return early if encountering an
10945         error_mark for a type.
10946
10947 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
10948
10949         * config/s390/s390.c (s390_expand_plus_operand): Do not require
10950         double-word scratch register.
10951         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
10952
10953         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
10954         "*cli"): Replace s_operand by memory_operand.
10955         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
10956
10957 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
10958
10959         * config/h8300/h8300.c (asm_file_start): Add a missing
10960         semicolon.
10961
10962 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10963
10964         * c-typeck.c (build_function_call): Remove unused variable(s).
10965         (build_c_cast): Likewise.
10966         * calls.c (rtx_for_function_call): Likewise.
10967         * cfglayout.c (duplicate_insn_chain): Likewise.
10968         * cfgloop.c (flow_loop_nodes_find): Likewise.
10969         * cfgrtl.c (split_edge): Likewise.
10970         * df.c (df_ref_create): Likewise.
10971         * except.c (expand_end_catch): Likewise.
10972         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
10973         * function.c (emit_return_into_block): Likewise.
10974         (reposition_prologue_and_epilogue_notes): Likewise.
10975         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
10976         * combine.c (subst_prev_insn, need_refresh): Remove.
10977         * dwarf2out.c (primary_filename): Remove.
10978         * final.c (new_block): Remove.
10979         * gcse.c (orig_bb_count): Remove.
10980
10981 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10982
10983         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
10984         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
10985         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
10986         directly instead of using a function pointer.
10987
10988 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
10989
10990         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
10991         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
10992         (ix86_output_addr_diff_elt) Likewise.
10993         (x86_output_mi_thunk) Likewise.
10994         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
10995
10996 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10997
10998         * frv.c (frv_encode_section_info): Fix error in last change.
10999
11000 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11001
11002         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
11003         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
11004         (TARGET_BINDS_LOCAL_P): Define.
11005         (rs6000_override_options): Save original flag_pic value.
11006         (rs6000_elf_select_section): Call default_elf_select_section_1.
11007         (rs6000_elf_unique_section): Call default_unique_section_1.
11008         (rs6000_elf_in_small_data_p): New function.
11009         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
11010         (rs6000_xcoff_select_section): Update based on defaults.
11011         (rs6000_xcoff_unique_section): Set to basic name if not common.
11012         (rs6000_binds_local_p): New function.
11013         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
11014         targetm.have_srodata_section if SDATA_EABI.
11015         (TARGET_IN_SMALL_DATA_P): Define.
11016
11017 2002-09-04  Dale Johannesen  <dalej@apple.com>
11018
11019         * varasm.c (struct rtx_const, decode_rtx_const):
11020         Make veclo and vechi fields not share storage.
11021
11022 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
11023
11024         * loop.c (scan_loop): Don't mark separate insns out of a libcall
11025         for moving.
11026         (move_movables): Abort if we see the first insn of a libcall.
11027
11028 2002-09-04  Richard Henderson  <rth@redhat.com>
11029
11030         * builtin-types.def (BT_FN_FLOAT): New.
11031         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
11032         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
11033         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
11034         * builtins.c (fold_builtin_inf): New.
11035         (fold_builtin): Call it.
11036         * real.c (ereal_inf): New.
11037         * real.h: Declare it.
11038         * doc/extend.texi: Document new builtins.
11039
11040 2002-09-04  Richard Henderson  <rth@redhat.com>
11041
11042         * cse.c (cse_insn): Avoid subreg games if the equivalence
11043         is already in the proper mode.
11044
11045 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
11046
11047         PR c/7102
11048         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
11049
11050 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11051
11052         * pa.md (setccfp0, setccfp1): New patterns.
11053
11054 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11055
11056         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
11057         frv_select_section, frv_select_rtx_section,
11058         frv_encode_section_info, frv_unique_section): Delete.
11059         * frv.c: Update for target hooks.
11060         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
11061         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
11062         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
11063
11064 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11065
11066         * ip2k-protos.h (function_prologue, function_epilogue,
11067         encode_section_info): Update to match target hook specification.
11068         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
11069         (function_prologue, function_epilogue, encode_section_info):
11070         Update to match target hook specification.
11071         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
11072         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
11073         (NOTICE_UPDATE_CC): Cast to void.
11074         * ip2k.md: Add defaults in switch statements.
11075
11076 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11077
11078         * doc/trouble.texi (Interoperation): Update information about C++ ABI
11079         issues.
11080
11081 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
11082
11083         * config/sparc/t-netbsd64: Disable multilib for now.
11084
11085 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11086
11087         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
11088         * target.h (gcc_target): Add have_srodata_section member.
11089         * varasm.c (section_category): Add SECCAT_SRODATA.
11090         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
11091         READONLY_SDATA_SECTION defined.
11092         (decl_readonly_section_1): True for SECCAT_SRODATA also.
11093         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
11094         (default_unique_section_1): Likewise.
11095
11096 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11097
11098         * expr.c (emit_group_load): Revise to allow splitting TCmode source
11099         into DImode pieces.
11100
11101         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
11102         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
11103         for floating-point register class.
11104         * pa.c (function_arg): Fix handling of modes wider than one word for
11105         TARGET_64BIT.
11106
11107 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
11108
11109         * combine.c (make_compound_operation): Don't generate zero / sign
11110         extensions in floating point modes.
11111
11112 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11113
11114         * doc/c-tree.texi: Fix overfull hboxes.
11115         * doc/cppopts.texi: Ditto.
11116         * doc/extend.texi: Ditto.
11117         * doc/gty.texi: Ditto.
11118         * doc/invoke.texi: Ditto.
11119         * doc/makefile.texi: Ditto.
11120         * doc/rtl.texi: Ditto.
11121         * doc/standards.texi: Ditto.
11122         * doc/tm.texi: Ditto.
11123
11124 2002-09-04  Richard Henderson  <rth@redhat.com>
11125
11126         * c-common.c (builtin_define_with_hex_fp_value): New.
11127         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
11128
11129 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11130
11131         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
11132         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
11133         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
11134         Warn that these options can break ABI compatibility.
11135
11136 2002-09-04  Richard Henderson  <rth@redhat.com>
11137
11138         * real.c (ereal_to_decimal): Add digits parameter.
11139         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
11140         * c-pretty-print.c (pp_c_real_literal): Update call.
11141         * print-rtl.c (print_rtx): Likewise.
11142         * print-tree.c (print_node_brief, print_node): Likewise.
11143         * sched-vis.c (print_value): Likewise.
11144         * config/arc/arc.c (arc_print_operand): Likewise.
11145         * config/c4x/c4x.c (c4x_print_operand): Likewise.
11146         * config/i370/i370.h (PRINT_OPERAND): Likewise.
11147         * config/i386/i386.c (print_operand): Likewise.
11148         * config/i960/i960.c (i960_print_operand): Likewise.
11149         * config/ip2k/ip2k.c (asm_output_float): Likewise.
11150         * config/m32r/m32r.c (m32r_print_operand): Likewise.
11151         * config/m68hc11/m68hc11.c (print_operand): Likewise.
11152         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
11153         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11154         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
11155         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11156         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
11157         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11158         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
11159         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11160         * config/mips/mips.c (print_operand): Likewise.
11161         * config/ns32k/ns32k.c (print_operand): Likewise.
11162         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
11163         * config/vax/vax.h (PRINT_OPERAND): Likewise.
11164         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
11165
11166 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
11167
11168         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
11169         xtensa_multibss_section_type_flags.
11170         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
11171
11172 2002-09-04  Richard Henderson  <rth@redhat.com>
11173
11174         * doc/install-old.texi: Don't mention enquire.
11175         * doc/sourcebuild.texi: Update float.h description.
11176
11177 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
11178
11179         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
11180
11181 2002-09-03  Roger Sayle  <roger@eyesopen.com>
11182
11183         * builtins.c (build_function_call_expr): Remove prototype, export
11184         as non-static and add a comment above function definition.
11185         (builtin_mathfn_code): New function to check for math builtins.
11186         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
11187         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
11188         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
11189         log(sqrt(x)) as log(x)/2.0.
11190
11191         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
11192         in new "builtins.c" section.  Place the build_range_type prototype
11193         with the other prototypes from "tree.c".
11194
11195         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
11196         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
11197         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
11198         x/exp(y) as x*exp(-y).
11199
11200 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
11201
11202         * varasm.c (default_section_type_flags): Append _1 to name with
11203         shlib parameter.  Use original name to call new function with
11204         implicit flag_pic.
11205         (decl_readonly_section): Likewise.
11206         (default_elf_select_section): Likewise.
11207         (default_unique_section): Likewise.
11208         (default_bind_local_p): Likewise.
11209         (categorize_decl_for_section): Add shlib parameter to use in place
11210         of implicit flag_pic.
11211         * output.h: Declare new functions with _1 and shlib argument.
11212
11213 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
11214
11215         * doc/install.texi: Fix typos, formatting problems, and obvious
11216         overfull/underfull boxes.
11217
11218         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
11219         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
11220         include its file, compat.texi.
11221         * doc/compat.texi: New file with new chapter, Binary Compatibility.
11222
11223 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
11224
11225         Debian BTS Bug #157416
11226         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
11227         * cpplib.c (destringize_and_run): Kludge around getting
11228         tokens from in-progress macros.
11229         (_cpp_do__Pragma): Simplify.
11230
11231 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11232
11233         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
11234         (CPP_CPU_SPEC): Remove.
11235         (TARGET_CPU_CPP_BUILTINS): New.
11236         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
11237         (CPP_SPEC): Remove.
11238         (TARGET_OS_CPP_BUILTINS): New.
11239         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
11240         (TARGET_OS_CPP_BUILTINS): New.
11241         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
11242         TARGET_OS_CPP_BUILTINS.
11243         (CPP_PREDEFINES): Remove.
11244         (CPLUSPLUS_CPP_SPEC): Remove.
11245         (TARGET_OS_CPP_BUILTINS): New.
11246
11247 2002-09-03  Richard Henderson  <rth@redhat.com>
11248
11249         * Makefile.in (USER_H): Add ginclude/float.h.
11250         (FLOAT_H): Remove.
11251         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
11252         (mostlyclean): Don't remove float.h intermediate files.
11253         (distclean): Don't remove float.h.
11254         * config.gcc: Remove all float_format references.
11255         * configure.in (float_format, float_h_file): Remove.
11256
11257         * c-common.c: Include tree-inline.h.
11258         (builtin_define_with_int_value): New.
11259         (builtin_define_type_precision): Use it.
11260         (builtin_define_float_constants): New.
11261         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
11262         __FLT_EVAL_METHOD__.
11263         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
11264         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
11265         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
11266         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
11267         (TARGET_FLT_EVAL_METHOD): New.
11268
11269         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
11270         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
11271         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
11272         * ginclude/float.h: New.
11273
11274 2002-09-03  Stan Shebs  <shebs@apple.com>
11275
11276         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
11277         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
11278         (PREFERRED_DEBUGGING_TYPE): Ditto.
11279         (ASM_OUTPUT_IDENT): Remove empty definition.
11280
11281 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11282
11283         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
11284         cxx_target.
11285         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
11286         handling routine for builtin pragma.
11287         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
11288         Registered pragma handling routine.
11289         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
11290         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
11291         If builtin pragma seen for math routine and C89 conformance is
11292         requested use different math function in order to set errno.
11293         * t-ia64 (ia64-c.o): Add new rule for new file.
11294
11295 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11296
11297         * config/s390/s390.md ("movti"): Add Q->Q alternative.
11298         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
11299         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
11300
11301         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
11302         "*movsf_ss"): Remove.
11303
11304 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11305
11306         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
11307         Delete macros.
11308
11309 2002-09-03   Arati Dikey  <aratid@kpit.com>
11310
11311         * h8300.c (asm_file_start): Corrected optimization comment.
11312
11313 2002-09-03  Stan Shebs  <shebs@apple.com>
11314
11315         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
11316         * c-tree.h (recognize_objc_keyword): Remove decl.
11317         * c-typeck.c (comp_target_types): Update a comment.
11318
11319 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11320
11321         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
11322         and register validity checks.
11323         (general_s_operand): Adapt to s390_decompose_address interface change.
11324         (q_constraint): Likewise.
11325         (s390_expand_plus_operand): Likewise.
11326         (legitimiate_address_p): Likewise.
11327         (legitimate_la_operand_p): Likewise.
11328         (legitimize_la_operand): Likewise.
11329         (print_operand_address): Likewise.
11330         (print_operand): Likewise.
11331
11332 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11333
11334         PR objc/5956:
11335         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
11336         was causing the new selector never to match the existing ones
11337         (Patch by Alexander Malmberg <alexander@malmberg.org>).
11338
11339 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11340
11341         * config/i386/i386.md ("femms"): Add "memory" attr "none".
11342
11343 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11344
11345         * expr.c (expand_expr): Remove extraneous comment and code.
11346
11347 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
11348
11349         * stor-layout (finish_builtin_struct): Renamed and moved from c++
11350         frontend. Take chain of fields. Allow NULL alignment type.
11351         * tree.h (finish_builtin_struct): Declare.
11352
11353 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11354
11355         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
11356         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
11357         config/arc/arc.c config/arc/arc.h config/arm/aout.h
11358         config/arm/arm.c config/arm/arm.h config/arm/arm.md
11359         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
11360         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
11361         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
11362         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
11363         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
11364         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
11365         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
11366         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
11367         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
11368         config/pa/pa.h config/pa/pa.md config/romp/romp.h
11369         config/rs6000/linux64.h config/rs6000/lynx.h
11370         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
11371         config/s390/s390.c config/s390/s390.md config/sh/sh.c
11372         config/sparc/sparc.c config/sparc/sysv4.h
11373         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
11374         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
11375         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
11376
11377         * doc/tm.texi: Update docs.
11378         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
11379         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
11380
11381 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11382
11383         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
11384         * arc.c (arc_internal_label): New function.
11385         (TARGET_ASM_INTERNAL_LABEL): Set.
11386         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11387         * arm.c (arm_internal_label): New function.
11388         (TARGET_ASM_INTERNAL_LABEL): Set.
11389         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11390         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11391         * i370.c (i370_internal_label): New function.
11392         (TARGET_ASM_INTERNAL_LABEL): Set.
11393         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11394         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11395         * m68k.c (m68k_hp320_internal_label): New function.
11396         (TARGET_ASM_INTERNAL_LABEL): Set.
11397         * m88k.c (m88k_internal_label): New function.
11398         (TARGET_ASM_INTERNAL_LABEL): Set.
11399         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11400         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
11401         * genoutput.c (output_prologue): Include target.h in output file.
11402         * output.h (default_internal_label): Declare.
11403         * sdbout.c: Include target.h.
11404         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
11405         TARGET_ASM_OUT.
11406         * target.h (internal_label): Add to struct gcc_target.
11407         * varasm.c (default_internal_label): New function.
11408
11409 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11410
11411         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11412         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11413         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11414         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11415         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11416         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11417         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11418         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11419         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11420         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11421         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11422         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11423         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11424         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11425         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11426         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11427         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11428         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11429         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11430         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11431         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11432         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11433         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11434         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11435         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11436         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
11437         * mmix.c (mmix_asm_output_internal_label): Likewise.
11438         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11439         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11440         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11441         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11442         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11443         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11444         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11445         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11446         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11447         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11448         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11449         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11450         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11451         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11452         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11453         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11454         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11455         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11456         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11457
11458         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
11459
11460 2002-08-31  Richard Henderson  <rth@redhat.com>
11461
11462         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
11463
11464 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11465
11466         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
11467
11468 2002-08-30  Richard Henderson  <rth@redhat.com>
11469
11470         PR opt/7515
11471         * c-objc-common.c: Include target.h.
11472         (c_cannot_inline_tree_fn): Don't auto-inline functions that
11473         don't bind locally.  Factor setting DECL_UNINLINABLE.
11474         * Makefile.in (c-objc-common.o): Update.
11475
11476 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
11477
11478         * doc/install.texi (Configuration, Building): Fix a typo and
11479         some formatting directives.
11480
11481 2002-08-30  Paul Koning <pkoning@equallogic.com>
11482
11483         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
11484         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
11485         implemented" note.
11486         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
11487         for alphabetic order.
11488         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
11489         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
11490         (VAX_HALFWORD_ORDER): Document.
11491         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
11492         IEEE float format.
11493         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
11494         (ASM_OUTPUT_LABEL_REF): Fix font.
11495         (CASE_VECTOR_SHORTEN_MODE): Ditto.
11496
11497 2002-08-30  Denis Chertykov  <denisc@overta.ru>
11498
11499         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
11500         stuff.
11501         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
11502         CONST_DOUBLE constants.
11503
11504 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
11505
11506         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
11507         related defines to...
11508         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
11509         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
11510         as a no-op.
11511
11512 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
11513
11514         * config/arm/arm.c (arm_asm_output_labelref): New function.
11515         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
11516         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
11517
11518 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
11519
11520         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
11521         memory exhausted" workarounds.
11522
11523 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11524
11525         * diagnostic.c (fancy_abort): Don't repeat "internal error".
11526         * toplev.c (crash_signal): Likewise.
11527
11528 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11529
11530         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
11531         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
11532         Extended, updated documentation.
11533         (-Wundeclared-selector): Documented.
11534
11535 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
11536
11537         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
11538         the value 1.  Do not undef before defining.
11539         * config/darwin.h: Likewise.
11540         * config/dbx.h: Likewise.
11541         * config/dbxcoff.h: Likewise.
11542         * config/dbxelf.h: Likewise.
11543         * config/elfos.h: Likewise.
11544         * config/interix.h: Likewise.
11545         * config/lynx-ng.h: Likewise.
11546         * config/lynx.h: Likewise.
11547         * config/netware.h: Likewise.
11548         * config/psos.h: Likewise.
11549         * config/svr3.h: Likewise.
11550         * config/alpha/alpha.h: Likewise.
11551         * config/alpha/elf.h: Likewise.
11552         * config/alpha/vms.h: Likewise.
11553         * config/arc/arc.h: Likewise.
11554         * config/arm/aout.h: Likewise.
11555         * config/arm/coff.h: Likewise.
11556         * config/c4x/c4x.h: Likewise.
11557         * config/h8300/h8300.h: Likewise.
11558         * config/i386/cygwin.h: Likewise.
11559         * config/i386/djgpp.h: Likewise.
11560         * config/i386/gas.h: Likewise.
11561         * config/i386/gstabs.h: Likewise.
11562         * config/i386/i386-coff.h: Likewise.
11563         * config/i386/i386-interix.h: Likewise.
11564         * config/i386/sco5.h: Likewise.
11565         * config/i386/svr3dbx.h: Likewise.
11566         * config/i386/sysv3.h: Likewise.
11567         * config/i386/win32.h: Likewise.
11568         * config/i386/x86-64.h: Likewise.
11569         * config/i960/i960.h: Likewise.
11570         * config/ia64/ia64.h: Likewise.
11571         * config/ip2k/ip2k.h: Likewise.
11572         * config/m32r/m32r.h: Likewise.
11573         * config/m68k/3b1.h: Likewise.
11574         * config/m68k/3b1g.h: Likewise.
11575         * config/m68k/ccur-GAS.h: Likewise.
11576         * config/m68k/coff.h: Likewise.
11577         * config/m68k/hp2bsd.h: Likewise.
11578         * config/m68k/hp310g.h: Likewise.
11579         * config/m68k/hp320g.h: Likewise.
11580         * config/m68k/hp3bsd.h: Likewise.
11581         * config/m68k/hp3bsd44.h: Likewise.
11582         * config/m68k/linux-aout.h: Likewise.
11583         * config/m68k/m68k-aout.h: Likewise.
11584         * config/m68k/mot3300.h: Likewise.
11585         * config/m68k/netbsd.h: Likewise.
11586         * config/m68k/openbsd.h: Likewise.
11587         * config/m68k/pbb.h: Likewise.
11588         * config/m68k/plexus.h: Likewise.
11589         * config/m68k/sun2.h: Likewise.
11590         * config/m68k/sun3.h: Likewise.
11591         * config/m68k/tower-as.h: Likewise.
11592         * config/m68k/vxm68k.h: Likewise.
11593         * config/m88k/aout-dbx.h: Likewise.
11594         * config/m88k/m88k-aout.h: Likewise.
11595         * config/mcore/mcore-elf.h: Likewise.
11596         * config/mcore/mcore-pe.h: Likewise.
11597         * config/mips/elf.h: Likewise.
11598         * config/mips/elf64.h: Likewise.
11599         * config/mips/iris5gas.h: Likewise.
11600         * config/mips/iris6.h: Likewise.
11601         * config/mips/mips.h: Likewise.
11602         * config/mips/sni-gas.h: Likewise.
11603         * config/mmix/mmix.h: Likewise.
11604         * config/ns32k/netbsd.h: Likewise.
11605         * config/pa/pa64-hpux.h: Likewise.
11606         * config/romp/romp.h: Likewise.
11607         * config/rs6000/sysv4.h: Likewise.
11608         * config/rs6000/xcoff.h: Likewise.
11609         * config/sh/coff.h: Likewise.
11610         * config/sh/elf.h: Likewise.
11611         * config/sparc/linux64.h: Likewise.
11612         * config/sparc/liteelf.h: Likewise.
11613         * config/sparc/netbsd.h: Likewise.
11614         * config/sparc/openbsd.h: Likewise.
11615         * config/sparc/pbd.h: Likewise.
11616         * config/sparc/sp64-elf.h: Likewise.
11617         * config/sparc/sp86x-elf.h: Likewise.
11618         * config/sparc/sparc.h: Likewise.
11619         * config/vax/vax.h: Likewise.
11620         * config/vax/vaxv.h: Likewise.
11621
11622 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
11623
11624         * h8300.c (shift_alg_hi): Various tweaks to improve performance
11625         of HImode shifts.
11626         (get_shift_alg): Corresponding changes.
11627
11628 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11629
11630         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
11631
11632 2002-08-29  Richard Henderson  <rth@redhat.com>
11633
11634         * expr.h (enum block_op_methods): New.
11635         (emit_block_move): Update prototype.
11636         * expr.c (block_move_libcall_safe_for_call_parm): New.
11637         (emit_block_move_via_loop): New.
11638         (emit_block_move): Use them.  New argument METHOD.
11639         (emit_push_insn): Always respect the given alignment.
11640         (expand_assignment): Update call to emit_block_move.
11641         (store_expr, store_field, expand_expr): Likewise.
11642         * builtins.c (expand_builtin_apply): Likewise.
11643         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
11644         * function.c (expand_function_end): Likewise.
11645         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
11646         * config/sparc/sparc.c (sparc_va_arg): Likewise.
11647         * calls.c (expand_call, emit_library_call_value_1): Likewise.
11648         (save_fixed_argument_area): Use emit_block_move with
11649         BLOCK_OP_CALL_PARM instead of move_by_pieces.
11650         (restore_fixed_argument_area): Likewise.
11651         (store_one_arg): Fix alignment parameter to emit_push_insn.
11652
11653 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11654
11655         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
11656
11657 2002-08-29  Catherine Moore  <clm@redhat.com>
11658
11659         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
11660         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
11661         (PREDICATE_CODES): Include new predicates.
11662         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
11663         (TARGET_SWITCHES):  Add strict-align.
11664         (TARGET_STRICT_ALIGN): New.
11665         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
11666         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
11667         Define.
11668         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
11669         v850_muldi3.
11670         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
11671         L_callt_save_r2_r31, L_return_r2_r31,
11672         L_save_all_interrupt): Change addi to add.
11673         (L_save_interrupt, L_return_interrupt): Rework.
11674         (__return_r31):  Correct .size directive.
11675         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
11676         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
11677         New routines.
11678         * config/v850/v850.c (expand_prologue): Call
11679         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
11680         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
11681         (reg_or_int9_operand): New predicate.
11682         (reg_or_const_operand): New routine.
11683         * config/v850/v850.md (return_interrupt): Changed from
11684         restore_interrupt.
11685         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
11686         (callt_save_interrupt): Change save sequence.
11687         (callt_return_interrupt): New.
11688         (save_interrupt): Don't use runtime function for LONG_CALLS
11689         and TARGET_PROLOG_FUNCTION.
11690         (save_all_interrupt): Likewise.
11691         (mulsi3): Use new predicate.
11692         (moviscc): Disallow some combination of constants.
11693         Fix define_split for sasf insns, so that it will not generate bad
11694         code if operand0 and operand5 are the same.
11695         * config/v850/v850-protos.h: Prototype new predicates.
11696
11697 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
11698
11699         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
11700         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
11701
11702 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11703
11704         * c-common.c (builtin_define_type_precision): New function.
11705         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
11706         wchar_t is unsigned in C++.
11707         * doc/cpp.texi (Common Predefined Macros): Document
11708         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
11709         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11710         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11711
11712 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
11713
11714         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
11715         section.  Mention that it is enabled by -Wall.
11716         (-Wall): Mention that there can be language-specific warnings as well.
11717         (-Wctor-dtor-privacy): Mention that it is enabled by default.
11718         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
11719
11720 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
11721
11722         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
11723         if it is ever live.
11724
11725         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
11726         attribute for SHCOMPACT.
11727
11728         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
11729         appropriately.
11730         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
11731         by the ABI.
11732
11733         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
11734
11735 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
11736
11737         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
11738         "MASK_GAS|MASK_ABICALLS".
11739         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
11740         (TARGET_DEFAULT): Remove.
11741         (MACHINE_TYPE): Undefine before defining.
11742         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
11743
11744 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
11745
11746         * c-common.c (warn_abi): New variable.
11747         * c-common.h (warn_abi): Likewise.
11748         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
11749         (c_common_decode_option): Handle it.
11750         * doc/invoke.texi: Document -Wabi.
11751
11752 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11753
11754         * c-common.c (warn_undeclared_selector): New variable.
11755         * c-common.h (warn_undeclared_selector): Idem.
11756         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
11757         to on when -Wundeclared-selector is found.
11758         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
11759         * objc/objc-act.c (build_selector_expr): If
11760         warn_undeclared_selector is set, check that the selector has
11761         already been defined, and emit a warning if not.
11762
11763 2002-08-27  Nick Clifton  <nickc@redhat.com>
11764             Catherine Moore  <clm@redhat.com>
11765             Jim Wilson  <wilson@cygnus.com>
11766
11767         * config.gcc: Add v850e-*-* target.
11768         Add --with-cpu= support for v850.
11769         * config/v850/lib1funcs.asm: Add v850e callt functions.
11770         * config/v850/v850.h: Add support for v850e target.
11771         * config/v850/v850.c: Add functions to support v850e target.
11772         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
11773         * config/v850/v850.md: Add patterns for v850e instructions.
11774         * doc/invoke.texi: Document new v850e command line switches.
11775
11776 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11777                           Aldy Hernandez <aldyh at redhat dot com>
11778
11779         * doc/tm.texi: Applied numerous fixes to the automaton based
11780         scheduler descrition.
11781
11782 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
11783
11784         * i386.c (classify_argument): Handle variable sized objects.
11785
11786 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
11787
11788         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
11789
11790 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
11791
11792         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
11793
11794 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
11795
11796         * i386.c (classify_argument): Properly compute word size of the analyzed object.
11797
11798 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
11799
11800         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
11801         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
11802         accordingly.
11803         (attribute insn_class): Provide default definitions based on type.
11804         Remove all insn-specific settings.
11805         (various function units): Remove old SH4 scheduling.
11806         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
11807         New attributes.  Set them where appropriate.
11808         (cpu unit FS): Don't define / use.
11809         (F3, load_store): New cpu units.
11810         (F01): New reservation.
11811         (all insn_reservations): Make dependent on sh4 pipeline model.
11812         Fix latencies.
11813         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
11814         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
11815         (mt insn_reservation): Use type mt_group.
11816         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
11817         sh4_fload and sh4_store.
11818         (insn_reservation branch_zero and branch): Replace with sh4_branch.
11819         (insn_reservation branch_far): Replace with sh4_return.
11820         (insn_reservation return_from_exp): Rename to:
11821         (sh4_return_from_exp).  Change to be just d_lock*5.
11822         (insn_reservation lds_to_pr): Rename to:
11823         (sh4_lds_to_pr).  Change to be just d_lock*2.
11824         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
11825         d_lock*2.
11826         (insn_reservation prload_mem): Rename to:
11827         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
11828         (insn_reservation fpscr_store): Rename to:
11829         (fpscr_load).  Change to d_lock,nothing,F1*3.
11830         (insn_reservation fpscr_store_mem): Rename to:
11831         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
11832         (insn_reservation multi): Change to
11833         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
11834         (insn_reservation fp_arith): Change to issue,F01,F2.
11835         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
11836         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
11837         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
11838         (insn_reservation fp_double_cmp): Change to
11839         d_lock,(d_lock+F01),F1+F2,F2.
11840         (insn_reservation dp_div): Change to
11841         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
11842         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
11843         (sh_adjust_cost, SHcompact): Differentiate between different
11844         kinds of dependencies.  Drop factor of ten for superscalar.
11845         Use new instruction types.  Add new exception rules.
11846
11847         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
11848
11849         * sh.md (mperm_w): Add DONE.
11850
11851 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
11852
11853         * longlong.h: Import current PowerPC defintion from GMP-4.1.
11854
11855         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
11856
11857         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
11858
11859 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
11860
11861         * sh.h (MAX_FIXED_MODE_SIZE): Define.
11862
11863 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
11864
11865         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
11866         delimiter.
11867
11868 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11869
11870         * c-common.c (cpp_define_data_format): New function.
11871         (cb_register_builtins): Call it.
11872
11873         * doc/cpp.texi (Common Predefined Macros): Document
11874         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
11875         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
11876         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
11877         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
11878         __TARGET_USES_VAX_H_FLOAT__.
11879
11880 2002-08-26  Ziemowit Laski <zlaski@apple.com>
11881
11882         * objc/objc-act.c (get_super_receiver): If inside a class method
11883         of a category, cast the receiver to 'id' before accessing the 'isa'
11884         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
11885
11886 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
11887
11888         * config/s390/s390-protos.h (s390_function_prologue,
11889         s390_function_epilogue): Remove.
11890         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
11891         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
11892
11893         config/s390/s390.c (s390_machine_dependent_recorg): New function.
11894         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
11895         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
11896         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
11897         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
11898
11899         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
11900         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
11901         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
11902         function is not a leaf function.  Use save_gprs and restore_gprs.
11903         (s390_emit_epilogue): Likewise.
11904         (save_gprs, restore_gprs): New functions.
11905         (struct s390_frame): Remove return_reg_saved_p member.
11906         (save_fprs_p): Remove.
11907         (s390_optimize_prolog): New function.
11908         (s390_legitimate_reload_constant): Remove now unnecessary check.
11909
11910         (s390_function_count): Remove.
11911         (s390_output_symbolic_const): Replace s390_function_count by
11912         current_function_funcdef_no.
11913         (s390_output_constant_pool): Likewise.
11914
11915         (legitimize_pic_address): Use regs_ever_live to track PIC register
11916         instead of current_function_uses_pic_offset_table.
11917         (s390_emit_prologue): Likewise.
11918         config/s390/s390.md ("call", "call_value"): Likewise.
11919
11920 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
11921
11922         * c-opts.c (find_opt): Don't complain about wrong languages
11923         here.  Return exact matches even for wrong language.
11924         (c_common_decode_option): Complain about wrong languages
11925         here.
11926
11927 2002-08-24  Stuart Hastings  <stuart@apple.com>
11928
11929         * function.h (struct function): Add flag
11930         all_throwers_are_sibcalls.
11931         * except.c (set_nothrow_function_flags): Replaces
11932         nothrow_function_p. Set new flag.
11933         * except.h (set_nothrow_function_flags): Replaces
11934         nothrow_function_p.
11935         * dwarf2out.c (struct dw_fde_struct): Add flag
11936         all_throwers_are_sibcalls.
11937         (output_call_frame_info): Test it.
11938         (dwarf2out_begin_prologue) Propagate it from cfun to
11939         dw_fde_struct.
11940         * toplev.c (rest_of_compilation): Update calls to
11941         nothrow_function_p.
11942
11943 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
11944
11945         * ggc-page.c (compute_inverse): Short circuit calculation for
11946         object sizes larger than half a page.
11947
11948 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
11949
11950         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
11951         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
11952         default.
11953         (rs6000_elf_unique_section): Likewise.
11954
11955 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11956
11957         * ns32k.c (ns32k_globalize_label): Delete.
11958         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
11959
11960 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
11961
11962         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
11963         for loading delta with num_insns_constant_wide.  Calculate
11964         delta_low, delta_high without using a conditional.
11965
11966 2002-08-22  Jason Merrill  <jason@redhat.com>
11967
11968         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
11969         * c-common.def: Adjust.
11970         * c-dump.c (c_dump_tree): Adjust.
11971         * c-semantics.c (genrtl_return_stmt): Adjust.
11972         * c-pretty-print.c (pp_c_statement): Adjust.
11973         * tree-inline.c (copy_body_r): Adjust.
11974
11975 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
11976
11977         * ggc-page.c: Avoid division in ggc_set_mark.
11978         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
11979         compute_inverse): New.
11980         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
11981         (init_ggc): Initialize inverse_table.
11982
11983 2002-08-22  Tom Tromey  <tromey@redhat.com>
11984
11985         * doc/install.texi (Configuration): Document --datadir.
11986
11987 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
11988
11989         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
11990
11991 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
11992
11993         * gengtype-lex.l (ID): Allow underscore as first character.
11994
11995 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
11996
11997         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
11998         function.
11999         (rs6000_xcoff_asm_named_section): Rename.
12000         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12001
12002 2002-08-21  Tom Tromey  <tromey@redhat.com>
12003
12004         For PR java/6005 and PR java/7611:
12005         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
12006         (fold): Likewise.
12007         * langhooks.c (lhd_can_use_bit_fields_p): New function.
12008         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
12009         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
12010         (LANG_HOOKS_INITIALIZER): Use it.
12011         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
12012         field.
12013
12014 2002-08-21  Stan Shebs  <shebs@apple.com>
12015
12016         * tree.c (finish_vector_type): Fix a typo in a comment.
12017         * Makefile.in: Fix "the the" stutters in comments.
12018         * genautomata.c: Ditto.
12019         * ifcvt.c: Ditto.
12020         * regrename.c: Ditto.
12021         * config/alpha/alpha.c: Ditto.
12022         * config/alpha/vms-crt0-64.c: Ditto.
12023         * config/alpha/vms-crt0.c: Ditto.
12024         * config/alpha/vms-psxcrt0-64.c: Ditto.
12025         * config/alpha/vms-psxcrt0.c: Ditto.
12026         * config/d30v/d30v.h: Ditto.
12027         * config/fr30/fr30.h: Ditto.
12028         * config/rs6000/rs6000.c: Ditto.
12029         * config/stormy16/stormy16.h: Ditto.
12030         * doc/md.texi: Ditto.
12031
12032 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12033
12034         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
12035
12036 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
12037
12038         * c-decl.c (grokdeclarator): Make invalid combinations with long,
12039         short, signed or unsigned into hard errors.  Fixes PR c/4319.
12040         Also make duplicate modifiers such as "short short" into hard
12041         errors.
12042
12043 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
12044             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12045
12046         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
12047         to the actual end.  Add '@end table' and '@table @code'.
12048
12049 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
12050
12051         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
12052
12053         * unroll.c (biv_total_increment): Don't try to compute the total
12054         increment for FP BIVs.
12055
12056 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12057
12058         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
12059         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
12060         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12061         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
12062         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
12063         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
12064         (GLOBAL_ASM_OP): Define.
12065         * arm.c (aof_globalize_label): New function.
12066         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
12067         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12068         * c4x.c (c4x_globalize_label): New function.
12069         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
12070         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
12071         (GLOBAL_ASM_OP): Define.
12072         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12073         * darwin-protos.h (darwin_globalize_label): Declare.
12074         * darwin.c (darwin_globalize_label): New function.
12075         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
12076         (ASM_GLOBALIZE_LABEL): Delete.
12077         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
12078         * dsp16xx.c (asm_output_common): Use target hook.
12079         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
12080         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
12081         (GLOBAL_ASM_OP): Define.
12082         * i370.c (i370_globalize_label): New function.
12083         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
12084         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
12085         * i386.c (ix86_asm_file_end): Use target hook.
12086         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
12087         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12088         * ia64.c (ia64_asm_output_external): Likewise.
12089         * ia64/sysv4.h: Update comment.
12090         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12091         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12092         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
12093         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12094         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
12095         * mmix-protos.h (mmix_asm_globalize_label): Delete.
12096         * mmix.c (mmix_asm_globalize_label): Likewise.
12097         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
12098         (GLOBAL_ASM_OP): Define.
12099         * ns32k.c (ns32k_globalize_label): New function.
12100         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
12101         (ASM_GLOBALIZE_LABEL): Delete.
12102         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
12103         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
12104         * pa.c (pa_globalize_label): New function.
12105         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
12106         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
12107         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
12108         (GLOBAL_ASM_OP): Define.
12109         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
12110         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12111         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
12112         (GLOBAL_ASM_OP): Define.
12113         * v850.c (v850_output_aligned_bss): Use target hook.
12114         * vax.c (vms_globalize_label): New function.
12115         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
12116         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
12117         (GLOBAL_ASM_OP): Define.
12118         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
12119         * doc/tm.texi: Update docs.
12120         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
12121         target hook.
12122         * final.c (output_alternate_entry_point): Likewise.
12123         * hooks.c (hook_FILEptr_constcharptr_void): New function.
12124         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
12125         * output.h (assemble_global): Delete.
12126         (default_globalize_label): Declare.
12127         * system.h (ASM_GLOBALIZE_LABEL): Poison.
12128         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12129         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
12130         * target.h (gcc_target): Add globalize_label member.
12131         * varasm.c (asm_output_bss, asm_output_aligned_bss,
12132         globalize_decl): Use target hook.
12133         (assemble_global): Delete.
12134         (default_globalize_label): New function.
12135
12136 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12137
12138         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
12139
12140 2002-08-20  Devang Patel  <dpatel@apple.com>
12141         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
12142
12143 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12144
12145         * arc.c (output_shift): Use stdio instead of asm_fprintf.
12146         * arm.c (thumb_output_function_prologue): Likewise.
12147         * avr.c (print_operand): Likewise.
12148         * c4x.c (c4x_print_operand): Likewise.
12149         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
12150         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
12151         * cris.c (cris_target_asm_function_prologue,
12152         cris_asm_output_mi_thunk): Likewise.
12153         * h8300.c (print_operand): Likewise.
12154         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12155         * ip2k.c (print_operand): Likewise.  Fix format specifier.
12156         * m68hc11.c (asm_print_register, print_operand,
12157         print_operand_address): Use stdio instead of asm_fprintf.
12158         (print_operand_address): Fix format specifier.
12159         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
12160         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
12161         asm_fprintf.
12162         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12163         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12164         * m68k.c (m68k_output_function_prologue,
12165         m68k_output_function_epilogue, print_operand): Likewise.
12166         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
12167         Likewise.  Fix format specifier.
12168         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12169         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12170         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12171
12172 2002-08-15  Eric Christopher  <echristo@redhat.com>
12173             Jeff Knaggs  <jknaggs@redhat.com>
12174
12175         * config.gcc (mipsisa64sr71k-elf): New target.
12176         * config/mips/sr71k.md: New file.
12177         * config/mips/mips.md: Use it.
12178         (rot*): Add sr71k specifics.
12179         * config/mips/t-sr71k: New file.
12180         * config/mips/mips.h (sr71k): New cpu.
12181         (TARGET_SR71K): Use it.
12182         (TUNE_SR71K): Ditto.
12183         (GENERATE_BRANCHLIKELY): Ditto.
12184         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
12185         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
12186         * config/mips/mips.c (sr71k): New cpu.
12187         (mips_use_dfa_pipeline_interface): Use.
12188
12189 2002-08-15  Eric Christopher  <echristo@redhat.com>
12190             Richard Sandiford <rsandifo@redhat.com>
12191             Aldy Hernandez  <aldyh@redhat.com>
12192             Graham Stott    <grahams@redhat.com>
12193             Michael Meissner  <meissner@redhat.com>
12194             Gavin Romig-Koch  <gavin@redhat.com>
12195             Ken Raeburn  <raeburn@cygnus.com>
12196             Alexandre Oliva <aoliva@redhat.com>
12197
12198         * config.gcc (mips64vr-elf): New target.
12199         * config/mips/5400.md: New file.
12200         * config/mips/5500.md: Ditto.
12201         * config/mips/mips.md: Use them.
12202         (frsqrt): New.
12203         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
12204         cpus.
12205         (mips_issue_rate): Use them.
12206         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
12207         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
12208         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
12209         cpus.
12210         (TARGET_MIPSx): Use them.
12211         (TUNE_MIPSx): Ditto.
12212         (GETNATE_MULT3_SI): Ditto.
12213         (ISA_HAS_BRANCHLIKELY): Ditto.
12214         (ISA_HAS_CONDMOVE): Ditto.
12215         (ISA_HAS_NMADD_NMSUB): Ditto.
12216         (ISA_HAS_MULHI): New. Ditto.
12217         (ISA_HAS_MULS): Ditto.
12218         (ISA_HAS_MSAC): Ditto.
12219         (ISA_HAS_MACC): Ditto.
12220         (ISA_HAS_ROTR_SI): Ditto.
12221         (ISA_HAS_ROTR_DI): Ditto.
12222         (RTX_COSTS): Use.
12223
12224 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12225
12226         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
12227         at head.
12228         (remove_dup_nonsys_dirs): New function.
12229         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
12230         (merge_include_chains): Remove non-system include directories from
12231         quote and bracket include chains when they duplicate equivalent system
12232         directories.
12233         * doc/cpp.texi (-I): Update.
12234         * doc/cppopts.texi (-I): Update.
12235         * doc/install.texi (--with-local-prefix): Further document usage of
12236         this option.
12237         * doc/invoke.texi (-I): Update.
12238
12239 2002-08-20  Richard Henderson  <rth@redhat.com>
12240
12241         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
12242         (emit_block_move): Split out subroutines.
12243         (emit_block_move_via_movstr): New.
12244         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
12245         (emit_block_move_libcall_fn): New.  Construct function prototype for
12246         bcopy as well.
12247         (clear_storage): Split out subroutines.
12248         (clear_storage_via_clrstr): New.
12249         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
12250         (clear_storage_libcall_fn): New.  Construct function prototype for
12251         bzero as well.
12252         (emit_push_insn): Use emit_block_move.
12253         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
12254         (store_constructor): Likewise.
12255
12256 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12257
12258         * objc/objc-act.c (building_objc_message_expr): Rename to
12259         current_objc_message_selector.
12260
12261 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12262
12263         * objc/objc-act.c (build_ivar_chain): Remove.
12264         (objc_copy_list): Likewise.
12265         (get_class_ivars): Inline call to removed build_ivar_chain
12266         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
12267         slot; use that slot (rather than CLASS_IVARS) when accessing
12268         ivars for base classes.  Call copy_list and chainon instead of
12269         objc_copy_list.
12270         (build_private_template): Call get_class_ivars instead of
12271         build_ivar_chain.
12272         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
12273         (continue_class): Call get_class_ivars instead of
12274         build_ivar_chain.
12275         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
12276         of DECL_BIT_FIELD (which may have been cleared).
12277         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
12278
12279 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12280
12281         * genautomata.c (output_translate_vect, output_state_ainsn_table,
12282         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
12283         in output file.
12284         (output_internal_min_issue_delay_func): Initialize variable in
12285         output file.
12286
12287 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
12288
12289         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
12290         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
12291
12292 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
12293             Steve Ellcey  <sje@cup.hp.com>
12294
12295         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
12296         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
12297         * explow.c (trunc_int_for_mode): Abort when the mode is not
12298         a scaler integer mode.
12299         * combine.c (expand_compound_operation): Don't expand Vector
12300         or Complex modes into shifts.
12301         (expand_field_assignment): Don't do bitwise arithmatic and
12302         shifts on Vector or Complex modes.
12303         (simplify_comparison): Don't call trunc_int_for_mode
12304         for VOIDmode.
12305         * recog.c (general_operand): Likewise.
12306         (immediate_operand): Likewise.
12307         (nonmemory_operand): Likewise.
12308
12309 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
12310
12311         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
12312         multi-instruction SImode constant.  Add REG_EQUAL note.
12313         * config/rs6000/rs6000.md (movsi splitter): Use
12314         rs6000_emit_set_const.
12315
12316 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12317
12318         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
12319         the macro test controlling its use.
12320
12321 2002-08-18  H.J. Lu  (hjl@gnu.org)
12322
12323         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
12324         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
12325         gnu_ld=yes.
12326         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
12327         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
12328         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
12329         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
12330         here.
12331         (cris-*-linux*): Remove setting thread_file here.
12332
12333 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
12334
12335         PR preprocessor/7602
12336         * cppinit.c (path_include): Treat the system environment
12337         variables as being cxx_aware.
12338
12339 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
12340
12341         * c-decl.c (flexible_array_type_p): New function.
12342         (grokdeclarator, finish_struct): Use it.
12343         * doc/extend.texi: Document constraints on use of structures with
12344         flexible array members.
12345
12346 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
12347
12348         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
12349         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
12350         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
12351
12352 2002-08-16  Stan Shebs  <shebs@apple.com>
12353
12354         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
12355         for ObjC with -fnext-runtime.
12356         * doc/cpp.texi: Document it.
12357
12358 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
12359
12360         * doc/install.texi (Final installation): Replace links to individual
12361         build status pages with a link to a common page that lists them all.
12362
12363 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
12364
12365         * doc/invoke.texi: Fix typo.
12366
12367 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
12368
12369         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
12370
12371 2002-08-16  Andrew Haley  <aph@redhat.com>
12372
12373         * tree-inline.c: Add includes for Java inliner.
12374         (remap_decl): Don't handle anonymous types for Java.
12375         (remap_block): Add handling for Java trees.
12376         (copy_scope_stmt): Conditionalize for non-Java use only.
12377         (copy_body_r): Handle Java trees.  Add handling for
12378         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
12379         (initialize_inlined_parameters):  Handle Java trees.
12380         (declare_return_variable): Likewise.
12381         (expand_call_inline): Handle Java trees.
12382         (walk_tree): Likewise.
12383         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
12384         (add_stmt_to_compound): New function.
12385
12386 2002-08-15  Richard Henderson  <rth@redhat.com>
12387
12388         * Makefile.in (LOOSE_WARN): Remove -fno-common.
12389         (NOCOMMON_FLAG): New substitution point.
12390         (GCC_WARN_CFLAGS): Include it.
12391         * configure.in (ac_checking): Set nocommon_flag.
12392         (nocommon_flag): New substitution point.
12393
12394 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
12395
12396         * c-tree.h (skip_evaluation): Move declaration...
12397         * c-common.h: ... here.
12398         * c-typeck.c (build_external_ref): Don't assemble_external nor
12399         mark a tree as used if skip_evaluation is set.
12400         * c-parse.in (typeof): New non-terminal to set skip_evaluation
12401         around TYPEOF.
12402         (typespec_nonreserved_nonattr): Use it.
12403
12404 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
12405
12406         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
12407         (xcoff_debug_hooks): Update end_prologue.
12408         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
12409         * debug.h (end_prologue): Add file arg.
12410         (end_epilogue): Add line and file args.
12411         (dwarf2out_end_epilogue): Add line and file args.
12412         (vmsdbgout_after_prologue): Remove.
12413         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
12414         (dwarf2_debug_hooks): Update end_prologue.
12415         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
12416         (dwarfout_end_prologue): Add file arg.
12417         * final.c (vmsdbgout_after_prologue): Remove
12418         (final_end_function): Update end_epilogue call.
12419         (final_scan_insn): Update end_prologue call.
12420         * sdbout.c (sdbout_end_epilogue): Add line and file args.
12421         (sdbout_end_prologue): Add file arg.
12422         (sdb_debug_hooks): Update end_prologue.
12423         (sdb_begin_prologue): Update sdbout_end_prologue call.
12424         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
12425         vmsdbgout_end_function.
12426         (vmsdbgout_end_prologue): New function renamed from
12427         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
12428         (vmsdbgout_end_function): New function.
12429         (vmsdbgout_end_epilogue): Add line and file args. Call
12430         vmsdbgout_source_line.
12431         (write_pclines): Write only valid line numbers.
12432         (write_srccorr): Don't write source correlation records if 0 lines.
12433         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
12434
12435 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
12436
12437         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
12438         (_Unwind_Internal_Ptr): 32 bit version for use in
12439         read_encoded_value_with_base.
12440         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
12441         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
12442         right size.
12443
12444 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12445
12446         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
12447         signed/unsigned warnings.
12448
12449         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
12450         record_reg_classes): Likewise.
12451
12452         * reload.c (reload_inner_reg_of_subreg, push_reload,
12453         find_reloads_address_1): Likewise.
12454
12455 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
12456
12457         * rs6000.c (output_mi_thunk): Return to function section on
12458         TARGET_ELF.
12459
12460         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
12461
12462 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
12463
12464         * config/s390/s390.c (legitimize_address): Optimize loading
12465         of large displacements.
12466
12467 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
12468
12469         * config/alpha/alpha-protos.h: Update.
12470
12471         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
12472         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
12473         (alpha_linkage_symbol_p): New static function.
12474         (print_operand_address): Print linkage operand.
12475
12476         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
12477         variables.
12478         (reloc_kind): New enum.
12479         (struct alpha_funcs): New struct.
12480         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
12481
12482         (alpha_need_linkage): Rewrite.
12483         (alpha_use_linkage): New global function.
12484         (alpha_write_linkage): Rewrite and make static.
12485         (alpha_write_one_linkage): Rewrite
12486
12487         (alpha_start_function): Remove procedure descriptor output.
12488         (alpha_end_function): Write linkages at end of each function.
12489
12490         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
12491         (call_vms_1, call_value_vms_1): Rewrite.
12492
12493         * config/alpha/vms.h (ASM_FILE_END): Remove.
12494
12495 2002-08-14  Richard Henderson  <rth@redhat.com>
12496
12497         * ggc-page.c (RTL_SIZE): New.
12498         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
12499         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
12500
12501 2002-08-14  Richard Henderson  <rth@redhat.com>
12502
12503         * calls.c: Include target.h.
12504         * Makefile.in (calls.o): Update.
12505
12506         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
12507         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
12508
12509 2002-08-14  Richard Henderson  <rth@redhat.com>
12510
12511         * Makefile.in (LOOSE_WARN): Add -fno-common.
12512         * c-common.h (constant_string_class_name): Add missing extern.
12513
12514 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
12515
12516         PR preprocessor/7358
12517         * c-opts.c (check_deps_environment_vars): Ignore main file
12518         for SUNPRO_DEPENDENCIES.
12519         * cppfiles.c (stack_include_file): Ignore main file if
12520         appropriate.
12521         * cpplib.h (struct cpp_options): New member in deps.
12522         * doc/cppenv.texi: Update.
12523
12524 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12525
12526         PR preprocessor/7526
12527         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
12528
12529 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
12530
12531         * doc/invoke.texi (-a): Remove documentation.
12532         (-fprofile-arcs): Remove reference to -a, -ax options.
12533         * doc/gcov.texi (Gcov Data Files): Data might be merged.
12534
12535 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12536
12537         Fix PR/7566
12538         * c-semantics.c (genrtl_case_label): Don't (mis)use
12539         warning_with_decl.
12540
12541 2002-08-14  Dale Johannesen  <dalej@apple.com>
12542
12543         * explow.c (emit_stack_restore):  Emit memory clobbers
12544         preceding the stack pop, to prevent the scheduler from
12545         moving refs to variable arrays below this pop.
12546         * reload1.c (reload):  Preserve these clobbers for sched2.
12547         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
12548
12549 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12550
12551         * c-opts.c (c_common_post_options): Correct test.
12552
12553 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12554
12555         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
12556         order in call to fprintf.
12557
12558 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12559
12560         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
12561
12562 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
12563
12564         * reload.c (find_reloads): Handle constraint letters marked by
12565         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
12566         (alternative_allows_memconst): Likewise.
12567         * reload1.c (maybe_fix_stack_asms): Likewise.
12568         * recog.c (asm_operand_ok, preprocess_constraints,
12569         constrain_operands): Likewise.
12570         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
12571         * local-alloc.c (block_alloc, requires_inout): Likewise.
12572         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
12573
12574         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
12575         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
12576         * doc/tm.texi: Document these two new target macros.
12577
12578         * config/s390/s390.c (s390_expand_plus_operand): Accept already
12579         valid operands.
12580         (q_constraint): New function.
12581         config/s390/s390-protos.h (q_constraint): Declare it.
12582         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
12583         (EXTRA_MEMORY_CONSTRAINT): New macro.
12584
12585         * config/s390/s390.md: Throughout the machine description,
12586         replace all instances of the constraint combinations 'Qo'
12587         or 'oQ' with simply 'Q'.
12588
12589 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12590
12591         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
12592         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
12593         (LIBGCC2_CFLAGS): Compile with -mrelax.
12594
12595 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12596
12597         * doc/invoke.texi: Document -minmax for 68HC12.
12598
12599         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
12600         ("uminqi3"): Likewise.
12601         ("uminhi3", "umaxhi3"): Likewise.
12602
12603         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
12604         (TARGET_MIN_MAX): Define.
12605         (TARGET_SWITCHES): New option -minmax/-mnominmax.
12606
12607 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12608
12609         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
12610         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
12611
12612         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
12613         (ret, declare, farsym): New gas macros.
12614         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
12615         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
12616         and declare the symbol far when compiled with -mlong-calls.
12617         (__far_trampoline): New for 68HC12 trampoline code to invoke a
12618         far handler using jsr/bsr.
12619
12620         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
12621         (jsr): New macro to transform a 'jsr' into a 'call'.
12622
12623 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12624
12625         * doc/invoke.texi: Document -mlong-calls for 68HC12.
12626
12627         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
12628         -mlong-calls is specified.
12629         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
12630         assembler directives.
12631         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
12632         (TARGET_SWITCHES): Add -mlong-calls options.
12633         (current_function_far): Declare.
12634
12635         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
12636         into account the page register saved on the stack.
12637         (m68hc11_override_options): Take into account -mlong-calls option.
12638         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
12639
12640         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
12641         if the function is going to be in 68HC12 banked memory (-mlong-calls).
12642         ("*return_16bit"): Likewise.
12643         ("*return_void"): Likewise.
12644         ("call", "call_value"): Use call for a far function call.
12645
12646 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12647
12648         * toplev.c (parse_options_and_default_flags): Don't call
12649         post_options here.
12650         (general_init): Initialize GC, pools and tree hash here,
12651         instead of lang_independent_init.
12652         (lang_independent_init): Rename backend_init.
12653         (do_compile): Call post_options hook; exit early if there
12654         have been errors after switch processing.
12655         (toplev_main): Update.
12656
12657 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12658
12659         * c-pretty-print.h: Guard against multiple inclusion.
12660         Robustify macros.
12661         (pp_c_attributes): Declare.
12662         * c-pretty-print.c (pp_c_attributes): New function.
12663
12664 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12665
12666         * m68k.c (m68k_output_function_prologue,
12667         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
12668         and NEWS/MOTOROLA.
12669         * genattrtab.c: Remove dpx2 comment.
12670         * libgcc2.c (__enable_execute_stack): Delete versions for
12671         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
12672         sony_news/SYSTYPE_BSD.
12673         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
12674         __gmicro__, __i860__, __NeXT__ and __pyr__.
12675         * rtl.h: Remove convex comment.
12676         * varasm.c: Likewise.
12677
12678 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12679
12680         * c-opts.c (lang_flags): Const-ify.
12681         * ra-build.c (undef_table): Likewise.
12682         * ra.c (eliminables): Likewise.
12683
12684 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12685
12686         * tree.h: Guard against multiple inclusion.
12687
12688 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
12689
12690         * reload1.c (reload_cse_simplify): Before checking
12691         REG_FUNCTION_VALUE_P, check REG_P.
12692
12693 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
12694
12695         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
12696
12697 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12698
12699         * c-opts.c (c_common_init_options): Extra braces needed.
12700
12701 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12702
12703         * sh.c (sh_init_builtins): Add PARAMS to declaration.
12704         (sh_media_init_builtins, sh_expand_builtin): Likewise.
12705         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
12706         (sh_expand_binop_v2sf): Likewise.
12707         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
12708         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
12709         (sh_initialize_trampoline): Likewise.
12710
12711 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
12712
12713         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
12714         new condition code modes.
12715         s390.c (s390_match_ccmode_set): Handle those new CC modes.
12716         (s390_select_ccmode): Likewise.
12717         (s390_branch_condition_mask): Likewise.
12718
12719         * s390-protos.h (s390_tm_ccmode): Declare.
12720         s390.c (s390_tm_ccmode): New function.
12721         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
12722
12723         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
12724         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
12725         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
12726
12727         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
12728         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
12729         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
12730         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
12731         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
12732
12733         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
12734         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
12735         "*cmpqi_ccs_0"): Remove, replace by ...
12736         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
12737         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
12738         "*tstqi", "*tstqi_cconly"): ... these new patterns.
12739
12740         ("*cmpsidi_ccs"): Remove, replace by ...
12741         ("*cmpsi_ccs_sign"): ... this new pattern.
12742         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
12743
12744         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
12745         ("*cli"): ... this new pattern.
12746
12747         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
12748         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
12749         New patterns.
12750         ("adddi3_64"): Rename to "*adddi3_64".
12751         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
12752         ("adddi3"): Adapt expander.
12753
12754         ("*addsi3_cc"): Allow "general_operand" for operand 2.
12755         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
12756         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
12757
12758         ("addhi3", "addqi3"): Remove, replace by ...
12759         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
12760
12761         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
12762         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
12763         ("subdi3"): Replace by insn and splitter "*subdi3_31".
12764         ("subdi3"): New expander.
12765
12766         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
12767
12768         ("subhi3", "subqi3"): Remove, replace by ...
12769         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
12770
12771         ("*muldi3_sign"): New pattern.
12772         ("muldi3"): Do not clobber CC.
12773         ("mulsi3"): Likewise.
12774         ("mulsi_6432"): Likewise.
12775
12776 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12777
12778         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
12779         which can change CC0.
12780
12781 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
12782
12783         * gcse.c (adjust_libcall_notes): New function.
12784         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
12785
12786 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
12787
12788         * libgcc2.c (L_bb): Remove unneeded #includes.
12789         (__global_counters, __gthreads_active): Remove unused globals.
12790         (__bb_exit_func): Merge counts into files rather than appending.
12791         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
12792         (ALL_CFLAGS): ... to here.
12793
12794 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12795
12796         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
12797         (function_epilogue): Don't calculate function size.
12798         (ip2k_set_compare): Don't use lookup_const_double.
12799         (asm_file_start): Initialization of commands_in_file removed.
12800         (asm_file_end): Output of commands_in_file removed.
12801
12802         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
12803         __INT_MAX__.
12804
12805 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12806
12807         * c-opts.c (c_common_init_options): Check option array is
12808         sorted if checking enabled.
12809
12810 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
12811
12812         * c-pretty-print.c: #include "c-tree.h".
12813         (pp_c_simple_type_specifier): Tweak.
12814         (pp_c_storage_class_specifier): New.
12815         (pp_c_function_specifier): Likewise.
12816         (pp_c_declaration_specifiers): Likewise.
12817         (pp_c_init_declarator): Likewise.
12818         (pp_c_declaration): Likewise.
12819         (pp_c_direct_declarator): Stub.
12820         (pp_c_declarator): Likewise.
12821         (pp_c_parameter_declaration): Likewise.
12822
12823 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12824
12825         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
12826         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
12827         struct deferred_opt): New.
12828         (COMMAND_LINE_OPTIONS): Add -M*.
12829         (missing_arg): Update.
12830         (c_common_decode_option): Handle -M*.
12831         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
12832         don't call cpp_post_options.
12833         (c_common_finish, check_deps_environment_vars): Update.
12834         * cppfiles.c (stack_include_file, handle_missing_header): Update.
12835         * cpphash.h (CPP_PRINT_DEPS): Remove.
12836         * cppinit.c: Don't include version.h.
12837         (cpp_create_reader): Don't call deps_init.  Initialize
12838         warn_long_long.
12839         (cpp_read_main_file): Init deps if necessary.
12840         (cpp_destroy): Conditionally free deps.
12841         (cpp_finish): Update.
12842         (no_tgt): Remove.
12843         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
12844         (cpp_post_options): Rename post_options.
12845         * cpplib.h (struct cpp_options): Remove some dependency options;
12846         move others to a new structure.
12847         (cpp_post_options): Remove.
12848         (cpp_finish): Comment.
12849         * fix-header.c (read_scan_file): Don't call cpp_post_options.
12850
12851 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12852
12853         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
12854         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
12855         MMIX_rR_REGNUM as clobbered.
12856         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
12857
12858 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
12859
12860         * diagnostic.h (output_formatted_scalar): Rename from
12861         output_formatted_integer.
12862         * diagnostic.def: Add DK_DEBUG.
12863         * diagnostic.c (output_decimal): Adjust.
12864         (output_long_decimal): Likewise.
12865         (output_unsigned_decimal): Likewise.
12866         (output_octal): Likewise.
12867         (output_long_octal): Likewise.
12868         (output_hexadecimal): Likewise.
12869         (output_long_hexadecimal): Likewise.
12870         * c-pretty-print.c (pp_c_type_specifier): New function.
12871         (pp_c_specifier_qualifier_list): Likewise.
12872         (pp_c_abstract_declarator): Likewise.
12873         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
12874
12875 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
12876
12877         * doc/trouble.texi (Disappointments): Add static constructor and
12878         destructor dependency information for AIX.
12879
12880 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12881
12882         * cpphash.h (struct printer): New from cppmain.c.
12883         (cpp_reader): New member.
12884         * cppmain.c (struct printer): Move to cpphash.h.
12885         (options, print): Remove.
12886         (account_for_newlines, print_line, maybe_print_line,
12887         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
12888         scan_translation_unit_trad, cb_line_change, cb_ident,
12889         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
12890         cb_def_pragma): Make reentrant.
12891
12892 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12893
12894         * real.c (ieee_64): Always define.
12895         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12896         (dec_h): Not used yet, hide it.
12897         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
12898         macro controlling use.
12899         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12900
12901 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12902
12903         * i386.md (tablejump): Sign extend the operand.
12904         * i386.c (classify_argument): Fix missed case from previous patch.
12905
12906 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12907
12908         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
12909         to c-copts.c.
12910         (warn_multichar): Die.
12911         (cb_register_builtins): Export.
12912         * c-common.h (warn_multichar, preprocess_file): Remove.
12913         (cb_register_builtins): New.
12914         * c-lang.c (c_init): Remove.
12915         (LANG_HOOKS_INIT): Use c_objc_common_init.
12916         * c-lex.c (init_c_lex): Don't canonicalize filename.
12917         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
12918         (preprocess_file): Make static.  Update for cpplib.
12919         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
12920         (c_common_post_options): Set some cpp options here.
12921         (c_common_init): Move from c-common.c.
12922         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
12923         * cpplib.h (struct cpp_options): Remove in_fname.
12924         (cpp_preprocess_file): Update.
12925         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
12926
12927 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12928
12929         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
12930
12931 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12932
12933         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
12934         backslash in comment preceeding macro definition.
12935         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
12936         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
12937         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
12938
12939 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12940
12941         * expr.c (store_expr): In condition for checking if value is
12942         generated in TARGET, move call to expr_size last.
12943
12944 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
12945
12946         * c-common.c (c_common_init): Call preprocess_file instead.
12947         (c_common_finish): Move to c-opts.c.
12948         * c-common.h (preprocess_file): new.
12949         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
12950         check_deps_environment_vars, c_common_finish): New.
12951         (c_common_decode_option): Update for out_fname and dependencies.
12952         * cppinit.c (init_dependency_output, output_deps): Remove.
12953         (cpp_destroy): Update prototype.
12954         (cpp_add_dependency_target): New.
12955         (cpp_read_main_file): Don't overlay a buffer.
12956         (cpp_finish): Take a deps output stream and write deps to it.
12957         Return the error count.
12958         (cpp_post_options): Don't canonicalize out_fname, or do anything
12959         with dependencies.
12960         * cpplib.h (struct cpp_options): Remove out_fname and
12961         preprocess_only.
12962         (cpp_add_dependency_target): New.
12963         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
12964         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
12965         set preprocess_only.  Don't handle the output stream directly.
12966
12967 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12968
12969         * dsp16xx.c (print_operand): Fix format specifier.
12970         * dsp16xx.md: Avoid automatic aggregate initialization.
12971         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
12972         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
12973         integer constant modifier.
12974         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
12975         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
12976         guards.
12977         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
12978         * v850.c (v850_select_section): Mark parameter with
12979         ATTRIBUTE_UNUSED.
12980         * global.c (global_alloc): Const-ify.
12981         * ra-colorize.c (hardregset_to_string): Fix format specifier.
12982
12983 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12984
12985         * darwin-c.c (darwin_pragma_options): Const-ify.
12986         * darwin.c (machopic_non_lazy_ptr_name,
12987         machopic_validate_stub_or_non_lazy_ptr): Likewise.
12988         (machopic_indirect_data_reference): Wrap variables in macros
12989         controlling their use.
12990         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
12991         (machopic_select_section): Use parentheses around && within ||.
12992         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
12993
12994 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12995
12996         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
12997         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
12998         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
12999         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
13000         mdr_try_remove_redundant_insns, track_w_reload,
13001         mdr_try_wreg_elim): Make function static to match prototype.
13002         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
13003         parameter with ATTRIBUTE_UNUSED.
13004
13005 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13006
13007         * arc.c (arc_init): Don't use ISO C style function definitions.
13008         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
13009         arm_get_strip_length, arm_strip_name_encoding): Likewise.
13010         * avr.h (progmem_section): Likewise.
13011         * h8300.c h8300_asm_insn_count): Likewise.
13012         * m32r.c (init_idents): Likewise.
13013         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
13014         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
13015         * xtensa.c (xtensa_build_va_list): Likewise.
13016
13017 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
13018
13019         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
13020         * c-opts.c (parse_option): Rename find_opt.
13021         (set_std_c99): New function.
13022         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
13023         (missing_arg): Remove OPT_std_bad.  Handle -o.
13024         (c_common_decode_option): Handle input and output file names,
13025         -o and -remap.  Clean up -std= handling.
13026         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
13027         (cpp_handle_option): Similarly.  Don't handle filenames.
13028
13029 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
13030
13031         * i386.c (classify_argument): Fix computing of field's offsets.
13032
13033 2002-08-11  Andreas Jaeger  <aj@suse.de>
13034
13035         PR target/7531:
13036         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
13037
13038 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
13039
13040         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
13041         reference to clk_objective_c with flag_objc.
13042         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
13043         Likewise.
13044         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
13045
13046 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
13047
13048         * c-opts.c (set_std_cxx98, set_std_c89): New.
13049         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13050         (c_common_decode_option): Handle new switches from cppinit.c.
13051         Add -std=gnu++98.
13052         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
13053         (no_arg, no_num): Remove.
13054         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
13055         switches apart from -lang-objc and lang-asm.
13056         (cpp_handle_option): Similarly.
13057         * cpplib.h (cpp_set_lang): New.
13058         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
13059         -std=gnu++98.
13060         * objc/lang-specs.h: Remove -ansi.
13061
13062 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
13063                                Graham Stott
13064
13065         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
13066         errors.
13067
13068 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13069
13070         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
13071         emit_jump_insn): Fix uninitialized variable.
13072         * gcov.c (init_line_info): Likewise.
13073         * genautomata.c (transform_3): Add braces around ambiguous
13074         else.
13075         * ifcvt.c (cond_exec_process_insns): Mark parameter with
13076         ATTRIBUTE_UNUSED.
13077         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
13078         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
13079         variable.
13080
13081         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
13082         warnings in output files.
13083
13084 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
13085
13086         * c-common.c (flag_objc): New.
13087         * c-common.h (c_language_kind): Get rid of clk_objective_c
13088         enum value.
13089         (flag_objc): New extern declaration.
13090         * c-decl.c (implicitly_declare): Call objc_check_decl
13091         instead of maybe_objc_check_decl.
13092         (finish_decl): Likewise.
13093         (grokfield): Likewise.
13094         (finish_struct): Likewise.
13095         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
13096         (maybe_objc_comptypes): Rename to objc_comptypes.
13097         (maybe_building_objc_message_expr): Rename to
13098         objc_message_selector.
13099         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
13100         replace with flag_objc as needed.
13101         * c-opts.c (c_common_init_options): Likewise.
13102         (c_common_decode_option): Likewise.
13103         * c-parse.in (init_reswords): Likewise.
13104         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
13105         (maybe_objc_comptypes): Rename to objc_comptypes.
13106         (maybe_building_objc_message_expr): Rename to
13107         objc_message_selector.
13108         * c-typeck.c (comptypes): Call objc_comptypes instead of
13109         maybe_objc_comptypes, and/or objc_message_selector instead of
13110         maybe_building_objc_message_expr.
13111         (comp_target_types): Likewise.
13112         (convert_for_assignment): Likewise.
13113         (warn_for_assignment): Likewise.
13114         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
13115         independently of those for other languages.
13116         * objc/objc-act.c (maybe_objc_comptypes): Delete.
13117         (maybe_objc_check_decl): Delete.
13118         (maybe_building_objc_message_expr): Rename to
13119         objc_message_selector.
13120         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
13121         clk_objective_c; set flag_objc flag.
13122
13123 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
13124
13125         * ifcvt.c (find_if_case_2): Test correct basic block for size.
13126
13127 2002-08-09  Dale Johannesen  <dalej@apple.com>
13128
13129         * config/rs6000/rs6000.md: Add sibcall patterns.
13130         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
13131         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
13132         Rewritten to handle sibcalls.
13133         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
13134         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
13135
13136 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13137
13138         * profile.c (da_file_name): New static var.
13139         (init_branch_prob): Initialize it.
13140         (end_branch_prob): Remove da file.
13141
13142         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
13143         * configure.in (coverage_flags): Default to nothing.
13144         * configure: Rebuilt.
13145
13146 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
13147
13148         * Makefile.in (c-opts.o): Update
13149         * c-opts.c: Include intl.h.
13150         (print_help): Move from cppinit.c.  Remove unused options.
13151         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13152         (missing_arg): Complain for switches without an argument.
13153         (c_common_decode_option): Reject missing joined arguments.
13154         Handle new switches from cppinit.c.
13155         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13156         (cpp_handle_option): Similarly.
13157         (print_help): Moved to c-opts.c.
13158         * cpplib.h (struct cpp_options): Remove help_only.
13159         * gcc.c (cpp_unique_options): Remove -$.
13160         * doc/cppopts.texi: Undocument -h.
13161
13162 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13163
13164         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
13165         legitimate constant.
13166         (legitimate_pic_operand_p): Neither pic operand.
13167         (legitimate_address_p): But legitimate address.
13168         (get_thread_pointer): Generate MEM/u instead of CONST around
13169         UNSPEC_TP.
13170         (print_operand): Remove printing of UNSPEC_TP.
13171         (print_operand_address): And print it here.
13172
13173 2002-08-08  Devang Patel  <dpatel@apple.com>
13174
13175         * objc/objc-act.c (build_selector_translation_table): Issue warning,
13176         when  -Wselector is used,if method for which selector is being
13177         created does not exist.
13178
13179 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
13180
13181         * config/sh/sh.c (prepare_move_operands): Only call
13182         target_reg_operand if TARGET_SHMEDIA.
13183
13184 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13185
13186         * config/rs6000/rs6000.h, config/rs6000/aix.h,
13187         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
13188         two patches.
13189         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
13190
13191 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
13192             Richard Henderson  <rth@redhat.com>
13193
13194         * emit-rtl.c (gen_rtx_REG): After reload, only return
13195         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
13196
13197 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13198
13199         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
13200         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
13201         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
13202         macro.
13203
13204 2002-08-08  Adam Nemet  <anemet@lnxw.com>
13205
13206         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
13207         register.
13208         (thumb_expand_prologue): Likewise.
13209         (thumb_output_function_prologue): Likewise.
13210         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
13211         the additional push of the PIC register.
13212
13213 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13214
13215         * configure.in (enable_coverage): New enable switch.
13216         * configure: Rebuilt.
13217         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
13218         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
13219         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
13220         (mostlyclean): Remove coverage files.
13221         * doc/install.texi: Document enable_coverage.
13222
13223         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
13224         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
13225         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
13226         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
13227         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
13228         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
13229         files.
13230
13231 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
13232
13233         * c-opts.c (cpp_opts): New.
13234         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
13235         (c_common_decode_options): Handle cpplib switches.
13236         (c_common_init_options): Set cpp_opts.
13237         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13238         (cpp_handle_option): Similarly.
13239
13240 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
13241
13242         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
13243         (TARGET_ALTIVEC_ABI): Same.
13244         (TARGET_ALTIVEC_VRSAVE): Same.
13245
13246         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
13247         icode not CODE_FOR_nothing.  Change switch to if.
13248
13249 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
13250
13251         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
13252
13253 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13254
13255         * stor-layout.c (place_union_field): For bitfields if
13256         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
13257         TYPE_USER_ALIGN.
13258
13259 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13260
13261         * pa.c (struct deferred_plabel): Constify name field.
13262
13263 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13264
13265         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
13266
13267 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13268
13269         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
13270         local_prefix are the same.
13271         * configure: Rebuilt.
13272
13273 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
13274             Richard Henderson  <rth@redhat.com>
13275
13276         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
13277         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
13278         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
13279         (place_field): Likewise.
13280         * config/i386/i386.c (x86_field_alignment): Don't check
13281         DECL_USER_ALIGN here.
13282         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
13283         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
13284         prototype.
13285         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
13286         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
13287         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
13288         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
13289         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
13290         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
13291
13292 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13293
13294         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
13295         * c-common.c: Don't include tree-inline.h.
13296         (c_common_init_options, c_common_post_options): Move to c-opts.c.
13297         * c-common.h (c_common_decode_option): New.
13298         * c-decl.c (c_decode_option): Remove.
13299         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
13300         * c-opts.c: New file.
13301         * c-tree.h (c_decode_option): Remove.
13302         * doc/passes.texi: Update.
13303         * objc/objc-act.c (objc_decode_option): Remove.
13304         * objc/objc-act.h (objc_decode_option): Remove.
13305         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
13306         c_common_decode_option.
13307
13308 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
13309
13310         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
13311         dependency on TARGET_DOUBLE_FLOAT.
13312
13313 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
13314
13315         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
13316         overwrite callee-save registers.  Fix comment.
13317
13318 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
13319
13320         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
13321         in target_flags based on ISA, if it was not set on the command
13322         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
13323         support Branch Likely instructions.
13324         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
13325         (TARGET_BRANCHLIKELY): Likewise.
13326         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
13327         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
13328         ISA_HAS_BRANCHLIKELY.
13329         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
13330         * doc/invoke.texi: Document new MIPS -mbranch-likely and
13331         -mno-branch-likely options.
13332
13333 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13334
13335         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
13336
13337         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
13338         $(GCONFIG_H).
13339
13340 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
13341
13342         * c-decl.c (duplicate_decls): Error out for incompatible TLS
13343         declarations.
13344
13345         * testsuite/gcc.dg/tls/diag-3.c: New.
13346
13347 2002-08-06  Dale Johannesen  <dalej@apple.com>
13348
13349         * c-common.c (fname_decl): Use line number 0 for
13350         __func__, to avoid confusing debuggers.
13351
13352 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
13353
13354         * gcov.c: Tidy.
13355         (struct line_info, struct coverage): New structures.
13356         (gcov_file_name, gcov_file): Remove globals.
13357         (output_data): Take source file parameter. Fix memory leak. Break
13358         up into ...
13359         (init_line_info, output_line_info, make_gcov_file_name,
13360         accumulate_branch_counts): ... here.
13361         (calculate_branch_probs, function_summary): Adjust.
13362         (main): Adjust.
13363         (function_*): Remove global variables.
13364
13365 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13366
13367         * dwarf2out.c: Remove unused macros.
13368
13369 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13370
13371         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
13372
13373 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13374
13375         * cppinit.c (struct lang_flags): Rename trigraphs std.
13376         (set_lang): Update.
13377         * cpplib.h (struct cpp_options): New member std.
13378         * cppmacro.c (_cpp_builtin_macro_text): Use std.
13379         (collect_args): Flag whether to swallow a possible future
13380         comma pasted with varargs.
13381         (replace_args): Use this flag.
13382         * doc/cpp.texi: Update varargs extension documentation.
13383
13384 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13385
13386         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
13387
13388 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13389
13390         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
13391         and MODE_CLASS_INT modes.
13392
13393 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13394
13395         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
13396         --{enable,disable}-threads is given to configure.
13397         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
13398         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
13399         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
13400         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
13401         Remove thread_file setting here.
13402
13403 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
13404
13405         * doc/install.texi (Binaries): Update Bull Freeware URL.
13406
13407 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13408
13409         * doc/gcc.texi (Top): Rename Index to Keyword Index.
13410
13411 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
13412
13413         * gcov.c (output_data): Round to % to nearest, tweak formatting.
13414
13415 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
13416
13417         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
13418         of the operands into MINUS_EXPR if code is PLUS_EXPR.
13419
13420 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
13421
13422         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
13423         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
13424         drectve_section): Define.
13425         * config/i386/t-interix: Replace interix.o rule with winnt.o.
13426         * config/i386/interix.c: Remove.
13427
13428 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
13429
13430         * attribs.c: Don't include obstack.h.
13431         * builtins.c: Likewise.
13432         * cfganal.c: Likewise.
13433         * cfgbuild.c: Likewise.
13434         * cfgcleanup.c: Likewise.
13435         * emit-rtl.c: Likewise.
13436         * loop.c: Likewise.
13437         * stmt.c: Likewise.
13438
13439         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
13440
13441 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
13442
13443         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
13444
13445 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
13446
13447         * doc/invoke.texi: Remove duplicated paragraph describing
13448         TARGET_SWITCHES.
13449
13450 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
13451
13452         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
13453         * collect2.h (permanent_obstack): Delete declaration.
13454         * collect2.c (permanent_obstack): Delete definition.
13455         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
13456         * expr.c: Don't include obstack.h.
13457         (permanent_obstack): Delete declaration.
13458         * function.c: Don't include obstack.h.
13459         (permanent_obstack): Delete declaration.
13460         * integrate.c: Don't include obstack.h.
13461         (function_maybepermanent_obstack): Delete declaration.
13462         * print-tree.c (debug_tree): Use x*alloc not permalloc.
13463         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
13464         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
13465         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
13466         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
13467         of permalloc, expralloc, perm_calloc.
13468         * tree.c (permanent_obstack): Delete definition.
13469         (init_ttree): Rename from init_obstacks.
13470         (permalloc): Delete.
13471         (perm_calloc): Delete.
13472         (dump_tree_statistics): Don't print information about
13473         permanent_obstack.
13474         * varasm.c (assemble_start_function): Use xstrdup instead of
13475         permalloc/strcpy.
13476         (assemble_variable): Likewise.
13477         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
13478         permalloc.
13479         (unicosmk_add_extern): Likewise.
13480         * config/c4x/c4x.c (c4x_external_ref): Likewise.
13481         (c4x_global_label): Likewise.
13482         * config/frv/frv.c (frv_encode_section_info): Likewise.
13483         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
13484         (i386_pe_record_exported_symbol): Likewise.
13485         * config/mips/mips.c (mips_output_external): Likewise.
13486         (mips_output_external_libcall): Likewise.
13487         * config/pa/pa.c: (permanent_obstack): Delete declaration.
13488         (output_call): Use ggc_strdup instead of allocating on
13489         permanent_obstack.
13490         * config/romp/romp.c: Include ggc.h.
13491         (get_symref): Don't declare permanent_obstack, use ggc_strdup
13492         intead of permanent_obstack.
13493         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
13494         instead of permalloc.
13495         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
13496         instead of permalloc
13497         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
13498         instead of permalloc.
13499         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
13500         permalloc.
13501
13502 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
13503
13504         Contribute a port developed primarily by Michael Meissner,
13505         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
13506         * config.gcc: Add frv-elf target.
13507         * config/frv/cmovd.c: New file.
13508         * config/frv/cmovh.c: New file.
13509         * config/frv/cmovw.c: New file.
13510         * config/frv/frv-abi.h: New file.
13511         * config/frv/frv-asm.h: New file.
13512         * config/frv/frv-modes.def: New file.
13513         * config/frv/frv-protos.h: New file.
13514         * config/frv/frv.c: New file.
13515         * config/frv/frv.h: New file.
13516         * config/frv/frv.md: New file.
13517         * config/frv/frvbegin.c: New file.
13518         * config/frv/frvend.c: New file.
13519         * config/frv/lib1funcs.asm: New file.
13520         * config/frv/media.h: New file.
13521         * config/frv/modi.c: New file.
13522         * config/frv/t-frv: New file.
13523         * config/frv/uitod.c: New file.
13524         * config/frv/uitof.c: New file.
13525         * config/frv/ulltod.c: New file.
13526         * config/frv/ulltof.c: New file.
13527         * config/frv/umodi.c: New file.
13528         * config/frv/xm-frv.h: New file.
13529
13530         * config/frv/media.h: Removed again.
13531
13532 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13533
13534         * gcov.c (bb_file_time): New static variable.
13535         (object_directory): May also be object file.
13536         (preserve_paths): New static variable.
13537         (print_usage): Adjust.
13538         (options): Adjust.
13539         (process_args): Adjust.
13540         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
13541         file. Find modification date on bb file.
13542         (read_profile): Don't rewind a NULL file.
13543         (format_hwint): New static function.
13544         (function_summary): Use format_hwint.
13545         (output_data): SOURCE_FILE_NAME is never relative to
13546         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
13547         mangling. Adjust output format to make it more machine readable.
13548         * doc/gcov.texi: Document & clarify semantics.
13549
13550 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
13551
13552         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
13553
13554 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13555
13556         * gcc.c (cc1_options): Pass output file as auxbase when
13557         appropriate.
13558         * profile.c (init_branch_prob): FILENAME has already had ending
13559         stripped.
13560         * final.c (end_final): Likewise.
13561         * toplev.c (aux_base_name): New global.
13562         (compile_file): Pass aux_base_name to init init_branch_prob and
13563         end_final.
13564         (independent_decode_option, case 'a'): New auxinfo options.
13565         (case 'd'): Protect against mising basename.
13566         (do_compile): Initialize aux_base_name.
13567         * toplev.h (aux_base_name): New global.
13568         * doc/invoke.texi: Adjust documentation.
13569
13570 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13571
13572         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
13573         of TARGET_ALIGN_DOUBLE.
13574
13575 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
13576
13577         * diagnostic.c (inform): New function.
13578         * diagnostic.h (inform): Declare.
13579
13580 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
13581
13582         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
13583         (movhi_internal): Same.
13584         (movqi_internal): Same.
13585         (movdi_internal64): Same.
13586
13587         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
13588
13589         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
13590         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
13591         (COMMON_ASM_OP): Define.
13592         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
13593         Use ALIGN parameter.
13594         (LOCAL_COMMON_ASM_OP): Define.
13595         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
13596
13597 2002-08-03  Roger Sayle  <roger@eyesopen.com>
13598
13599         * builtins.def: Define new builtin functions exp, expf, expl,
13600         log, logf and logl (and their __builtin_* variants).
13601         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
13602         Define exp_optab and log_optab.
13603         * optabs.c (init_optans): Initialize exp_optab and log_optab.
13604         * genopinit.c (optabs): Implement exp_optab and log_optab
13605         using exp?f2 and log?f2 patterns.
13606         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
13607         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
13608         (expand_builtin): Ignore the new builtins (and all cos and
13609         sin variants) when not optimizing.  Expand new builtins via
13610         expand_builtin_mathfn when flag_unsafe_math_optimizations.
13611
13612         * doc/extend.texi: Document new exp and log builtins.
13613         * doc/md.texi: Document new exp?f2 and log?f2 patterns
13614         (and previously undocumented cos?f2 and sin?f2 patterns).
13615
13616 2002-08-03  Jason Merrill  <jason@redhat.com>
13617
13618         * explow.c (int_expr_size): New fn.
13619         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
13620         * expr.h: Declare it.
13621
13622 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
13623
13624         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
13625         gengtype-* dependencies.
13626
13627 2002-08-02  Eric Christopher  <echristo@redhat.com>
13628
13629         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
13630         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
13631         #ifndef to #undef.
13632         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
13633
13634 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
13635
13636         PR optimize/7067
13637         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
13638         small if optimizing for size.
13639
13640 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
13641
13642         * configure.in (FORBUILD): Use $build_alias.
13643         * configure: Regenerated.
13644
13645 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
13646
13647         * config.gcc: Don't include mips/abi64.h in $tm_file.
13648         * hard-reg-set.h (call_really_used_regs): Declare.
13649         * config/mips/abi64.h: Remove file.
13650         * config/mips/linux.h,
13651         * config/mips/iris6.h: Don't include it.
13652         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
13653         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
13654         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
13655         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
13656         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
13657         Bring across definitions from abi64.h.
13658         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
13659         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
13660         (struct mips_args): Use it.
13661         * config/mips/mips.c (mips_conditional_register_usage): Define.
13662
13663 2002-08-02  Jason Merrill  <jason@redhat.com>
13664
13665         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
13666         * langhooks.c (lhd_expr_size): Define default.
13667         * langhooks.h (struct lang_hooks): Add expr_size.
13668         * explow.c (expr_size): Call it.
13669         * expr.c (store_expr): Don't copy an expression of size zero.
13670         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
13671         to store.
13672         * Makefile.in (builtins.o): Depend on langhooks.h.
13673
13674 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13675
13676         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
13677         * ra-debug.c: Include "tm_p.h".
13678         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
13679
13680 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
13681
13682         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
13683         when not honoring signalling NaNs.
13684         (simplify_ternary_operation): a == b has a definite value
13685         when not honoring NaNs.
13686
13687 2002-08-02  Jason Merrill  <jason@redhat.com>
13688
13689         * gdbinit.in (pct): New macro.
13690
13691 2002-08-01  Stan Shebs  <shebs@apple.com>
13692             Andreas Tobler  <toa@pop.agri.ch>
13693
13694         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
13695         plays nice with Darwin headers.
13696         (_BSD_RUNE_T_DEFINED_): Likewise.
13697
13698 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13699
13700         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
13701         * cppinit.c (cpp_post_options): Likewise.
13702
13703         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
13704         warning about 'LL' suffix (but not 'ULL' etc) when
13705         -Wno-long-long is in effect.
13706
13707         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
13708         Check for failing time()/localtime(), issue a warning, and
13709         make __TIME__ and __DATE__ expand to fallback strings.
13710
13711         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
13712         and __TIME__ when the date and time cannot be determined.
13713
13714 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13715
13716         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
13717
13718 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
13719
13720         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
13721
13722 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13723
13724         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
13725         (mipsisa64sb1el-*-elf*): Likewise.
13726         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
13727         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
13728         (TARGET_SB1, TUNE_SB1): New macros.
13729         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
13730         -mtune flags.
13731
13732 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
13733
13734         * varasm.c (asm_emit_uninitialized): Return false if global BSS
13735         and ASM_EMIT_BSS not supported by target.
13736         (assemble_variable): Do not duplicate uninitialized logic.
13737         Fall through if asm_emit_uninitialized failed.
13738
13739 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13740
13741         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
13742
13743 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13744
13745         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
13746         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
13747
13748         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
13749         HOST_BITS_PER_WIDE_INT == 64.
13750
13751 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13752
13753         * df.c (df_insn_table_realloc): Change parameter to unsigned.
13754         * optabs.c (expand_binop): Make variable unsigned.
13755         * simplify-rtx.c (simplify_subreg): Likewise.
13756         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
13757
13758 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13759
13760         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
13761
13762 2002-08-01  Richard Henderson  <rth@redhat.com>
13763
13764         * toplev.c (parse_options_and_default_flags): Don't set
13765         flag_reorder_blocks for -Os.
13766
13767         * config/avr/avr.c (avr_optimization_options): Remove.
13768         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
13769         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
13770         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
13771
13772 2002-08-01  H.J. Lu <hjl@gnu.org>
13773             Richard Henderson  <rth@redhat.com>
13774
13775         * output.h (DECL_READONLY_SECTION): Remove.
13776         (decl_readonly_section): Declare.
13777         * varasm.c (decl_readonly_section): New.
13778         (default_section_type_flags, default_select_section): Use it.
13779         * config/arm/pe.c (arm_pe_unique_section): Likewise.
13780         * config/i386/interix.c (i386_pe_unique_section): Likewise.
13781         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
13782         * config/mcore/mcore.c (mcore_unique_section): Likewise.
13783         * config/mips/mips.c (mips_unique_section): Likewise.
13784
13785 2002-08-01  Richard Henderson  <rth@redhat.com>
13786
13787         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
13788         refers to a subroutine parameter.
13789
13790 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
13791
13792         * varasm.c (assemble_visibility): Strip name encoding.
13793
13794 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
13795
13796         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
13797         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
13798         when there is no frame pointer.
13799         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
13800         registers properly.
13801         * config/ns32k/__unorddf2.c: New file.
13802         * config/ns32k/__unordsf2.c: New file.
13803         * config/ns32k/t-ns32k: New file.
13804         * config.gcc (ns32k-*-netbsd*): Use it.
13805
13806 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
13807
13808         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
13809
13810 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13811
13812         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
13813
13814 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
13815
13816         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
13817
13818 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
13819
13820         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
13821
13822 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13823
13824         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
13825         n_sets): Removed.
13826         (expr_hash_table, set_hash_table): Type changed to ...
13827         (struct hash_table): New type.
13828         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
13829         insert_expr_in_table, insert_set_in_table, compute_hash_table,
13830         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
13831         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
13832         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
13833         (alloc_hash_table): New.
13834         (free_set_hash_table, free_expr_hash_table): Merged to ...
13835         (free_hash_table): New.
13836         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
13837         (compute_hash_table_work): New.
13838         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
13839         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
13840         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
13841         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
13842         hoist_code, one_code_hoisting_pass,
13843         trim_ld_motion_mems): Altered due to changed type of hash tables.
13844
13845 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13846
13847         * final.c (output_alternate_entry_point):
13848         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
13849
13850 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13851
13852         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
13853         avoid ISO C style function definition.
13854
13855         * expr.c (expand_assignment): Delete unused variable.
13856
13857 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
13858
13859         * c-common.c (cb_register_builtins): Set
13860         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
13861         is given, and to 0 otherwise.
13862         * combine.c (simplify_if_then_else): HONOR_NANS
13863         implies FLOAT_MODE_P.
13864
13865 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13866
13867         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
13868         (cpp_handle_option): Don't handle it.
13869         (print_help): Update.
13870         * doc/cppopts.texi: Update.
13871
13872 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13873
13874         * c-common.c (cb_register_builtins): If C++, define
13875         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
13876         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
13877 cp:
13878         * lang-specs.h: Simplify in accordance with new code in
13879         c-common.c.
13880
13881 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13882
13883         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
13884         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
13885         * c-decl.c: Move all warning and flag variables to c-common.c.
13886         * c-format.c: Move all warning variables to c-common.c.
13887         * c-tree.h: Move all warning and flag declarations to c-common.h.
13888         * objc/objc-act.c: Move all warning variables to c-common.c.
13889         (flag_warn_protocol): Rename warn_protocol.
13890
13891 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13892
13893         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
13894
13895 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
13896
13897         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
13898         .section prefix.
13899
13900 2002-07-31  Stan Shebs  <shebs@apple.com>
13901
13902         * config.gcc (i[34567]86-*-darwin*): New configuration.
13903         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
13904         defining.
13905         (TARGET_ENCODE_SECTION_INFO): Ditto.
13906         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
13907         * config/darwin.c (machopic_indirect_data_reference): Remove
13908         setting of RTX_UNCHANGING_P.
13909         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
13910         not to be applied to sums.
13911         * config/i386/t-darwin: New file.
13912         * config/i386/darwin.h: New file.
13913         * config/i386/i386.h (TARGET_MACHO): Add default definition.
13914         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
13915         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
13916         label and not the GOT add.
13917         (constant_address_p): For Mach-O, seeing a CONST is enough.
13918         (legitimate_pic_address_disp_p): Add a Mach-O case.
13919         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
13920         (legitimize_pic_address): Use generic Mach-O code to legitimize.
13921         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
13922         if outputting a difference.
13923         (ix86_output_addr_diff_elt): Add Mach-O case.
13924         (ix86_expand_move): Similarly.
13925         (ix86_expand_call): Similarly.
13926         (current_machopic_label_num): New global.
13927         (machopic_output_stub): New function.
13928         (ix86_value_regno): New function.
13929         (ix86_function_value): Use it instead of VALUE_REGNO.
13930         (ix86_libcall_value): Ditto.
13931         * config/i386/unix.h (VALUE_REGNO): Remove.
13932
13933 2002-07-31  Graham Stott  <grahas@btinternet.com>
13934
13935         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
13936         hash for LABEL_REF's.
13937
13938 2002-07-31  Graham Stott  <grahams@btinternet.com>
13939
13940         * config/rs6000/rs6000.c (spe_init_builtins,
13941         altivec_init_builtins, rs6000_common_init_builtins):
13942         Replace ANSI with K&R function def.
13943
13944 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
13945
13946         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
13947         for CCFPmode.
13948
13949 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
13950
13951         * config/mips/crtn.asm: Don't use __mips16 to determine the
13952         return-address offset.  Define RA to a suitable temporary
13953         register for the return address.
13954
13955 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
13956
13957         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
13958         constraints to 'd'.
13959
13960 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
13961
13962         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
13963         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
13964         patch on 2002-07-29.)
13965         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
13966
13967 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13968
13969         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
13970         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
13971         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
13972         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
13973         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
13974         (ASM_GLOBALIZE_LABEL): Delete.
13975         (GLOBAL_ASM_OP): Define.
13976
13977         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
13978
13979         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
13980         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
13981
13982 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
13983
13984         * doc/extend.texi (Hints implementation): Document that GCC
13985         mostly ignores `register'.
13986
13987 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
13988
13989         * flags.h: Declare flag_finite_math_only.
13990         Use it in definition of HONOR_NANS and
13991         HONOR_INFINITIES.
13992         * c-common.c (cb_register_builtins): Emit
13993         __FINITE_MATH_ONLY__ when flag_finite_math_only
13994         is set.
13995         * combine.c (simplify_if_then_else): If
13996         flag_finite_math_only is set, a == b has a
13997         definite value.
13998         * toplev.c: Initialize flag_finite_math_only.
13999         (set_flags_fast_math): Set it on -ffast-math.
14000         (flag_fast_math_set_p): Test it.
14001         * doc/invoke.texi: Document -ffinite-math-only.
14002
14003 2002-07-30  Richard Henderson  <rth@redhat.com>
14004
14005         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
14006         (noce_process_if_block): Likewise.
14007
14008 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
14009
14010         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
14011         Bail out early if false_expr is NULL and we'd crash due to this.
14012         * genemit.c (gen_expand): Recognize return insns even if the return
14013         appears in a parallel.
14014         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
14015         * config/fp-bit.c: Likewise.
14016         * doc/tm.texi: Document it.
14017
14018 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
14019             Zack Weinberg  <zack@codesourcery.com>
14020
14021         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
14022         CODE_FOR_nothing.  Change switch to if.
14023         (rs6000_expand_binop_builtin): Same.
14024         (rs6000_expand_builtin): Expand builtin if target support enabled.
14025         (rs6000_init_builtins): Init builtin if target support enabled.
14026         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
14027
14028 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14029
14030         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
14031
14032 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
14033
14034         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
14035
14036 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
14037
14038         * sh.md (cond_delay_slot): New attribute.
14039         (cbranch delay): Use it for anulled-true case.
14040         (stuff_delay_slot): New pattern.
14041         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
14042         delay slot insn.
14043         (gen_far_branch): Emit stuff_delay_slot pattern.
14044
14045 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
14046
14047         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
14048
14049 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
14050
14051         * fold-const.c: Fix comment typos.
14052         * gcse.c: Likewise.
14053         * reload1.c: Likewise.
14054
14055 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14056
14057         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
14058         for TARGET_SPE.
14059
14060 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14061
14062         * c-pretty-print.h (pp_c_statement): Declare.
14063         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
14064         (pp_c_statement): Define.
14065
14066 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14067
14068         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
14069         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
14070         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
14071         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
14072         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
14073         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
14074
14075         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
14076         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
14077
14078 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14079
14080         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
14081         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
14082         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
14083         (pp_c_expression): Update.
14084
14085 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14086
14087         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
14088         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
14089         * alpha/vms-ld.c (main): Likewise.
14090         * dsp16xx.c (double_reg_to_memory): Likewise.
14091         * mcore.c (mcore_expand_prolog): Likewise.
14092         * cppfiles.c (read_name_map): Likewise.
14093         * gensupport.c (process_rtx, identify_predicable_attribute,
14094         alter_test_for_insn): Likewise.
14095         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
14096
14097 2002-07-29  Roger Sayle  <roger@eyesopen.com>
14098
14099         * builtins.c (expand_builtin):  Change the default behavior to
14100         only issue an error if the builtin function doesn't have a
14101         fallback library call.  Remove several cases handled by the
14102         new default.
14103
14104 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
14105
14106         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
14107         floating point format of the target is IEEE.
14108         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
14109         format of the target is DEC.
14110
14111 2002-07-29  Richard Henderson  <rth@redhat.com>
14112
14113         * unroll.c (verify_addresses): Remove.
14114         (find_splittable_givs): Never split DEST_ADDR givs.
14115
14116 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
14117
14118         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
14119         is exhaustive.
14120         (Files): Improve documentation on generated source files.
14121
14122         * doc/extend.texi (Translation implementation): Document what
14123         diagnostics look like.
14124         (Identifiers implementation): Document that there's normally no
14125         limit on identifier names.
14126         (Integers implementation): Document two's complement.
14127         (Hints implementation): Document that GCC honors 'inline', mostly.
14128         (Preprocessing directives implementation): Document that GCC
14129         requires the current time.
14130
14131 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14132
14133         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
14134         (pp_initializer): New macro.
14135         (pp_c_initializer): Declare.
14136         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
14137         (pp_c_initializer): Define.
14138         (pp_c_initializer_list): New function.
14139         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
14140         VECTOR_CST, CONSTRUCTOR.
14141         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
14142         IMAGPART_EXPR.
14143         (pp_c_cast_expression): Handle FLOAT_EXPR.
14144         (pp_c_assignment_expression): Handle INIT_EXPR.
14145         (pp_c_expression): Update.
14146
14147 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
14148
14149         * objc/objc-act.c (objc_init): Return immediately if filename
14150         is NULL.
14151
14152 2002-07-29  Eric Christopher  <echristo@redhat.com>
14153
14154         * config/mips/elf.h: Remove ecoff.h and gofast includes.
14155         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
14156         (SDB_DEBUGGING_INFO): Undefine.
14157         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
14158         (PUT_SDB_SIZE): Remove.
14159         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
14160         (STARTFILE_SPEC): Add isa3264 define.
14161         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
14162         * config/mips/ecoff.h: Remove. and here...
14163         * config/mips/iris3.h: and here...
14164         * config/mips/sni-svr4.h: and here...
14165         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
14166         Add assembler -mmdebug options for non-dwarf debugging.
14167         * config/mips/r3900.h: Remove debug info defines.
14168         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
14169         * config/mips/isa3264.h: Ditto.
14170         * config/mips/t-isa3264: Fix up for file removal and gofast configure
14171         change.
14172         * config/mips/t-elf: Ditto.
14173         * config/mips/t-ecoff: Ditto.
14174         * config/mips/t-r3900: Ditto.
14175         * config/mips/t-iris5-6: Ditto.
14176         * config/mips/t-isa3264: Ditto.
14177         * config/mips/t-linux: Remove.
14178         * config/mips/t-netbsd: Remove.
14179         * config/mips/t-mips: New file.
14180         * config/mips/t-gofast: Ditto.
14181         * config/mips/netbsd.h: Remove unnecessary undefines.
14182         * config/mips/linux.h: Remove #include of mips.h.
14183         * config.gcc: Add mips.h include for elf targets. Remove tm_file
14184         for ecoff. Add gofast configure option for mips.
14185
14186 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
14187
14188         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
14189         linker scripts use STARTUP directives consistently.
14190         * configure: Regenerate.
14191         * config.in: Regenerate.
14192         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
14193         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
14194         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14195         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
14196         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
14197         will be the same.
14198
14199 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14200
14201         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
14202
14203 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14204
14205         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
14206
14207 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
14208
14209         * config/rs6000/rs6000.md: Move altivec patterns from here...
14210
14211         * config/rs6000/altivec.md: ...to here.
14212
14213 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14214
14215         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
14216
14217 2002-07-29  Richard Henderson  <rth@redhat.com>
14218
14219         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
14220         set_mem_attributes and add BITPOS argument.  Subtract it from
14221         OFFSET when same is adjusted.
14222         (set_mem_attributes): New wrapper function.
14223         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
14224         remove offset adjustment hack.
14225         * expr.h (set_mem_attributes_minus_bitpos): Declare.
14226
14227 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14228
14229         * Makefile.in (C_OBJS): Include c-pretty-print.o
14230         (c-pretty-print.o): Add depency rule.
14231         * pretty-print.h: Add more macros.
14232         * c-pretty-print.c: New file.
14233         * c-pretty-print.h: Likewise.
14234
14235 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14236
14237         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
14238         constants to __ev64_s32__.
14239         (__internal_ev_mwhgsmian): Same.
14240         (__internal_ev_mwhgsmfan): Same.
14241         (__internal_ev_mwhgssfan): Same.
14242         (__internal_ev_mwhgumiaa): Same.
14243         (__internal_ev_mwhgsmiaa): Same.
14244         (__internal_ev_mwhgsmfaa): Same.
14245         (__internal_ev_mwhgssfaa): Same.
14246
14247 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
14248
14249         * varasm.c (assemble_variable): Narrow test for uninitialized
14250         without BSS target support.
14251
14252 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
14253
14254         * profile.c: Add file comment describing the overall algorithm and
14255         structures.
14256         (struct edge_info): Add comments.
14257         (struct bb_info): Add comments.
14258         * basic-block.h (EDGE_*): Add comments.
14259         * doc/gcov.texi (Gcov Data Files): Document bit flags.
14260
14261 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
14262
14263         * config/xtensa/elf.h, config/xtensa/linux.h
14264         (TARGET_OS_CPP_BUILTINS): Define.
14265         (CPP_PREDEFINES): Remove.
14266         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
14267         (CPP_SPEC): Remove.
14268
14269 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
14270
14271         * gensupport.c: Include hashtab.h.
14272         (insn_elision, condition_table, hash_c_test, cmp_c_test,
14273         maybe_eval_c_test): New routines and data structures to
14274         support insn elision.
14275         (init_md_reader): Read and initialize the condition_table.
14276         (read_md_rtx): Discard insn patterns whose C test is provably
14277         always false.
14278         * gensupport.h: Declare new functions and data structures.
14279
14280         * genconditions.c, dummy-conditions.c: New files.
14281         * Makefile.in: Build genconditions; run it to construct
14282         insn-conditions.c; build that and link it into most gen*
14283         programs.
14284         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
14285         (GEN): Delete, unused.
14286         (STAGESTUFF): Update.
14287
14288         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
14289         CODE_FOR_nothing for all elided patterns.
14290         (main): Tweaked to support this.
14291         * genflags.c (gen_proto): Emit a static inline generator
14292         function here for all elided patterns, which simply returns
14293         NULL_RTX.
14294         (gen_insn): Do not define HAVE_xxx for elided patterns.
14295         (main): Tweaked to support this.  No need to forward-declare
14296         struct rtx_def.
14297         * genrecog.c: Do not bother emitting the C test if it's known
14298         to be true at compile time.
14299
14300 2002-07-29  Mike Stump  <mrs@apple.com>
14301
14302         * config.gcc (target_gtfiles): Initialize, as otherwise cross
14303         compilers hosted on powerpc-apple-darwin6.0 won't even build.
14304
14305 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
14306
14307         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
14308         remove clobber of LR.
14309         (sibcall_insn, sibcall_value_insn): Update accordingly.
14310         (sibcall_epilogue): Remove debugging comment from assembler stream.
14311
14312 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14313
14314         * pretty-print.h: Define more macros.
14315         * diagnostic.h (output_formatted_integer): Moved from...
14316         * diagnostic.c: ... here.
14317
14318 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14319
14320         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
14321
14322 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
14323
14324         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
14325         arguments.  Always use ".-symbol" as expression argument.
14326         * doc/tm.texi: Update to match.  Document requirement for
14327         ".size symbol, .-symbol" to be acceptable to assembler.
14328
14329         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14330         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
14331         config/i386/freebsd-aout.h, config/i386/sco5.h,
14332         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
14333         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
14334
14335 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14336
14337         * Makefile.in (gengtype-lex.c): Fix error in last change.
14338
14339         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
14340         backslash.
14341
14342         * Makefile.in (vmsdbgout.o): Depend on function.h.
14343
14344         * vmsdbgout.c: Include function.h.
14345
14346 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
14347
14348         * prefix.c (update_path): Don't strip single `.' path components
14349         unless stripping a later `..' component.  Exit loop as soon as
14350         a valid path is found.
14351
14352 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14353
14354         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
14355         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
14356         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
14357         floating point unordered comparisons (e.g. __builtin_isgreater)
14358         as const, and leave the remaining GCC_BUILTINs unchanged.
14359
14360         * c-decl.c (builtin_function): No need to explicitly mark
14361         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
14362
14363 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14364
14365         * Makefile.in: rtlanal.o now depends upon real.h.
14366
14367         * flags.h [flag_signaling_nans]: New flag.
14368         [HONOR_SNANS]: New macro.
14369
14370         * toplev.c [flag_signaling_nans]: Initialize to false.
14371         (f_options): Add processing for "-fsignaling-nans".
14372         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
14373         (process_options): flag_signaling_nans implies flag_trapping_math.
14374
14375         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
14376         when -fsignaling-nans.  First step to implementing WG14's N965.
14377
14378         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
14379         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
14380         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
14381
14382         * simplify-rtx.c (simplify_relational_operation): Conditionalize
14383         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
14384
14385         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
14386         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
14387         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
14388         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
14389         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
14390
14391         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
14392
14393 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14394
14395         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
14396         * gengtype-lex.l (YY_USE_PROTOS): Undef.
14397         (YY_DECL): Define.
14398
14399 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14400
14401         * doc/invoke.texi: Document that both -fno-builtin-foo and
14402         -fno-builtin are supported by the g++ front-end.
14403
14404 2002-07-27  Stan Shebs  <shebs@apple.com>
14405
14406         * configure.in: Rename config_gtfiles to target_gtfiles.
14407         * configure: Regenerate.
14408         * doc/gty.texi: Update reference.
14409         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
14410         instead of appending to it.
14411
14412 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
14413
14414         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
14415         vectors are split into two registers.
14416         (function_arg): Same.
14417
14418 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
14419
14420         * pa.md (extv): Check predicates before emitting extv_32.
14421
14422 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
14423
14424         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
14425         (rs6000_traceback): New var.
14426         (rs6000_override_options): Set rs6000_traceback.
14427         (rs6000_output_function_epilogue): Implement traceback options.
14428         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
14429         (rs6000_traceback_name): Declare.
14430
14431         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
14432         label reference when NO_PROFILE_COUNTERS.
14433
14434 2002-07-26  Jason Merrill  <jason@redhat.com>
14435
14436         * function.c (assign_parms): Handle frontend-directed pass by
14437         invisible reference.
14438
14439 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14440
14441         * doc/cppopts.texi: Update.
14442
14443 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14444
14445         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
14446         warnings on assertions.
14447
14448 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14449
14450         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
14451         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
14452         RID_COMPL): Remove.
14453         * c-parse.in (rid_to_yy): Similarly.
14454
14455 2002-07-26  Jason Merrill  <jason@redhat.com>
14456
14457         * c-dump.c: Resurrect.
14458         * tree-dump.c: Move C-specific stuff to c-dump.c.
14459         * c-common.h: Declare c_dump_tree.
14460         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
14461         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
14462         (c-dump.o): New rule.
14463
14464 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
14465
14466         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
14467         PowerPC64.  Replace "T" and "S" constraints with "n" when the
14468         predicate will do.  Formatting fixes.
14469         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
14470         as for extzvsi_internal1.
14471
14472 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14473
14474         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
14475         DERIV_END_LABEL_FMT): Remove.
14476         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
14477
14478 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14479
14480         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
14481         Remove.
14482
14483 2002-07-25  Stan Shebs  <shebs@apple.com>
14484
14485         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
14486         local var dwarfp.
14487         (output_compiler_stub): Remove unused locals.
14488         (output_call): Always initialize line number.
14489
14490 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14491
14492         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
14493         * sh.md (truncdiqi2, movqi_media): Likewise.
14494
14495 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14496
14497         * gcse.c (obstack_chunk_alloc): Remove.
14498         (gcse_alloc): Fix to count allocated bytes.
14499         * collect2.c (SYMBOL__MAIN): Remove.
14500
14501 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14502
14503         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
14504         HAVE_TARGET_EXECUTABLE_SUFFIX.
14505
14506 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14507
14508         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
14509         SIZE, EXPR and OFFSET.
14510
14511 2002-07-25  Richard Henderson  <rth@redhat.com>
14512
14513         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
14514         in ARRAY_REF of DECL_P case.
14515
14516 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14517
14518         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
14519         description.  Document -mips32, -mips64, and the associated -march
14520         values.  Describe the "mipsN" arguments to -march.  Say that the
14521         -mipsN options are equivalent to -march.  Reword the description
14522         of default type sizes.
14523         * toplev.h (target_flags_explicit): Declare.
14524         * toplev.c (target_flags_explicit): New var.
14525         (set_target_switch): Update target_flags_explicit.
14526         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
14527         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
14528         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
14529         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
14530         * config/mips/mips.h (mips_cpu_info): New struct.
14531         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14532         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
14533         (MIPS_CPP_SET_PROCESSOR): New macro.
14534         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
14535         Define _MIPS_ARCH and _MIPS_TUNE.
14536         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
14537         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
14538         MIPS_ISA_DEFAULT were already defined.
14539         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
14540         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
14541         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
14542         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
14543         (ABI_GAS_ASM_SPEC): Remove.
14544         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
14545         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
14546         Invoke %(asm_abi_default_spec) if no ABI was specified.
14547         (CC1_SPEC): Remove ISA -> register-size rules.
14548         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
14549         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
14550         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14551         (mips_cpu_info_table): New array.
14552         (mips_set_architecture, mips_set_tune): New fns.
14553         (override_options): Rework to make -mipsN equivalent to -march.
14554         Detect more erroneous cases, including those removed from CC1_SPEC.
14555         Don't change the ABI based on architecture, or vice versa.
14556         Unify logic with GAS.
14557         (mips_asm_file_start): Get architecture name from mips_arch_info.
14558         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
14559         (mips_parse_cpu): Take the name of the option as argument.  Handle
14560         'from-abi'.  Raise an error if the option is wrong.
14561         (mips_cpu_info_from_isa): New fn.
14562
14563 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14564
14565         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
14566         (tablejump_mips162): Likewise.
14567
14568 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
14569
14570         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
14571         int_mode_for_mode.
14572
14573 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
14574
14575         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
14576         complaining.
14577         * c-common.h (c_sizeof): Adjust definition.
14578         (c_alignof): Likewise.
14579         * c-tree.h (c_sizeof_nowarn): Now macro.
14580         * c-typeck.c (c_sizeof_nowarn): Remove definition.
14581
14582 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14583
14584         * c-decl.c (c_decode_option): No need to handle switches
14585         cpplib handles.
14586
14587 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
14588
14589         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
14590         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
14591         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
14592         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14593
14594         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14595         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
14596         config/cris/aout.h, config/i386/freebsd-aout.h,
14597         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
14598         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
14599         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
14600         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
14601         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
14602         config/xtensa/elf.h, config/xtensa/linux.h:
14603         Use the new macros.
14604         Where possible, remove redundant definitions of SIZE_ASM_OP,
14605         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14606
14607 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
14608
14609         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
14610         TARGET_ISEL, and TARGET_FPRS.
14611
14612         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
14613         -mabi=spe, -mabi=no-spe, and -misel=.
14614
14615         * config/rs6000/rs6000-protos.h: Add output_isel.
14616         Move vrsave_operation prototype here.
14617
14618         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
14619         (smaxsi3): Same.
14620         (uminsi3): Same.
14621         (umaxsi3): Same.
14622         (abssi2_nopower): Disallow when TARGET_ISEL.
14623         (*ne0): Same.
14624         (negsf2): Change to expand and rename old pattern to *negsf2.
14625         (abssf2): Change to expand and rename old pattern to *abssf2.
14626
14627         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
14628         fixunssfsi2.
14629
14630         Change patterns that check for TARGET_HARD_FLOAT or
14631         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
14632
14633         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
14634         rs6000_isel, rs6000_fprs, rs6000_isel_string.
14635         (rs6000_override_options): Add 8540 case to
14636         processor_target_table.
14637         Set rs6000_isel for the 8540.
14638         Call rs6000_parse_isel_option.
14639         (enable_mask_for_builtins): New.
14640         (rs6000_parse_isel_option): New.
14641         (rs6000_parse_abi_options): Add spe and no-spe.
14642         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
14643         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
14644         for TARGET_HARD_FLOAT.
14645         Add case for SPE_VECTOR_MODE.
14646         (rs6000_legitimize_reload_address): Handle SPE vector modes.
14647         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
14648         vector modes.
14649         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
14650         (rs6000_emit_move): Check for TARGET_FPRS.
14651         Add cases for SPE vector modes.
14652         (function_arg_boundary): Return 64 for SPE vector modes.
14653         (function_arg_advance): Check for TARGET_FPRS and
14654         Handle SPE vectors.
14655         (function_arg): Same.
14656         (setup_incoming_varargs): Check for TARGET_FPRS.
14657         (rs6000_va_arg): Same.
14658         (struct builtin_description): Un-constify mask field.  Move up in
14659         file.
14660         (bdesc_2arg): Un-constify and add SPE builtins.
14661         (bdesc_1arg): Same.
14662         (bdesc_spe_predicates): New.
14663         (bdesc_spe_evsel): New.
14664         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
14665         (rs6000_expand_binop_builtin): Same.
14666         (bdesc_2arg_spe): New.
14667         (spe_expand_builtin): New.
14668         (spe_expand_predicate_builtin): New.
14669         (spe_expand_evsel_builtin): New.
14670         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
14671         (rs6000_init_builtins): Initialize SPE builtins.  Call
14672         rs6000_common_init_builtins.
14673         (altivec_init_builtins): Move all non-altivec builtin code to...
14674         (rs6000_common_init_builtins): ...here.  New function.
14675         (branch_positive_comparison_operator): Allow NE code for SPE.
14676         (ccr_bit): Return correct ccr bit for SPE fp.
14677         (print_operand): Emit crnor in 'D' case for SPE.
14678         New case 't'.
14679         Add SPE code for 'y' case.
14680         (rs6000_generate_compare): Generate rtl for SPE fp.
14681         (output_cbranch): Handle SPE hard floats.
14682         (rs6000_emit_cmove): Handle isel.
14683         (rs6000_emit_int_cmove): New.
14684         (output_isel): New.
14685         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
14686         64-bits for SPE.
14687         (debug_stack_info): Add SPE info.
14688         (gen_frame_mem_offset): New.
14689         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
14690         Change mode of frame pointer, when saving it, to Pmode.
14691         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
14692         Misc cleanups and use gen_frame_mem_offset when appropriate.
14693
14694         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
14695         (TARGET_SPE_ABI): New.
14696         (TARGET_SPE): New.
14697         (TARGET_ISEL): New.
14698         (TARGET_FPRS): New.
14699         (FIXED_SCRATCH): New.
14700         (RTX_COSTS): Add PROCESSOR_PPC8540.
14701         (ASM_CPU_SPEC): Add case for 8540.
14702         (TARGET_OPTIONS): Add isel= case.
14703         (rs6000_spe_abi): New.
14704         (rs6000_isel): New.
14705         (rs6000_fprs): New.
14706         (rs6000_isel_string): New.
14707         (UNITS_PER_SPE_WORD): New.
14708         (LOCAL_ALIGNMENT): Adjust for SPE.
14709         (HARD_REGNO_MODE_OK): Same.
14710         (DATA_ALIGNMENT): Same.
14711         (MEMBER_TYPE_FORCES_BLK): New.
14712         (FIRST_PSEUDO_REGISTER): Set to 113.
14713         (FIXED_REGISTERS): Add SPE registers.
14714         (reg_class): Same.
14715         (REG_CLASS_NAMES): Same.
14716         (REG_CLASS_CONTENTS): Same.
14717         (REGNO_REG_CLASS): Same.
14718         (REGISTER_NAMES): Same.
14719         (DEBUG_REGISTER_NAMES): Same.
14720         (ADDITIONAL_REGISTER_NAMES): Same.
14721         (CALL_USED_REGISTERS): Same.
14722         (CALL_REALLY_USED_REGISTERS): Same.
14723         (SPE_ACC_REGNO): New.
14724         (SPEFSCR_REGNO): New.
14725         (SPE_SIMD_REGNO_P): New.
14726         (HARD_REGNO_NREGS): Adjust for SPE.
14727         (VECTOR_MODE_SUPPORTED_P): Same.
14728         (REGNO_REG_CLASS): Same.
14729         (FUNCTION_VALUE): Same.
14730         (LIBCALL_VALUE): Same.
14731         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
14732         (SPE_VECTOR_MODE): New.
14733         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
14734         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
14735         (rs6000_stack): Add spe_gp_size, spe_padding_size,
14736         spe_gp_save_offset.
14737         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
14738         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
14739         (SPE_CONST_OFFSET_OK): New.
14740         (rs6000_builtins): Add SPE builtins.
14741
14742         * testsuite/gcc.dg/ppc-spe.c: New.
14743
14744         * config/rs6000/eabispe.h: New.
14745
14746         * config/rs6000/spe.h: New.
14747
14748         * config/rs600/spe.md: New.
14749
14750         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
14751         __SIMD__ for TARGET_SPE.
14752
14753         * config.gcc: Add powerpc-*-eabispe* case.
14754         Add spe.h to user headers for powerpc.
14755
14756 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14757
14758         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
14759         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14760         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
14761
14762 2002-07-24  Richard Henderson  <rth@redhat.com>
14763
14764         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
14765         form when not optimizing.
14766
14767 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
14768
14769         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
14770         thread_pointer_rtx as unchanging.
14771
14772 2002-07-24  Michael Matz  <matz@suse.de>
14773
14774         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
14775         (free_reg): Use it.
14776
14777 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
14778
14779         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
14780         pattern.
14781         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
14782         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
14783
14784 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14785
14786         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
14787         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14788         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
14789
14790 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
14791
14792         * toplev.c (rest_of_compilation): Dump loops before clobbering
14793         the structure.
14794
14795 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
14796
14797         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
14798
14799 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
14800
14801         PR optimization/7291
14802         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
14803         problem on x86_64.
14804
14805 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
14806
14807         * pretty-print.h: Add macros from cp/error.c
14808
14809 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14810
14811         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
14812         (mask64_2_operand): Declare.
14813         (build_mask64_2_operands): Declare.
14814         (and64_2_operand): Declare.
14815         (extract_MB): Declare.
14816         (extract_ME): Declare.
14817         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
14818         CONST_DOUBLE code.
14819         (mask_operand_wrap): New insn predicate.
14820         (mask64_2_operand): Likewise.
14821         (and64_2_operand): Likewise.
14822         (build_mask64_2_operands): New function.
14823         (extract_MB): New function.
14824         (extract_ME): New function.
14825         (print_operand <case m,M>): Use extract_MB and extract_ME.
14826         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
14827         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
14828         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
14829         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
14830         * config/rs6000/rs6000.md (andsi3_internal3): New
14831         (andsi3_internal3+1): Enable split for powerpc64.
14832         (andsi3_internal3+2): New split.
14833         (andsi3_internal4): Renamed old andsi3_internal3.
14834         (andsi3_internal5): New.
14835         (andsi3_internal5+1): Enable split for powerpc64.
14836         (andsi3_internal5+2): New split.
14837         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
14838         (anddi3): Handle 't' constraint.
14839         (anddi3+1): New split.
14840         (anddi3_internal2): Handle 't' constraint.
14841         (anddi3_internal2+1): New split.
14842         (anddi3_internal3): Handle 't' constraint.
14843         (anddi3_internal3+1): New split.
14844
14845 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14846
14847         * config/rs6000/rs6000.md: Remove scratch reg on insns using
14848         addze and similar (plus (comparison r1 r2) r3) insns.  Add
14849         missing scratch reg in one case.  Formatting fixes.
14850
14851 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
14852
14853         * cppexp.c (parse_defined): Mark macro used.
14854         * cpphash.h (struct cpp_macro): New member "used".
14855         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
14856         (struct cpp_reader): New member.
14857         * cppinit.c (cpp_finish_options): Set first_unused_line.
14858         (cpp_finish): Warn of unused macros if requested.
14859         (OPT_TABLE): New switches.
14860         (cpp_handle_option): Handle them.
14861         * cpplib.c (do_undef): Warn if macro unused.
14862         (do_ifdef, do_ifndef): Mark macro used.
14863         * cpplib.h (struct cpp_options): New member.
14864         * cppmacro.c (_cpp_warn_if_unused_macro): New.
14865         (enter_macro_context): Mark macro used.
14866         (_cpp_create_definition): Mark macro unused; warn if unused
14867         when redefined.
14868         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
14869         Mark macros used.
14870         * doc/cppopts.texi: Update.
14871
14872 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14873
14874         * dwarf2out.c (SECTION_ASM_OP,
14875         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14876         * system.h (SECTION_ASM_OP): Poison.
14877         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
14878         * config/alpha/alpha-interix.h, config/mips/linux.h
14879         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14880         * config/mmix/mmix-protos.h, config/mmix/mmix.c
14881         (mmix_asm_output_define_label_difference_symbol): Remove.
14882         * config/mmix/mmix.h
14883         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14884         * doc/tm.texi: Remove documentation.
14885
14886 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
14887
14888         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
14889         (constrain_operands): Likewise.
14890         * regclass.c (record_reg_classes): Likewise.
14891         * reload.c (find_reloads): Likewise.
14892         * doc/md.texi: Likewise.
14893
14894         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
14895         * simplify-rtx.c (simplify_subreg): When converting to a non-int
14896         mode, try to convert to an integer mode of matching size first.
14897
14898         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
14899         from individual subregs, check that each subreg has been generated
14900         sucessfully.
14901
14902 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14903
14904         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
14905         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
14906         FOR_EACH_BB_IN_SBITMAP): Remove.
14907         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
14908         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
14909         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
14910         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
14911         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
14912         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
14913
14914 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14915
14916         * pretty-print.h: New file.
14917
14918 2002-07-23      Paul Koning     <pkoning@equallogic.com>
14919
14920         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
14921         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
14922         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
14923         (TARGET_G_FLOAT): Default to 0 if not defined.
14924         (ieeetoe): New, common routine to convert target format floats
14925         to internal form.
14926         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
14927         vs. others.
14928         (e113toe): Change to use ieeetoe.
14929
14930 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
14931
14932         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
14933         IBM.
14934         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
14935         (e64toe): Remove special cases for DEC and IBM. Remove support for
14936         ARM_EXTENDED_IEEE_FORMAT.
14937         (e24toe): Remove special cases for DEC.
14938         (significand_size): Simplify. Indent.
14939         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
14940         (etoieee, toieee): New.
14941         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
14942         etoieee and toieee for IEEE arithmetic.
14943
14944 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14945
14946         * doc/extend.texi: Say ISO C90, not ISO C89.
14947         * doc/invoke.texi: Likewise.
14948         * doc/standards.texi: Likewise.
14949
14950 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
14951
14952         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
14953         Fix permutation of conversion and plus/mult.
14954         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
14955         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
14956         (expand_builtin_strncpy) Ditto.
14957         (expand_builtin_memset) Ditto.
14958
14959 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14960
14961         Fix PR/7363:
14962         * c-common.c (c_sizeof_or_alignof_type): New function.
14963         (c_alignof): Remove definition.
14964         * c-common.h (c_sizeof, c_alignof): Define as macros.
14965         (c_sizeof_or_alignof_type): Declare.
14966         (my_friendly_assert): Moved from cp/cp-tree.h
14967         * c-typeck.c (c_sizeof): Remove definition.
14968
14969 2002-07-23  Jan Hubicka  <jh@suse.cz>
14970
14971         * gcse.c (try_replace_reg): Use num_changes_pending.
14972         * recog.c (num_changes_pending): New function.
14973         (validate_replace_src): Use validate_repalce_src_group.
14974         (validate_replace_src_group): New.
14975         * recog.h (validate_repalce_src_group): New.
14976         (num_changes_pending): Likewise.
14977
14978 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
14979
14980         * calls.c (emit_library_call_value_1): If
14981         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
14982         libcall, const call nor pure call.
14983
14984 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14985
14986         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
14987
14988 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14989
14990         * vmsdbgout.c (SECTION_ASM_OP): Remove.
14991
14992 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14993
14994         * config/i386/i386.c (AT_BP): Remove.
14995
14996 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14997
14998         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
14999         Default definition.
15000         * gcse.c: Don't define obstack_chunk_free.
15001         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
15002         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
15003         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
15004         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
15005         Don't define obstack macros.
15006
15007 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
15008
15009         PR target/6744
15010         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
15011         ASM_OPERANDS instructions.
15012
15013 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
15014
15015         PR target/7361
15016         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
15017         constant addresses only on 68HC12.
15018
15019 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
15020
15021         * cppfiles.c (stack_include_file): Correct test of whether
15022         a dependency should be output.
15023
15024 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
15025
15026         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
15027
15028 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
15029
15030         * arm.md (movqi): If optimizing and we can create pseudos, use
15031         a ZERO_EXTEND to load from memory, then copy the result into the
15032         target.
15033         (movhi): Likewise, but only for ARMv4.
15034
15035 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
15036
15037         * ssa-ccp.c (PHI_PARMS): Remove.
15038
15039 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
15040
15041         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
15042         on big-endian targets.
15043
15044 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15045
15046         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
15047         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
15048         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
15049         New formatting macros.
15050
15051         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
15052
15053 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
15054
15055         * rtlanal.c (subreg_regno_offset): Return correct offset for
15056         big endian paradoxical subregs.
15057
15058         * optabs.c (expand_vector_unop): Don't expand using sub_optab
15059         if we got the wrong mode.
15060
15061         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
15062         * genrecog.c (write_switch, write_cond): Use it.
15063         * genemit.c (gen_exp): Likewise.
15064
15065 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15066
15067         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
15068
15069 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15070
15071         * c-decl.c (build_compound_literal): Defer compound literal decls
15072         until until file end to emit them only if they are actually used.
15073
15074 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15075
15076         * ra-build.c (check_conflict_numbers): Hide unused function.
15077         (livethrough_conflicts_bb): Avoid automatic aggregate
15078         initialization.
15079         (parts_to_webs_1): Avoid `U' integer constant modifier.
15080         (conflicts_between_webs): Wrap a variable in the macro controlling
15081         its usage.
15082         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
15083         (dump_igraph, dump_graph_cost): Avoid string concatenation
15084         (dump_static_insn_cost): Avoid automatic aggregate
15085         initialization.
15086         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
15087         initialization.
15088         (dump_cost): Avoid string concatenation
15089
15090 2002-07-21  Richard Henderson  <rth@redhat.com>
15091
15092         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
15093         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
15094
15095 2002-07-21  Richard Henderson  <rth@redhat.com>
15096
15097         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
15098         that are not unrolled completely.
15099
15100 2002-07-21  Richard Henderson  <rth@redhat.com>
15101
15102         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
15103         * loop.c (strength_reduce): Update.
15104         * toplev.c (rest_of_compilation): Do unrolling in the first
15105         loop pass, not the second.
15106
15107 2002-07-21  Richard Henderson  <rth@redhat.com>
15108
15109         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
15110         when flag_argument_noalias == 2.
15111         * alias.c (nonoverlapping_memrefs_p): Handle that.
15112         * print-rtl.c (print_mem_expr): Likewise.
15113
15114 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
15115
15116         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
15117         instead of __negdi2 directly.
15118
15119 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15120
15121         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
15122         * function.c (SYMBOL__MAIN): Remove definition.
15123         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
15124         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
15125         * profile.c (GCOV_INDEX_TO_BB): Remove.
15126         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
15127         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
15128
15129 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15130
15131         * c-lex.c (GET_ENVIRONMENT): Remove.
15132         * collect2.c (GET_ENV_PATH_LIST): Remove.
15133         (prefix_from_env): Use GET_ENVIRONMENT.
15134         * cppinit.c (GET_ENV_PATH_LIST): Remove.
15135         (init_standard_includes): Use GET_ENVIRONMENT.
15136         * defaults.h (GET_ENVIRONMENT): Define here if not already.
15137         * gcc.c (GET_ENV_PATH_LIST): Remove.
15138         (make_relative_prefix, process_command): Update.
15139         * protoize.c (GET_ENV_PATH_LIST): Remove.
15140         (do_processing): Update.
15141
15142 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
15143
15144         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
15145         (grokdeclarator): Likewise.
15146         * c-format.c (C_STD_NAME): Likewise.
15147         * c-lex.c (interpret_integer): Likewise.
15148         * c-typeck.c (build_array_ref): Likewise.
15149         * cpplex.c (_cpp_lex_direct): Likewise.
15150         * toplev.c (documented_lang_options): Likewise.
15151
15152 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15153
15154         * c-format.c (T99_I, T99_UI): Remove.
15155
15156 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15157
15158         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
15159
15160 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
15161
15162         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
15163         do_local_cprop.
15164
15165 2002-07-21  Andreas Jaeger  <aj@suse.de>
15166
15167         * reload1.c (fixup_abnormal_edges): Remove unused variable.
15168
15169 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
15170
15171         Improvements for the ifcvt pass from Michael Meissner, with patches
15172         by Richard Sandiford <rsandifo@redhat.com>
15173         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
15174         * ifcvt.c (cond_exec_changed_p): New static variable.
15175         (last_active_insn): New function, renamed from last_active_insn_p
15176         and changed to return the last active insn in a basic block. All
15177         callers updated.
15178         (block_fallthru): New function.
15179         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
15180         IFCVT_MODIFY_INSN.  All callers updated.
15181         Return false if START or END are NULL.
15182         Handle case where we're processing an insn that is already
15183         conditional.
15184
15185         (noce_process_if_block): CE_INFO argument rather than
15186         multiple args containing the involved basic blocks.  All callers
15187         changed.
15188         (process_if_block, merge_if_block, find_if_block,
15189         cond_exec_process_if_block): Likewise.
15190
15191         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
15192         changed.
15193         Use new function last_active_insn to simplify some code.
15194         New code to handle multiple tests.
15195         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
15196         cond_exec_changed_p to TRUE.
15197
15198         (process_if_block): New code to handle multiple tests.
15199         (merge_if_block): Likewise.
15200         (find_if_header): New arg PASS.  Changed to return the currently
15201         processed basic block or NULL instead of true/false. All callers
15202         changed.
15203         Call IFCVT_INIT_EXTRA_FIELDS.
15204         (block_jumps_and_fallthru_p): New function.
15205         (find_if_block): Discover opportunities to convert multiple tests.
15206         Add additional debugging output.
15207         Update the ce_info structure before returning.
15208
15209         (if_convert): Run multiple passes of if-conversion.
15210         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
15211         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
15212         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
15213         these macros.
15214
15215 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
15216
15217         * gcse.c: Include cselib.h
15218         (constptop_register): Break out from ...
15219         (cprop_insn): ... here; kill basic_block argument.
15220         (do_local_cprop, local_cprop_pass): New functions.
15221         (one_cprop_pass): Call local_cprop_pass.
15222
15223 2002-07-20  Roger Sayle  <roger@eyesopen.com>
15224
15225         * simplify-rtx.c (simplify_relational_operation): Optimize
15226         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
15227
15228 2002-07-20  Michae Matz  <matz@suse.de>
15229
15230         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
15231
15232 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
15233
15234         * cppexp.c (struct op): Add token pointer.
15235         (check_promotion, CHECK_PROMOTION): New.
15236         (optab): Update.
15237         (_cpp_parse_expr): Update, use token pointer of struct op.
15238         (reduce): Warn about change of sign owing to promotion.
15239         * cppinit.c (cpp_handle_option): New warning if -Wall.
15240         * cpplib.h (struct cpp_options): New member.
15241
15242 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
15243
15244         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
15245         fpu list.  Separate Power4 compare and delayed_compare.  Correct
15246         Power4 fpcompare.
15247         (fix_truncdfsi2_internal): Restore FPR preference.
15248         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
15249         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
15250
15251 2002-07-19  Momchil Velikov <velco@fadata.bg>
15252
15253         * reload1.c (reload_as_needed): Duplicate oldpat.
15254
15255 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
15256
15257         PR optimization/7130
15258         * loop.h (struct loop_info): Add "preconditioned".
15259         * unroll.c (unroll_loop): Set it.
15260         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
15261
15262 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
15263
15264         * rtl.def (CODE_LABEL): Remove slot 8.
15265         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
15266         (LABEL_ALTERNATE_NAME): Delete.
15267         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
15268         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15269
15270         * final.c (output_alternate_entry_point): New.
15271         (final_scan_insn): Use it instead of
15272         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
15273         of a case label being an alternate entry point.
15274
15275         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
15276         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
15277         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
15278         (field deleted).
15279         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
15280
15281         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
15282         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
15283         * doc/tm.texi: Delete documentation of
15284         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15285
15286 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15287
15288         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
15289         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
15290         (LINK_SPEC): Define.
15291         (STARTFILE_SPEC): Define.
15292         (ENDFILE_SPEC): Define.
15293
15294         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
15295         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
15296
15297         * config/mips/iris6-o32-gas.h: New file.
15298         * config.gcc (mips-sgi-irix6*o32): Use it.
15299
15300         * config/mips/t-iris5-gas: New file.
15301         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15302
15303 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
15304
15305         * cppexp.c (ALWAYS_EVAL): Remove.
15306         (optab, reduce): Always evaluate.
15307         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
15308         only if not skipping evaluation.
15309
15310 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15311
15312         * config/avr/avr.c (debug_hard_reg_set): Remove.
15313
15314 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
15315
15316         * gcc.c (cpp_options): Include "%1" (cc1_spec).
15317
15318 2002-07-19  Richard Henderson  <rth@redhat.com>
15319
15320         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
15321
15322 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
15323
15324         * prefix.c (update_path): Don't zap single `.' path components
15325         unless followed by another `.' and fix typo last patch.
15326
15327 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
15328
15329         * cppexp.c (cpp_num_mul): Remove unused parameter.
15330         (UNARY, BINARY, OTHER, binary_handler): Remove.
15331         (ALWAYS_EVAL): New.
15332         (optab): Update.
15333         (reduce): Refactor to a large switch, don't use a function
15334         pointer.
15335
15336 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
15337
15338         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
15339
15340 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
15341
15342         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
15343         (sh_expand_binop_v2sf): Likewise.
15344         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
15345         (int_gpr_dest, trunc_hi_operand): New functions.
15346         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
15347         trunc_hi_operand.
15348         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
15349         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
15350         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
15351         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
15352         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
15353         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
15354         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
15355         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
15356         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
15357         (movsf_ie+1): Likewise.
15358         (loaddi_trunc): Use int_gpr_dest predicate.
15359         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
15360         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
15361         (casesi_worker_0+[12], casesi_worker): Likewise.
15362         (shcompact_preserve_incoming_args): Likewise.
15363         (mov_nop): Use any_register_operand predicate.
15364         (mperm_w0): Use trunc_hi_operand predicate.
15365
15366 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15367
15368         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
15369         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
15370         numbering.
15371
15372 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15373
15374         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
15375
15376 2002-07-18  Richard Henderson  <rth@redhat.com>
15377
15378         PR optimization/7147
15379         * ifcvt.c (noce_get_condition): Make certain that the condition
15380         is valid at JUMP.
15381
15382 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
15383
15384         * sh.c (barrier_align, push): Shut up compiler warnings.
15385         (initial_elimination_offset,sh_media_init_builtins): Likewise.
15386         (reg_no_subreg_operand): Delete.
15387
15388 2002-07-17  Bo Thorsen  <bo@suse.de>
15389
15390         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
15391         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
15392         (STARTFILE_SPEC): Remove hardcoded library paths.
15393         (ENDFILE_SPEC): Likewise.
15394
15395 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
15396
15397         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
15398
15399         * gcse.c (try_replace_reg): Do not return false positives.
15400
15401 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15402
15403         * prefix.c: (update_path): Strip ".." components when prior dir
15404         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
15405
15406         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
15407         (ASM_OUTPUT_REG_POP): Likewise.
15408
15409 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15410
15411         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
15412         adjustments to first_reg for profiling case.
15413         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
15414         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
15415         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
15416         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
15417         (ASM_OUTPUT_REG_POP): Define.
15418         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
15419         (ASM_OUTPUT_REG_POP): Undef.
15420
15421 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15422
15423         * cpplib.c (do_sccs): Handle #sccs on all systems.
15424         * system.h (SCCS_DIRECTIVE): Poison.
15425         * config/darwin.h, config/freebsd.h, config/netbsd.h,
15426         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
15427         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
15428         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
15429         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
15430         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
15431         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
15432         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
15433         Remove all references to SCCS_DIRECTIVE.
15434         * doc/cpp.texi, doc/tm.texi: Update.
15435
15436 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
15437
15438         * regrename.c (maybe_mode_change): New function.
15439         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
15440
15441 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
15442
15443         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
15444         suppress addition when either ct or cf are zero.
15445
15446 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
15447             Glen Nakamura <glen@imodulo.com>
15448
15449         PR optimization/6713
15450         * loop.c (loop_givs_rescan): Explicitly delete the insn that
15451         sets a non-replaceable giv after issuing the new one.
15452
15453 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15454
15455         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
15456         eval_token): Clarify and correct use of "bool" variables.
15457         * cpplib.h (struct cpp_options): Similarly.
15458         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
15459         * cpptrad.c (recursive_macro): Similarly.
15460
15461 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
15462
15463         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
15464         SHmedia code.
15465
15466         * sh.md (cmpgtudi_media): Remove spurious @.
15467
15468         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
15469         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
15470
15471         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
15472         * sh-protos.h (sh_initialize_trampoline): Declare.
15473         * sh.c (sh_initialize_trampoline): New function.
15474         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
15475         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
15476         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
15477         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
15478         * sh.md (initialize_trampoline, double_shori): New patterns.
15479         (initialize_trampoline_compact): Likewise.
15480         (shmedia32_initialize_trampoline_big): Remove.
15481         (shmedia32_initialize_trampoline_little): Likewise.
15482
15483         * sh-protos.h (binary_float_operator): Remove declaration.
15484         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
15485         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
15486         (unary_float_operator, sh_expand_unop_v2sf): New functions.
15487         (sh_expand_binop_v2sf): Likewise.
15488         (zero_vec_operand): Delete.
15489         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
15490         all non-shared ones.
15491         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
15492         Enable nsb and byterev.
15493         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
15494         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
15495         in general regs.
15496         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
15497         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
15498         immediate operands.
15499         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
15500         Add DF_HI_REGS.
15501         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
15502         lowpart fp regs - only for big endian for now.
15503         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
15504         when FPU is in use.
15505         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
15506         (LOAD_EXTEND_OP): NIL for SImode.
15507         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
15508         general and fp registers is 4.
15509         PREDICATE_CODES: Amend binary_float_operator entry.
15510         Remove zero_vec_operand.  Add unary_float_operator.
15511         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
15512         subreg SET_DEST.
15513         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
15514         (truncdiqi2): Do sign extension.
15515         (movsi_media, movdi_media): Allow to use r63 to an fp register.
15516         (movdf_media, movsf_media): Likewise.
15517         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
15518         Collapse to one define_insn_and_split.  Allow immediate sources.
15519         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
15520         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
15521         (movv4sf): Allow immediate sources.
15522         (movsf_media_nofpu+1): Don't split moves to FP registers.
15523         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
15524         (movv8qi_i+3): Check against CONST0_RTX.
15525         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
15526         for input and output operands.  Fix argument 3 to gen_mextr_rl.
15527         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
15528         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
15529         (mshf0_w, fipr, ftrv): Likewise.
15530         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
15531
15532 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
15533
15534         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
15535         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
15536         * arm.c: Similarly.
15537
15538 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
15539
15540         * config/mips/mips-protos.h (mips_sign_extend): Declare.
15541         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
15542         (TARGET_SWITCHES): Remove debugh.
15543         (ISA_HAS_TRUNC_W): New macro.
15544         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
15545         (PREDICATE_CODES): Remove se_nonimmediate_operand.
15546         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
15547         any SImode move_operand.
15548         (se_nonimmediate_operand): Remove.
15549         (mips_sign_extend): New.
15550         (mips_move_2words): Use it for sign-extended source operands.
15551         (override_options): Allow integers to be put into single FPRs.
15552         (mips_secondary_reload_class): Handle integers in float registers.
15553         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
15554         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
15555         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
15556         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
15557         (fix_truncdfdi2): Provide only a single alternative, in which the
15558         integer is in a float register.  Depend on TARGET_FLOAT64 rather
15559         than TARGET_64BIT.
15560         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
15561         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
15562         (movdi_internal2): Don't allow the source operand to be sign-extended.
15563         Add alternatives for float registers.
15564         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
15565         allows sign-extension.
15566         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
15567         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
15568         float registers.  Remove TARGET_DEBUG_H_MODE test.
15569         (movhi_internal1): Rename to movhi_internal.  Don't check
15570         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
15571         (movqi_internal1): Rename to movqi_internal and remove
15572         TARGET_DEBUG_H_MODE dependency.
15573         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
15574
15575 2002-07-16  Jim Wilson  <wilson@redhat.com>
15576
15577         * toplev.c (lang_dependent_init): Create function context for
15578         init_expr_once.
15579
15580 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
15581
15582         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
15583         --gc-sections if -r.
15584         * config/cris/cris.h: Ditto.
15585
15586 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
15587
15588         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
15589         the comparison directly gives a mask suppress addition when cf is
15590         zero by complementing the mask.
15591
15592 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
15593
15594         * Makefile.in: Delete references to enquire.
15595         * enquire.c: Move to contrib.
15596
15597 2002-07-16  Stan Shebs  <shebs@apple.com>
15598
15599         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
15600         config/rs6000/darwin.h.
15601         (ASM_OUTPUT_SKIP): Ditto.
15602         (TEXT_SECTION_ASM_OP): Ditto.
15603         (DATA_SECTION_ASM_OP): Ditto.
15604         (ASM_APP_ON): Define.
15605         (ASM_APP_OFF): Define.
15606         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
15607         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
15608
15609         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
15610         (machopic_function_base_name): Declare result to be const.
15611         (machopic_non_lazy_ptr_name): Ditto.
15612         (machopic_stub_name): Ditto.
15613         * config/darwin-protos.h: Ditto for the prototypes.
15614
15615 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
15616
15617         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
15618
15619 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
15620
15621         * i386.md (prefetch): Fix for 64bit mode.
15622         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15623
15624 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
15625
15626         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
15627         * i386.c (x86_machine_dependent_reorg): New function.
15628         * i386-protos.h (x86_machine_dependent_reorg): Declare.
15629
15630 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
15631
15632         * builtins.c (std_expand_builtin_va_start): Remove unused
15633         first argument.
15634         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
15635         std_expand_builtin_va_start with just two arguments.
15636         * expr.h: Update prototypes.
15637
15638         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
15639         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
15640         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
15641         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
15642         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
15643         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
15644         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
15645         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
15646         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
15647         argument from all implementations of EXPAND_BUILTIN_VA_START
15648         and all uses of std_expand_builtin_va_start.
15649
15650 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15651
15652         * regrename.c (copy_value): Don't record high part copies.
15653
15654 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15655
15656         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
15657         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
15658         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
15659
15660 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
15661
15662         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
15663
15664         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
15665         into addsi3 using register class "x" and "y".
15666
15667         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
15668         "earlyclobber" constraint modifier for some alternative.
15669
15670         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
15671         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
15672         unordered.
15673         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
15674
15675         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
15676         (TARGET_SWITCHES): Add -mieee-compare option.
15677         (OVERRIDE_OPTIONS): 32332 is a subset of
15678         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
15679         (TARGET_SWITCHES): Fix description of bitfield option.
15680         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
15681         -mieee-compare option. Remove 32332 flag.
15682
15683 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15684
15685         * explow.c (convert_memory_address): Remove special handling
15686         when POINTERS_EXTEND_UNSIGNED < 0.
15687         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
15688         (movedi_symbolic): Fix typo.
15689         (load_fptr): Remove mode restriction so it works for SI and DI.
15690         (load_fptr_internal1): Ditto.
15691         (load_gprel): Ditto.
15692         (load_symptr_internal1): Ditto.
15693         (call_pic): Ditto.
15694         * config/ia64.c (call_operand): Modify mode check.
15695         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
15696         (ia64_expand_move): Ditto.
15697         (ia64_assemble_integer): Handle SImode function pointers.
15698         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
15699         (ia64_expand_op_and_fetch): Ditto.
15700         (ia64_expand_compare_and_swap): Ditto.
15701         (ia64_expand_lock_test_and_set): Ditto.
15702         (ia64_expand_lock_release): Ditto.
15703
15704 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15705
15706         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
15707
15708 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15709             Richard Earnshaw  <rearnsha@arm.com>
15710
15711         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
15712         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
15713
15714 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
15715
15716         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
15717         understands to be a memory clobber.
15718         * arm.c (arm_expand_prologue): Use it.
15719
15720 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
15721
15722         * ra-rewrite.c: #include reload.h, insn-config.h
15723         * ra-build.c: #include reload.h
15724         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
15725         depend on reload.h, insn-config.h.
15726
15727 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
15728
15729         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
15730         the same size as a word.
15731
15732         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
15733         BYTES_BIG_ENDIAN into account.
15734
15735 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
15736
15737         * i386.md (prefetch): Fix for 64bit mode.
15738         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15739
15740         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
15741
15742 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15743
15744         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
15745
15746 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
15747
15748         * ginclude/varargs.h: Replace with stub which issues #error.
15749         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
15750         __builtin_va_start.
15751
15752         * builtins.def (BUILT_IN_VARARGS_START): Delete.
15753         (BUILT_IN_VA_START): New.
15754         * builtins.c (expand_builtin_va_start): Eliminate first
15755         argument and code to implement pre-ISO varargs.
15756         (std_expand_builtin_va_start): Ignore first argument; it is
15757         always 1.
15758         (expand_builtin): Handle BUILT_IN_VA_START and
15759         BUILT_IN_STDARG_START identically.  Delete
15760         BUILT_IN_VARARGS_START case.
15761
15762         * function.c (assign_parms): Delete hide_last_arg and all
15763         its uses.
15764         (mark_varargs): Delete function.
15765         * function.h (struct function): Delete 'varargs' bit.
15766         (current_function_varargs): Delete macro.
15767         * tree.h: Don't declare mark_varargs.
15768
15769         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
15770         (c_expand_body): Don't call mark_varargs.
15771         * c-objc-common.c: Handle BUILT_IN_VA_START and
15772         BUILT_IN_STDARG_START identically.  Delete
15773         BUILT_IN_VARARGS_START case.
15774         * c-tree.h: Don't declare c_mark_varargs.
15775         * c-parse.in: Remove grammar rules for '&...' (which has been
15776         commented out since before 2.7.2) and for '...' in K+R
15777         argument declarations.
15778
15779         * builtins.c, function.c, integrate.c, sibcall.c,
15780         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
15781         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
15782         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
15783         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
15784         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
15785         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
15786         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
15787         config/stormy16/stormy16.c: Delete all references to
15788         current_function_varargs, and code predicated on that flag.
15789
15790         * config/alpha/alpha.c (alpha_va_start),
15791         config/arc/arc.c (arc_va_start),
15792         config/i386/i386.c (ix86_va_start),
15793         config/mips/mips.c (mips_va_start),
15794         config/mn10300/mn10300.c (mn10300_va_start),
15795         config/rs6000/rs6000.c (rs6000_va_start),
15796         config/s390/s390.c (s390_va_start),
15797         config/sh/sh.c (sh_va_start),
15798         Ignore first argument; it is always 1.
15799
15800         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
15801         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
15802         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
15803         Delete m68hc11_va_start.
15804         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
15805         No need to define EXPAND_BUILTIN_VA_START.
15806
15807         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
15808         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
15809
15810 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
15811
15812         PR optimization/7153
15813         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
15814         dies in more than one insn.
15815
15816 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
15817
15818         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
15819
15820 2002-07-15  Michael Matz  <matz@suse.de>,
15821             Daniel Berlin  <dberlin@dberlin.org>,
15822             Denis Chertykov  <denisc@overta.ru>
15823
15824         Add a new register allocator.
15825
15826         * ra.c: New file.
15827         * ra.h: New file.
15828         * ra-build.c: New file.
15829         * ra-colorize.c: New file.
15830         * ra-debug.c: New file.
15831         * ra-rewrite.c: New file.
15832
15833         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
15834         (ra-rewrite.o): New .o files for libbackend.a.
15835         (GTFILES): Add basic-block.h.
15836
15837         * toplev.c (flag_new_regalloc): New.
15838         (f_options): New option "new-ra".
15839         (rest_of_compilation): Call initialize_uninitialized_subregs()
15840         only for the old allocator.  If flag_new_regalloc is set, call
15841         new allocator, instead of local_alloc(), global_alloc() and
15842         friends.
15843
15844         * doc/invoke.texi: Document -fnew-ra.
15845         * basic-block.h (FOR_ALL_BB): New.
15846         * config/rs6000/rs6000.c (print_operand): Write small constants
15847         as @l+80.
15848
15849         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
15850         (df_reg_table_realloc): Make size at least as large as max_reg_num().
15851         (df_insn_table_realloc): Size argument now is absolute, not relative.
15852         Changed all callers.
15853
15854         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
15855         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
15856
15857         2002-06-20  Michael Matz  <matz@suse.de>
15858
15859         * df.h (struct ref.id): Make unsigned.
15860         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
15861
15862         2002-06-13  Michael Matz  <matz@suse.de>
15863
15864         * df.h (DF_REF_MODE_CHANGE): New flag.
15865         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
15866         involving subregs with invalid mode changes, when
15867         CLASS_CANNOT_CHANGE_MODE is defined.
15868
15869         2002-05-07  Michael Matz  <matz@suse.de>
15870
15871         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
15872
15873         2002-05-03  Michael Matz  <matz@suse.de>
15874
15875         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
15876
15877         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
15878
15879         * regclass.c (regclass): Work with all regs which have sets or
15880         refs.
15881         (reg_scan_mark_refs): Count regs inside (clobber ...).
15882
15883         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
15884
15885         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
15886         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
15887         add new refs.
15888         (df_bb_refs_update): Don't clear insns_modified here, ...
15889         (df_analyse): ... but here.
15890
15891         * sbitmap.c (dump_sbitmap_file): New.
15892         (debug_sbitmap): Use it.
15893
15894         * sbitmap.h (dump_sbitmap_file): Add prototype.
15895
15896         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
15897
15898         * df.c (df_insn_modify): Grow the UID table if necessary, rather
15899         than assume all emits go through df_insns_modify.
15900
15901         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
15902
15903         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
15904         increase REG_N_REFS (like flow does), so that regclass doesn't
15905         think a reg is useless, and thus, not calculate a class, when it
15906         really should have.
15907
15908         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
15909
15910         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
15911         dataflow analysis.
15912
15913 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
15914
15915         PR middle-end/7245
15916         * config/i386/i386.c (const_int_1_31_operand): New.
15917         * config/i386/i386.h (PREDICATE_CODES): Add it.
15918         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
15919         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
15920         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
15921
15922 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
15923
15924         PR target/7282
15925         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
15926         (floatunssidf2): Likewise.
15927         (floatsidf_ppc64): New insn_and_split.
15928         (floatunssidf_ppc64): Likewise.
15929
15930 2002-07-14  Andreas Jaeger  <aj@suse.de>
15931
15932         * config.gcc (sh64): Remove unused
15933         target_requires_64bit_host_wide_int.
15934
15935 2002-07-12  Roger Sayle  <roger@eyesopen.com>
15936
15937         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
15938         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
15939         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
15940         whether clear_by_pieces should be used to clear storage.
15941         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
15942
15943         * doc/tm.texi: Document these two new target macros.
15944
15945 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
15946
15947         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
15948         the scratch register.
15949         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
15950         of it, forbid reload to use it.
15951
15952 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15953
15954         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
15955         usage on 64-bit hosts, return value was truncated to 32 bits.
15956
15957 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
15958
15959         * simplify-rtx.c (simplify_subreg): Handle floating point
15960         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
15961         the element mode is requested, compute a subreg with an
15962         integer mode of the same size as the element mode first.
15963
15964 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
15965
15966         * combine.c (try_combine): When converting a paradoxical subreg
15967         to an extension, take LOAD_EXTEND_OP into account.
15968
15969 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15970
15971         * config.gcc (mips-sgi-irix6*o32): New configuration.
15972
15973         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
15974         configurations.
15975         * configure: Regenerate.
15976
15977         * config/mips/iris6-o32-as.h: New file.
15978         * config/mips/iris6-o32.h: New file.
15979
15980         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
15981         (NM_FLAGS): Define.
15982         (HAVE_AS_SHF_MERGE): Undefine.
15983
15984         * config/mips/t-iris5-as: New file.
15985         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15986
15987         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
15988         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
15989         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
15990         dp-bit.c, fp-bit.c): Move ...
15991         * config/mips/t-iris5-6: ... here.
15992         New file, shared by IRIX 5 and IRIX 6.
15993         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
15994         mips-sgi-irix5*): Use it.
15995
15996         * config/mips/iris6.h: Remove duplicate comment.
15997
15998         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
15999         !TARGET_IRIX6]: Define.
16000         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
16001
16002         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
16003
16004 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16005
16006         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
16007         and delete code to force constant to register.
16008         * pa-protos.h (adddi3_operand): Add prototype.
16009         * pa.c (adddi3_operand): New function.
16010
16011 2002-07-11  Roger Sayle  <roger@eyesopen.com>
16012
16013         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
16014         non-ANSI builtin functions.
16015
16016 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
16017
16018         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
16019         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
16020         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
16021         (gen_const_vector_0): Use it.
16022
16023 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16024
16025         * pa.md (adddi3): For 32-bit targets, force constants to a register
16026         if they don't fit in an 11-bit immediate.  Change insn predicate to
16027         arith11_operand.  Remove comment.
16028         * pa.c (cint_ok_for_move): Fix comment.
16029         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
16030         targets.
16031
16032 2002-07-11  Tim Josling  <tej@melbpc.org.au>
16033
16034         Remove front end hard coding from gengtype.c.
16035
16036         * Makefile.in
16037         (STAGESTUFF): add gtyp-gen.h
16038         (GTFILES): Remove front end specific files.
16039         (GTFILES_FILES_LANGS): New, from configure..
16040         (GTFILES_FILES_FILES): Likewise.
16041         (GTFILES_LANG_DIR_NAMES): Likewise.
16042         (GTFILES_SRCDIR): Likewise.
16043         (gtyp-gen.h): Build from configure information.
16044         (s-gtype): Remove command line parameters from gengtype.
16045         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
16046         (mostlyclean): Delete files generated by and for gengtype.
16047
16048         * c-config-lang.in: New file.
16049
16050         * configure.in (all_gtfiles_files_langs): New. Accumulate files
16051         for each language.
16052         (all_gtfiles_files_files): New. Accumulate language for each file
16053         accumulated.
16054         (gtfiles): Pick up value for C.
16055         (srcdir): AC-SUBST this variable.
16056         (all_gtfiles_files_langs): AC-SUBST this variable.
16057         (all_gtfiles_files_files): AC-SUBST this variable.
16058
16059         * configure: Regenerate.
16060
16061         * gengtype-lex.l (parse_file): Make parameter const.
16062
16063         * gengtype.c (toplevel): include gtyp-gen.h.
16064         (BASE_FILE_<language> unnamed enum): Delete.
16065         (lang_names): Delete (replaced by gtyp-gen.h)
16066         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
16067         all references.
16068         (NUM_GT_FILES): New.
16069         (NUM_LANG_FILES): New.
16070         (srcdir_len): New.
16071         (NUM_BASE_FILES): Change calculation.
16072         (open_base_files): Change prototype to avoid warning.
16073         (startswith): Delete.
16074         (get_file_basename): Iterate through generated language list not
16075         hard coded list.
16076         (get_base_file_bitmap): Use generated list of files and languages.
16077         (close_output_files): Add prototype to rmove warning.
16078         (main): Iterate through list of generated files from gtyp-gen.h
16079         rather than command line paramaters.  Ignore duplicated file
16080         names.
16081
16082         * gengtype.h (parse_file): Amend prototype for const parameter.
16083
16084         * doc/sourcebuild.texi: Document gtfiles variable.
16085
16086         * doc/gty.texi: Document changes to gtfiles variable for front
16087         ends.
16088
16089         * objc/config-lang.in (gtfiles): Add files needed for objc front
16090         end.
16091
16092 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16093
16094         PR c/2454
16095         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
16096         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
16097
16098 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16099             Zack Weinberg <zack@codesourcery.com>
16100
16101         * builtins.def: Make the argument types of abort and exit
16102         independent of the front-end.
16103
16104 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
16105
16106         * config/rs6000/linux64.h (ASM_SPEC): Define.
16107
16108 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
16109
16110         * config/rs6000/rs6000.c (emit_frame_save): New.
16111         (rs6000_frame_related): Replace reg2 before reg.
16112         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
16113         and eh_return registers.
16114
16115 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
16116
16117         Revert all patches for optimization of Complex .op. Real.
16118         * complex_part_zero_p: Remove
16119         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
16120         with x.
16121         * expand_cmplxdiv_wide: Ditto.
16122         * expand_binop: Ditto.
16123
16124 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16125
16126         * config/avr/avr.md: Fix two 0x80000000 constants to make them
16127         negative also on 64-bit hosts.
16128
16129         Default to -fno-reorder-blocks when optimizing for size.
16130         * config/avr/avr-protos.h (avr_optimization_options): Declare.
16131         * config/avr/avr.c (avr_optimization_options): New function.
16132         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
16133
16134         Optimize returning from simple functions.
16135         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
16136         * config/avr/avr.c (avr_simple_epilogue): New function.
16137         * config/avr/avr.md (return): New insn.
16138
16139 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
16140
16141         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
16142         HAS_INIT_SECTION to protection.
16143
16144 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
16145
16146         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
16147         deprecated.
16148
16149 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
16150
16151         * combine.c (gen_lowpart_for_combine): Handle vector modes.
16152         Supply non-VOID mode to simplify_gen_subreg.
16153
16154 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
16155
16156         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
16157
16158 2002-07-10  Jeffrey A Law  <law@redhat.com>
16159
16160         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
16161         as appropriate.
16162
16163         * mn10200.c (expand_epilogue): Fix test to determine which scratch
16164         register to use.
16165
16166 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
16167
16168         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
16169         Get mode from dest.
16170         If simplify_gen_subreg fails, try next equivalent.
16171
16172 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
16173
16174         * diagnostic.h: #include location.h
16175         (location_t): Move definition to..
16176         * location.h: ... here.  New file.
16177         * tree.h: #include location.h
16178         (DECL_SOURCE_LOCATION): New macro.
16179         (DECL_SOURCE_FILE): Use.
16180         (DECL_SOURCE_LINE): Likewise.
16181         (struct tree_decl): REplace filename and linenum with locus.
16182         * Makefile.in (TREE_H): add location.h
16183         (diagnostic.o): Depends on gt-location.h
16184         (gt-location.h): Depends on s-gtype
16185
16186 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
16187
16188         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
16189         TARGET_OS_CPP_BUILTINS.
16190         * config/rs6000/aix31.h: Likewise.
16191         * config/rs6000/aix41.h: Likewise.
16192         * config/rs6000/aix43.h: Likewise.
16193         * config/rs6000/aix51.h: Likewise.
16194         * config/rs6000/beos.h: Likewise.
16195         * config/rs6000/darwin.h: Likewise.
16196         * config/rs6000/eabi.h: Likewise.
16197         * config/rs6000/eabisim.h: Likewise.
16198         * config/rs6000/linux.h: Likewise.
16199         * config/rs6000/linux64.h: Likewise.
16200         * config/rs6000/lynx.h: Likewise.
16201         * config/rs6000/mach.h: Likewise.
16202         * config/rs6000/rtems.h: Likewise.
16203         * config/rs6000/sysv4.h: Likewise.
16204         * config/rs6000/vxppc.h: Likewise.
16205
16206 2002-07-09 Devang Patel <dpatel@apple.com>
16207         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
16208         Do not allow ObjC objects as a parameter type for Objective-C methods.
16209         My previous patch restricted  'struct' also.
16210
16211 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
16212
16213         * cpperror.c (cpp_error): Default to directive_line within
16214         directives here.
16215         * cppexp.c (cpp_interpret_integer): Only use traditional
16216         number semantics in directives.
16217         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
16218         (do_include_common): Similarly.
16219         * cpptrad.c (scan_out_logical_line): Implement accurate
16220         quoting of <> in #include.
16221         * doc/cpp.texi: Update.
16222
16223 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
16224                           J"orn Rennecke <joern.rennecke@superh.com>
16225
16226         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
16227         * sh.md (attribute issues): Replace with:
16228         (attribute pipe_model).  All users changed.
16229         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
16230         All users changed.
16231         (function units sh5issue, sh5fds): New.
16232         (attribute is_mac_media): New.
16233         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
16234         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
16235         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
16236         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
16237         (call_media, call_value_media, sibcall_media): Likewise.
16238         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
16239         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
16240         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
16241         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
16242         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
16243         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
16244         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
16245         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
16246         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
16247         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
16248         (truncdfsf2_media): Likewise.
16249         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
16250         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
16251
16252 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
16253
16254         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
16255         * sh.c (general_extend_operand, inqhi_operand): New functions.
16256         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
16257         alternatives using 'N' modifier.  Add type.
16258         (adddi3z_media): Likewise.  Enable generator function generation.
16259         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
16260         exact predicates / constraints.  Add type.
16261         (subsi3): Allow 0 for SHMEDIA.
16262         (udivsi3_i4_media): Use match_operand for input values
16263         rather than hard registers.
16264         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
16265         unnecessarily through hard registers.  Keep copies of pseudo
16266         registers outside of the libcall sequence.
16267         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
16268         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
16269         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
16270         (extendhidi2, extendqidi2): Likewise.
16271         (andsi3_compact): Name.
16272         (andcdi3): Enable generator function generation.
16273         (zero_extendhisi2, zero_extendqisi2): Rename to
16274         (zero_extendhisi2_compact, zero_extendqisi2_compact).
16275         (extendhisi2, extendqisi2): Rename to
16276         (extendhisi2_compact, extendqisi2_compact).
16277         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
16278         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
16279         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
16280         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
16281         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
16282         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
16283         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
16284         (shmedia32_initialize_trampoline_big): Likewise.
16285         (shmedia32_initialize_trampoline_little): Likewise.
16286         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
16287         (negdi2): Remove spurious T clobber.
16288         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
16289         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
16290         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
16291         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
16292         (ic_invalidate_line_media): Write back data cache before invalidating
16293         instruction cache.  Add type.
16294         (movsf_media): Sign-extend when the destination is a general
16295         purpose register.  Add type.
16296         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
16297         (casesi_worker_0+1): Only increment ref count for proper label.
16298         (casesi_worker_0+2): Likewise.
16299
16300 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
16301
16302         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
16303
16304 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
16305
16306         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
16307         from Pmode to ptr_mode.
16308         (get_exception_pointer): Ditto.
16309         (connect_post_landing_pads): Ditto.
16310         (dw2_build_landing_pads): Ditto.
16311
16312 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
16313         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
16314         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
16315         (handle_pragma_redefine_extname): Change to use new function.
16316
16317 2002-07-08  Roger Sayle  <roger@eyesopen.com>
16318
16319         * combine.c (combine_simplify_rtx): Add an explicit cast
16320         to avoid signed/unsigned comparison warning.
16321         (simplify_if_then_else): Likewise.
16322         (extended_count): Likewise.
16323         (simplify_shift_const): Likewise.
16324         (simplify_comparison): Likewise.
16325
16326 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
16327
16328         * config/mips/mips.md: Add imadd type.  Update scheduler description
16329         to use imadd as well as imul.
16330         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
16331         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
16332         (*mul_sub_si): Likewise for first alternative.  Change second
16333         alternative from imul to multi.
16334
16335 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
16336
16337         * c-common.c (c_common_post_options): Update prototype;
16338         don't init backends if preprocessing only.
16339         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
16340         * langhooks.h (struct lang_hooks): Update post_options to
16341         return a boolean.
16342         * toplev.c (parse_options_and_default_flags, do_compile,
16343         lang_independent_init): Update prototypes.  Allow the
16344         front end to specify that there is no need to initialize
16345         the back end.
16346         (general_init): Move call to hex_init here...
16347         (toplev_main): ...from here.  Pass flag for back end init
16348         suppression.
16349
16350 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
16351
16352         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
16353         (PREDICATE_CODES): Add entries for equality_comparison_operator,
16354         greater_comparison_operator and less_comparison_operator.
16355         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
16356         more operators.
16357         (equality_comparison_operator): New function.
16358         (greater_comparison_operator, less_comparison_operator): Likewise.
16359         * sh.md (beq_media_i): Disable generator function generation.
16360         Use match_operator to handle a whole class of comparisons.  Add
16361         modifier in output template to provide branch prediction.  Add type.
16362         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
16363         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
16364         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
16365         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
16366
16367 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
16368
16369         Emit MMIX function prologue and epilogue as rtl.
16370         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
16371         not unprototyped get_hard_reg_initial_val.
16372         ("call_value", "nonlocal_goto_receiver"): Ditto.
16373         ("return"): Make define_expand.  Move real insn to...
16374         ("*expanded_return"): New pattern.
16375         ("prologue", "epilogue"): New define_expands.
16376         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
16377         (struct machine_function): New member in_prologue.
16378         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
16379         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
16380         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
16381         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
16382         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
16383         (LOCAL_REGNO): Define.  Adjust comment.
16384         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
16385         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
16386         leaf_function_p.
16387         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
16388         the prologue.
16389         (mmix_target_asm_function_prologue): Make static.  Just mark that
16390         the prologue is being emitted.  Move guts to...
16391         (mmix_expand_prologue): New function.  Adjust for emitting
16392         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
16393         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
16394         \n.  Move guts to...
16395         (mmix_expand_epilogue): New function.  Adjust for emitting
16396         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
16397         (mmix_target_asm_function_end_prologue): Mark that the prologue
16398         has ended.
16399         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
16400         (mmix_conditional_register_usage): Improve comments.
16401         (mmix_local_regno): New function.
16402         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
16403         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
16404         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
16405         (mmix_get_hard_reg_initial_val): Ditto.
16406
16407 2002-07-06  Andreas Jaeger  <aj@suse.de>
16408
16409         * toplev.c (set_fast_math_flags): Don't use ISO C style function
16410         definitions.
16411         * gengtype.c (open_base_files): Likewise.
16412         (close_output_files): Likewise.
16413         * tracer.c (find_best_predecessor): Likewise.
16414         (find_best_successor): Likewise.
16415         (ignore_bb_p): Likewise.
16416
16417 2002-07-05  Roger Sayle  <roger@eyesopen.com>
16418
16419         PR c++/7099
16420         * builtin-attrs.def: Define new attribute lists for use in
16421         builtins.def.
16422         * builtins.def [DEF_BUILTIN]: Modify to take an additional
16423         ATTRS argument, an enumerated value defined in builtin-attrs.def
16424         that represents the attribute list for the builtins.  Modify
16425         all builtin functions to pass an appropriate attribute list.
16426         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
16427         their required noreturn attributes.
16428         * tree.h (enum_builtin_function): Ignore the additional parameter
16429         to DEF_BUILTIN.
16430         * builtins.c (built_in_names): Likewise.
16431         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
16432         argument with a tree representing the functions attribute list.
16433         Pass this "attrs" argument to builtin_function.  No longer handle
16434         the noreturn_p processing manually.
16435         (built_in_attributes): Move the definitions from builtin-attrs.def
16436         before c_common_nodes_and_builtins.
16437         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
16438         DEF_BUILTIN, passing it to both builtin_function and the changed
16439         builtin_function_2.
16440
16441         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
16442         __builtin__exit and __builtin__Exit.
16443
16444 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16445
16446         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
16447         QI mode registers in soft registers.
16448         ("zero_extendqihi2"): Do not take into account soft registers
16449         for register allocation (use '*' constraint).
16450
16451 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16452
16453         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
16454         it is dead.
16455         ("*ashrsi3"): Likewise.
16456         ("*lshrsi3"): Likewise.
16457
16458 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
16459
16460         * genautomata.c (output_max_insn_queue_index_def): Take latencies
16461         into account.
16462
16463 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16464
16465         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
16466         address computation and memory moves.
16467
16468 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
16469
16470         PR c++/6706
16471         * dwarfout.c (output_reg_number): Fix warning message.
16472         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
16473         before using it.
16474
16475 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16476
16477         * gcc/gcc.c (asm_debug): Move initialization ...
16478         (init_spec): ... here.
16479
16480 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
16481
16482         * c-parse.in (extdef): Append ';'.
16483         (old_style_parm_decls): Append ';'.
16484
16485 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
16486
16487         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
16488         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
16489         to gcc_cv_as_gstabs_flag.
16490         * configure: Rebuilt.
16491
16492 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
16493
16494         * ggc.h (ggc_add_root): Document as obsolete.
16495
16496 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
16497
16498         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
16499         (mshflo_w): Likewise.
16500
16501 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
16502
16503         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
16504         vector mode subregs of constants to finding integer mode
16505         subregs of constants.
16506         * cse.c (cse_insn): Use simplify_gen_subreg.
16507         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
16508         From a vector mode expression of different size than the
16509         target mode.
16510
16511 2002-07-03  Eric Christopher  <echristo@redhat.com>
16512
16513         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
16514         * config/mips/mips.h: Remove deprecated -m<processor> options
16515         and cc1_cpu_spec associated.
16516         (CONSTANT_ADDRESS_P): Fix last patch.
16517         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
16518         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
16519         sunge_sf): Remove.
16520
16521 2002-07-03  Stan Shebs  <shebs@apple.com>
16522
16523         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
16524         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
16525         (CPP_SPEC): Remove insertion of APPLE_CC definition.
16526
16527 2002-07-03  Roger Sayle  <roger@eyesopen.com>
16528
16529         * combine.c (struct_undo): Change types of recorded substitutions
16530         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
16531         (do_SUBST_INT): Change types of the substitution from unsigned int
16532         to int, to avoid compilation warning from SUBST_INT's only caller.
16533
16534         (make_extraction): Add cast to avoid compilation warning.
16535         (force_to_mode): Remove cast to avoid compilation warning.
16536
16537 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
16538             Jeff Law  <law@redhat.com>
16539
16540         * i386.md (length_immediate attribute): Fix typo.
16541         (length_address attribute): Likewise.
16542         (modrm attribute): Set it to 0 for immediate call instructions.
16543         (jcc_1 pattern): Set modrm attribute to 0.
16544         (jcc_2 pattern ): Likewise.
16545         (jump pattern): Likewise.
16546         (doloop_end_internal pattern): Explicitly set length.
16547         (leave pattern): Fix typo.
16548         (leave_rex64 pattern): Likewise.
16549
16550 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
16551
16552         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
16553         in FPR as preference.
16554         (fctiwz): Same.
16555         (floatdidf2, fix_truncdfdi2): Same.
16556         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
16557         (floatditf2): Same.
16558         (floatsitf2, fix_trunctfsi2): SImode in GPR.
16559         (ctrdi): Remove FPR alternative and splitter.
16560
16561 2002-07-03  Will Cohen  <wcohen@redhat.com>
16562
16563         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
16564
16565 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
16566
16567         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
16568         than UNITS_PER_WORD, unless this is little endian and the first unit
16569         in this word.  Let extract_bit_field decide how to load an element.
16570         Force arguments to matching mode.
16571         (expand_vector_unop): Likewise.
16572
16573         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
16574         consist of word_mode elements.
16575         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
16576         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
16577         (build_unary_op): Allow vector types for BIT_NOT_EPR.
16578         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
16579         CONST_VECTOR.
16580         * optabs.c (expand_vector_binop): Try to perform operation in
16581         smaller vector modes with same inner size.  Add handling of AND, IOR
16582         and XOR.  Reject expansion to inner-mode sized scalars when using
16583         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
16584         (expand_vector_unop): Try to perform operation in smaller vector
16585         modes with same inner size.  Add handling of one's complement.
16586         When there is no vector negate operation, try a vector subtract
16587         operation.  Use simplify_gen_subreg on constants.
16588         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
16589         constants into smaller vectors with same inner mode, and to
16590         integer CONST_DOUBLEs.
16591
16592 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16593
16594         * c-parse.in (parsing_iso_function_signature): New variable.
16595         (extdef_1): New, copied from...
16596         (extdef): ... here.  Reset parsing_iso_function_signature.
16597         (old_style_parm_decls):  Reset parsing_iso_function_signature.
16598         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
16599         Warn about ISO C style function definitions.
16600         (nested_function, notype_nested_function): Reset
16601         parsing_iso_function_signature.
16602         (parmlist_2): Set parsing_iso_function_signature.
16603
16604         * doc/invoke.texi (-Wtraditional): Document new behavior.
16605
16606 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
16607
16608         * config.gcc (mips*el-*-*): Use tm_defines to set
16609         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
16610         * config/mips/little.h: Remove.
16611
16612 2002-07-02 Devang Patel <dpatel@apple.com>
16613
16614         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
16615         object as parameter. Prevent something like 'NSObject' to be
16616         used as the type for a method argument.
16617
16618 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
16619
16620         * cpptrad.c: Update comment.
16621
16622 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16623
16624         * doc/cpp.texi: Update for traditional preprocessing changes.
16625         * goc/cppopts.texi: Similarly.
16626
16627 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
16628
16629         * c-parse.in (designator): Enable designated initializers if ObjC.
16630         (objcmessageexpr): Remove references to objc_receiver_context.
16631         * objc/objc-act.h (objc_receiver_context): Remove decl.
16632         * objc/objc-act.c (objc_receiver_context): Remove.
16633         (lookup_objc_ivar): Test objc_method_context instead of
16634         objc_receiver_context.
16635
16636 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
16637
16638         * sh.c (print_operand, case 'N'): Allow zero vector.
16639         (arith_reg_or_0_operand): Likewise.
16640         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
16641         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
16642         IOR, XOR, PLUS and SET and take their respective constant
16643         ranges into account.
16644         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
16645         * sh.md (subdi3, subdi3_media): Allow zero operand.
16646         (movv8qi_i+3): Only vector that is not split is the zero vector.
16647         Fix operand 3 to simplify_subreg.
16648         (movv2si_i): Split alternative 1.
16649         (mshfhi_l_di_rev+1): New splitter.
16650
16651 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16652
16653         PR preprocessor/7029
16654         * cppinit.c (cpp_handle_option):  Suppress warnings with an
16655         implicit "-w" for "-M" and "-MM".
16656         * doc/cppopts.texi: Update.
16657
16658 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16659
16660         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
16661         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
16662         builtin_function.
16663
16664 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
16665
16666         * README.Portability: Fix typos.
16667
16668 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
16669
16670         PR target/7177
16671         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
16672         of indirections for register inside sign-extended mem part.
16673
16674 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16675
16676         * tree.h:  Modify builtin_function interface to take an extra
16677         argument ATTRS, which is a tree representing an attribute list.
16678
16679         * c-decl.c (builtin_function): Accept additional parameter.
16680         * objc/objc-act.c (builtin_function): Likewise.
16681         * f/com.c (builtin_function): Likewise.
16682         * java/decl.c (builtin_function): Likewise.
16683         * ada/utils.c (builtin_function): Likewise.
16684         * cp/decl.c (builtin_function): Likewise.
16685         (builtin_function_1): Likewise.
16686
16687         * c-common.c (c_common_nodes_and_builtins): Pass an additional
16688         NULL_TREE argument to builtin_function.  (builtin_function_2):
16689         Likewise.
16690         * cp/call.c (build_java_interface_fn_ref): Likewise.
16691         * objc/objc-act.c (synth_module_prologue): Likewise.
16692         * java/decl.c (java_init_decl_processing): Likewise.
16693         * f/com.c (ffe_com_init_0): Likewise.
16694
16695         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
16696         NULL_TREE argument to builtin_function.
16697         * config/arm/arm.c (def_builtin): Likewise.
16698         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
16699         * config/i386/i386.c (def_builtin): Likewise.
16700         * config/ia64/ia64.c (def_builtin): Likewise.
16701         * config/rs6000/rs6000.c (def_builtin): Likewise.
16702
16703 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
16704
16705         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
16706         * config/mips/t-isa3264: Likewise.
16707         * config/mmix/t-mmix: Likewise.
16708
16709 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16710
16711         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
16712
16713 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16714
16715         PR opt/4046
16716         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
16717         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
16718         B are truth values.
16719
16720 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
16721
16722         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
16723
16724 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
16725
16726         * README.Portability (Function prototypes): Give an example of
16727         declaring and defining a function with no arguments.
16728
16729         * README.Portability (Function prototypes): Document new
16730         variable-argument function macros.
16731
16732 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
16733
16734         * sh.c (langhooks.h): Include.
16735         (sh_init_builtins, sh_media_init_builtins): New functions.
16736         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
16737         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
16738         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
16739         (builtin_description): New struct tag.
16740         (signature_args, bdesc): New arrays.
16741         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
16742         (print_operand): Add 'N' modifier.
16743         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
16744         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
16745         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
16746         (CONST_COSTS): Add special case for SHmedia AND.
16747         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
16748         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
16749         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
16750         target_operand can also be const or unspec.
16751         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
16752         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
16753         (attribute type): Add new types.
16754         (anddi3): Add splitter.
16755         (movdi_const_16bit+1): Add code to handle vector constants and
16756         bitmasks efficiently.
16757         (shori_media): Have generator function made.
16758         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
16759         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
16760         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
16761         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
16762         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
16763         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
16764         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
16765         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
16766         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
16767         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
16768         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
16769         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
16770         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
16771         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
16772         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
16773         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
16774         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
16775         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
16776         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
16777         (ftrv): Likewise.
16778
16779         (fpu_switch+1, fpu_switch+2): Remove constraint.
16780
16781 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
16782
16783         * tree.c (build_function_type_list): Update function comment.
16784         Rename first argument to return_type.
16785
16786 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16787
16788         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
16789         tradcif.y and related files.
16790
16791 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16792
16793         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
16794
16795 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16796
16797         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
16798
16799 See ChangeLog.7 for earlier changes.