OSDN Git Service

* config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-01-18  Roger Sayle  <roger@eyesopen.com>
2
3         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
4
5 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6
7         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
8
9 2003-01-17  Dale Johannesen  <dalej@apple.com>
10
11         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
12           (*floatunssidf2_internal):  Ditto.
13
14 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
15
16         * alias.c: Fix comment typos.
17         * basic-block.h: Likewise.
18         * c-common.c: Likewise.
19         * c-common.h: Likewise.
20         * c-decl.c: Likewise.
21         * c-opts.c: Likewise.
22         * c-pragma.c: Likewise.
23         * c-pretty-print.h: Likewise.
24         * cfg.c: Likewise.
25         * cfganal.c: Likewise.
26         * cfgbuild.c: Likewise.
27         * cfgcleanup.c: Likewise.
28         * cfglayout.c: Likewise.
29         * cfgrtl.c: Likewise.
30         * convert.c: Likewise.
31         * cpphash.h: Likewise.
32         * cpplex.c: Likewise.
33         * cpplib.h: Likewise.
34         * df.h: Likewise.
35         * diagnostic.c: Likewise.
36         * diagnostic.h: Likewise.
37         * dwarf2.h: Likewise.
38
39 2003-01-17  Stan Shebs  <shebs@apple.com>
40
41         * config/darwin-protos.h: Forward-declare struct cpp_reader.
42
43 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
44
45         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
46         mistake in last checkin.
47
48 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
49
50         * et-forest.c: Fix comment typos.
51         * et-forest.h: Likewise.
52         * except.c: Likewise.
53         * expr.c: Likewise.
54         * flags.h: Likewise.
55         * flow.c: Likewise.
56         * gcc.c: Likewise.
57         * gcse.c: Likewise.
58         * genattrtab.c: Likewise.
59         * genautomata.c: Likewise.
60         * gengtype.c: Likewise.
61         * genrecog.c: Likewise.
62         * global.c: Likewise.
63         * gthr-rtems.h: Likewise.
64
65 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
66
67         * i386.c (x86_function_profiler): Fix format specifier.
68
69 2003-01-17  Richard Henderson  <rth@redhat.com>
70
71         * gengtype.c (walk_type): Allow paramN_is.
72
73 2003-01-17  Nick Clifton  <nickc@redhat.com>
74
75         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
76
77 2003-01-16  Richard Henderson  <rth@redhat.com>
78
79         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
80
81 2003-01-16  Richard Henderson  <rth@redhat.com>
82
83         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
84         (alpha_next_sequence_number): Likewise.
85         (alpha_this_literal_sequence_number): Likewise.
86         (alpha_this_gpdisp_sequence_number): Likewise.
87         (struct alpha_funcs, alpha_funcs_num): Likewise.
88         (struct alpha_links): Fix branch merge error.
89         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
90
91 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
92
93         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
94         R. Ghazi.
95
96 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
97
98         * ifcvt.c: Fix comment typos.
99         * lcm.c: Likewise.
100         * libgcc2.c: Likewise.
101         * local-alloc.c: Likewise.
102         * loop.c: Likewise.
103         * predict.c: Likewise.
104         * ra-build.c: Likewise.
105         * ra.c: Likewise.
106         * ra-colorize.c: Likewise.
107         * ra.h: Likewise.
108         * ra-rewrite.c: Likewise.
109         * regmove.c: Likewise.
110         * reload.h: Likewise.
111         * rtlanal.c: Likewise.
112         * toplev.c: Likewise.
113         * tree.h: Likewise.
114         * unwind-dw2-fde-glibc.c: Likewise.
115         * vmsdbgout.c: Likewise.
116
117 2003-01-16  Richard Henderson  <rth@redhat.com>
118
119         * dwarf2out.c (struct file_table): Remove.
120         (FILE_TABLE_INCREMENT): Remove.
121         (file_table): Make a varray; mark for GC.  Update all users.
122         (file_table_last_lookup_index): Extract from struct file_table.
123         (output_file_names): Fix unsigned compare warnings.
124         (add_name_attribute): Remove inline marker.
125         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
126         (lookup_filename): Don't manage size of file_table.
127         (init_file_table): Allocate file_table with GC.
128         (dwarf2out_init): Don't record main_input_filename here.
129         (dwarf2out_finish): Do it here instead.
130
131 2003-01-16  Bruce Korb  <bkorb@gnu.org>
132
133         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
134
135 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
136
137         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
138         instead of rotldi3_mextr.
139
140 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
141
142         * haifa-sched.c (move_insn): Restore moving all schedule group.
143         (set_priorities): Restore taking SCHED_GROUP_P into account.
144
145         * sched-deps.c (add_dependence): Restore processing the last group
146         insn.
147         (remove_dependence, group_leader): Restore the functions.
148         (set_sched_group_p): Restore adding dependencies from previous insn
149         in the group.
150         (compute_forward_dependences): Restore usage of group_leader.
151
152         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
153         account.
154
155         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
156         account.
157         (can_schedule_ready_p): Ditto.
158         (add_branch_dependences): Restore skipping over the group insns.
159         
160 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
161
162         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
163         68HC12 pre/post inc/dec side effects.
164
165 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
166
167         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
168
169 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
170
171         * sh.md (mshflo_w_x): Fix description of operation.
172
173 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
174
175         * config/rs6000/rs6000.h: Mention Altivec registers in
176         commentary.  Fix typo.
177
178 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
179
180         * config/rs6000/rs6000.md (movti_string): Remove clobber.
181         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
182         generate PARALLEL with clobber for TARGET_POWER.
183
184 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
185
186         * ra-colorize.c (colorize_one_web): Initialize variable.
187         * regmove.c (fixup_match_1): Likewise.
188         * reload1.c (reload_as_needed): Likewise.
189         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
190
191 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
192
193         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
194
195 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
196
197         * dbxout.c (lastfile, cwd): Fix `unused' warning.
198         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
199         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
200         is_main_source, file_table, decl_die_table_in_use,
201         abbrev_die_table_in_use, line_info_table_in_use,
202         separate_line_info_table_in_use, pubname_table_in_use,
203         arange_table_in_use, ranges_table_in_use,
204         current_function_has_inlines): Likewise.
205         * flow.c (life_analysis): Likewise.
206         * genemit.c (gen_insn): Likewise.
207         * protoize.c (cplus_suffix): Likewise.
208
209         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
210         * arm.h (ROUND_UP_WORD): Likewise.
211
212         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
213         warning.
214         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
215         init_emit_once): Likewise.
216         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
217         Likewise.
218         * function.c (assign_stack_temp_for_type): Likewise.
219         * loop.c (loop_invariant_p): Likewise.
220         * recog.c (push_operand): Likewise.
221         * regclass.c (init_reg_sets_1): Likewise.
222         * reload.c (update_auto_inc_notes): Likewise.
223         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
224         * stmt.c (expand_asm_operands): Likewise.
225         * stor-layout.c (start_record_layout): Likewise.
226
227 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
228
229         * config/c4x/c4x.md (epilogue): Correct last patch.
230
231 2003-01-15  Richard Henderson  <rth@redhat.com>
232
233         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
234         also check that GP is being used.
235         (alpha_find_lo_sum_using_gp): New.
236         (alpha_does_function_need_gp): Use get_attr_usegp.
237         * config/alpha/alpha-protos.h: Update.
238         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
239         as needed.
240
241 2003-01-15  Roger Sayle  <roger@eyesopen.com>
242
243         * gcse.c (one_cprop_pass): Change function arguments to take both
244         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
245         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
246         (bypass_jumps): New function to perform separate jump bypassing pass.
247         * rtl.h (bypass_jumps): Add function prototype.
248         * timevar.def (TV_BYPASS): New timing variable.
249         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
250         (dump_file): New entry for the bypass RTL dump file.
251         (rest_of_compilation): Insert new jump bypassing optimization
252         pass after loop.
253         * doc/passes.texi: Document new pass.
254
255 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
256
257         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
258         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
259         * pa.h (TARGET_SOM_SDEF): Define.
260         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
261
262 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
263
264         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
265         allocate 4-bytes of locals on 68HC11.
266         (expand_epilogue): Likewise.
267         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
268
269 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
270
271         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
272         and -mshort-double to the assembler to specify the ABI.
273         (LINK_SPEC): Likewise.
274         (CPP_SPEC): Pass HCS12 specific define.
275         (MASK_M68S12): New define.
276         (TARGET_M68S12): Likewise.
277         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
278         (TARGET_VERSION): Update.
279         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
280         (LINK_SPEC): Update.
281         (ASM_SPEC): Update.
282         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
283         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
284
285 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
286
287         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
288         the return code.
289
290 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
291
292         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
293         flag before setting it.
294
295 2003-01-15  Roger Sayle  <roger@eyesopen.com>
296
297         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
298         when loop condition is known true, i.e.  "while (1) { ... }".
299         (genrtl_for_stmt): Similarly for "for" statements.
300
301 2003-01-15  Roger Sayle  <roger@eyesopen.com>
302
303         * real.c (real_sqrt): Return a bool result indicating whether
304         a floating point exception or trap should be raised.
305         * real.h (real_sqrt): Update function prototype.
306         * builtins.c (fold_builtin): Only fold non-trapping square
307         roots unless we're ignoring errno and trapping math.
308
309 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
310
311         * expr.h (emit_conditional_add): Add PARAMS to declaration.
312         * gengtype-lex.l (malloc, realloc): Move defines after include of
313         system.h.  Remove duplicate include of system.h.
314
315 2003-01-15  Roger Sayle  <roger@eyesopen.com>
316
317         PR middle-end/9009
318         * optabs.c (expand_unop):  When manipulating the FP sign bit
319         using integer operations, account for targets with different
320         integer and FP word orders.
321         (expand_abs): Likewise.
322
323 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
324
325         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
326         file extension in section name.
327
328 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
329
330         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
331         constant offset.
332
333 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
334
335         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
336         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
337         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
338         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
339
340 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
341
342         PR f/9258
343         * global.c (struct allocno): Add no_stack_reg.
344         (global_conflicts): Set no_stack_reg.
345         (find_reg): Use it.
346
347         * convert.c (convert_to_real): Fold - and abs only when profitable.
348         * fold-const.c (fold): Fold truncates in - and abs.
349
350 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
351
352         Segher Boessenkool  <segher@koffie.nl>
353
354         * predict.c (real_inv_br_prob_base): New variable.
355         (propagate_freq): Use multiply by reciprocal instead of
356         division.  Don't divide by 1.0 at all.
357         (estimate_bb_frequencies): Similar.
358
359 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
360
361         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
362         * configure: Rebuilt.
363
364 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
365
366         * config/s390/s390.c (s390_safe_attr_type): New function.
367         (s390_use_dfa_pipeline_interface): New function, return true for z900.
368         (s390_issue_rate): New function.
369         (s390_agen_dep_p): New function.
370         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
371         (s390_adjust_cost): Return 'cost' if new DFA is used.
372         (s390_adjust_priority): Delete function.
373         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
374         * config/s390/s390.md (atype attribute): Attribute 'atype' default
375         determined by 'op_type'.
376         (type attribute): Added more type attributes.
377         * config/s390/2064.md: New DFA description for z900 pipeline.
378
379 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
380
381         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
382         forced to memory.  Fixes PR bootstrap/9036.
383
384         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
385         to set $gp before the call.
386
387 2003-01-14  Richard Henderson  <rth@redhat.com>
388
389         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
390         for force_const_mem.
391
392 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
393
394         * genattr.c (main): Rearrange output to avoid prototype warning.
395         * genautomata.c (transform_3): Fix ambiguous-else warning.
396         * local-alloc.c (requires_inout): Add parentheses around
397         assignment used as truth-value.
398         * timevar.c: Move system includes above local includes.  Include
399         toplev.h
400         * Makefile.in (timevar.o): Depend on toplev.h.
401
402 2003-01-14  Denis Chertykov  <denisc@overta.ru>
403
404         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
405         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
406
407         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
408         attributes.
409         (TARGET_ATTRIBUTE_TABLE): New macro.
410         (valid_machine_type_attribute): Remove.
411         (valid_machine_decl_attribute): Remove.
412         (ip2k_handle_progmem_attribute): New function.
413         (ip2k_handle_fndecl_attribute): New function.
414
415 2003-01-10  Andrew Haley  <aph@redhat.com>
416
417         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
418         registers to be in correct order.  Add rip.
419
420 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
421
422         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
423         (*iorsi3_and_lshiftrt_9_sb): Likewise.
424
425 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
426
427         * convert.c (strip_float_extensions):  Look for narrowest type handling
428         FP constants.
429
430         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
431         float1 CMP float2.
432         * convert.c (strip_float_extensions): Make global.
433         * tree.h (strip_float_extensions): Declare.
434
435 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
436
437         * timevar.def: define TV_NAME_LOOKUP.
438         * timevar.c (timevar_pop): Be verbose when aborting.
439
440 2003-01-13  Andreas Schwab  <schwab@suse.de>
441
442         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
443         $(parsedir), just move the temporary file at the end.
444         ($(parsedir)/gengtype-yacc.c): Likewise.
445
446 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
447
448         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
449         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
450         splitting.
451         * configure: Rebuilt.
452
453 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
454
455         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
456         internal_mcount): Don't use PARAMS.
457         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
458         ISO C style.
459         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
460
461 2003-01-13  Andreas Schwab  <schwab@suse.de>
462
463         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
464         directive.
465
466 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
467
468         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
469         (*iorsi3_and_lshiftrt_n_sb): Likewise.
470
471 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
472
473         PR c++/9264
474         * c-lex.c (c_lex): Set the token value to error_mark_node for
475         invalid numeric constants.
476
477 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
478
479         * c-pch.c (asm_file_startpos): Change to `long'.
480         (pch_init): Use ftell, not ftello.
481         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
482         Use `long' instead of `off_t'.
483         (c_common_read_pch): Likewise.
484         * ggc-common.c (gt_pch_save): Use long/ftell instead of
485         off_t/ftello.
486
487 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
488
489         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
490
491 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
492
493         * arm-protos.h (struct cpp_reader): Add declaration.
494
495 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
496
497         PR target/9068
498         * i386.c (output_fp_compare): Fix typo.
499
500 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
501
502         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
503
504 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
505
506         * Makefile.in (parsedir): New variable.
507         (docobjdir): New variable.
508         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
509         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
510         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
511         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
512         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
513         Use docobjdir.
514         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
515         objc.maintainer-clean): Use parsedir.
516
517         * varasm.c (struct constant_descriptor_rtx): Remove unused
518         `label' field.
519
520         * toplev.c (documented_lang_options): Document -Winvalid-pch.
521
522 2003-01-10  Richard Henderson  <rth@redhat.com>
523
524         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
525         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
526
527 2003-01-10  Richard Henderson  <rth@redhat.com>
528
529         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
530         not INTEGRAL_MODE_P when widening extensions.
531
532 2003-01-10  Richard Henderson  <rth@redhat.com>
533
534         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
535
536 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
537
538         * ggc-page.c (ggc_collect): Avoid overflow computing
539         min_expand.
540
541         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
542         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
543         Remove calls.
544         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
545
546 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
547
548         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
549         with weird operands.
550
551 2003-01-10  Dale Johannesen <dalej@apple.com>
552
553         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
554         parameters.  Call check_sibcall_argument_overlap if indicated.
555         (check_sibcall_argument_overlap):  Add mark_stored_args_map
556         parameter.  Don't mark parameter area as clobbered if not set.
557         (expand_call):  Adjust calls to above.
558
559 2003-01-10 Kelley Cook <kelleycook@comcast.net>
560
561         * configure.in (linker read-only and read-write section mixing):
562         Squelch some assembler warnings.
563         * configure: Likewise.
564
565 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
566
567         * doc/invoke.texi: Document -mtune, delete -mcpu
568         option for S/390 and zSeries.
569         * config/s390/s390.c (s390_tune_string) New variable.
570         (s390_cpu_string) Delete variable.
571         (override_options): Use s390_tune_string instead of
572         s390_cpu_string.
573         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
574
575 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
576
577         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
578
579 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
580
581         * jump.c (next_nonnote_insn_in_loop): New function.
582         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
583         next_nonnote_insn.
584         (duplicate_loop_exit_test). Likewise.
585
586 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
587
588         Merge from pch-branch:
589
590         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
591
592         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
593         load.
594
595         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
596
597         * cpplib.c (count_registered_pragmas): New function.
598         (save_registered_pragmas): New function.
599         (_cpp_save_pragma_names): New function.
600         (restore_registered_pragmas): New function.
601         (_cpp_restore_pragma_names): New function.
602         * cpphash.h (_cpp_save_pragma_names): Prototype.
603         (_cpp_restore_pragma_names): Likewise.
604         * cpppch.c (struct save_macro_item): Split from save_macro_data.
605         (struct save_macro_data): New field 'saved_pragmas'.
606         (save_macros): Update for changes to struct save_macro_data.
607         (cpp_prepare_state): Call _cpp_save_pragma_names, update
608         for changes to struct save_macro_data.
609         (cpp_read_state): Call _cpp_restore_pragma_names, update
610         for changes to struct save_macro_data.
611
612         * cpppch.c (cpp_read_state): Restore the hashtable references
613         in the cpp_reader.
614
615         * tree.h (built_in_decls): Mark for PCH.
616
617         * dbxout.c (lastfile): Don't mark for PCH.
618
619         * ggc.h: Document PCH calls into memory managers.
620
621         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
622
623         * doc/invoke.texi (Precompiled Headers): Document the
624         directory form of PCH.
625         * cppfiles.c (validate_pch): New function.
626         (open_file_pch): Search suitably-named directories for PCH files.
627
628         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
629
630         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
631         reorder options.
632         (Type Information): Mention that the information is also
633         used to implement PCH.
634         * doc/passes.texi (Passes): Improve documentation of
635         language-specific files.
636
637         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
638
639         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
640         (struct walk_type_data): Add reorder_fn field.
641         (walk_type): Process 'reorder' option.
642         (write_types_process_field): Reorder parameters to gt_pch_note_object,
643         call reorder_note_routine.
644         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
645         (ggc_wtd): Update for change to struct write_types_data.
646         (pch_wtd): Likewise.
647         * ggc.h (gt_pch_note_object): Reorder parameters.
648         (gt_handle_reorder): New definition.
649         (gt_pch_note_reorder): New prototype.
650         * ggc-common.c (struct ptr_data): Add reorder_fn.
651         (gt_pch_note_object): Reorder parameters.
652         (gt_pch_note_reorder): New.
653         (gt_pch_save): Call reorder_fn.
654         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
655
656         * dbxout.c (cwd): Don't mark for PCH.
657
658         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
659
660         * gengtype.c (finish_root_table): Fix some warnings.
661         (write_root): Handle TYPE_STRING.
662         * ggc.h (gt_ggc_m_S): Add prototype.
663         * stringpool.c (gt_ggc_m_S): New function.
664
665         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
666
667         * dwarf2out.c (dw2_string_counter): New.
668         (AT_string_form): Use it.
669         (same_dw_val_p): Update for removal of hashtable.h hash tables.
670
671         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
672
673         * dbxout.c: Include gt-dbxout.h.
674         (lastfile): Mark for PCH/GGC.
675         (cwd): Likewise.
676         (struct typeinfo): Likewise.
677         (typevec): Likewise.
678         (typevec_len): Likewise.
679         (next_type_number): Likewise.
680         (struct dbx_file): Likewise.
681         (current_file): Likewise.
682         (next_file_number): Likewise.
683         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
684         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
685         (dbxout_end_source_file): Don't free struct dbx_file.
686         (dbxout_type): Use GGC to allocate typevec.
687         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
688         (GTFILES): Add dbxout.c.
689         (gt-dbxout.h): New rule.
690
691         * Makefile.in (c-pch.o): Add debug.h as dependency.
692         * c-pch.c: Include debug.h.
693         (pch_init): Call start_source_file to keep nesting right.
694         (c_common_read_pch): Add orig_name parameter.  Call
695         start_source_file debug hook.  Call end_source_file debug hook.
696         * c-common.h (c_common_read_pch): Update prototype.
697         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
698         callback.
699         * cppfiles.c (struct include_file): Add new field `header_name'.
700         (find_or_create_entry): Default it to `name'.
701         (open_file_pch): Set it to the original header file searched for.
702         (stack_include_file): Don't stack an empty buffer, just handle
703         PCH files immediately.  Pass header_name field to read_pch callback.
704
705         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
706
707         * function.c (funcdef_no): Mark to be saved in a PCH.
708
709         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
710
711         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
712
713         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
714
715         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
716
717         * optabs.h (code_to_optab): Add GTY marker.
718
719         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
720
721         * Makefile.in (GTFILES): Add cpplib.h.
722         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
723         * c-decl.c (build_compound_literal): Don't use var_labelno.
724         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
725         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
726         * varasm.c (const_labelno): Use gengtype to mark.
727         (var_labelno): Likewise.
728         (in_section): Likewise.
729         (in_named_name): Likewise.
730         (struct in_named_entry): Likewise.
731         (in_named_htab): Likewise.
732         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
733         (init_varasm_once): Use GGC to allocate in_named_htab.
734         * config/darwin.c (current_pic_label_num): Mark for PCH.
735
736         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
737
738         * ggc-simple.c (init_ggc_pch): New stub procedure.
739         (ggc_pch_count_object): Likewise.
740         (ggc_pch_total_size): Likewise.
741         (ggc_pch_this_base): Likewise.
742         (ggc_pch_alloc_object): Likewise.
743         (ggc_pch_prepare_write): Likewise.
744         (ggc_pch_write_object): Likewise
745         (ggc_pch_finish): Likewise.
746         (ggc_pch_read): Likewise.
747
748         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
749
750         * c-pch.c (c_common_write_pch): Write the macro definitions after
751         the GCed data.
752         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
753         definitions after the GCed data.
754         * cpplib.c (save_macros): New.
755         (reset_ht): New.
756         (cpp_write_pch_deps): Split out of cpp_write_pch.
757         (cpp_write_pch_state): Split out of cpp_write_pch.
758         (cpp_write_pch): Delete.
759         (struct save_macro_data): Delete.
760         (cpp_prepare_state): New.
761         (cpp_read_state): Erase and restore initial macro definitions.
762         * cpplib.h (struct save_macro_data): Forward-declare.
763         (cpp_write_pch_deps): Prototype.
764         (cpp_write_pch_state): Prototype.
765         (cpp_write_pch): Delete prototype.
766         (cpp_prepare_state): Prototype.
767         (cpp_read_state): Add fourth argument.
768
769         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
770
771         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
772         (write_array): Remove warning.
773
774         * gengtype.c (contains_scalar_p): New.
775         (finish_root_table): Add the table to all languages, even if it's
776         empty.
777         (write_roots): Output gt_pch_scalar_rtab.
778         * ggc-common.c (gt_pch_save): Write out scalars.
779         (gt_pch_restore): Read scalars back.
780
781         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
782         (struct page_entry): Delete pch_page field.
783         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
784         (clear_marks): Likewise.
785         (sweep_pages): Likewise.
786         (poison_pages): Likewise.
787         (ggc_print_statistics): Likewise.
788         (ggc_pch_read): Don't free objects read from a PCH.
789         Properly set up in_use_p and page_tails.
790
791         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
792
793         * gengtype.c (struct write_types_data): New.
794         (struct walk_type_data): Make `cookie' const; add extra
795         prev_val item; add `orig_s' field.
796         (walk_type): Update prev_val[3].
797         (write_types_process_field): New.
798         (write_func_for_structure): Take write_types_data structure.
799         (write_types): New.
800         (ggc_wtd): New.
801         (pch_wtd): New.
802         (write_types_local_process_field): New.
803         (gc_mark_process_field): Delete.
804         (write_local_func_for_structure): New.
805         (gc_mark_func_name): Delete.
806         (write_gc_types): Delete.
807         (write_local): New.
808         (finish_root_table): Don't include 'ggc_' in PFX.
809         (write_root): Rename from write_root.  Fill pchw field of structures.
810         (write_array): New.
811         (write_roots): Rename from write_gc_roots.  Split out to write_array.
812         Update to changes to other routines.  Write gt_pch_cache_rtab table.
813         (main): Write PCH walking routines.
814         * ggc-common.c: Include toplev.h, sys/mman.h.
815         (ggc_mark_roots): For cache hashtables, also mark the hash table
816         and the array of entries.
817         (saving_htab): New.
818         (struct ptr_data): New.
819         (POINTER_HASH): New.
820         (gt_pch_note_object): New.
821         (saving_htab_hash): New.
822         (saving_htab_eq): New.
823         (struct traversal_state): New.
824         (call_count): New.
825         (call_alloc): New.
826         (compare_ptr_data): New.
827         (relocate_ptrs): New.
828         (write_pch_globals): New.
829         (struct mmap_info): New.
830         (gt_pch_save): New.
831         (gt_pch_restore): New.
832         * ggc-page.c (ROUND_UP_VALUE): New.
833         (ROUND_UP): New.
834         (struct page_entry): Add field `pch_page'.
835         (init_ggc): Use ROUND_UP.
836         (struct ggc_pch_data): Declare.
837         (init_ggc_pch): New.
838         (ggc_pch_count_object): New.
839         (ggc_pch_total_size): New.
840         (ggc_pch_this_base): New.
841         (ggc_pch_alloc_object): New.
842         (ggc_pch_prepare_write): New.
843         (ggc_pch_write_object): New.
844         (ggc_pch_finish): New.
845         (ggc_pch_read): New.
846         * ggc.h (gt_pointer_operator): New.
847         (gt_note_pointers): New.
848         (gt_pch_note_object): New prototype.
849         (gt_pointer_walker): New.
850         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
851         (LAST_GGC_ROOT_TAB): Update.
852         (gt_pch_cache_rtab): Declare.
853         (gt_pch_scalar_rtab): Declare.
854         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
855         (LAST_GGC_CACHE_TAB): Update.
856         (gt_pch_save_stringpool): Declare.
857         (gt_pch_restore_stringpool): Declare.
858         (gt_pch_p_S): Declare.
859         (gt_pch_n_S): Declare.
860         (struct ggc_pch_data): Forward-declare.
861         (init_ggc_pch): Declare.
862         (ggc_pch_count_object): Declare.
863         (ggc_pch_total_size): Declare.
864         (ggc_pch_this_base): Declare.
865         (ggc_pch_alloc_object): Declare.
866         (ggc_pch_prepare_write): Declare.
867         (ggc_pch_write_object): Declare.
868         (ggc_pch_finish): Declare.
869         (ggc_pch_read): Declare.
870         (gt_pch_save): Declare.
871         (gt_pch_restore): Declare.
872         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
873         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
874         const_double_htab, mem_attrs_htab using GGC.
875         * c-pch.c: Include ggc.h.
876         (pch_init): Allow reading PCH file back.
877         (c_common_write_pch): Call gt_pch_save.
878         (c_common_read_pch): Call gt_pch_restore.
879         * c-parse.in (init_reswords): Delete now-untrue comment.
880         Allocate ridpointers using GGC.
881         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
882         calling expand_deferred_fns.
883         * c-common.h (ridpointers): Mark for GTY machinery.
884         * Makefile.in (stringpool.o): Update dependencies.
885         (c-pch.o): Update dependencies.
886         (ggc-common.o): Update dependencies.
887         * stringpool.c: Include gt-stringpool.h.
888         (gt_pch_p_S): New.
889         (gt_pch_n_S): New.
890         (struct string_pool_data): New.
891         (spd): New.
892         (gt_pch_save_stringpool): New.
893         (gt_pch_restore_stringpool): New.
894         * tree.c (init_ttree): Make type_hash_table allocated using GC.
895
896         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
897
898         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
899         (output_mangled_typename): Don't pass size_t to printf.
900
901         * tree.h (union tree_type_symtab): Add tag to `address' field.
902         (union tree_decl_u2): Add tag to 'i' field.
903         * varasm.c (union rtx_const_un): Add tags to all fields.
904         * gengtype.c (struct walk_type_data): New.
905         (output_escaped_param): Take struct walk_type_data parameter.
906         (write_gc_structure_fields): Delete.
907         (walk_type): New.
908         (write_gc_marker_routine_for_structure): Delete.
909         (write_func_for_structure): New.
910         (gc_mark_process_field): New.
911         (gc_mark_func_name): New.
912         (gc_counter): Delete.
913         (write_gc_types): Use write_func_for_structure.
914         (write_gc_roots): Use walk_type.
915
916         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
917
918         * ggc-common.c (ggc_mark_roots): Delete 'x'.
919         (ggc_splay_dont_free): Fix warning about unused 'x'.
920         (ggc_print_common_statistics): Remove warnings.
921
922         2002-10-01  Mike Stump  <mrs@apple.com>
923
924         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
925         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
926
927         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
928             Catherine Moore  <clm@redhat.com>
929
930         * Makefile (c-pch.o): Update dependencies.
931         (LIBCPP_OBJS): Add cpppch.o.
932         (cpppch.o): New.
933         * c-common.c (c_common_init): Don't call pch_init here.
934         * c-common.h (c_common_read_pch): Update prototype.
935         * c-lex.c (c_common_parse_file): Call pch_init here.
936         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
937         (c_common_decode_option): Handle them.
938         * c-pch.c: Include c-pragma.h.
939         (save_asm_offset): Delete.
940         (pch_init): Move contents of save_asm_offset into here, call
941         cpp_save_state.
942         (c_common_write_pch): Call cpp_write_pch.
943         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
944         cpp_valid_state.
945         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
946         * cppfiles.c (stack_include_file): Update for change to
947         parameters of cb.read_pch.
948         * cpphash.h (struct cpp_reader): Add `savedstate' field.
949         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
950         `restore_pch_deps' fields.
951         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
952         (cpp_save_state): Prototype.
953         (cpp_write_pch): Prototype.
954         (cpp_valid_state): Prototype.
955         (cpp_read_state): Prototype.
956         * cpppch.c: New file.
957         * flags.h (version_flag): Remove prototype.
958         * mkdeps.c (deps_save): New.
959         (deps_restore): New.
960         * mkdeps.h (deps_save): Prototype.
961         (deps_restore): Prototype.
962         * toplev.c (late_init_hook): Delete.
963         (version_flag): Make static again.
964         (compile_file): Don't call late_init_hook.
965         * toplev.h (late_init_hook): Delete.
966         * doc/cppopts.texi: Document -fpch-deps.
967         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
968
969         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
970
971         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
972         callers.
973         (c_common_valid_pch): Rename from c_valid_pch, change callers.
974         (c_common_read_pch): Rename from c_read_pch, change callers.
975
976         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
977         a space between it and its argument.
978
979         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
980
981         * c-pch.c: New file.
982         * toplev.h (late_init_hook): Declare.
983         * toplev.c (late_init_hook): Define.
984         (version_flag): Make globally visible.
985         (compile_file): Call late_init_hook.
986         (init_asm_output): Make output file seekable.
987         * gcc.c (default_compilers): Update c-header rule.
988         * flags.h (version_flag): Declare.
989         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
990         fields.
991         * cppfiles.c (struct include_file): Add 'pch' field.
992         (INCLUDE_PCH_P): New.
993         (open_file_pch): New.
994         (stack_include_file): Handle PCH files specially.
995         (find_include_file): Call open_file_pch instead of open_file.
996         (_cpp_read_file): Explain why open_file is used instead of
997         open_file_pch.
998         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
999         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
1000         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
1001         in cpplib callbacks.
1002         * c-common.c (pch_file): Correct comment.
1003         (allow_pch): Define.
1004         (c_common_init): Call pch_init.
1005         * c-common.h (allow_pch): Declare.
1006         (pch_init): Declare.
1007         (c_valid_pch): Declare.
1008         (c_read_pch): Declare.
1009         (c_write_pch): Declare.
1010         * Makefile.in (c-pch.o): New.
1011         (C_AND_OBJC_OBJS): Add c-pch.o.
1012         * doc/invoke.texi (Precompiled Headers): Add index entries,
1013         complete truncated paragraph.
1014
1015         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
1016
1017         * c-common.c: (pch_file): Define.
1018         * c-common.h (pch_file): Declare.
1019         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
1020         (missing_arg): Require --output-pch= to have an argument.
1021         (c_common_decode_option): Handle --output-pch=.
1022         * gcc.c: Document new %V.
1023         (default_compilers): Handle compiling C header files.
1024         (do_spec_1): Implement %V.
1025         (main): Handle "gcc foo.h" without trying to run linker.
1026         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
1027         (Overall Options): Document what the driver does with header files,
1028         document new -x option possibilities.
1029         (Invoking G++): More documentation for PCH.
1030         (Precompiled Headers): New.
1031
1032         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
1033
1034         * ggc.h: Don't include varray.h.  Rearrange functions to be more
1035         organized.
1036         (ggc_add_root): Delete.
1037         (ggc_mark_rtx): Delete.
1038         (ggc_mark_tree): Delete.
1039         (struct ggc_statistics): Remove contents.
1040         * ggc-common.c: Remove unneeded includes.
1041         (struct ggc_root): Delete.
1042         (roots): Delete.
1043         (ggc_add_root): Delete.
1044         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
1045         (ggc_print_common_statistics): Remove most of the contents.
1046         * Makefile.in (GGC_H): No longer uses varray.h.
1047         (ggc-common.o): Update dependencies.
1048         (c-parse.o): Add varray.h to dependencies.
1049         (c-common.o): Add varray.h.
1050         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
1051         (mark_ident_hash): Rename to ggc_mark_stringpool.
1052         (init_stringpool): Don't use ggc_add_root.
1053         * c-parse.in: Include varray.h.
1054         * c-common.c: Include varray.h.
1055         * objc/Make-lang.in (objc-act.o): Add varray.h.
1056         * objc/objc-act.c: Include varray.h.
1057
1058         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
1059
1060         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
1061         (dw_cfi_oprnd1_desc): Likewise.
1062
1063         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
1064
1065         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
1066         move out of ifdef.
1067         (alpha_links): Use gengtype to mark; move out of ifdef.
1068         (mark_alpha_links_node): Delete.
1069         (mark_alpha_links): Delete.
1070         (alpha_need_linkage): Use GGC to allocate splay tree, struct
1071         alpha_links, strings.  Don't use ggc_add_root.
1072         * ggc-common.c (ggc_splay_alloc): New.
1073         (ggc_splay_dont_free): New.
1074         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
1075         (ggc_mark_tree): Likewise.
1076         (splay_tree_new_ggc): New.
1077         (ggc_splay_alloc): Declare.
1078         (ggc_splay_dont_free): Declare.
1079         * dwarf2asm.c: Include gt-dwarf2asm.h.
1080         (mark_indirect_pool_entry): Delete.
1081         (mark_indirect_pool): Delete.
1082         (indirect_pool): Use gengtype to mark.
1083         (dw2_force_const_mem): Don't use ggc_add_root.
1084         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
1085         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
1086         (gt-dwarf2asm.h): Depend on s-gtype.
1087
1088         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
1089
1090         * tree.h (union tree_type_symtab): Mark `die' field.
1091         * Makefile.in (dwarf2out.o): Update dependencies.
1092         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
1093         hash tables.
1094         (dw_cfi_oprnd1_desc): New function.
1095         (dw_cfi_oprnd2_desc): New function.
1096         (indirect_string_alloc): Delete.
1097         (debug_str_do_hash): New function.
1098         (debug_str_eq): New function.
1099         (mark_limbo_die_list): Delete.
1100         (dwarf2out_init): Don't call ggc_add_root.
1101
1102 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
1103
1104         The following changes are merged from itanium-sched-branch:
1105
1106         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1107
1108         * doc/md.texi: Clarify assignment of units to automata description.
1109
1110         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
1111
1112         * genautomata.c (unit_decl): Remove members
1113         `the_same_automaton_unit' and
1114         `the_same_automaton_message_reported_p'.
1115         (process_unit_to_form_the_same_automaton_unit_lists,
1116         form_the_same_automaton_unit_lists_from_regexp,
1117         form_the_same_automaton_unit_lists, the_same_automaton_lists):
1118         Remove them.
1119         (annotation_message_reported_p): New global variable.
1120         (check_unit_distribution_in_reserv,
1121         check_regexp_units_distribution): New functions.
1122         (check_unit_distributions_to_automata): Rewrite it.
1123
1124         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
1125
1126         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
1127         Use continue instead of break if cycle is too big.
1128
1129         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
1130
1131         * genautomata.c (check_unit_distributions_to_automata): Output at
1132         most one message for a unit.
1133         (process_unit_to_form_the_same_automaton_unit_lists): Check
1134         automaton of units instead of units themself.
1135
1136         * doc/md.texi: Describe the constraint about assigning unit to
1137         automata.
1138
1139         2002-12-20  Jan Hubicka  <jH@suse.cz>
1140                     Vladimir Makarov  <vmakarov@redhat.com>
1141
1142         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
1143         and `in_set_p'.
1144         (gen_cpu_unit): Initialize the new members.
1145         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
1146         up `min_occ_cycle_num'.
1147         (evaluate_max_reserv_cycles): Change the function call.
1148         (CLEAR_BIT): New macro.
1149         (states_union, state_shift): Use the mask.
1150         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
1151         (form_reservs_matter): New function.
1152         (make_automaton): Call the function and use the mask.
1153         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
1154         account.
1155
1156         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1157
1158         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
1159
1160         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1161
1162         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
1163         for Itanium.
1164
1165         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1166
1167         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
1168         default cpu.
1169
1170         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1171                 2002-10-31  Dale Johannesen <dalej@apple.com>
1172
1173         * haifa-sched.c (find_set_reg_weight): New function.
1174         (find_insn_reg_weight): Use the new function.
1175         (schedule_block): Do sorting ready queue always
1176         after insn issue.
1177
1178         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
1179
1180         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
1181
1182         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
1183
1184         * haifa-sched.c (choice_entry): New structure.
1185         (choice_stack, cycle_issued_insns): New variables.
1186         (max_issue): Rewrite it.
1187         (choose_ready): Set up ready_try for unknown insns too.
1188         (schedule_block): Allocate and free choice_stack.  Set up
1189         and modify cycle_issued_insns.
1190
1191         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
1192         with and without filling the bundle.
1193         (bundling): Combine calls of issue_nops_and_insn.
1194
1195         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
1196
1197         * config/ia64/itanium1.md: New file.
1198
1199         * config/ia64/itanium2.md: New file.
1200
1201         * config/ia64/ia64.md: Move DFA descriptions into the new files.
1202         Remove the old pipeline description.
1203
1204         * config/ia64/ia64.c (ia64_override_options): Add aliases of
1205         itanium processor names.
1206
1207         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
1208
1209         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
1210         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
1211
1212         * config/ia64/ia64.md: Add descriptions for Itanium2.
1213
1214         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1215
1216         * config/ia64/ia64.h (processor_type): New enumeration.
1217         (ia64_tune, ia64_tune_string): New external declarations.
1218         (TARGET_OPTIONS): Add option `tune='.
1219
1220         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
1221         variables.
1222         (ia64_override_options): Set up `ia64_tune'.
1223         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
1224         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
1225         (bundling): Add nops for MM-insns only for Itanium.
1226         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
1227         Itanium.
1228
1229         * config/ia64/ia64.md (cpu): New attribute.
1230         (DFA description): Enable it only for Itanium.
1231
1232         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1233                     Richard Henderson  <rth@redhat.com>
1234
1235         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
1236         MASK_EARLY_STOP_BITS.
1237         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
1238         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
1239         `early-stop-bits'.
1240
1241         * config/ia64/ia64.c (ia64_dfa_new_cycle,
1242         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
1243         instead of TARGET_TUNE_STOP_BITS.
1244
1245         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
1246         `-mearly-stop-bits'.
1247
1248         * config/ia64/ia64.c (automata_option "v"): Comment it.
1249
1250         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
1251
1252         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
1253         New macros.
1254         (TARGET_SWITCHES): Add entries for the new option.
1255
1256         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
1257         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
1258         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
1259         global variables.
1260         (ia64_sched_reorder2): Set up `clocks'.
1261         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
1262         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
1263         queue when TARGET_TUNE_STOP_BITS.
1264         (bundling): Insert additional nops for MM-insns.
1265         (final_emit_insn_group_barriers): Add insertion of stop bits
1266         according `stops_p'.
1267         (ia64_reorg): Initiate the new varibales.
1268
1269         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
1270
1271         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
1272
1273         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
1274         insns at the end of block insn scheduling.
1275
1276         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
1277
1278         * sched-deps.c (remove_dependence, group_leader): Remove it.
1279         (add_dependence): Add dependence to group leader to.
1280         (set_sched_group_p): Add dependence to the first insn of the
1281         schedule group too.
1282         (sched_analyze_insn): Make dependence to jump as anti-dependence.
1283         Change true dependence by anti-dependence when
1284         `reg_pending_barrier'.
1285
1286         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
1287         add_branch_dependences): Ignore schedule groups.
1288
1289         * sched-ebb.c (init_ready_list): Ditto.
1290
1291         * (move_insn, set_priorities): Ditto.
1292
1293         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
1294         flag is clear after reload.
1295         (adjust_cost): Change cost only for output dependencies.
1296
1297         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
1298
1299         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
1300
1301         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
1302
1303         * target.h (gcc_target): Add member
1304         `dependencies_evaluation_hook'.
1305
1306         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
1307         macro.
1308         (TARGET_SCHED): Add initiatialization of the new member.
1309
1310         * sched-ebb.c: Include `target.h'.
1311         (schedule_ebb): Call `dependencies_evaluation_hook'.
1312
1313         * sched-rgn.c (schedule_region): Call
1314         `dependencies_evaluation_hook'.
1315
1316         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1317         New macro.
1318         (ia64_dependencies_evaluation_hook): New function.
1319
1320         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1321         Describe the new hook.
1322
1323         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
1324
1325         * target.h (gcc_target): Add members
1326         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
1327
1328         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
1329         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
1330         macros.
1331         (TARGET_SCHED): Add initiatialization of the new members.
1332
1333         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
1334         insn scheduling too.
1335         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
1336         initialize `ready_try'.
1337         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
1338         `dfa_new_cycle' says not to do it.
1339
1340         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
1341         bundling.
1342
1343         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
1344
1345         * config/ia64/ia64.c: Include `hashtab.h'.
1346         (ia64_first_cycle_multipass_dfa_lookahead_guard,
1347         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
1348         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
1349         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
1350         bundle_state_eq_p, insert_bundle_state,
1351         initiate_bundle_state_table, finish_bundle_state_table,
1352         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
1353         get_template, get_next_important_insn, bundling): New functions.
1354         (ia64_internal_sched_reorder): Remove it.
1355         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1356         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
1357         (ia64_safe_itanium_requires_unit0): Remove it.
1358         (group_barrier_needed_p): Place group barrier right before a real
1359         insn.
1360         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
1361         Remove them.
1362         (bundle_name): New variable.
1363         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
1364         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
1365         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
1366         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
1367         temp_dfa_state, prev_cycle_state): New global variables.
1368         (insn_matches_slot, maybe_rotate, finish_last_head,
1369         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
1370         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
1371         find_best_packet, itanium_reorder, dump_current_packet,
1372         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
1373         (sched_data, sched_ready, sched_types): Remove them.
1374         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
1375         `init_insn_group_barriers'.
1376         (ia64_sched_reorder, ia64_sched_reorder2): Call
1377         ia64_dfa_sched_reorder.
1378         (ia64_variable_issue): Rewrite it.
1379         (bundle_state): New structure.
1380         (index_to_bundle_states, bundle_states_num,
1381         allocated_bundle_states_chain, free_bundle_state_chain): New
1382         global variables.
1383         (ia64_sched_finish): Add stop bits and call `bundling' after the
1384         2nd insn scheduling.
1385         (ia64_use_dfa_pipeline_interface): Return zero always.
1386         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
1387         insn scheduling.
1388         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
1389         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
1390         (ia64_reorg): Add bundling insns.
1391
1392         * doc/tm.texi
1393         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1394         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
1395
1396         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
1397
1398         * config/ia64/ia64.md: Add Itanium1 DFA description.
1399         (itanium_class): Add `nop' and `pre_cycle'.  Add
1400         define_function_unit for `nop'.
1401         (nop): Change attribute `itanium_class'.
1402         (pre_cycle): New define_insn.
1403
1404         * config/ia64/ia64-protos.h (bundling_p): New external variable.
1405         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
1406         ia64_produce_address_p): New function prototypes.
1407
1408         * config/ia64/ia64.c (bundling_p): New global variable.
1409         (ia64_use_dfa_pipeline_interface,
1410         ia64_first_cycle_multipass_dfa_lookahead,
1411         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
1412         functions.
1413         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1414         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1415         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1416         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
1417         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
1418         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
1419         (dfa_pre_cycle_insn): New variable.
1420
1421         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1422
1423         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
1424         constructions.
1425
1426         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
1427         New function prototypes.
1428
1429         * genattrtab.c (main): Process the new constructions.
1430
1431         * genautomata.c (gen_presence_absence_set,
1432         process_presence_absence_names, process_presence_absence_patterns,
1433         add_presence_absence, check_absence_pattern_sets): Add parameter
1434         `final_p'.
1435         (unit_decl): Add new members `final_presence_list' and
1436         `final_absence_list'.
1437         (unit_pattern_rel_decl): Add new member `final_p'.
1438         (gen_final_presence_set, gen_final_absence_set): New functions.
1439         (process_decls): Use member `final_p'.
1440         (temp_reserv): New global variable.
1441         (reserv_sets_are_intersected): Add processing `final_presence_set'
1442         and `final_absence_set'.
1443         (initiate_states): Allocate `temp_reserv'.
1444         (unit_final_presence_set_table, unit_final_absence_set_table): New
1445         gloabal variables.
1446         (initiate_presence_absence_pattern_sets): Initiate them.
1447         (NDFA_to_DFA): Fix typo.
1448         (output_description): Output `final_presence_set' and
1449         `final_absence_set'.
1450
1451         * doc/md.texi (final_presence_set, final_absence_set): Describe
1452         them.
1453
1454         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1455
1456         * genautomata.c (transform_3): Process a missing case (nothing on
1457         unit place).
1458
1459         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1460
1461         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
1462         comments about queried units and the minimization.
1463
1464         * doc/md.texi: Ditto.
1465
1466         * genautomata.c (create_composed_state): Return nonzero if the new
1467         state has been created.
1468         (first_cycle_unit_presence): New function.
1469         (state_is_differed): Add new parameter.  Use the new function.
1470         Take queried units into account.
1471         (partition_equiv_class): Pass additional parameter to
1472         `state_is_differed'.
1473         (merge_states): Process composed states too.
1474         (build_automaton, create_automata, output_min_issue_delay_table,
1475         output_tables, output_statistics): Output more information.
1476         (output_reserved_units_table): Use function
1477         `first_cycle_unit_presence'.
1478         (output_tables): Output table of queried units even if the
1479         minimization is switched on.
1480         (write_automata): Output code for querying units even if the
1481         minimization is switched on.
1482
1483         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
1484
1485         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
1486         syntax of the constructions.
1487
1488         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
1489         extended syntax of the constructions.
1490
1491         * genautomata.c (unit_rel_decl): Rename it to
1492         `unit_pattern_rel_decl'.
1493         (pattern_set_el, pattern_reserv): New structures.
1494         (pattern_set_el_t, pattern_reserv_t): New types.
1495         (gen_presence_absence_set): New function.
1496         (process_presence_absence): Remove it.
1497         (process_presence_absence_names,
1498         process_presence_absence_patterns): New functions.
1499         (get_presence_absence_set): Remove it.
1500         (initiate_presence_absence_sets): Rename it on
1501         `initiate_presence_absence_pattern_sets'.  Use new function
1502         `form_reserv_sets_list'.
1503         (form_reserv_sets_list, check_presence_pattern_sets,
1504         check_absence_pattern_sets, output_pattern_set_el_list): New
1505         functions.
1506         (unit_decl): Change types of members `presence_list' and
1507         `absence_list'.
1508         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
1509         (decl): Change types of members `excl', `presence', and `absence'.
1510         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
1511         at the end of the vector.
1512         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1513         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
1514         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
1515         (gen_presence_set, gen_absence_set): Use new function
1516         `gen_presence_absence_set'.
1517         (add_presence_absence): Process `pattern_list' instead of
1518         `source_list'.
1519         (process_decls): USe new functions
1520         `process_presence_absence_names' and
1521         `process_presence_absence_patterns'.
1522         (reserv_sets_are_intersected): Use new function
1523         `check_presence_pattern_sets'.
1524         (presence_set, absence_set): Remove them.
1525         (unit_presence_set_table, unit_absence_set_table): New global
1526         variables.
1527         (output_description): Use new function
1528         `output_pattern_set_el_list'.
1529         (generate): Use `initiate_presence_absence_pattern_sets'.
1530
1531         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
1532
1533         * genattr.c (main): Add output of prototype of new interface
1534         function `dfa_clean_insn_cache'.
1535
1536         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
1537         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
1538         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
1539         the generated code.
1540         (write_automata): Call the new function.
1541
1542 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1543
1544         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
1545         correctly.
1546
1547 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
1548
1549         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
1550
1551 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
1552
1553         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
1554         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1555         (CONSTRAINT_LEN): Provide default definition.
1556         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1557         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
1558         (EXTRA_CONSTRAINT_STR): Likewise.
1559         (REG_CLASS_FROM_CONSTRAINT): Define.
1560         * genoutput.c (check_constraint_len, constraint_len): New functions.
1561         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
1562         constraint / modifier.
1563         (gen_insn): Call check_constraint_len.
1564         * local-alloc.c (block_alloc): Update to use new macros / pass
1565         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
1566         * ra-build.c (handle_asm_insn): Likewise.
1567         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
1568         (constrain_operands, peep2_find_free_register): Likewise.
1569         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1570         * regmove.c (find_matches): Likewise.
1571         * reload.c (push_secondary_reload, find_reloads): Likewise.
1572         (alternative_allows_memconst): Likewise.
1573         * reload1.c (maybe_fix_stack_asms): Likewise.
1574         (reload_cse_simplify_operands): Likewise.
1575         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1576         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
1577         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1578         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
1579         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
1580         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
1581
1582         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
1583
1584 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1585
1586         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
1587         length.
1588         (*extzv_1_r_h8300hs): Likewise.
1589         (*extzv_1_r_inv_h8300): Likewise.
1590         (*extzv_1_r_inv_h8300hs): Likewise.
1591
1592 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1593
1594         * config/h8300/h8300.h (PREDICATE_CODES): New.
1595
1596 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1597
1598         * config/h8300/h8300.md (*addsi3_upper): New.
1599         (*iorsi3_shift): Likewise.
1600         (two splitters): Likewise.
1601         (*addsi3_shift): Likewise.
1602         (two splitters): Likewise.
1603
1604 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
1605
1606         * Makefile.in (optabs.o): Add dependency on basic-block.h.
1607         * basic-block.h (control_flow_insn_p): Fuction was exported.
1608         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
1609         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
1610         notes only when the region is contained in a single basic block.
1611
1612 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1613
1614         PR inline-asm/8832
1615         * tree.h (expand_asm): New prototype.
1616         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
1617         to do so.
1618         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
1619         down to expand_asm.
1620         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
1621         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
1622         (volatile_refs_p) [ASM_INPUT]: Likewise.
1623         (side_effects_p) [ASM_INPUT]: Likewise.
1624
1625 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
1626
1627         * i386.md (*mul*): FIx constraints; remove confused comment; fix
1628         athlon_decode attributes
1629         (imul/k8 optimization peep2s): New.
1630
1631         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
1632         * i386.md (type attribute): Add ssecomi.
1633         (unit, memory, prefix attributes): Handle ssecomi.
1634         (cvt?2? patterns): Fix athlon_decode attribute
1635         (comi patterns): Set attribute to ssecomi.
1636
1637         PR target/8343
1638         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
1639
1640 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
1641
1642         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
1643         that match register_operands.
1644         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
1645         register_operand the default case.
1646
1647 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1648
1649         PR c/8032
1650         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
1651         an empty element, do not advance the pointer to unfilled
1652         fields if there are pending initializers.
1653
1654 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
1655
1656         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
1657         (install-gcc-tooldir, install-cpp, installdirs,
1658         install-common, install-driver, install-info, install-man,
1659         install-headers, install-include-dir, install-headers-tar,
1660         install-headers-cpio, install-headers-cp, install-mkheaders,
1661         install-collect2, uninstall): Prepend $(DESTDIR) to
1662         destination paths in all (un)installation commands.
1663         (install-driver): Rewrite $(LN) commands to support DESTDIR
1664         with "ln" as well as with "ln -s".
1665         (installdirs): Simply use mkinstalldirs.
1666         (install-libgcc, install-multilib): Also pass DESTDIR.
1667         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
1668         installation destination variable ldir.
1669         * config/alpha/t-osf4, config/arm/t-netbsd,
1670         config/ia64/t-hpux, config/mips/t-iris5-6,
1671         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
1672         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
1673         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
1674         in the definition of SHLIB_INSTALL.
1675         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
1676         $(libsubdir) in the installation commands.
1677
1678 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1679
1680         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
1681         non-optimizing compile.
1682         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
1683         compile.
1684
1685 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
1686
1687         * config/i386/i386.c (ix86_attribute_table): Add new attributes
1688         ms_struct and gcc_struct.
1689         (ix86_handle_struct_attribute): New function.
1690         (ix86_ms_bitfield_layout_p): Update to take new attributes
1691         into account.
1692         * doc/extend.texi: Document new attributes.
1693         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
1694
1695 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
1696
1697         PR optimization/8750
1698         * config/i386/i386.c (ix86_expand_prologue): Don't allow
1699         scheduling pass to move insns across __alloca call.
1700
1701 2003-01-08  Dale Johannesen  <dalej@apple.com>
1702
1703         * config/rs6000/rs6000.md:  Replace *store_multiple_string
1704         with *stmsi[3-8].
1705
1706 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
1707
1708         PR target/9210
1709         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
1710         Set SYMBOL_REF_FLAG on local data sym_ref.
1711
1712 2003-01-08  Dale Johannesen  <dalej@apple.com>
1713
1714         * function.c (assign_parms):  Don't set pretend_args_size if
1715           REG_PARM_STACK_SPACE.
1716           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
1717           pretend_args_size.
1718
1719 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1720
1721         * gcc.hlp: Delete.
1722
1723 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
1724
1725         * i386.c  (ix86_expand_int_addcc): Fix thinko.
1726
1727 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1728
1729         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
1730         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
1731         as hook_bool_tree_hwi_hwi_tree_true.
1732         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
1733         (rs6000_emit_epilogue): Same.
1734         (rs6000_output_mi_thunk): Re-implement as RTL.
1735         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
1736         xcoffout_declare_function if any debugging enabled.
1737
1738 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
1739
1740         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
1741         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
1742         * config/mips/mips.h (enum processor_type): Rename
1743         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
1744         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
1745         Add PROCESSOR_M4K.
1746         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
1747         (ISA_MIPS32R2): New define.
1748         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
1749         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
1750         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
1751         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
1752         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
1753         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
1754         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
1755         compiling MIPS16 code.
1756         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
1757         comment.
1758         (ISA_HAS_SEB_SEH): New define.
1759         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
1760         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
1761         processor_type value renaming.  Add support for MIPS32R2.
1762         Clean up comments, and move "sb1" entry with other MIPS64 CPU
1763         entries.
1764         (override_options): Reimplement -mipsN option handling so that
1765         it will work correctly for -mips32r2.  Avoid branch-likely
1766         instructions on MIPS32R2.
1767         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
1768         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
1769         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
1770         (extendhisi2_hw, extendqisi2_hw): New.
1771         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
1772         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
1773         MIPS32R2, and MIPS64.
1774         (LINK_SPEC): Pass -mips32r2 to linker.
1775         * config/mips/t-isa3264: Built -mips32r2 multilibs.
1776         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
1777         for mips32r2 in the -march description.  Alphabetically sort
1778         CPU names in the -march description.  Add long-missed -mips32
1779         and -mips64 to MIPS option summary.
1780
1781         * config.gcc: Update copyright years to include 2003.
1782         * config/mips/mips.c: Likewise.
1783         * config/mips/mips.h: Likewise.
1784         * config/mips/mips.md: Likewise.
1785         * config/mips/netbsd.h: Likewise.
1786         * doc/invoke.texi: Likewise.
1787
1788 2003-01-08  Andreas Schwab  <schwab@suse.de>
1789
1790         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
1791         variable.
1792         * configure: Regenerated.
1793
1794 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1795
1796         * config/h8300/h8300.c (output_logical_op): Replace byte/word
1797         extraction of det with b0, b1, w0, w2, etc.
1798         (compute_logical_op_length): Likewise.
1799         (compute_logical_op_cc): Likewise.
1800
1801 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1802
1803         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
1804         HIGH on all variants.
1805
1806 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
1807
1808         * Makefile.in (PARTITION_H): New.
1809         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
1810         * basic-block.h: Include hard-reg-set.h.
1811
1812 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
1813
1814         * arm.h (ENABLE_XF_PATTERNS): Delete.
1815         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
1816         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
1817         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
1818         (cmpxf_trap): Delete.
1819         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
1820
1821 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1822
1823         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
1824         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
1825         (add??cc): New expanders.
1826         * i386.c (expand_int_addcc): New function.
1827         * i386-protos.h (expand_int_addcc): Declare.
1828
1829         * alias.c (memory_modified_1): New static function.
1830         (memory_modified): New static varaible.
1831         (memory_modified_in_insn_p): New global function.
1832         * rtl.h (memory_modified_in_insn_p): Declare.
1833         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
1834         references.
1835
1836         * expr.h (emit_conditional_add): Declare.
1837
1838 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
1839
1840         PR other/8947
1841         * doc/invoke.texi (-malign-double): Explain that the option breaks
1842         binary compatibility.
1843
1844 2003-01-08  Andreas Schwab  <schwab@suse.de>
1845
1846         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
1847         should come from the generic *-*-linux* entry.
1848
1849 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
1850
1851         * cselib.c (cselib_current_insn_in_libcall): New static variable.
1852         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
1853         we are inside libcall.
1854         * cselib.h (elt_loc_list): Add in_libcall.
1855         * gcse.c (do_local_cprop): Do not copy propagate using insns
1856         in libcalls.
1857
1858 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
1859
1860         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
1861         not normally affect to issue rate.
1862
1863 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1864
1865         * genopinit.c (optabs): Add addc_optab.
1866         * ifcvt.c (noce_try_store_flag): Rename to ...
1867         (noce_try_addcc): ... this one; handle generic conditional increment.
1868         (noce_process_if_block): Update noce_try_addcc call.
1869         * optabs.c (emit_conditional_add): New.
1870         (init_obtabs): Initialize addc_optab.
1871         * optabs.h (optab_index): Add OTI_addcc.
1872         (addcc_optab): New macro.
1873         * md.texi: Document addMcc
1874
1875         PR target/8322
1876         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
1877         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1878         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1879
1880         * reload1.c (delete_output_reload): Avoid repeated attempts
1881         to delete insn.
1882
1883 2003-01-07  Andreas Schwab  <schwab@suse.de>
1884
1885         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
1886         Move --enable-initfini-array check ...
1887         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
1888         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
1889         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
1890         * configure: Rebuild.
1891
1892 2003-01-07  Richard Henderson  <rth@redhat.com>
1893
1894         * alias.c (find_base_value): Only use new_reg_base_value shortcut
1895         if the register is set once.
1896
1897 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
1898
1899         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
1900         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
1901         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
1902
1903 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
1904             Sunil Davasam  <sunil.k.davasam@intel.com>
1905
1906         PR libstdc++/9076
1907         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
1908         DW_CFA_same_value, read next and ignore.
1909
1910 2003-01-07  Richard Henderson  <rth@redhat.com>
1911
1912         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
1913
1914 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
1915
1916         * cfg.c: Include alloc-pool.h
1917         (edge_pool): New pool.
1918         (bb_pool): New pool.
1919         (first_deleted_edge): Remove.
1920         (first_deleted_block): Remove.
1921         (init_flow): Alloc/free the pools.
1922         (free_edge): Use pools.
1923         (alloc_block): Ditto.
1924         (expunge_block): Ditto.
1925         (cached_make_edge): Ditto.
1926
1927         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
1928
1929 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
1930
1931         * et-forest.c: Include alloc-pool.h.
1932         (struct et_forest): Add node_pool and occur_pool.
1933         (et_forest_create): Create the new pools.
1934         (et_forest_delete): Delete them.
1935         (et_forest_add_node): Allocate and free using pools.
1936         (et_forest_add_edge): Ditto.
1937         (et_forest_remove_node): Ditto.
1938         (et_forest_remove_edge): Ditto.
1939
1940         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
1941
1942 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
1943
1944         * config/h8300/h8300.c (output_logical_op): Simplify and
1945         optimize the handling of SImode.
1946         * config/h8300/h8300.c (compute_logical_op_length): Update
1947         accordingly.
1948         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
1949
1950 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
1951
1952         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
1953         big-endian correction to indirect arguments too.
1954
1955 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
1956
1957         Segher Boessenkool  <segher@koffie.nl>
1958
1959         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
1960         (alt_reg_names): Ditto, fix formatting.
1961         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
1962
1963 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1964
1965         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
1966         (output_logical_op): Constify intval and det.
1967         (compute_logical_length): Likewise.
1968         (compute_logical_cc): Likewise.
1969         (output_a_shift): Constify mask.
1970         (h8300_encode_label): Constify len.
1971
1972 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1973
1974         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
1975         (h8300_expand_epilogue): Likewise.
1976
1977 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
1978
1979         Segher Boessenkool  <segher@koffie.nl>
1980
1981         * config/rs6000/altivec.md: Remove spaces from assembler
1982         instruction argument lists.
1983
1984 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1985
1986         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
1987         c4x_assembler_function_p.
1988         (c4x_null_epilogue_p): Complement return value, all uses updated.
1989         (c4x_insert_attributes): Add naked.
1990         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
1991         * doc/extend.texi: Update C4x function attributes.
1992
1993 2003-01-06  Richard Henderson  <rth@redhat.com>
1994
1995         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
1996         properly when changing "local-ness".
1997         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
1998
1999 2003-01-06  Dale Johannesen  <dalej@apple.com>
2000
2001         * config/darwin-protos.h:  Add prototypes for new section functions.
2002
2003 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
2004
2005         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
2006         to EABI.
2007
2008 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
2009
2010         * hwint.h: If the current compiler has no 64-bit type at all,
2011         make HOST_WIDEST_INT 32 bits.
2012
2013 2003-01-06  Eric Christopher  <echristo@redhat.com>
2014
2015         * config/mips/mips.md (movdf_internal2): Fix constraints.
2016
2017 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2018
2019         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
2020
2021 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
2022
2023         * config/mips/mips.md (leadi): Use dla rather than la.
2024
2025 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
2026
2027         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
2028         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
2029
2030 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
2031
2032         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
2033         redefinition.
2034
2035 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2036
2037         * config/h8300/h8300.md (*extzv_8_23): New.
2038
2039 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2040
2041         * pa64-hpux.h (JCR_SECTION_NAME): Define.
2042         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
2043         USE_EH_FRAME_REGISTRY when defining.
2044
2045 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2046
2047         * config/h8300/h8300.c (output_a_shift): Do not output a
2048         variable shift.
2049         * config/h8300/h8300.md (two splitters): New.
2050
2051 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
2052
2053         * config/mips/mips.md: Disable the movstrsi define_split.
2054
2055 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2056
2057         * alloc-pool.c: Don't include "libiberty.h".
2058         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
2059         * convert.c (convert_to_real): Hide unused variable.
2060
2061 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2062
2063         * Makefile.in (gtyp-gen.h): Const-ify.
2064         * gcov-dump.c (tag_table): Likewise.
2065
2066 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2067
2068         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
2069         of *both* the file name and the fix name.
2070
2071 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
2072
2073         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
2074         collect2.
2075         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
2076         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
2077         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
2078         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
2079         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
2080         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
2081         elfos.h.
2082         (EH_FRAME_IN_DATA_SECTION): Delete define.
2083         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
2084         (STARTFILE_SPEC): Use crtbegin.o.
2085         (ENDFILE_SPEC): Use crtend.o.
2086         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
2087         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
2088         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
2089         DTOR_LIST_BEGIN): Define.
2090         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
2091         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
2092         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
2093
2094 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
2095
2096         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
2097         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
2098         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
2099         Cleanup handling of replacement text.
2100         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
2101
2102 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2103
2104         * fixinc/tests/base/math.h: removed obsolete results
2105         * fixinc/tests/base/stdlib.h: ditto
2106         * fixinc/tests/base/sys/param.h: ditto
2107         * fixinc/tests/base/sys/stat.h: ditto
2108         * fixinc/tests/base/time.h: ditto
2109         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
2110         * fixinc/tests/base/sys/byteorder.h: ditto
2111         * fixinc/inclhack.def: Remove superfluous backslashes
2112
2113 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
2114
2115         * config/h8300/h8300-protos.h: Add prototypes for
2116         the new functions defined below.
2117         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
2118         define.
2119         (dosize): Emit RTL instead of assembly code.
2120         (push): Likewise.
2121         (pop): Likewise.
2122         (h8300_output_function_prologue): Remove.
2123         (h8300_expand_prologue): New.
2124         (h8300_expand_epilogue): New.
2125         (h8300_output_function_epilogue): Do only the reset of
2126         pragma_saveall.
2127         * config/h8300/h8300.md (push_h8300): New.
2128         (push_h8300hs): Likewise.
2129         (pop_h8300): Likewise.
2130         (pop_h8300hs): Likewise.
2131         (*stm_h8300s_2): Change the name to stm_h8300s_2.
2132         (*stm_h8300s_3): Change the name to stm_h8300s_3.
2133         (*stm_h8300s_4): Change the name to stm_h8300s_4.
2134         (*ldm_h8300s_2): New.
2135         (*ldm_h8300s_3): Likewise.
2136         (*ldm_h8300s_4): Likewise.
2137         (return): Likewise.
2138         (*return_1): Likewise.
2139         (prologue): Likewise.
2140         (epilogue): Likewise.
2141         (monitor_prologue): Likewise.
2142
2143 2003-01-03  Dale Johannesen  <dalej@apple.com>
2144
2145         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
2146           machopic_picsymbol_stub1.
2147           (EXTRA_SECTION_FUNCTIONS):  Ditto.
2148         * rs6000/rs6000.c:  Update copyright.
2149           (machopic_output_stub):  Use them.  Remove an insn from stub code.
2150
2151 2003-01-02  Jason Merrill  <jason@redhat.com>
2152
2153         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
2154
2155         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
2156         static/external decls.
2157
2158         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
2159         outermost scope.
2160         * c-decl.c (c_make_fname_decl): Push the decls there, too.
2161
2162 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
2163
2164         * config/h8300/h8300-protos.h: Add a prototype for
2165         h8300_current_function_interrupt_function_p.
2166         * config/h8300/h8300.c (interrupt_handler): Remove.
2167         (os_task): Likewise.
2168         (monitor): Likewise.
2169         (pragma_interrupt): New.
2170         (WORD_REG_USED): Use
2171         h8300_current_function_interrupt_function_p.
2172         (dosize): Likewise.
2173         (h8300_output_function_prologue): Likewise.
2174         Do not set interrupt_handler, os_task, monitor.
2175         (h8300_output_function_prologue): Use
2176         h8300_current_function_interrupt_function_p.
2177         Do not set interrupt_handler, os_task, monitor.
2178         (h8300_current_function_interrupt_function_p): New.
2179         (h8300_pr_interrupt): Set pragma_interrupt.
2180         (h8300_insert_attributes): Reset pragma_interrupt.
2181
2182 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2183
2184         * doc/install.texi (Configuration): Fix markup for reference to
2185         gcc/config.gcc.
2186
2187 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2188
2189         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
2190         (*iorhi3_two_qi): Likewise.
2191         (*iorsi3_zexthi): Likewise.
2192         (*xorhi3_zextqi): Likewise.
2193         (*xorsi3_zexthi): Likewise.
2194         (*xorsi3_zextqi): Likewise.
2195
2196 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2197
2198         * config/h8300/h8300.c (stack_pointer_operand): New.
2199         (const_int_gt_2_operand): Likewise.
2200         (const_int_ge_8_operand): Likewise.
2201         * config/h8300/h8300.md (a splitter): Likewise.
2202         (a peephole2): Likewise.
2203         * config/h8300/h8300-protos.h: Add prototypes for the new
2204         functions above.
2205
2206 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
2207
2208         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
2209         objc/objc-act.h: Fix copyright years.
2210
2211 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2212
2213         * doc/passes.texi: Fix documentation for -fssa-ccp
2214
2215 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
2216
2217         * gccbug.in: Update for new categories.
2218
2219 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2220
2221         * config/h8300/h8300.md: Reorder some patterns.
2222
2223 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2224
2225         * config/h8300/h8300.c (output_logical_op): Fix a warning.
2226
2227 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2228
2229         * config/darwin-protos.h, config/c4x/c4x-protos.h,
2230         config/cris/cris-protos.h, config/i370/i370-protos.h,
2231         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
2232         config/v850/v850-protos.h: Use struct, and don't conditionally
2233         compile on GCC_C_PRAGMA_H.
2234
2235 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2236
2237         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
2238         * config/h8300/h8300-protos.h: Likewise.
2239         * config/sh/sh-protos.h: Likewise.
2240
2241 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2242
2243         * config/arm/arm-protos.h: Use struct cpp_reader instead of
2244         cpp_reader.
2245         * config/h8300/h8300-protos.h: Likewise.
2246         * config/sh/sh-protos.h: Likewise.
2247
2248 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2249
2250         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
2251         arm_pr_long_calls_off): Use struct.
2252         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
2253         : Similarly.
2254         Don't include cpplib.h.
2255         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
2256         sh_pr_nosave_low_regs): Similarly.
2257
2258 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2259
2260         * config/h8300/h8300.c: Include cpplib.h.
2261
2262 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2263
2264         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
2265           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
2266           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
2267           "GCC" in the copyright header.
2268
2269 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2270
2271         * c-pragma.c (c_register_pragma): New.
2272         (init_pragma): Use it.
2273         * c-pragma.h (cpp_register_pragma): Don't declare.
2274         (c_register_pragma): New.
2275         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
2276         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
2277         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
2278         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2279         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
2280         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
2281         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
2282         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
2283         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
2284         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
2285         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
2286         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
2287
2288 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2289
2290         * config/h8300/h8300-protos.h: Update the prototypes.
2291         * config/h8300/h8300.c (const_le_2_operand): Change to
2292         const_int_le_2_operand.
2293         (const_int_le_6_operand): Change to const_int_le_6_operand.
2294         * config/h8300/h8300.md (two peepholes): Update the function
2295         names.
2296
2297 2002-12-31  Tom Tromey  <tromey@redhat.com>
2298
2299         * doc/install.texi (Testing): Fixed typo.
2300
2301 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2302
2303         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
2304         (TRAMPOLINE_SIZE): Support the normal mode.
2305         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
2306
2307 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
2308
2309         * c-common.h (pending_lang_change): Declare.
2310
2311 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2312
2313         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
2314         descriptions.
2315
2316 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2317
2318         * gcc/doc/invoke.texi (Optimization Options): List the options
2319         enabled by each -O flag.
2320
2321 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2322
2323         * doc/install.texi (Configuration): Explicitly refer
2324         gcc/config.gcc for a list of cpu models.
2325
2326 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2327
2328         * config/h8300/h8300.h: Fix comment typos.
2329
2330 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
2331
2332         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
2333
2334 2002-12-30  Tom Tromey  <tromey@redhat.com>
2335
2336         * doc/install.texi (Testing): Mention Jacks.
2337
2338 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2339
2340         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
2341
2342 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2343
2344         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
2345         cases.
2346         (compute_logical_op_length): Update to reflect the change in
2347         output_logical_op.
2348         (compute_logical_op_cc): Likewise.
2349
2350 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2351
2352         * doc/service.texi: Uncomment and update FAQ link.
2353
2354 2002-12-30  Andreas Jaeger  <aj@suse.de>
2355
2356         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
2357
2358 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2359
2360         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
2361
2362 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2363
2364         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
2365         are clearing the most significant byte.
2366         (compute_logical_op_length): Update to reflect the change in
2367         output_logical_op.
2368         (compute_logical_op_cc): Likewise.
2369
2370 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2371
2372         * config/h8300/h8300.md: Give internal names to anonymous
2373         insns.
2374
2375 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2376
2377         * config/h8300/h8300.md: Reorder some insns.
2378
2379 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2380
2381         * config/h8300/h8300-protos.h: Add prototypes for
2382         const_int_qi_operand and const_int_hi_operand.
2383         * config/h8300/h8300.c (const_int_qi_operand): New.
2384         (const_int_hi_operand): Likewise.
2385         * config/h8300/h8300.md (three peepholes): New.
2386
2387 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2388
2389         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
2390         Use @copying.
2391
2392 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2393
2394         * configure.in: Increase makeinfo version requirement to 4.[2-9].
2395         * configure: Regenerate.
2396         * doc/install.texi: Update Texinfo version requirement.
2397
2398 2002-12-28  Andreas Jaeger  <aj@suse.de>
2399
2400         * config/i386/i386.c (x86_function_profiler): Mark labelno as
2401         possibly unused.
2402
2403         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
2404         correct format.
2405
2406 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
2407
2408         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
2409         *iorhi_ashift_8.
2410         (*iorhi_lshiftrt_8): New.
2411
2412 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
2413
2414         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
2415
2416 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2417
2418         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
2419
2420 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2421
2422         * config/h8300/h8300-protos.h: Fix comment typos.
2423         Update copyright.
2424         * config/h8300/h8300.c: Fix comment typos.
2425
2426 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2427
2428         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
2429
2430 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2431
2432         * config/i386/athlon.md: Fix comment typos.
2433         * config/i386/crtdll.h: Likewise.
2434         * config/i386/djgpp.h: Likewise.
2435         * config/i386/i386-interix.h: Likewise.
2436         * config/i386/i386.c: Likewise.
2437         * config/i386/i386.h: Likewise.
2438         * config/i386/i386.md: Likewise.
2439         * config/i386/k6.md: Likewise.
2440         * config/i386/mingw32.h: Likewise.
2441         * config/i386/pentium.md: Likewise.
2442         * config/i386/sco5.h: Likewise.
2443         * config/i386/winnt.c: Likewise.
2444         * config/i386/xmmintrin.h: Likewise.
2445
2446 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
2447
2448         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
2449         INSN_P before checking to see if it is dead.
2450         (mark_all_insn_unnecessary): Similarly.
2451         (ssa_eliminate_dead_code): Similarly.
2452         * rtl.h (struct rtx_def): Update comments for in_struct usage
2453         in dead code elimination pass.
2454         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
2455
2456 2002-12-26  Andreas Schwab  <schwab@suse.de>
2457
2458         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
2459
2460 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
2461
2462         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
2463         tartet_flags_explicit.
2464         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
2465         Compact target_flags bits.
2466         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
2467         (TARGET_SWITCHES): Delete references to *_SET flags.
2468
2469 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
2470
2471         * i386.md (memory attribute): Fix setcc attribute.
2472
2473 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2474
2475         * output.h: Fix comment typos.
2476         * predict.c: Likewise.
2477         * print-tree.c: Likewise.
2478         * profile.c: Likewise.
2479         * ra-build.c: Likewise.
2480         * ra-colorize.c: Likewise.
2481         * ra-debug.c: Likewise.
2482         * ra-rewrite.c: Likewise.
2483         * ra.c: Likewise.
2484         * ra.h: Likewise.
2485         * real.c: Likewise.
2486         * recog.c: Likewise.
2487         * reg-stack.c: Likewise.
2488         * regclass.c: Likewise.
2489
2490 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2491
2492         * config/h8300/h8300.c (print_operand_address): Do not negate
2493         a negative number when printing one.
2494
2495 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2496
2497         * config/h8300/h8300-protos.h: Add prototypes for
2498         output_plussi, compute_plussi_length, and compute_plussi_cc.
2499         * config/h8300/h8300.c (output_plussi): New.
2500         (compute_plussi_length): Likewise.
2501         (compute_plussi_cc): Likewise.
2502         * config/h8300/h8300.md (addsi_h8300h): Call
2503         output_plussi, compute_plussi_length, and compute_plussi_cc.
2504
2505 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2506
2507         * config/h8300/h8300.md (two peepholes): Use match_dup instead
2508         of match_operand in the new patterns.
2509
2510 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
2511
2512         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
2513
2514 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
2515
2516         * configure.in (enable-coverage): Add SELF_COVERAGE.
2517         * profile.c (end_branch_prob): Use SELF_COVERAGE.
2518
2519 2002-12-24  Jim Wilson  <wilson@redhat.com>
2520
2521         * alias.c (record_set): Handle multi-reg hard registers.
2522
2523 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2524
2525         * regmove.c: Fix comment typos.
2526         * reload.c: Likewise.
2527         * reload1.c: Likewise.
2528         * resource.c: Likewise.
2529         * rtl.def: Likewise.
2530         * rtl.h: Likewise.
2531         * rtlanal.c: Likewise.
2532         * sched-deps.c: Likewise.
2533         * sched-rgn.c: Likewise.
2534         * sibcall.c: Likewise.
2535         * simplify-rtx.c: Likewise.
2536         * ssa-ccp.c: Likewise.
2537         * ssa.c: Likewise.
2538         * stmt.c: Likewise.
2539         * stor-layout.c: Likewise.
2540         * system.h: Likewise.
2541         * tlink.c: Likewise.
2542         * toplev.c: Likewise.
2543         * tracer.c: Likewise.
2544         * tree-inline.c: Likewise.
2545         * tree.c: Likewise.
2546         * tree.h: Likewise.
2547         * unroll.c: Likewise.
2548         * varasm.c: Likewise.
2549
2550 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
2551
2552         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
2553         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
2554         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
2555         DG/UX entries.
2556         * doc/md.texi: Remove AMD 29K entries.
2557         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
2558         1.38.1, NewsOS, RT PC, WE32K entries.
2559
2560 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
2561
2562         PR/8763
2563         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
2564         (altivec_vspltisw_v4sf): Name pattern.
2565         (altivec_vslw_v4sf): New pattern.
2566
2567 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2568
2569         * doc/include/gcc-common.texi: Define DEVELOPMENT.
2570
2571 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
2572
2573         * stor-layout.c (update_alignment_for_field): Correct handling of
2574         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
2575         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
2576         bitfield does not affect alignment.
2577
2578 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
2579
2580         * expr.c (expand_assignment): Apply special treatment to
2581         ARRAY_TYPE.
2582
2583 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2584
2585         * config/h8300/h8300-protos.h: Update the prototype of
2586         expand_a_shift.
2587         * config/h8300/h8300.c (expand_a_shift): Change the return
2588         type to void.
2589         * config/h8300/h8300.md: Update all the uses of
2590         expand_a_shift.
2591
2592 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
2593
2594         * tree.c (save_expr): Allow either side of a dyadic operand to be
2595         constant.
2596
2597         * doc/portability.texi (portability): Update portability goals.
2598
2599 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2600
2601         * config/h8300/h8300.c (output_a_shift): Remove unused code.
2602
2603 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
2604
2605         * stor-layout.c (update_alignment_for_field): Guard use of
2606         ADJUST_FIELD_ALIGN with #ifdef.
2607
2608         * stor-layout.c (update_alignment_for_field): Use
2609         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
2610         bitfield when PCC_BITFIELD_TYPE_MATTERS.
2611
2612 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2613
2614         * genautomata.c: Fix comment typos.
2615
2616 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2617
2618         * params.def (tracer-min-branch-probability-feedback): Fix default.
2619         * final.c (compute_alignments): Use profile to avoid code bloat.
2620
2621 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2622
2623         * config/h8300/h8300.c (get_shift_alg): Make shift insn
2624         sequences end with a valid cc0 whenever possible.
2625
2626 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2627
2628         * config/h8300/h8300.md (negsf2): New.
2629         (*negsf2_h8300): Likewise.
2630         (*negsf2_h8300hs): Likewise.
2631
2632 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
2633
2634         * integrate.c (output_inline_function): Don't hold private
2635         pointers to 'struct function' over GC calls.
2636
2637 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
2638
2639         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
2640         NO_FPSCR_VALUES.
2641         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
2642
2643 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2644
2645         * config/h8300/h8300.md (zero_extendqisi2): Correct the
2646         length.
2647
2648 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2649
2650         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
2651         second alternative "#".
2652         (*zero_extendqihi2_h8300hs): Likewise.
2653         (a define_split): New.
2654
2655 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2656
2657         * config/h8300/h8300-protos.h: Update the prototype for
2658         split_adds_subs.
2659         Add prototypes for const_le_2_operand and const_le_6_operand.
2660         * config/h8300/h8300.c (split_adds_subs): Add an argument to
2661         specify whether inc/dec should be used when possible.
2662         (const_le_2_operand): New.
2663         (const_le_6_operand): Likewise.
2664         * config/h8300/h8300.md (two peepholes): New.
2665
2666 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2667
2668         * config/fr30/fr30.md: Fix a comment typo.
2669         * config/i386/i386.c: Likewise.
2670         * config/ip2k/ip2k.h: Likewise.
2671
2672 2002-12-20  Jim Wilson  <wilson@redhat.com>
2673
2674         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
2675         (__ev_subw, __ev_subiw): New.
2676         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
2677         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
2678
2679 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
2680
2681         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
2682         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
2683         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
2684         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
2685
2686 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2687
2688         * config/h8300/h8300-protos.h: Add prototypes for
2689         incdec_operand and eqne_operator.
2690         * config/h8300/h8300.c (incdec_operand): New.
2691         (eqne_operator): Likewise.
2692         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
2693         (CONST_OK_FOR_O): Likewise.
2694         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
2695         CONST_OK_FOR_O.
2696         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
2697         (addhi3_incdec): New.
2698         (addsi3_incdec): Likewise.
2699         (two peepholes): Likewise.
2700
2701 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2702
2703         * config/h8300/h8300.c (dosize): Remove warnings.
2704         (print_operand): Likewise.
2705
2706 2002-12-20  Richard Henderson  <rth@redhat.com>
2707
2708         * config/alpha/alpha.c (decl_has_samegp): New.
2709         (samegp_function_operand): Use it.  Rename from
2710         current_file_function_operand.
2711         (direct_call_operand): Handle -msmall-text via symbol->jump.
2712         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
2713         (tls_symbolic_operand_type): Likewise.
2714         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
2715         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
2716         (alpha_end_function): Set symbol->jump for functions defined in
2717         the text section.
2718         * config/alpha/alpha-protos.h: Update.
2719         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
2720         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
2721         (PREDICATE_CODES): Update.
2722         * config/alpha/alpha.md (call patterns): Update for
2723         samegp_function_operand rename; use !samegp reloc if
2724         TARGET_EXPLICIT_RELOCS.
2725         * doc/invoke.text: Document -msmall-text and -mlarge-text.
2726
2727 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
2728
2729         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
2730         all registers capable of holding a double float.
2731         (*rcond): change name of "reverse branch" insns to
2732         something more meaningful.
2733         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
2734         comparisons properly.
2735         (*ffs): Change operand 0 from write to read-modify-write.
2736         (*ffsssi2): Drop constraints from define_expand.
2737
2738         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
2739         MOVE_RATIO as default for store operations.
2740
2741         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
2742         LONG_REGS class.
2743         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
2744         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
2745         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
2746
2747         * config/ns32k/STATUS: New File
2748         * config/ns32k/NOTES: New file.
2749
2750 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
2751
2752         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
2753         option for S/390 and zSeries.
2754         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
2755         s390_arch_string): New variables.
2756         (override_options): Checking for options and setting of
2757         appropriate target_flags, cpu and arch flags.
2758         * config/s390/s390.h: (processor_type): New enum.
2759         (TARGET_SWITCHES): New switches -mesa/zarch.
2760         * config/s390/s390.md: New attribute 'cpu'.
2761
2762 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2763
2764         * c-pretty-print.h: Fix comment typos.
2765         * integrate.c: Likewise.
2766         * varasm.c: Likewise.
2767         * config/c4x/c4x.h: Likewise.
2768         * config/c4x/c4x.md: Likewise.
2769         * config/fr30/fr30.md: Likewise.
2770         * config/frv/frv.c: Likewise.
2771         * config/h8300/h8300.c: Likewise.
2772         * config/i386/i386.c: Likewise.
2773         * config/i386/i386.h: Likewise.
2774         * config/ia64/ia64.c: Likewise.
2775         * config/ia64/ia64.h: Likewise.
2776         * config/ip2k/ip2k.md: Likewise.
2777         * config/m68hc11/m68hc11-crt0.S: Likewise.
2778         * config/m68hc11/m68hc11.h: Likewise.
2779         * config/m68hc11/m68hc11.md: Likewise.
2780         * config/m68hc11/m68hc12.h: Likewise.
2781         * config/mcore/mcore.md: Likewise.
2782         * config/mips/mips.c: Likewise.
2783         * config/mips/mips.md: Likewise.
2784         * config/mmix/mmix-modes.def: Likewise.
2785         * config/pa/pa.c: Likewise.
2786         * config/rs6000/rs6000.c: Likewise.
2787         * config/rs6000/rs6000.h: Likewise.
2788         * config/rs6000/rs6000.md: Likewise.
2789
2790 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2791
2792         * config/h8300/h8300.md (output_a_shift): Clean up the code to
2793         output shifts using rotation.
2794
2795 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2796
2797         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
2798
2799 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2800
2801         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
2802         pointer.
2803         (pushqi_h8300hs): Likewise.
2804         (pushhi_h8300): Likewise.
2805         (pushhi_h8300hs): Likewise.
2806
2807 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
2808
2809         * sched-rgn.c (init_regions): Update comment.
2810
2811 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
2812
2813         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
2814         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
2815         attributes.
2816         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
2817         (get_vrsave_internal,set_vrsave_internal): Same.
2818         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
2819         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
2820         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
2821
2822 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
2823             Danny Smith  <dannysmith@users.sourceforge.net>
2824             Eric Kohl  <ekohl@rz-online.de>
2825
2826         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
2827         attributes incompatible with fastcall attribute.
2828         (ix86_handle_regparm_attribute): Likewise.
2829
2830         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
2831         fastcall types.
2832
2833         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2834         attributes.
2835         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
2836         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
2837         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
2838         i386_pe_output_labelref rather than here.
2839         (gen_fastcall_suffix): New function. Decorates a label name with the
2840         fastcall prefix (@) and the stdcall suffix.
2841         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
2842         has a fastcall attribute.
2843         (i386_pe_output_labelref): New function. Outputs a label reference.
2844         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
2845         valid attribute.
2846         (ix86_return_pops_args): Fastcall functions pop the stack.
2847         (init_cumulative_args): Reserve registers ECX and EDX if function has
2848         fastcall attribute.
2849         (function_arg): Use registers ECX and EDX if function has fastcall
2850         attribute.
2851         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
2852         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
2853         (FASTCALL_PREFIX): Define as '@'.
2854         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2855         attributes.
2856         * doc/extend.texi: Add documentation of fastcall attribute.
2857
2858 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2859
2860         * configure.in: FORBUILD when build!=host changed from
2861         ../$build-alias to ../build-$build_alias to match change made
2862         in top directory.
2863         * configure: Regenerated.
2864
2865 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2866
2867         PR optimization/8988
2868         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
2869         the biv when eliminating.
2870
2871 2002-12-19  Devang Patel  <dpatel@apple.com>
2872         * gcc.c (struct default_compiler): Recognizes input file name with
2873         .CPP extension as C++ source files
2874         * cp/lang-spec.h: Same
2875         * doc/invoke.texi:  Add documentation for .CPP support.
2876
2877 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
2878
2879         PR 8553
2880         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
2881         registers.
2882         ("absv16qi2"): Same.
2883         ("absv4si2"): Same.
2884         ("absv4sf2"): Same.
2885         ("altivec_abss_v16qi"): Same.
2886         ("altivec_abss_v8hi"): Same.
2887         ("altivec_abss_v4si"): Same.
2888
2889 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
2890
2891         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
2892         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
2893
2894 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2895
2896         PR target/8340
2897         * stmt.c (expand_asm_operands): Produce an error when
2898         the PIC register is clobbered.
2899
2900 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
2901
2902         * Makefile.in (OBJS): Add alloc-pool.o
2903         (alloc-pool.o): New object.
2904
2905         * alloc-pool.c: New file.
2906         * alloc-pool.h: New file.
2907
2908 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
2909
2910         * gcc.c (validate_switches): Robustify against skipping past '\0'.
2911
2912 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2913
2914         * config.gcc: Set extra_objs in the generic Darwin rule,
2915         not in the machine-specific rules.
2916
2917 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2918
2919         * ChangeLog: Follow spelling conventions.
2920         * ChangeLog.2: Likewise.
2921         * ChangeLog.4: Likewise.
2922         * ChangeLog.5: Likewise.
2923         * cppexp.c: Likewise.
2924         * df.c: Likewise.
2925         * gcov.c: Likewise.
2926         * gengtype.c: Likewise.
2927         * reload1.c: Likewise.
2928         * sched-rgn.c: Likewise.
2929         * stmt.c: Likewise.
2930         * stor-layout.c: Likewise.
2931         * timevar.c: Likewise.
2932         * toplev.c: Likewise.
2933         * tree.h: Likewise.
2934         * varasm.c: Likewise.
2935         * config/fr30/fr30.md: Likewise.
2936         * config/i386/i386.c: Likewise.
2937         * config/ia64/ia64.c: Likewise.
2938         * config/pa/pa.c: Likewise.
2939
2940 2002-12-18  Roger Sayle  <roger@eyesopen.com>
2941
2942         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
2943
2944 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
2945
2946         PR 8551
2947         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
2948         macro.
2949         (vec_cmplt C++ functions): Reverse arguments.
2950
2951 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2952
2953         * config/rs6000/t-rs6000: Move contents to t-fprules,
2954         add rules for dependencies of rs6000.o and to build rs6000-c.o
2955         * config/rs6000/t-fprules: New file from t-rs6000.
2956         * config/rs6000/t-beos: Remove soft-fp rules.
2957         * config/rs6000/t-ppccomm: Likewise.
2958         * config/rs6000/t-newas: Likewise.
2959         * config/rs6000/t-rs6000-c-rule: Delete.
2960         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
2961         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
2962         Create generic Darwin rules.
2963
2964         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
2965
2966 2002-12-18  Doug Evans  <dje@sebabeach.org>
2967
2968         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
2969         and LIT_NAME_P.
2970         (move_src_operand): Remove compile-time warning.
2971         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
2972
2973 2002-12-18  Jason Merrill  <jason@redhat.com>
2974
2975         * unwind-dw2-fde.c (frame_downheap): Split out from...
2976         (frame_heapsort): Here.
2977
2978 2002-12-17  Jason Merrill  <jason@redhat.com>
2979
2980         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
2981         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
2982
2983         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
2984
2985         * calls.c (expand_call): Don't try to be clever about expanding
2986         the return slot address.
2987
2988 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
2989
2990         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
2991         Define.
2992
2993 2002-12-17  Jason Merrill  <jason@redhat.com>
2994
2995         * genmultilib: Use 'cd ./foo'.
2996
2997 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
2998
2999         * doc/c-tree.texi: Restore deliberate spelling mistakes.
3000
3001 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3002
3003         * doc/c-tree.texi: Fix typos and follow spelling conventions.
3004         * doc/cpp.texi: Likewise.
3005         * doc/extend.texi: Likewise.
3006         * doc/gty.texi: Likewise.
3007         * doc/install.texi: Likewise.
3008         * doc/invoke.texi: Likewise.
3009         * doc/md.texi: Likewise.
3010         * doc/passes.texi: Likewise.
3011         * doc/rtl.texi: Likewise.
3012         * doc/sourcebuild.texi: Likewise.
3013         * doc/tm.texi: Likewise.
3014
3015 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
3016
3017         * doc/invoke.texi: Minor spelling and grammar fixes.
3018
3019 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
3020
3021         * config/s390/s390.c (s390_output_constant_pool): Replace
3022         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
3023
3024 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
3025
3026         * convert.c (convert_to_real): Disable function transformation for
3027         now.
3028
3029 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3030
3031         * gcc.c (handle_braces): Allow '@' as a switch name.
3032
3033 2002-12-16  Jason Merrill  <jason@redhat.com>
3034
3035         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
3036         with special struct-return ABIs.
3037
3038         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
3039         doesn't match the begin SCOPE_STMT in partialness.
3040
3041 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3042
3043         * genmultilib: Create temporary files in unique subdirectory.
3044
3045         * gcc.c (validate_switches): Allow '@' as a switch name.
3046
3047 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
3048
3049         * Makefile.in (gcov-iov.h): Improve portability.
3050
3051 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
3052
3053         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
3054         gas
3055         * mips.md (tablejump insn): Likewise.
3056
3057 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
3058
3059         * doc/include/gcc-common.texi: Change version number to 3.4.
3060
3061 2002-12-16  Bruce Korb  <bkorb@gnu.org>
3062
3063         * fixinc/fixlib.h: add: #include <signal.h>
3064         * fixinc/fixincl.c: remove: #include <signal.h>
3065
3066 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
3067
3068         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
3069         (EXTRA_CONSTRAINT): Use it.
3070         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
3071
3072 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
3073
3074         * config.gcc (need_64bit_hwint): New variable.
3075         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
3076         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
3077         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
3078         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
3079         Set it.
3080         (powerpc*-*-darwin*): Unset it.
3081         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
3082         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
3083         deleted/nonexistent xm-*.h headers.
3084         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
3085         target set need_64bit_hwint in config.gcc.
3086         * configure, config.in: Regenerate.
3087
3088         * hwint.h: Overhaul.  Don't bother trying int for
3089         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
3090         decision to force 64-bit HOST_WIDE_INT on
3091         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
3092         not visible at this point.  Don't allow prior definition of
3093         any macro defined by this file.
3094
3095         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
3096         HOST_BITS_PER_WIDE_INT.
3097         * config/c4x/c4x.h: Adjust redefinition of
3098         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
3099         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
3100         config/i386/xm-i386-interix.h: Delete file.
3101
3102 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
3103             John David Anglin  <dave@hiauly1.hia.nrc.ca>
3104
3105         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
3106         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
3107
3108 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3109
3110         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
3111
3112 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3113
3114         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
3115         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
3116         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
3117         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
3118         config/v850/t-v850:  Correct dependencies and normalize
3119         compilation commands for files that include coretypes.h and tm.h.
3120
3121         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
3122         not config.h and system.h.
3123
3124 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
3125
3126         * i386.c (flags_reg_operand):  New function.
3127         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
3128         * i386.md (cmov splitter, movqicc): Use new predicate.
3129
3130 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
3131
3132         * i386.md (movqicc splitter): Fix template.
3133
3134 2002-12-13  Jason Merrill  <jason@redhat.com>
3135
3136         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
3137         * calls.c (expand_call): Handle it.
3138         * tree-inline.c (struct inline_data): Remove target_exprs field.
3139         (optimize_inline_calls): Don't initialize it.
3140         (expand_call_inline): Don't modify it.  Handle
3141         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
3142         (declare_return_variable): Take return slot addr.
3143         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
3144         to return_slot_addr.
3145         * langhooks-def.h, langhooks.c: Adjust.
3146         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
3147         a decl with no DECL_INITIAL.
3148
3149         * expr.c (expand_expr): Don't discard the target of a call which
3150         returns in memory.
3151
3152 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
3153
3154         * cppinit.c (path_include): Take an environment variable name.
3155         Tidy up.
3156         (init_standard_includes): Simplify environment handling, and
3157         move to ...
3158         (cpp_read_main_file): ...here as -nostdinc should not affect
3159         environment variable paths.
3160
3161 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3162
3163         * pa.c (output_millicode_call): Correct typo.
3164         (output_call): Likewise.
3165
3166 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
3167
3168         * config/mn10300/mn10300.c (print_operand) <case N>: Check
3169         operand's range.  Print value directly, without aid from
3170         output_address.
3171         <case U>: New.
3172         <case S>: Make sure argument to fprintf has the right type.
3173         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
3174         (EXTRA_CONSTRAINT): Adjust.
3175         * config/mn10300/mn10300.md: Add new all-QImode pattern for
3176         bclr.  Use %U for immediate operands of bset and bclr.
3177         (iorqi3): New expand, with insns for AM33 and mn10300.
3178
3179 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
3180
3181         * sh.c (sh_register_operand): New function.
3182         (prepare_move_operands): Use it.
3183         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
3184         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
3185         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
3186         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
3187         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
3188         (movv2si_i): Likewise.
3189
3190 2002-12-13  Jim Wilson  <wilson@redhat.com>
3191
3192         * doc/extend.texi (Complex Numbers): Update info on debug info.
3193
3194 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
3195
3196         * config/h8300/h8300.md (addhi3_h8300): Remove the last
3197         alternative.
3198
3199 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3200
3201         * hooks.h (hook_tree_tree_bool_false): Declare
3202         hook_bool_tree_tree_false instead.
3203
3204 2002-12-12  Devang Patel  <dpatel@apple.com>
3205
3206         * doc/invoke.texi: Document Darwin linker options, -bundle
3207         -bind_at_load, -all_load and -arch_errors_fatal
3208
3209 2002-12-12  Jim Wilson  <wilson@redhat.com>
3210
3211         * dbxout.c (dbxout_fptype_value): New.
3212         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
3213
3214 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3215
3216         * c-decl.c: Fix a comment typo.
3217         * cfg.c: Likewise.
3218         * cfgcleanup.c: Likewise.
3219         * cfglayout.c: Likewise.
3220         * cfgrtl.c: Likewise.
3221         * c-typeck.c: Likewise.
3222         * dominance.c: Likewise.
3223         * dwarf2asm.c: Likewise.
3224         * dwarfout.c: Likewise.
3225         * expmed.c: Likewise.
3226         * expr.c: Likewise.
3227         * final.c: Likewise.
3228         * flow.c: Likewise.
3229         * function.c: Likewise.
3230         * gcc.c: Likewise.
3231         * genautomata.c: Likewise.
3232         * integrate.c: Likewise.
3233         * loop.c: Likewise.
3234         * loop.h: Likewise.
3235         * output.h: Likewise.
3236         * profile.c: Likewise.
3237         * ra.h: Likewise.
3238         * reload1.c: Likewise.
3239         * reload.c: Likewise.
3240         * sched-rgn.c: Likewise.
3241         * stmt.c: Likewise.
3242         * tree.h: Likewise.
3243         * vmsdbgout.c: Likewise.
3244
3245 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3246
3247         * config/h8300/h8300.md: Add a new peephole2.
3248
3249 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3250
3251         * config/h8300/h8300.md (a peephole2): Accept a constant
3252         that's accepted by CONST_OK_FOR_J.
3253
3254 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3255
3256         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
3257         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
3258         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
3259         (*addhi_h8300hs): Likewise.
3260
3261 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
3262
3263         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
3264         (sh_register_move_cost): Add clause for SImode fp-fp moves.
3265         Increase cost for moves involving multiple general purpose registers.
3266         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
3267         TARGET_FMOVD.
3268         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
3269         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
3270         (enum reg_class reg_class_from_letter): No longer const.
3271         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
3272         REGCLASS_HAS_GENERAL_REG.
3273         Handle SImode moves from/to fp registers.
3274         ! TARGET_SHMEDIA && TARGET_FMOVD.
3275         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
3276         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
3277
3278 2002-12-12  Andreas Schwab  <schwab@suse.de>
3279
3280         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
3281         change and some warnings.
3282
3283 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3284
3285         * doc/md.texi (pushm): Fix a typo.
3286
3287 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
3288
3289         * config/mips/mips.c (mips_output_conditional_branch): Support
3290         PIC-safe out-of-range branch and branch-likely.
3291         * config/mips/mips.md (attr length): PIC-safe out-of-range
3292         branches are longer.
3293         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
3294         unused code to support indirect jumps.
3295
3296 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
3297
3298         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
3299         $(tm_file_list).
3300
3301 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
3302
3303         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
3304
3305 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
3306
3307         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
3308
3309 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3310
3311         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
3312         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
3313         BIGGEST_ALIGNMENT.
3314         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
3315         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
3316
3317 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3318
3319         * doc/invoke.texi: Correct dump file names.
3320
3321 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3322
3323         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
3324         name to globalize_label or assemble_name.
3325
3326 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
3327
3328         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
3329         if not TARGET_SHMEDIA.
3330
3331 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
3332
3333         * sh.h (REG_CLASS_HAS_FP_REG): New.
3334         (REGISTER_MOVE_COST) Use it.  Put body into a function and
3335         move it into:
3336         * sh.c (sh_register_move_cost).
3337         * sh-protos.h (sh_register_move_cost): Declare.
3338
3339         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
3340         (sh_adjust_cost): Always return a value.
3341
3342 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
3343
3344         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
3345         (REGISTER_MOVE_COST): Use it.
3346
3347 2002-12-11  Richard Henderson  <rth@redhat.com>
3348
3349         * tree.h (MODULE_LOCAL_P): Kill.
3350         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
3351
3352 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3353
3354         * config/h8300/h8300.md (two define_peephole2): New.
3355
3356 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3357
3358         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
3359         (CONST_OK_FOR_K): Likewise.
3360         (CONST_OK_FOR_M): Likewise.
3361         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
3362
3363 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
3364
3365         * c-common.c (builtin_define_type_max): Handle unsigned
3366         types too.
3367
3368 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
3369
3370         * haifa-sched.c (rank_for_schedule): Correct style.
3371
3372 2002-12-10  Per Bothner  <pbothner@apple.com>
3373
3374         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
3375         directive_index into an unsigned field and a new is_directive field.
3376         * cppinit.c (mark_named_operators):  Update to set new fields.
3377         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
3378         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
3379         No longer need to subtract 1 from directive_index.
3380         (_cpp_init_directives):  No longer need to add 1 to directive_index.
3381         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
3382
3383 2002-12-10  Roger Sayle  <roger@eyesopen.com>
3384
3385         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
3386         check for evaluating sqrt of a constant at compile time.
3387         * simplify-rtx.c (simplify_unary_operation): Likewise.
3388
3389 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
3390
3391         PR other/8882
3392         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
3393
3394 2002-12-10  Devang Patel  <dpatel@appple.com>
3395
3396         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
3397         * doc/invoke.texi: Add new "Darwin Options" section.
3398
3399 2002-12-10  Jim Wilson  <wilson@redhat.com>
3400
3401         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
3402         memory.
3403
3404 2002-12-10  Andrew Haley  <aph@redhat.com>
3405
3406         * cse.c (cse_insn): Don't cse past a basic block boundary.
3407
3408 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
3409
3410         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
3411         -shared.
3412         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
3413         * config/alpha/linux.h (LIB_SPEC): Likewise.
3414         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
3415         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
3416         * config/sparc/linux.h (LIB_SPEC): Likewise.
3417         * config/sparc/linux64.h (LIB_SPEC): Likewise.
3418
3419 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
3420
3421         * doc/invoke.texi: Document UltraSparc III option.
3422
3423 2002-12-09  Richard Henderson  <rth@redhat.com>
3424
3425         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
3426         __tune_pentium2__ and __tune_pentium3__ as necessary.
3427
3428 2002-12-09  Richard Henderson  <rth@redhat.com>
3429
3430         * target.h (gcc_target): Add cannot_force_const_mem.
3431         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
3432         (TARGET_INITIALIZER): Add it.
3433         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
3434         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
3435         * reload1.c (reload): Likewise.
3436         * hooks.c (hook_bool_rtx_false): New.
3437         * hooks.h: Declare it.
3438
3439         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
3440         (TARGET_CANNOT_FORCE_CONST_MEM): New.
3441         (ix86_expand_move): Remove de-const-pooling hack.
3442
3443 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
3444
3445         * toplev.c (dump_file): Fix order to match reality.
3446
3447 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
3448
3449         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
3450         (store_multiple): Likewise.
3451
3452 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3453
3454         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
3455         function pointers in page 0.
3456
3457 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3458
3459         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
3460         definition
3461         (MEMBER_TYPE_FORCES_BLK): Move.
3462         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
3463         aggregate arguments.
3464         (ia64_function_value): Use PARALLEL to return aggregate values.
3465
3466 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3467
3468         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3469         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3470         * calls.c (store_unaligned_arguments_into_pseudos) Remove
3471         FUNCTION_ARG_REG_LITTLE_ENDIAN.
3472         * stmt.c (expand_return): Ditto.
3473         * expr.c (move_block_from_reg): Ditto.
3474         (copy_blkmode_from_reg): Ditto.
3475         * expmed.c (store_bit_field): Ditto.
3476
3477 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
3478
3479         * config.gcc: Added tic4x-* target as an alias to c4x-*
3480
3481 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3482
3483         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
3484         constructing insn directly.
3485
3486 2002-12-06  Per Bothner  <pbothner@apple.com>
3487
3488         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
3489         char to an int bit-field, for hosts where char is unsigned.
3490
3491 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3492             Richard Henderson <rth@redhat.com>
3493
3494         * real.c (ieee_extended_motorola_format,
3495         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
3496         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
3497         Provide appropriate values for new signbit field.
3498
3499 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3500
3501         * real.h (real_format): Add signbit field.
3502         * real.c (ieee_single_format, ieee_double_format,
3503         ieee_extended_motorola_format, ieee_extended_intel_96_format,
3504         ieee_extended_intel_128_format, ibm_extended_format,
3505         ieee_quad_format, vax_f_format, vax_d_format,
3506         vax_g_format, i370_single_format, i370_double_format,
3507         c4x_single_format, c4x_extended_format, real_internal_format):
3508         Provide suitable signbit value, or -1 to avoid bit twiddling.
3509
3510         * optabs.c (expand_unop): Try implementing negation of
3511         floating point modes by flipping the sign bit.
3512         (expand_abs): Try implementing abs of floating point modes
3513         by clearing the sign bit.
3514
3515 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3516
3517         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
3518         of constructing insn directly.
3519
3520 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
3521
3522         * config/h8300/h8300.md (*iorhi_shift_8): New.
3523
3524 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
3525
3526         * doc/invoke.texi: Document FRV port options.
3527         * doc/md.texi: Document FRV register classes.
3528
3529 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3530
3531         * doc/install.texi (Configuration): Improve description of cases
3532         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
3533
3534 2002-12-06  Per Bothner  <pbothner@apple.com>
3535
3536         * cpplib.h (NODE_MACRO_ARG):  New flag.
3537         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
3538         Remove value.operator field.  Move arg_index field to value union.
3539         (directive_index):  Make signed, since also used for C++ operators.
3540         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
3541         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
3542         Save node->value, and set node->value.arg_index.
3543         (_cpp_create_definition):  For each paramater, restore node->value.
3544         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
3545         * cpptrad.c (scan_out_logical_line): Likewise.
3546         (scan_out_logical_line): Check for directive > 0.
3547         * cpplib.c (cpp_handle_directive):  Likewise.
3548         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
3549         by negative of directive_index.
3550         * cppinit.c (mark_named_operators):  Likewise.
3551
3552         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
3553
3554 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
3555
3556         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
3557         FPU.
3558         (push): Generate push_fpscr.
3559         (pop): Generate pop_fpscr.
3560         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
3561         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
3562
3563 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
3564
3565         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
3566         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
3567
3568 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
3569
3570         * sh.md (movdi_i): Name.  Remove inappropriate comment.
3571
3572 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
3573         Merged from basic improvements branch (excerpt):
3574
3575         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
3576         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
3577
3578 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
3579
3580         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
3581
3582 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
3583
3584         * i386.md (dimode peep2s): Re-add "&& 1".
3585
3586 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3587
3588         * i386.c (ix86_expand_prologue):  Add comment, do not use
3589         fast prologues for cold and normal functions.
3590
3591 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
3592
3593         * i386.c (x86_rep_movl_optimal): New variable.
3594         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
3595         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
3596
3597         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
3598         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
3599         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
3600         generate unnecesary subregs.
3601
3602 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3603
3604         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
3605         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
3606
3607 2002-12-05  Dale Johannesen  <dalej@apple.com>
3608
3609         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
3610
3611 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
3612
3613         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
3614         PROFILE_HOOK.
3615         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
3616
3617 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
3618
3619         * config/rs6000/spe.h (__ev_mwlufi): Remove.
3620         (__ev_mwlufia): Remove.
3621         (__ev_mwlumfaaw): Remove.
3622         (__ev_mwlusfaaw): Remove.
3623         (__ev_mwlumfanw): Remove.
3624         (__ev_mwlusfanw): Remove.
3625
3626 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3627
3628         * config/h8300/h8300.md (*andorsi3_shift_8): New.
3629
3630 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3631
3632         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
3633         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
3634         (get_shift_alg): Return optimal assembly instructions for the
3635         shifts mentioned above.
3636
3637 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
3638
3639         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
3640         condtiional moves.
3641
3642 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3643
3644         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
3645         implement ashiftrt:HI by 13 bits on H8S.
3646
3647 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3648
3649         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
3650         * pa.md (canonicalize_funcptr_for_compare): Output library call to
3651         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
3652         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
3653         CTOR_LIST_BEGIN): New defines.
3654         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
3655         (fptr.c): Add make rules.
3656
3657 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
3658
3659         * combine.c (combine_simplify_rtx): Add new canonicalizations.
3660         * doc/md.texi (Insn Canonicalizations): Document new
3661         canonicalizations for multiply/add combinations.
3662         * config/rs6000/rs6000.md: Add and modify floating add/multiply
3663         patterns to ensure they're used whenever they can be.
3664
3665 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3666
3667         * config/h8300/h8300.c: Update the comments related to shifts.
3668
3669 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3670
3671         * config/mips/mips.md (get_fnaddr): Correct length attribute.
3672
3673 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3674
3675         * config/h8300/h8300.md (*extzv_8_8): New.
3676         (*extzv_8_16): Likewise.
3677
3678 2002-12-04  Jason Merrill  <jason@redhat.com>
3679
3680         PR c++/8461, c++/8625
3681         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
3682         references.
3683         * tree-inline.c (initialize_inlined_parameters): Likewise.
3684
3685         * tree.c (variably_modified_type_p): Just return an error_mark_node.
3686
3687 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3688
3689         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
3690         macro instruction in a branch delay slot, to avoid assembler
3691         warnings.
3692
3693 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3694
3695         PR c/7622
3696         * c-semantics (genrtl_scope_stmt): Do not output inlined
3697         nested functions that contain no code.
3698
3699 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
3700
3701         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
3702         to be forced into nonfallthru.
3703
3704 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
3705
3706         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
3707
3708 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
3709
3710         * config/rs6000/spe.md (*movv1di_const0): New pattern.
3711
3712 2002-12-03  Richard Henderson  <rth@redhat.com>
3713
3714         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
3715
3716 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
3717
3718         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
3719         Initialize tmp.using_obstack to 0.
3720
3721 2002-12-03  Andreas Schwab  <schwab@suse.de>
3722
3723         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
3724         (EH_RETURN_STACKADJ_RTX): Define.
3725         (EH_RETURN_HANDLER_RTX): Define.
3726         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3727         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
3728         registers and don't save fixed registers.
3729         (m68k_output_function_prologue): Use it.
3730         (use_return_insn): Likewise.
3731         (m68k_output_function_epilogue): Likewise.
3732
3733 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
3734
3735         * config/h8300/h8300.c (single_one_operand): Fix a warning.
3736         (single_zero_operand): Likewise.
3737
3738 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
3739
3740         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
3741         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
3742         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
3743         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
3744         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
3745         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
3746         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
3747         doc/install-old.texi: Replace hconfig.h with bconfig.h.
3748         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
3749
3750 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
3751
3752         * config/rs6000/rs6000.md (ffssi): Convert to expander.
3753         (ffsdi): Likewise.
3754         (cntlzw2, cntlzd2): New patterns.
3755
3756 2002-12-02  H.J. Lu <hjl@gnu.org>
3757
3758         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
3759         (mips*-*-linux*): Remove mips/t-linux.
3760
3761 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
3762
3763         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3764
3765 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3766
3767         * config/h8300/h8300.c (dosize): Replace argument op with
3768         sign.
3769         (h8300_output_function_prologue): Update the call to dosize.
3770         (h8300_output_function_epilogue): Likewise.
3771
3772 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
3773
3774         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
3775
3776 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3777
3778         * configure.in: Use "missing" script to generate warning if
3779         flex or bison programs not found, instead of invoking "false".
3780         * configure: Rebuilt.
3781
3782 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
3783
3784         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
3785
3786 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
3787
3788         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3789
3790 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3791
3792         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
3793         (push): Likewise.
3794         (pop): Likewise.
3795         (h8300_output_function_prologue): Likewise.
3796         (h8300_output_function_epilogue): Likewise.
3797
3798 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
3799
3800         * expmed.c (store_bit_field): Use int_mode_for_mode to find
3801         corresponding mode of non-integer mode, unless it is VOIDmode.
3802
3803 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3804
3805         * config/h8300/h8300.md (stm_h8300s_2): New.
3806         (stm_h8300s_3): Likewise.
3807         (stm_h8300s_4): Likewise.
3808         (five define_peephole2): Likewise.
3809
3810 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3811
3812         * ra-build.c: Fix a comment typo.
3813
3814 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3815
3816         * i386.c (ix86_expand_int_movcc): fix
3817         reversed BRANCH_COST test; be curefull about infinite recursion.
3818
3819 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3820
3821         * config/h8300/h8300.c (h8300_output_function_prologue):
3822         Remove variable idx.
3823         (h8300_output_function_epilogue): Likewise.
3824
3825 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
3826
3827         * config/frv/xm-frv.h: Delete, unnecessary.
3828
3829 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3830
3831         * config/h8300/h8300.md: Add comments for define_peephole2.
3832
3833 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
3834
3835         * builtin-types.def (BT_SIZE): Use size_type_node.
3836         * builtins.c (fold_builtin): Make the builtin strlen returns a
3837         size_t, not a sizetype.
3838         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
3839         c_size_type_node.
3840         (c_alignof_expr): Likewise.
3841         (c_common_nodes_and_builtins): Likewise.
3842         * c-common.h (CTI_C_SIZE_TYPE): Remove.
3843         (c_size_type_node): Likewise.
3844         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
3845         * tree.h (TI_SIZE_TYPE): New enumeral.
3846         (size_type_node): Likewise.
3847
3848 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
3849
3850         * configure.in: Don't put ${tm_file} into host_xm_file,
3851         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
3852         Take location of tm-preds.h into account when calculating
3853         tm_p_file_list.
3854         * configure: Regenerate.
3855         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
3856         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
3857         Remove special case code for tm_p.h and *config.h; add new
3858         special case code for tm.h and tconfig.h. Clean up a bit.
3859
3860         * Makefile.in (tm_file, tm_file_list): New variables set from
3861         @-substitutions.
3862         (GCONFIG_H): Deleted.
3863         (GTM_H, TM_H): New.
3864         (CONFIG_H): Is now just config.h $(host_xm_file_list).
3865         (TM_P_H): Move up with the other mkconfig.sh-generated
3866         headers; don't mention tm-preds.h explicitly.
3867         (tm.h, cs-tm.h): New rule.
3868         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
3869         invocations of mkconfig.sh for changes to that program.
3870         (mostlyclean): Delete print-rtl1.c.
3871         (clean): Delete tm.h.
3872         Update dependencies for the files listed below.
3873
3874         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
3875
3876         * coretypes.h: New file.
3877         * system.h: #define malloc to xmalloc and realloc to xrealloc
3878         when FLEX_SCANNER or YYBISON is defined, independent of the
3879         value of GCC_VERSION.
3880         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
3881         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
3882         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
3883         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
3884         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
3885         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
3886         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
3887         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
3888         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
3889         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
3890         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
3891         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
3892         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
3893         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
3894         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
3895         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
3896         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
3897         genconstants.c, genemit.c, genextract.c, genflags.c,
3898         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
3899         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
3900         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
3901         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
3902         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
3903         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
3904         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
3905         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
3906         print-tree.c, profile.c, protoize.c, ra-build.c,
3907         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
3908         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
3909         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
3910         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
3911         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
3912         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
3913         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
3914         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
3915         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
3916         xcoffout.c, config/darwin-c.c, config/darwin.c,
3917         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
3918         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
3919         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
3920         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
3921         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
3922         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
3923         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
3924         config/i960/i960-c.c, config/i960/i960.c,
3925         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
3926         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
3927         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
3928         config/mips/irix6-libc-compat.c, config/mips/mips.c,
3929         config/mmix/mmix.c, config/mn10200/mn10200.c,
3930         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
3931         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
3932         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
3933         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
3934         config/sparc/sparc.c, config/stormy16/stormy16.c,
3935         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
3936         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
3937         Include coretypes.h and tm.h.
3938
3939         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
3940         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
3941         genrecog.c: Include coretypes.h and tm.h from the file
3942         generated by this program.
3943
3944         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
3945         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
3946         coretypes.h and tm.h, and tsystem.h when not already included.
3947         No need to include stddef.h nor stdlib.h.
3948
3949         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
3950         include auto-host.h or ansidecl.h/
3951         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
3952         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
3953         include auto-host.h, ansidecl.h, or system.h.
3954         * fixinc/server.c: Likewise.  Also, do not include signal.h,
3955         and do not redefine volatile.
3956
3957 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
3958
3959         * i386.md (movdf_integer):  Always enable in 64bit.
3960         (movdf_nointeger): Always disable in 64bit.
3961
3962 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3963
3964         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
3965         pseudo register number plus 1.
3966
3967 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
3968
3969         * expmed.c (store_bit_field): Use int_mode_for_mode to find
3970         corresponding mode of non-integer mode, unless it is VOIDmode.
3971
3972 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
3973
3974         * cpplib.c (_cpp_test_assertion): Default *value to 0.
3975
3976         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
3977
3978 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
3979
3980         * config/s390/t-crtstuff: New target makefile fragment.
3981         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
3982
3983 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
3984
3985         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
3986         alternatives to correct the length when the memory operand is
3987         either pre_dec or post_inc.
3988
3989 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
3990
3991         * config/h8300/h8300.md (an anonymous pattern): Give an
3992         internal name *tst_extzv_bitqi_1_n.
3993         Accept bit_operand instead of bit_memory_operand.
3994         Do not accept bit tests with the MSB.
3995         (*tst_extzv_memqi_1_n): New.
3996
3997 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
3998
3999         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
4000         sharing when operand is SUBREG.
4001
4002 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
4003
4004         * athlon.md (athlon-decodev): New reservation unit.
4005         (athlon-direct0): New reservation.
4006         (athlon-vector): New use athlon-decodev.
4007         (athlon-double, athlon-direct): Better model.
4008         (athlon_imul_k8): Use athlon-direct0.
4009         (athlon_movlpd_load): New insn reservation.
4010
4011 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4012
4013         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
4014         Fix a comment typo.
4015         (h8300_tiny_constant_address_p): Likewise.
4016
4017 2002-11-28  Michael Matz  <matz@suse.de>
4018
4019         * doc/passes.texi: Mention the other register allocator.
4020
4021 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4022
4023         * config/h8300/h8300.md (6 new peephole2 patterns): New.
4024
4025 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
4026
4027         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
4028         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
4029         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
4030
4031 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4032
4033         * config/h8300/h8300.c (h8300_and_costs): New.
4034         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
4035         * config/h8300/h8300-protos.h: Add a prototype for
4036         h8300_and_costs.
4037
4038 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
4039
4040         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
4041         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
4042         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
4043         * i386.md (truncdfsf patterns and splitters): Use
4044         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
4045
4046 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
4047
4048         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
4049         pointer argument in the prototypes of the following builtins
4050         be (const TYPE *) rather than (TYPE *):
4051          + __builtin_altivec_ld_internal_4sf
4052          + __builtin_altivec_ld_internal_4si
4053          + __builtin_altivec_ld_internal_8hi
4054          + __builtin_altivec_ld_internal_16qi
4055          + __builtin_altivec_lvsl
4056          + __builtin_altivec_lvsr
4057          + __builtin_altivec_lvebx
4058          + __builtin_altivec_lvehx
4059          + __builtin_altivec_lvewx
4060          + __builtin_altivec_lvxl
4061          + __builtin_altivec_lvx
4062          + __builtin_altivec_dst
4063          + __builtin_altivec_dstt
4064          + __builtin_altivec_dstst
4065          + __builtin_altivec_dststt
4066
4067 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4068
4069         * except.c (default_exception_section): Move variable into the
4070         scope where it is used.
4071
4072 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
4073
4074         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
4075         correct version.
4076
4077 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4078
4079         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
4080
4081 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4082
4083         * config/h8300/h8300.c (h8300_shift_costs): New.
4084         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
4085         * config/h8300/h8300-protos.h: Add a prototype for
4086         h8300_shift_costs.
4087
4088 2002-11-27  Jim Wilson  <wilson@redhat.com>
4089
4090         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
4091         in output template.
4092
4093 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
4094
4095         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
4096         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
4097         DLL_IMPORT_EXPORT_PREFIX, not '@'.
4098         (i386_pe_dllimport_name_p): Likewise.
4099         (i386_pe_mark_dllexport): Likewise.
4100         (i386_pe_mark_dllimport): Likewise.
4101         (i386_pe_encode_section_info): Likewise.
4102         (i386_pe_strip_name_encoding): Likewise.
4103
4104 2002-11-27  Richard Henderson  <rth@redhat.com>
4105
4106         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
4107         (nm && NF == 3): Set sawsymbol true.
4108         (END): Exit if no symbols seen.
4109         (output): Fix map syntax error if no globals for the version.
4110
4111 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4112
4113         * builtins.def (DEF_C99_BUILTIN): Fix.
4114
4115 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
4116
4117         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
4118         (all): Add .size and .type information.
4119
4120 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
4121
4122         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
4123         partial_reg_stall target.
4124
4125 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4126
4127         * i386.md (movhicc): Allow general operand.
4128         (movqicc): New expander.
4129         (movqicc_noc): New pattern.
4130         * i386.c (ix86_expand_carry_flag_compare): New function.
4131         (ix86_expand_int_movcc): Optimize harder using sbb; support more
4132         HImode conversion; support QImode conditional moves
4133
4134 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
4135
4136         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
4137         (ix86_expand_prologue): Multiply the count by amount of registers to be
4138         pushed.
4139
4140 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4141
4142         * i386.c (override_options): Error about wrong -mcpu on x86-64
4143         compilation.
4144
4145 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
4146
4147         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
4148
4149 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
4150
4151         * i386-protos.h (x86_extended_QIreg_mentioned_p,
4152         x86_extended_reg_mentioned_p): Declare.
4153         * i386.c (extended_reg_mentioned_1): New static function.
4154         (x86_extended_QIreg_mentioned_p,
4155         x86_extended_reg_mentioned_p): New global functions.
4156         * i386.h (REX_SSE_REGNO_P): New macro.
4157         * i386.md (prefix_rex): New attribute.
4158         (length attribute): Add rex.
4159
4160 2002-11-26  Andrew Haley  <aph@redhat.com>
4161
4162         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
4163         from_Unwind_Find_Enclosing_Function.
4164         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
4165         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
4166         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
4167         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
4168         * unwind.h (_Unwind_FindEnclosingFunction): Add.
4169
4170 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4171
4172         * config/s390/s390.c (390_output_constant_pool): Set alignment
4173         before label in 64 bit mode, behind otherwise.
4174
4175 2002-11-26  Richard Henderson  <rth@redhat.com>
4176
4177         * c-common.c (handle_visibility_attribute): Accept "default".
4178         * tree.h (enum symbol_visibility): New.
4179         (decl_visibility): Declare.
4180         * target.h (gcc_target.visibility): Take visibility arg as integer.
4181         * varasm.c (default_assemble_visibility): Likewise.
4182         (decl_visibility): New.
4183         (maybe_assemble_visibility): Use it.
4184         * output.h (default_assemble_visibility): Update prototype.
4185         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
4186         visibility arg as integer.
4187         * doc/extend.texi: Document default visibility.
4188
4189 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
4190
4191         * config/h8300/h8300.c: Adjust spacing.
4192         * config/h8300/h8300.h: Likewise.
4193
4194 2002-11-26  Richard Henderson  <rth@redhat.com>
4195
4196         * hooks.c (hook_bool_void_false, hook_void_tree_int,
4197         hook_void_FILEptr_constcharptr): Rename so that the return
4198         type is first.
4199         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
4200         hook_bool_tree_false): New.
4201         * hooks.h: Update.
4202         * langhooks-def.h: Update for renames.
4203         * target-def.h: Likewise.
4204         * tree.c (default_comp_type_attributes,
4205         default_set_default_type_attributes, default_insert_attributes,
4206         default_function_attribute_inlinable_p,
4207         default_ms_bitfield_layout_p): Remove.
4208         * tree.h: Update.
4209
4210 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4211
4212         * pa-protos.h (function_value): New prototype.
4213         * pa.c (function_value): Use a PARALLEL to return small aggregates on
4214         TARGET_64BIT.
4215         * pa.h (FUNCTION_VALUE): Use function_value.
4216         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
4217         call_value_internal_reg, sibcall_value_internal_symref,
4218         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
4219         value.
4220
4221 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4222
4223         * expr.c (gen_group_rtx, emit_group_move): New functions.
4224         * expr.h (gen_group_rtx, emit_group_move): Prototype.
4225         * function.c (expand_function_start): Use gen_group_rtx to create a
4226         PARALLEL rtx to hold the return value when the real return rtx is a
4227         PARALLEL.
4228         (expand_function_end): Use emit_group_move to move the return value
4229         from a PARALLEL to the real return registers.
4230         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
4231         in PARALLELs.
4232
4233 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4234
4235         * config/t-libc-ok: Fix typo.
4236
4237 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4238
4239         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
4240         before AC_PROG_CC.
4241         * configure: Rebuilt.
4242
4243 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
4244
4245         * c-decl.c: (start_struct): Commonize flag setting.
4246
4247 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4248
4249         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
4250         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
4251         RS6000_CPU_CPP_ENDIAN_BUILTINS.
4252         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
4253
4254 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4255
4256         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
4257         insns.
4258         * config/s390/s390.c (struct machine_function): Introduction of
4259         struct machine_function.
4260         (s390_output_symbolic_const): Use of cfun.
4261         (s390_optimize_prolog): Likewise.
4262         (s390_fixup_clobbered_return_reg): Likewise.
4263         (s390_frame_info): Likewise.
4264         (s390_emit_prologue, s390_emit_epilogue): Likewise.
4265         (s390_init_machine_status): New function.
4266         (override_options): call s390_init_machine_status.
4267         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
4268         prototype.
4269
4270 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4271
4272         * varasm.c (output_constant_pool): For pool constants in mergeable
4273         section ensure each constant is padded to multiple of entity size.
4274
4275 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4276
4277         * varasm.c (default_exception_section): Move to...
4278         * except.c (default_exception_section): ... here. Make
4279         .gcc_except_table read-only if it is not expected to have any
4280         dynamic relocations and linker handles it.
4281         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
4282         if it is not expected to have any dynamic relocations and linker
4283         handles it.
4284         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
4285         when linking read-only and read-write sections together.
4286         * configure, config.in: Rebuilt.
4287         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
4288         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
4289
4290 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
4291
4292         * i386.md (pushsf_rex64): Fix typo.
4293
4294 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4295
4296         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
4297         new function.
4298         (__ev_create_ufix32_fs): Same.
4299         (__ev_get_sfix32_fs_internal): New.
4300         (__ev_get_sfix32_fs): Define to use function.
4301         (__ev_get_ufix32_fs_internal): New.
4302         (__ev_get_ufix32_fs): Define to use function.
4303         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
4304         (__ev_get_lower_ufix32_fs): Same.
4305         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
4306         (__ev_get_lower_sfix32_fs): Same.
4307         (__ev_set_sfix32_fs_internal): New.
4308         (__ev_set_ufix32_fs_internal): New.
4309         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
4310         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
4311         (__ev_set_upper_sfix32_fs): Call function.
4312         (__ev_set_lower_sfix32_fs): Same.
4313         (__ev_set_upper_ufix32_fs): Same.
4314         (__ev_set_lower_ufix32_fs): Same.
4315
4316 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
4317
4318         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
4319
4320 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4321
4322         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
4323         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4324         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4325         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
4326         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
4327         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4328         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
4329         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
4330         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4331         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4332         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
4333         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
4334         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
4335         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4336         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
4337         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
4338         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
4339         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
4340         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
4341         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
4342         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4343         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
4344         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
4345         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
4346         defining.
4347         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
4348         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
4349
4350 2002-11-25  Dave Pitts  <dpitts@cozx.com>
4351
4352         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
4353
4354 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4355
4356         * config/h8300/h8300.md (an anonymous pattern): New.
4357
4358 2002-11-25  Richard Henderson  <rth@redhat.com>
4359
4360         * alias.c (find_base_value): Use new_reg_base_value if it's live.
4361         (copying_arguments): Make boolean.
4362
4363 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4364
4365         * gcc.c (static_spec_functions): Add if-exists-else spec
4366         function.
4367         (if_exists_else_spec_function): New function.
4368         * doc/invoke.texi: Document the if-exists-else spec function.
4369
4370         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
4371         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
4372
4373 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4374
4375         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
4376         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
4377         "${tmake_file} rs6000/t-netbsd".
4378         * config/rs6000/netbsd.h: Rewrite.
4379         * config/rs6000/t-netbsd: New file.
4380
4381 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4382
4383         * config/h8300/h8300.md (an anonymous pattern): Relax the
4384         condition for the pattern.
4385
4386 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4387
4388         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
4389         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
4390         evmwlssfanw, evmwlsmfanw.
4391
4392         * config/rs6000/rs6000.c (bdesc_2arg): Same.
4393
4394         * config/rs6000/spe.md: Same for patterns.
4395
4396 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
4397
4398         PR c/8639
4399         * fold-const.c (extract_muldiv): Don't propagate division unless
4400         both arguments are multiples of C.
4401
4402 2002-11-25  Andrew Haley  <aph@redhat.com>
4403
4404         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
4405         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
4406         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
4407         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
4408
4409 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
4410
4411         * i386.c (x86_use_ffreep): New global variable.
4412         * i386.h (x86_use_frfeep): Declare
4413         (TARGET_USE_FFREEP): New macro
4414         * i386.md  (movs?f*): Use freep when asked for.
4415         (push?f): Remove dead code.
4416
4417 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
4418
4419         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
4420         target help message.
4421
4422 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4423
4424         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
4425         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
4426         crtbeginT.o".
4427         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
4428         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
4429         to "" for a.out configurations.
4430         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
4431
4432 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4433
4434         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
4435         NETBSD_CPP_SPEC directly.
4436         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
4437         netbsd_endfile_spec.
4438         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
4439
4440 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4441
4442         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
4443         NETBSD_STARTFILE_SPEC.
4444         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
4445         (ENDFILE_SPEC): Likewise.
4446         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
4447
4448 2002-11-24  Andreas Schwab  <schwab@suse.de>
4449
4450         * Makefile.in (install-driver): Remove versioned link before
4451         trying to create it.
4452
4453         * config/m68k/m68k.c: Fix typo in last change defining
4454         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
4455
4456 2002-11-23  H.J. Lu <hjl@gnu.org>
4457
4458         * aclocal.m4: Include ../config/accross.m4.
4459         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
4460         (gcc_AC_C_COMPILE_ENDIAN): Removed.
4461         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
4462         instead of $ac_cv_c_compile_endian.
4463
4464         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
4465         AC_COMPILE_CHECK_SIZEOF.
4466         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
4467         * configure: Rebuild.
4468
4469 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
4470
4471         * config/h8300/h8300.c (print_operand): Update the use of
4472         h8300_tiny_constant_address_p.
4473         (h8300_adjust_insn_length): Likewise.
4474         (h8300_tiny_constant_address_p): Check if the given rtx is a
4475         variable declared with __attribute__ ((tiny_data)).
4476
4477 2002-11-22  Dale Johannesen  <dalej@apple.com>
4478
4479         * toplev.c (rest_of_compilation):  Fix comments.
4480
4481 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
4482
4483         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
4484         allow mmap from /dev/zero.  Don't make decisions for the host
4485         based on presence or absence of /dev/zero on the build machine.
4486         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
4487         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
4488         * configure: Regenerate.
4489
4490 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4491
4492         * gcc.c (make_relative_prefix, split_directories)
4493         (free_split_directories): Removed.
4494
4495 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4496
4497         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
4498         * configure: Regenerated.
4499
4500 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
4501
4502         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
4503         length computation when xor.l is output.
4504
4505 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
4506
4507         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
4508         (call_vms_1, call_value_vms_1): Cleanup syntax.
4509
4510 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4511
4512         * athlon.md (define_atuomaton): Add athlon_load.
4513         (athlon-double): New reservation.
4514         (athlon-ieu0): New CPU unit.
4515         (athlon-load?): Use athlon_load automaton.
4516         (*_k8 reservations): New.
4517         (other insn revervations): Activate for K8.
4518
4519 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
4520
4521         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
4522
4523 2002-11-21  Jim Wilson  <wilson@redhat.com>
4524
4525         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
4526         vectors to SI.
4527
4528 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
4529
4530         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
4531         * config/xtensa/xtensa.c (struct machine_function): Add
4532         incoming_a7_copied flag.
4533         (xtensa_copy_incoming_a7): Define.
4534         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
4535         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
4536
4537 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
4538
4539         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
4540         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
4541         x86_64_nonmemory_operand, x86_64_movabs_operand,
4542         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4543         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
4544         (local_symbolic_operand): Do not care the 64bit limits.
4545         (x86_64_sign_extended_value): Remove allow_rip support.
4546         (legitimate_pic_address_disp_p): Handle all cases allowed
4547         with RIP addressing.
4548         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
4549         (legitimize_pic_address): Reorganize.
4550         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
4551
4552 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4553
4554         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
4555         * config/arm/netbsd-elf.h: New file.
4556
4557 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4558
4559         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
4560         subtarget_asm_float_spec.
4561         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
4562         defaults from...
4563         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
4564
4565 2002-11-21  Nick Clifton  <nickc@redhat.com>
4566
4567         * config/fr30/fr30.md (movsf_constant_store): Move code to
4568         detect 0.0 into fr30.c.
4569         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
4570         Prototype.
4571         * config/fr30/fr30.c (fr30_const_double_is_zero): New
4572         function.  Return true if the rtx is 0.0.
4573
4574 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4575
4576         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
4577         if -mlittle-endian is specified.
4578
4579 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4580
4581         PR optimization/2903
4582         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
4583         (anddi_notsesidi_di): Likewise.
4584
4585 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
4586
4587         * config/h8300/h8300.c (print_operand): Use
4588         h8300_eightbit_constant_address_p and
4589         h8300_tiny_constant_address_p.
4590         (h8300_adjust_insn_length): Likewise.
4591         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
4592         (TINY_CONSTANT_ADDRESS_P): Likewise.
4593         (OK_FOR_U): Use eightbit_constant_address_p.
4594
4595 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
4596
4597         * config/s390/libgcc-libc.ver: Add multilib support.
4598         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
4599         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
4600         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
4601         EXTRA_MULTILIB_PARTS): Define.
4602
4603 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4604
4605         * arm.c (arm_get_frame_size): A leaf function does not need its
4606         stack padding to an aligned boundary if it has no frame.
4607         (thumb_get_frame_size): Likewise.
4608
4609 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
4610
4611         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
4612         (override_options): Likewise.
4613
4614 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
4615
4616         * config.gcc: Add k8 target alias support
4617         * i386.c (_cost): Declare costs for various variants of divides and
4618         multiplies.
4619         (k8_cost): New.
4620         (m_K8, m_ATHLON_K8): New macros.
4621         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
4622         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
4623         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
4624         x86_integer_DFmode_moves, x86_partial_reg_dependency,
4625         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
4626         x86_prologue_using_move, x86_epilogue_using_move,
4627         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
4628         x86_sse_typeless_stores): Set for K8
4629         (override_options): Add k8 support; fix athlon alignment;
4630         complain about non-x86-64 capable CPU being used in x86-64 compilation.
4631         (ix86_issue_rate): Set for K8.
4632         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
4633         x86_machine_dependent_reorg): Handle K8 like
4634         * i386.h
4635         (x86_costs):  Change mult_init and divide into array.
4636         (TARGET_K8, TARGET_ATHLON): New macros.
4637         (MODE_INDEX): New macro.
4638         (RTX_COST): Use new costs.
4639         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
4640         (TARGET_CPU_DEFAULT_NAMES): Add k8
4641         (TARGET_CPU_DEFAULT_k8): New constant
4642         (enum processor_type): Add PROCESSOR_K8.
4643         * i386.md (cpu attribute): Add k8.
4644
4645         * invoke.texi: Document -march=k8.
4646
4647         * i386.md (type attribute): Add leave
4648         (mode attribute): Remove unknownfp.
4649         (length_immediate, modrm, memory attributes): Handle leave correctly.
4650         (fp comparison patterns): Determine FP mode.
4651         (leave, leave_rex64): Remove special cases.
4652         * ppro.md (ppro_uops, ppro_p2): Add leave
4653         * pentiun.md (pent_pop): Handle leave too.
4654         * k6.md (k6_load): Handle leave.
4655         * athlon.md (athlon_leave, athlon_pop): Fix.
4656         (athlon_decode): Handle leave.
4657
4658 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
4659
4660         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
4661         to component type using GET_MODE_INNER.
4662         * expr.c (emit_move_insn_1): Ditto.
4663         * optabs.c (expand_binop): Ditto.
4664         (expand_unop): Ditto.
4665         (expand_complex_abs): Ditto.
4666
4667 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
4668
4669         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
4670
4671 2002-11-20  DJ Delorie  <dj@redhat.com>
4672
4673         * config/stormy16/stormy16.c (s16builtins,
4674         xstormy16_init_builtins, xstormy16_expand_builtin): New.
4675         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
4676
4677 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
4678
4679         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
4680         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
4681         (executing gencheck, genconfigs, genconditions, genflags,
4682         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
4683         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
4684         gengtype, genprotos): Prepend $(RUN_GEN).
4685         * configure.in: Move host compiler tests before --enable-checking
4686         tests.
4687         (--enable-checking=valgrind): New.
4688         * config.in, configure: Regenerate.
4689         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4690         Define as empty.
4691         (read_include_file): When doing the mmap+1 trick,
4692         valgrind-annotate the byte after the mmap:ed area as readable.
4693         (purge_cache): Remove above annotation.
4694         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
4695         VALGRIND_PATH -q to each command.
4696
4697         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4698         Define as empty.
4699         (ggc_realloc): Update valgrind annotations.
4700         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4701         Define as empty.
4702         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
4703         valgrind-annotate memory.
4704
4705 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
4706
4707         * recog.c (constrain_operands): Prefer exact match over reloadable
4708         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
4709
4710         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
4711         operands in Pmode.
4712
4713 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
4714
4715         PR c/8518
4716         * c-decl.c (duplicate_decls): Outline the second definition
4717         of an extern inline function in all cases.
4718
4719 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4720
4721         * stor-layout.c (place_field): Update rli->offset as well as
4722         rli->bitpos.
4723
4724 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4725
4726         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
4727
4728 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4729
4730         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
4731         into a libcall block.
4732         (divsi3): Likewise divsi3_i4_media.
4733
4734 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4735
4736         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
4737         out another register.
4738
4739 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
4740
4741         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
4742         (not just mask) are set in C.
4743
4744 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
4745
4746         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
4747
4748 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4749
4750         * profile.c (index_counts_file): Fix obvious mistake.
4751
4752 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4753
4754         * Makefile.in (profile.o): Add hashtab.h dependency.
4755         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
4756         * profile.c: Include hashtab.h.
4757         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
4758         cleanup_counts_index, index_counts_file, struct section_reference,
4759         struct da_index_entry, counts_file_name, counts_file_index): New.
4760         (get_exec_counts, init_branch_prob): Modified.
4761
4762 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
4763
4764         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
4765         to tmake_file. Remove setting gas and gnu_ld here.
4766         * config/sh/libgcc-glibc.ver: New file.
4767         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
4768         (SHLIB_MAPFILES): New.
4769         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
4770         (MD_STARTFILE_PREFIX): Likewise.
4771         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
4772         (DWARF2_UNWIND_INFO): Redefine.
4773         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4774         (LINK_EH_SPEC): Redefine.
4775         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
4776         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
4777         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
4778         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
4779         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
4780         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
4781         SH_DWARF_FRAME_FPSCR): Likewise.
4782         * config/sh/sh-protos.h (sh_set_return_address): Declare.
4783         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
4784         registers if the current function calls EH return.
4785         (sh_expand_epilogue): Handle EH stack adjustments.
4786         (sh_set_return_address): New function.
4787         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
4788         Don't abort even if the number is mapped to -1.
4789         (EH_RETURN_DATA_REGNO): Define.
4790         (EH_RETURN_STACKADJ_RTX): Define.
4791         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
4792         (eh_return): New pattern.
4793         (eh_set_ra_di, eh_set_ra_si): Likewise.
4794         Add splitter to perform EH return after reload.
4795
4796 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
4797
4798         * stor-layout.c (excess_unit_span): New function.
4799         (place_field): Use it.
4800
4801 2002-11-19  Andreas Schwab  <schwab@suse.de>
4802
4803         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
4804         not valid in C++.
4805
4806 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
4807
4808         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
4809         * configure: Regenerate.
4810
4811 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
4812
4813         * convert.c (strip_float_extensions): New function.
4814         (convert_to_real): Optimize some cases.
4815
4816 2002-11-19  Andreas Jaeger  <aj@suse.de>
4817
4818         * loop.c (record_giv): Initialize not_replaceable.
4819         (check_final_value): Likewise.
4820
4821 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4822
4823         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
4824         MASK_H8300S.
4825
4826 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
4827
4828         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
4829         only if -mh or -ms present.
4830         (h8300_eightbit_constant_address_p): Support the normal mode.
4831         (h8300_tiny_constant_address_p): Likewise.
4832         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
4833         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
4834         (Pmode): Evaluate to HImode for the normal mode.
4835         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
4836         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
4837         (ASM_WORD_OP): Evaluate to word for the normal mode.
4838         * config/h8300/h8300.md (tablejump_normal_mode): New.
4839         (indirect_jump_normal_mode): New.
4840         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
4841         directory.
4842         (MULTILIB_DIRNAMES): Create target dependent directory
4843         'normal'.
4844         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
4845         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
4846
4847 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
4848
4849         * i386.md (length_immediate): Do not refer to insn address.
4850         (jcc*, jmp patterns):  Compute length explicitly.
4851
4852 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
4853
4854         PR c/8588
4855         * optabs.c (expand_binop): Convert CONST_INTs in shift
4856         operations too.
4857
4858 2002-11-19  Roger Sayle  <roger@eyesopen.com>
4859
4860         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
4861
4862 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4863
4864         * config/h8300/h8300.md (an anonymous pattern): Relax the
4865         condition to accept the same operands and/or subregs.
4866
4867 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
4868
4869         * config/sh/sh.c (gen_shl_and): Revert previous patch.
4870         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
4871         reload_completed.
4872
4873 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4874
4875         * config/h8300/h8300.c (print_operand): Update the use of
4876         EIGHTBIT_CONSTANT_ADDRESS_P.
4877         (h8300_adjust_insn_length): Likewise.
4878         (h8300_eightbit_constant_address_p): Check if the given rtx is
4879         a variable with __attribute__((eightbit_data)).
4880         * config/h8300/h8300.h (OK_FOR_U): Update the use of
4881         EIGHTBIT_CONSTANT_ADDRESS_P.
4882
4883 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4884
4885         * doc/contrib.texi (Contributors): Add self as second contact in
4886         addition to Jeff Law.
4887
4888 2002-11-19  Andreas Jaeger  <aj@suse.de>
4889
4890         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
4891         find_alloca_call to right place.
4892
4893 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4894
4895         * cppfiles.c: Fix formatting.
4896
4897 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
4898
4899         * gcc.c (The Specs Language): Document spec functions.
4900         (static_spec_functions, lookup_spec_function)
4901         (eval_spec_function, handle_spec_function)
4902         (if_exists_spec_function, alloc_args): New.
4903         (execute): Abort if processing_spec_function is true.
4904         (do_spec_1): Hand off spec to handle_spec_function if %:
4905         is encountered.  If processing_spec_function is true,
4906         end any pending argument when the end of the string is reached.
4907         (main): Use alloc_args to allocate the initial argument vector.
4908         * gcc.h (struct spec_function): New.
4909         (lang_specific_spec_functions): New extern.
4910
4911         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
4912         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
4913         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
4914
4915         * doc/invoke.texi: Document spec functions.
4916
4917         * cppspec.c (lang_specific_spec_functions): New.
4918         * gccspec.c: Likewise.
4919
4920 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
4921
4922         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
4923         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
4924         (fixunstfsi_libfunc): Change.
4925         (fixunstfdi_libfunc): Change.
4926         (sdiv_optab): Don't zero out SImode handler.
4927         (udiv_optab): Don't zero out SImode handler.
4928         (smod_optab): Don't zero out SImode handler.
4929         (umod_optab): Don't zero out SImode handler.
4930
4931 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
4932
4933         PR preprocessor/8524
4934         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
4935         Add a new one in its place, which hopefully works.
4936         (skip_rest_of_line): Change test for bottom-of-context-stack.
4937
4938 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
4939
4940         * i386.md (addqi_1_slp): Fix output template.
4941         (subqi_1_slp): Fix type.
4942
4943 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
4944
4945         * calls.c (alloca_call_p): New global function.
4946         * tree.h (alloca_call_p): New.
4947         * tree-inline.c (inlinable_function_p):  Do not inline when
4948         function calls alloca.
4949         (find_alloca_call, find_alloca_call_1): New functions.
4950
4951 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
4952
4953         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
4954         bst.  Update the insn length.
4955         (*andorhi3): Likewise.
4956         (*andorsi3): Likewise.
4957
4958 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4959
4960         * config/sh/sh-protos.h (sh_mark_label): Declare.
4961         * config/sh/sh.c (sh_mark_label): New function, taken from
4962         movdi_const, but fixing the case when the address has an addend.
4963         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
4964
4965 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4966
4967         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
4968         (add_constant): Set it.
4969         (dump_table): Don't reorder a constant if part_of_sequence_p.
4970         (machine_dependent_reorg): Assume that float constants will
4971         stay in their original order if used as a sequence.
4972
4973 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4974
4975         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
4976         in compact code.
4977
4978 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4979
4980         * config/sh/sh.md (initialize_trampoline): Do not force the
4981         trampoline address into R0_REGS here.
4982
4983 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
4984
4985         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
4986         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
4987         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
4988         generate unnecesary subregs.
4989
4990 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4991
4992         * df.c: Fix formatting.
4993
4994 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4995
4996         * config/h8300/h8300.md (two anonymous patterns): Fix insn
4997         lengths.
4998
4999 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
5000
5001         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
5002         is not an arith_reg_operand.
5003
5004 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
5005
5006         * real.c (real_to_decimal): Fix buffer overrun when buffer size
5007         is smaller than representation.
5008
5009 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5010
5011         * builtins.c: Fix formatting.
5012
5013 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5014
5015         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
5016         floats?dff2_i387):
5017         Work around regclass stupidity.
5018         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
5019
5020 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
5021
5022         * i386.md (fop_df_6): New pattern.
5023         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
5024         (fop_xf_6): Rewrite
5025         (fop_xf_7): Delete.
5026         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
5027         (fop_tf_6): Rewrite
5028         (fop_tf_7): Delete.
5029
5030 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5031
5032         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
5033
5034 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5035
5036         * config/h8300/h8300.md: Fix formatting.
5037
5038 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5039
5040         * config/h8300/h8300.md: Replace spaces with tabs.
5041         * config/h8300/t-h8300: Remove a trailing empty line.
5042
5043 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5044
5045         * tlink.c: Fix formatting.
5046
5047 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
5048
5049         PR 8362
5050         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
5051         * config/rs6000/rs6000.md (movti_string): Remove output modifier
5052         when scratch register never needed.
5053         (ldmsi[3-8]): New patterns.
5054
5055 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5056
5057         * hard-reg-set.h: Follow spelling conventions.
5058         * real.c: Likewise.
5059         * target.h: Likewise.
5060
5061 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
5062
5063         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
5064
5065 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5066
5067         * optabs.c: Fix formatting.
5068
5069 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
5070
5071         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
5072         * i386.md (attribute type): Add type shift1 and rotate1.
5073         (*_slp): Rewrite to have just two operands to avoid reload problems.
5074
5075 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
5076
5077         * config/h8300/h8300.md (4 anonymous patterns): New.
5078
5079 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
5080
5081         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
5082         * doc/invoke.texi: Correct description of what needs to be done to
5083         force collection at every ggc_collect call.
5084
5085 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5086
5087         * config/s390/s390.c (optimization_options): Set
5088         flag_asynchronous_unwind_tables to 1 by default.
5089
5090 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5091
5092         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5093
5094 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5095
5096         * i386-protos.h (x86_function_profiler): New function
5097         * i386.h (MCOUNT_NAME): New.
5098         (PROFILE_COUNT_REGISTER): New.
5099         (FUNCTION_PROFILER): Move offline to ...
5100         * i386.c (x86_function_profiler) ... here; fix 64bit support
5101         * beos-elf.h (FUNCTION_PROFILER): Kill.
5102         (MCOUNT_NAME): New.
5103         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
5104         (MCOUNT_NAME): New.
5105         (PROFILE_COUNT_REGISTER): New.
5106         * linux.h (FUNCTION_PROFILER): Kill.
5107         (MCOUNT_NAME): New.
5108         * x86-64.h (FUNCTION_PROFILER): Kill.
5109         (MCOUNT_NAME): New.
5110         * freebsd.h (FUNCTION_PROFILER): Kill.
5111         (MCOUNT_NAME): New.
5112
5113 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
5114
5115         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
5116         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
5117         * config/arm/arm.c (arm_va_arg,
5118         arm_function_arg_pass_by_reference): New.
5119         * config/arm/arm-protos.h: Add prototypes.
5120
5121 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5122
5123         * gthr-single.h: Fix formatting.
5124
5125 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
5126
5127         * tree.c (tree_vec_elt_check_failed): New function.
5128         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
5129         (TREE_VEC_ELT): Use it.
5130
5131         * tree-inline.c (optimize_inline_calls): Don't copy a
5132         zero-length vector.
5133
5134 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5135
5136         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
5137
5138 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
5139
5140         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
5141         both operands contain local relocations.
5142         (categorize_decl_for_section): Don't use mergeable sections if
5143         initializer has any relocations.
5144
5145 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5146
5147         * gthr-vxworks.h: Fix formatting.
5148
5149 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
5150
5151         * doc/install.texi (Testing): Document extra Java testing.
5152         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
5153
5154 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5155
5156         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
5157         beginning of the spec.
5158         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
5159         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
5160         regarding problems with global constructors when using GNU ld.
5161
5162 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5163
5164         * gthr-solaris.h: Fix formatting.
5165
5166 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5167
5168         * gthr-posix.h: Fix formatting.
5169
5170 2002-11-12  Devang Patel <dpatel@apple.com>
5171         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
5172         (process_command): Same.
5173         * doc/invoke.texi: Info about these two new options.
5174
5175 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5176
5177         * config/h8300/h8300.md (*andorsi3): New.
5178
5179 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5180
5181         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
5182
5183 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5184
5185         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
5186         expressions appropriately.
5187
5188 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5189
5190         * gthr-win32.h: Fix formatting.
5191
5192 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5193
5194         * config/h8300/h8300.c (single_one_operand): Correctly compute
5195         mask when mode is SImode.
5196         (single_zero_operand): Likewise.
5197         * config/h8300/h8300.md (two new anonymous insns): New.
5198
5199 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5200
5201         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
5202         to that entire project.
5203
5204 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5205
5206         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
5207         directories.
5208
5209 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
5210
5211         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
5212         * doc/invoke.texi: Document them.
5213
5214         * ggc-page.c: Include params.h.  Remove definitions of
5215         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
5216         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
5217         (init_gcc): Don't set G.allocated_last_gc here.
5218         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
5219         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
5220         perform collection.
5221         * ggc-simple.c: Similarly.
5222         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
5223         dependencies.
5224
5225 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5226
5227         * gthr-dce.h: Fix formatting.
5228
5229 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5230
5231         PR c/8467
5232         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
5233         mode of DECL_RTL case.
5234
5235 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
5236
5237         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
5238
5239 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
5240
5241         * i386.c (construct_container): Fix handling of SSE_CLASS.
5242
5243 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
5244
5245         * config/m68k/t-crtstuff (crti.o): Use this...
5246         ($(T)crti.o): ... instead.
5247         (crtn.o): Use this...
5248         ($(T)crtn.o): ... instead.
5249
5250 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
5251
5252         PR c/8439
5253         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
5254         if there is something new to be simplified.
5255
5256 2002-11-10  H.J. Lu <hjl@gnu.org>
5257
5258         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
5259         * expr.c (PUSH_ARGS_REVERSED): Likewise.
5260
5261         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
5262
5263 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
5264
5265         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
5266         * config/rs6000/linux.h, config/rs6000/linux64.h,
5267         config/rs6000/windiss.h: ... not here.
5268
5269 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
5270
5271         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
5272         __ABICALLS__ if TARGET_ABICALLS.
5273
5274 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
5275
5276         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
5277
5278 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
5279
5280         * c-decl.c (grokdeclarator): Make error for duplicate type
5281         qualifiers into a pedwarn, disabled for C99.
5282
5283 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
5284
5285         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
5286         as FUNCTION_ARG_PASS_BY_REFERENCE.
5287
5288 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
5289
5290         * doc/install.texi: Add *-*-vxworks* specific installation
5291         instructions.
5292
5293         * config/vxlib.c: Rewrite using generation numbers to identify
5294         valid TSD keys.
5295
5296 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
5297
5298         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
5299
5300 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5301
5302         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
5303
5304         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
5305         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
5306         * pa.c (output_millicode_call): Use symbol difference rather than
5307         $PIC_pcrel$0 when using HP assembler.
5308         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
5309         not elfos.h (i.e., gas) is being used.
5310         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
5311         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
5312         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
5313         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
5314         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
5315         using elfos.h.
5316         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
5317         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
5318         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
5319         using elfos.h.
5320         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5321         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
5322         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
5323         Don't define when not using elfos.h.
5324         (ASM_DECLARE_RESULT): Don't define.
5325         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
5326         doesn't work on hppa64-hp-hpux11.
5327         (hppa*-hp-hpux11): Update.
5328
5329 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
5330
5331         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
5332         to the assembler if -mno-abicalls was specified.
5333
5334 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5335
5336         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
5337         ASM_OUTPUT_DEF): Delete.
5338
5339 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
5340
5341         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
5342
5343 2002-11-08  Roger Sayle  <roger@eyesopen.com>
5344
5345         * real.c (real_sqrt): Update comment with bibliographic reference.
5346
5347 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5348
5349         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
5350
5351 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
5352
5353         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
5354
5355 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
5356
5357         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
5358         (expand_builtin): Likewise.
5359         * builtins.def: Add
5360         __builtin_floor, __builtin_floorf, __builtin_floorl
5361         __builtin_ceil, __builtin_ceilf, __builtin_ceill
5362         __builtin_round, __builtin_roundf, __builtin_roundl
5363         __builtin_trunc, __builtin_truncf, __builtin_truncl
5364         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
5365         * genopinit.c (optabs): Initialize the new optabs.
5366         * optab.c (init_optabs): Likewise.
5367         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
5368         OTI_round, OTI_nearbyint.
5369         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
5370         * doc/md.texi: Document new named patterns.
5371         * doc/extend.texi (builtin functions)  Document
5372         floor, floorf, floorl, ceil, ceilf,
5373         ceill, round, roundf, roundl, trunc,
5374         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
5375
5376 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
5377
5378         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
5379
5380 2002-11-08  Dale Johannesen  <dalej@apple.com>
5381
5382         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
5383
5384 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5385
5386         PR preprocessor/8497
5387         PR preprocessor/8501
5388         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
5389         start a directive.  In assembler, #NUM is not a line directive.
5390
5391 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5392
5393         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
5394         buffers.
5395
5396 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5397
5398         * config/h8300/h8300.md (two anonymous test insns): New.
5399
5400 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5401
5402         * jump.c (mark_jump_label): Handle subregs of label_refs.
5403
5404 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
5405
5406         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
5407         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
5408
5409 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
5410
5411         * config/ia64/crtend.asm: Include "auto-host.h".
5412         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
5413         * config/ia64/crtbegin.asm: Similarly.
5414         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
5415         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
5416
5417         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
5418         * configure.in: Use it if --enable-initfini-array not specified.
5419         * doc/install.texi (Configuration): Document --enable-initfini-array.
5420         * configure, config.in: Rebuild.
5421
5422 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
5423
5424         * config/arm/arm-protos.h (arm_get_frame_size)
5425         (thumb_get_frame_size): New prototypes.
5426         * config/arm/arm.c (arm_get_frame_size)
5427         (thumb_get_frame_size): New functions.
5428         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
5429         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
5430         arm_get_frame_size.
5431         (thumb_expand_prologue, thumb_expand_epilogue): Use
5432         thumb_get_frame_size.
5433         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
5434         (machine_function): Add frame_size member.
5435         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
5436
5437 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5438
5439         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
5440         Adjust code to use portable unsigned bit manipulation.
5441         (insn_flags, tune_flags): Change type to unsigned.
5442         (struct processors): Make flags unsigned long.
5443         (arm_override_options): Change type of count and current_bit_count
5444         to unsigned.
5445
5446 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5447
5448         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
5449
5450 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
5451
5452         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
5453
5454 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
5455
5456         * reg-stack.c (compensate_edge): Fix sanity check.
5457
5458 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
5459
5460         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
5461         crt2.o.  Rearrange t-darwin makefiles.
5462         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
5463         * unwind-dw2-fde-darwin.c: New.
5464         * unwind-dw2-fde-glibc.c: Correct comment.
5465         * unwind-dw2-fde.c (__register_frame_info_bases)
5466         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
5467         (classify_object_over_fdes): Use last_fde.
5468         (add_fdes): Likewise.
5469         (linear_search_fdes): Likewise.
5470         * unwind-dw2-fde.h (struct object)
5471         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
5472         (last_fde): New.
5473         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
5474         (ENDFILE_SPEC): No crtend.o.
5475         * config/t-darwin: New.
5476         * config/i386/t-darwin: Delete.
5477         * config/darwin-crt2.c: New.
5478         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
5479         or config/t-darwin.
5480
5481 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
5482
5483         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
5484         MASK_MS_BITFIELD_LAYOUT
5485         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
5486         MS bitfields for Objective-C.
5487         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
5488         defines.
5489
5490         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
5491         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
5492         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
5493
5494         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
5495         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
5496         (TARGET_SWITCHES): Add above mask.
5497
5498         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
5499         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
5500         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
5501         flags for interix.
5502
5503 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
5504
5505         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
5506         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
5507         assembler.
5508         * config/mips/mips.md (tablejump_internal3): Output .cpadd
5509         before jump on ABI_N32 too.
5510         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
5511         length to match.
5512
5513 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
5514
5515         * i386.md (negsf splitter): Accept memory operand in second register.
5516         (abssf/absdf splitters): Simplify
5517         (sse_loadss, sse_loadsd): Turn into expander.
5518
5519 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
5520
5521         PR target/8480
5522         * config/rs6000/rs6000.md (movdi_internal64): Discourage
5523         FPR to FPR moves.
5524
5525 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
5526
5527         * doc/contrib.texi: Merge in the list from the Java web pages.
5528
5529 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
5530
5531         * config/sparc/freebsd: Fix typo.
5532
5533 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5534
5535         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
5536
5537 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
5538
5539         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
5540         non-SImode addresses.
5541
5542 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
5543
5544         * i386.md (float_truncate SSE splitter): Ensure that operand is not
5545         stack register.
5546         (float SSE splitters): Reorder conditional.
5547
5548 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
5549
5550         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
5551
5552 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
5553
5554         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
5555         (STARTFILE_SPEC): Remove p and pg options.
5556
5557 2002-11-05  Andrew Haley  <aph@redhat.com>
5558
5559         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
5560         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
5561
5562 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
5563
5564         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
5565         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
5566
5567 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
5568
5569         * gthr-vxworks.h: Rewritten from scratch.
5570         * config/vxlib.c: New file.
5571         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
5572         * config/rs6000/t-vxworks: Add config/vxlib.c to
5573         LIB2FUNCS_EXTRA here too, because of clash with
5574         config/rs6000/t-ppccomm.
5575
5576 2002-11-04  Dale Johannesen  <dalej@apple.com>
5577
5578         * doloop.c (doloop_modify_runtime):  Fix loop count computation
5579         for unrolled loops.
5580         * loop.c (loop_invariant_p):  Support calling from unroller.
5581
5582 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
5583
5584         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
5585         for comparison.
5586
5587 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
5588
5589         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
5590
5591         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
5592         (CLASS_CANNOT_CHANGE_MODE): Remove.
5593         (CANNOT_CHANGE_MODE_CLASS): New.
5594
5595         * config/alpha/alpha.h: Same.
5596
5597         * config/ia64/ia64.h: Same.
5598
5599         * config/mips/mips.h: Same.
5600
5601         * config/s390/s390.h: Same.
5602
5603         * config/sh/sh.h: Same.
5604
5605         * config/pa/pa64-regs.h: Same.
5606
5607         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
5608
5609         * config/sh/sh.c (sh_cannot_change_mode_class): New.
5610
5611         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
5612         prototype.
5613
5614         * config/mips/mips.c (mips_cannot_change_mode_class): New.
5615
5616         * doc/tm.texi (Register Classes): Remove
5617         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
5618         Document CANNOT_CHANGE_MODE_CLASS.
5619
5620         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
5621         (push_reload): Same.
5622
5623         * simplify-rtx.c (simplify_subreg): Same.
5624
5625         * reload1.c (choose_reload_regs): Same.
5626
5627         * recog.c (register_operand): Same.
5628
5629         * regrename.c (mode_change_ok): Change to use new
5630         CANNOT_CHANGE_MODE_CLASS infrastructure.
5631
5632         * regclass.c (cannot_change_mode_set_regs): New.
5633         Declare subregs_of_mode.
5634         (regclass): Use subregs_of_mode.
5635         Remove references to reg_changes_mode.
5636         (init_reg_sets_1): Remove class_can_change_mode and
5637         reg_changes_mode code.
5638         (invalid_mode_change_p): New.
5639         (dump_regclass): Use invalid_mode_change_p instead of
5640         class_can_change_mode.
5641         (regclass): Same.
5642         (record_operand_costs): Do not set reg_changes_mode.
5643
5644         * local-alloc.c (struct qty): Remove changes_mode field.
5645         (alloc_qty): Remove changes_mode initialization.
5646         (update_qty_class): Remove set of changes_mode.
5647         (find_free_reg): Use subregs_of_mode.
5648
5649         * global.c (find_reg): Use subregs_of_mode info.
5650
5651         * rtl.h (cannot_change_mode_set_regs): New prototype.
5652         (invalid_mode_change_p): Same.
5653         (REG_CANNOT_CHANGE_MODE_P): New macro.
5654
5655         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
5656         REG_CHANGES_MODE.
5657         (life_analysis): Clear subregs_of_mode.
5658
5659         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
5660         Remove use of CLASS_CANNOT_CHANGE_MODE.
5661         (simplify_set): Same.
5662         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
5663         REG_CHANGES_MODE.
5664
5665         * regs.h: Add extern for subregs_of_mode;
5666         Include hard-reg-set and basic-block.
5667         (REG_CHANGES_MODE): Delete.
5668
5669 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5670
5671         * real.c (real_sqrt): New function to calculate square roots.
5672         * real.h (real_sqrt): Add function prototype.
5673         * builtins.c (fold_builtin): Fold sqrt of constant argument.
5674         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
5675         of constant argument.
5676
5677 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5678
5679         * jump.c (never_reached_warning): Don't set contains_insn until the
5680         first line note is seen.
5681
5682 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
5683
5684         * config/rs6000/rs6000.md (movti_string): Use string instructions.
5685
5686 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5687
5688         PR c/7128
5689         * c-typeck.c (c_expand_asm_operands): Defend against
5690         error_mark_nodes in the output argument to avoid ICE.
5691
5692 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
5693
5694         PR middle-end/8408
5695         * genrecog.c (preds): Handle ADDRESSOF.
5696         (validate_pattern): Mark it as an lvalue.
5697
5698 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
5699
5700         * config/rs6000/rs6000.c (rs6000_override_options): Use string
5701         instructions when optimizing for size.
5702
5703 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
5704
5705         * config/h8300/h8300.h: Fix comment typos.
5706         * config/h8300/h8300.md: Likewise.
5707         * config/h8300/lib1funcs.asm: Likewise.
5708
5709 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5710
5711         Revert this change:
5712
5713         *doc/install.texi (Installing GCC: Configuration): Clarify
5714         the only supported ways to configure gcc.
5715
5716 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5717
5718         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
5719         instead of 'O' for the constraint for the second operand.
5720
5721 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
5722
5723         PR c++/8391
5724         * toplev.c (rest_of_compilation): Do not refuse to output code for
5725         an inline function in a local class.
5726
5727 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
5728
5729         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
5730         (TRANSFER_FROM_TRAMPOLINE): Reformat.
5731         Add comment.
5732
5733 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5734
5735         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
5736
5737 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
5738
5739         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
5740
5741 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
5742
5743         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
5744         (MASK_INLINE_DIV_THR): Remove.
5745         (TARGET_INLINE_DIV_LAT): Remove.
5746         (TARGET_INLINE_DIV_THR): Remove.
5747         (TARGET_INLINE_DIV): Remove.
5748         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
5749         (MASK_INLINE_FLOAT_DIV_THR): New macro.
5750         (MASK_INLINE_INT_DIV_LAT): New macro.
5751         (MASK_INLINE_INT_DIV_THR): New macro.
5752         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
5753         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
5754         (TARGET_INLINE_INT_DIV_LAT): New macro.
5755         (TARGET_INLINE_INT_DIV_THR): New macro.
5756         (TARGET_INLINE_FLOAT_DIV): New macro.
5757         (TARGET_INLINE_INT_DIV): New macro.
5758         * config/ia64/ia64.md (divsi3): Change to use new macros.
5759         (modsi3): Ditto.
5760         (udivsi3): Ditto.
5761         (umodsi3): Ditto.
5762         (divsi3_internal): Ditto.
5763         (divdi3): Ditto.
5764         (moddi3): Ditto.
5765         (udivdi3): Ditto.
5766         (umoddi3): Ditto.
5767         (divdi3_internal_lat): Ditto.
5768         (divdi3_internal_thr): Ditto.
5769         (divsf3): Ditto.
5770         (divsf3_internal_lat): Ditto.
5771         (divsf3_internal_thr): Ditto.
5772         (divdf3): Ditto.
5773         (divdf3_internal_lat): Ditto.
5774         (divdf3_internal_thr): Ditto.
5775         (divtf3): Ditto.
5776         (divtf3_internal_lat): Ditto.
5777         (divtf3_internal_thr): Ditto.
5778         * config/ia64/ia64.c (ia64_override_options): Change
5779         to check new macros for conflicts in settings.
5780         * doc/invoke.texi (-minline-divide-min-latency): Remove.
5781         (-minline-divide-max-throughput): Remove.
5782         (-minline-float-divide-min-latency): New.
5783         (-minline-float-divide-max-throughput): New.
5784         (-minline-int-divide-min-latency): New.
5785         (-minline-int-divide-max-throughput): New.
5786
5787 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
5788
5789         PR target/7856
5790         * arm.c (use_return_insn): Don't use a return insn if there are
5791         saved integer regs, but LR is not one of them.
5792
5793 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
5794
5795         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
5796         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
5797
5798 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
5799
5800         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
5801         (movps, movpd splitters): Use canonical form.
5802         (movv2di): Fix merge problem.
5803
5804 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
5805
5806         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5807
5808 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
5809
5810         PR optimization/6162
5811         * doc/md.texi: Document restriction on commutative operand
5812         specification.
5813
5814 2002-10-31  Eric Christopher  <echristo@redhat.com>
5815
5816         * explow.c (convert_memory_address): Use shallow_copy_rtx.
5817
5818 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5819
5820         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
5821
5822 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5823
5824         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
5825
5826 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5827
5828         * config/rs6000/darwin.h:  Correct formatting in previous.
5829
5830 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5831
5832         * config/rs6000/darwin.h:  Enable -falign-xxx options.
5833
5834 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
5835
5836         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
5837         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
5838         * i386.c (optimization_options): Set flag_omit_frame_pointer,
5839         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
5840         Do not clear -momit-leaf-frame-pointer when profiling.
5841         (ix86_frame_pointer_required): Frame pointer is always required when
5842         profiling.
5843
5844 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
5845
5846         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5847
5848 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
5849
5850         * sh.h (binary_logical_operator): Declare.
5851         * sh.c (binary_logical_operator): New function.
5852         * sh.md (xordi3+1): New combiner splitter pattern.
5853
5854 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
5855
5856         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
5857         __enable_execute_stack function.
5858
5859 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
5860
5861         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
5862         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
5863         * unwind-sjlj.c (fc_key_dtor): Delete.
5864         (fc_key_init): Adjust __gthread_key_create call to match.
5865
5866 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
5867
5868         * c-common.c: Add GTY to vector_type_node_list.
5869
5870 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
5871
5872         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
5873         * pa-protos.h (attr_length_millicode_call, attr_length_call,
5874         pa_init_machine_status): Declare new global functions.
5875         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
5876         implement new functions.
5877         (attr_length_millicode_call, attr_length_call): Implement.
5878         (total_code_bytes): Change type to long.
5879         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
5880         Reset counter if flag_function_sections.
5881         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
5882         (output_cbranch): Move call to gen_label_rtx.
5883         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
5884         delay slot in all variants, shorten pc-relative calls.
5885         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
5886         slot usage and exposure, various new call variants, and shortened
5887         sequences for some variants on TARGET_PA_20.
5888         Miscellaneous format changes.
5889         * pa.h (total_code_bytes): Change type to long.
5890         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
5891         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
5892         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
5893         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
5894         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
5895         stores on TARGET_ELF32.
5896         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
5897         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
5898         canonicalize_funcptr_for_compare expanders): Calculate attribute length
5899         attr_length_millicode_call().
5900         (call_internal_symref, call_value_internal_symref): Clobber register 1.
5901         Calculate attribute length using attr_length_call().
5902         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
5903         to delay slot.
5904         (sibcall, sibcall_value): Rewrite.
5905         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
5906         register 1.  Use attr_length_call().
5907         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
5908         New patterns.
5909         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
5910         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
5911         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
5912         * doc/invoke.texi (mlong-calls): Document.
5913
5914 2002-10-30  Roger Sayle  <roger@eyesopen.com>
5915
5916         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
5917         handling of cases where one or both branches of the conditional
5918         have void type, i.e. throw an exception or don't return.
5919         (fold): Only apply (and undo) type conversion to the non-void
5920         branches of a COND_EXPR.
5921
5922 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
5923
5924         PR c++/8333
5925         * varasm.c (asm_output_aligned_bss): Do not call
5926         ASM_GLOBALIZE_LABEL.
5927
5928 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
5929             Torbjorn Granlund  <tege@swox.com>
5930
5931         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
5932         for addressibility.
5933         (load_toc_v4_PIC_1b): Same.
5934
5935 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
5936
5937         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
5938         Truncate the addresses for H8/300 using HImode.
5939
5940 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
5941
5942         * i386.md (negdf splitter): Fix construction of the constant.
5943
5944 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
5945
5946         * i386.md (negsf, negdf): Reorganize to use vector modes
5947         for SSE variants.
5948         (abssf, absdf): Use force_reg.
5949         (movv4sf, movv2df): New splitters.
5950         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
5951         * i386.c (zero_extended_scalar_load_operand
5952
5953         * i386-protos.h (ix86_expand_call): Update prototype.
5954         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
5955         (ix86_expand_call): Use r11 for indirect sibcalls.
5956         * i386.md (call, call_value, untyped_call, call_value_pop):
5957         update x86_expand_call call.
5958         (sibcall, sibcall_value): new patterns
5959         (call_rex64, call_value_rex64): Do not accept sibcalls.
5960         (sibcall_rex64, sibcall_value_rex64,
5961         sibcall_rex64_v, sibcall_value_rex64_v): New.
5962
5963 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
5964
5965         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
5966         before final pass.
5967
5968 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
5969
5970         * toplev.c (rest_of_type_compilation): Return early in case of
5971         errors.
5972         (check_global_declarations): Don't call debug_hooks->global_decl
5973         in case of errors.
5974
5975 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
5976
5977         * doc/c-tree.texi (Tree overview): Fix typos.
5978
5979 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
5980
5981         * Makefile.in (gnucompare*):  Only record bad comparisons
5982         if there really was a bad comparison.
5983
5984 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
5985
5986         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
5987         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
5988         * md.texi (machine dependent constraints): Document 'C'
5989
5990         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
5991
5992         * i386.c (ix86_expand_vector_move): Fix.
5993
5994         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
5995         * i386.md (sse2_maskmovdqu_rex64): New pattern
5996
5997         PR target/8322
5998         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
5999         (ix86_init_mmx_sse_builtins): Fix type.
6000
6001 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
6002
6003         * gthr-posix.h: Include <unistd.h> for feature tests.
6004         (sched_get_priority_max, sched_get_priority_min)
6005         (pthread_getschedparam, pthread_setschedparam): Only use
6006         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
6007         (__gthread_objc_thread_set_priority): Don't treat all nonzero
6008         returns from sched_get_priority_max and sched_get_priority_min
6009         as an error.
6010
6011 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6012
6013         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
6014         MASK_QUICKCALL.
6015
6016 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6017
6018         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
6019         (h8300_tiny_constant_address_p): Likewise.
6020         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
6021         h8300_eightbit_constant_address_p.
6022         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
6023         * config/h8300/h8300-protos.h: Add the prototypes for the two
6024         new functions.
6025
6026 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6027
6028         * reload1.c (update_eliminables): Unconditionally check if
6029         frame_pointer_needed has changed.
6030
6031 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6032
6033         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6034         before final pass.
6035
6036 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
6037
6038         PR optimization/8334
6039         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
6040         check for zero operands explicitly.
6041
6042 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
6043
6044         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
6045         memory after adjusting to BLKmode.
6046
6047 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6048
6049         * config/h8300/h8300.h (MASK_*): New.
6050         (TARGET_*): Use MASK_*.
6051
6052 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
6053
6054         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
6055         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
6056         config/rs6000/vxworks.h: New files.
6057         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
6058
6059         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
6060         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
6061         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
6062         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
6063         sparc-*-vxsim*): Delete stanzas.
6064         * gthr-vxworks.h: Rip out all substantive code and just
6065         include gthr-single.h.
6066
6067         * config/alpha/vxworks.h, config/arm/vxarm.h,
6068         config/i386/vxi386.h, config/i960/t-vxworks960,
6069         config/i960/vx960-coff.h, config/i960/vx960.h,
6070         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
6071         config/mips/vxworks.h, config/rs6000/vxppc.h,
6072         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
6073         config/sparc/vxsim.h, config/sparc/vxsparc.h,
6074         config/sparc/vxsparc64.h: Delete files.
6075
6076 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
6077
6078         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
6079         tm_defines if pthreads are enabled.
6080         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
6081         if NETBSD_ENABLE_PTHREADS is defined.
6082
6083 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
6084
6085         * ChangeLog.1: Fix typos.
6086         * cse.c: Fix a comment typo.
6087         * reload1.c: Likewise.
6088
6089 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
6090
6091         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
6092         * fixinc/tests/base/_G_config.h: New file.
6093
6094 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6095
6096         * combine.c: Fix comment formatting.
6097         * loop.c: Likewise.
6098         * real.c: Likewise.
6099         * regclass.c: Likewise.
6100         * regmove.c: Likewise.
6101         * regrename.c: Likewise.
6102         * reg-stack.c: Likewise.
6103         * reload1.c: Likewise.
6104         * reload.c: Likewise.
6105         * reload.h: Likewise.
6106         * unroll.c: Likewise.
6107
6108 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6109
6110         * reload1.c (reload): Fix a comment typo.
6111
6112 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
6113
6114         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
6115
6116 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6117
6118         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
6119         * dwarf2out.c: Include hashtab.h.
6120         (is_main_source): New static variable.
6121         (attr_checksum, die_checksum): Modified to handle die references.
6122         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
6123         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
6124         record_comdat_symbol_number): New static functions.
6125         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
6126         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
6127         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
6128         declarations added.
6129
6130 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
6131
6132         * config/h8300/h8300.c (initial_offset): Change to
6133         h8300_initial_elimination_offset.
6134         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
6135         h8300_initial_elimination_offset.
6136         * config/h8300/h8300-protos.h: Update the prototype.
6137
6138 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
6139
6140         * config/mmix/mmix.h (LIBCALL_VALUE): Use
6141         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
6142         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
6143         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
6144         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
6145         and RTX_CODE.
6146         (mmix_function_value_regno_p): Declare.
6147
6148         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
6149         invalid for floating point mode result, with fix.
6150
6151 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
6152
6153         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
6154         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
6155         (stage1_build): Likewise.
6156
6157 2002-10-25  Mike Stump  <mrs@apple.com>
6158
6159         Fixes gcc.dg/warn-1.c.
6160         * c-typeck.c (warn_for_assignment): Don't print argument number,
6161         if zero.
6162
6163 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
6164
6165         * toplev.c (dump_file_index): Add DFI_ce3.
6166         (dump_file_info): Likewise.
6167         (rest_of_compilation): Run first ifcvt pass before tracer.
6168
6169 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
6170
6171         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
6172
6173 2002-10-25  Richard Henderson  <rth@redhat.com>
6174
6175         * real.c (real_to_decimal): If the >1 tens reduction loop results
6176         in a negative exponent, fall into the <1 pten computation.
6177
6178 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
6179
6180         PR middle-end/6994
6181         * c-objc-common.c (inline_forbidden_p): Can not inline
6182         functions containing structures or unions containing VLAs.
6183         * tree-inline.c (walk_tree): For all class 't' nodes, walk
6184         TYPE_SIZE and TYPE_SIZE_UNIT.
6185         (copy_tree_r): Copy types if they are variably modified.
6186
6187 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6188
6189         * config/s390/s390.md: Remove old-style peepholes.
6190
6191 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6192
6193         * config/s390/s390.c (s390_decompose_address): Do not range check the
6194         displacement if base or index is the argument pointer register.
6195
6196 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
6197
6198         PR other/3337
6199         PR bootstrap/6763
6200         PR bootstrap/8122
6201         * fixinc/inclhack.def (libc1_G_va_list): New fix.
6202         * fixinc/fixincl.x: Regenerate.
6203         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
6204         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
6205         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
6206         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
6207         * config.in, configure: Regenerate.
6208
6209 2002-10-24  Igor Shevlyakov <igor@microunity.com>
6210
6211         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
6212
6213 2002-10-24  Richard Henderson  <rth@redhat.com>
6214
6215         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
6216
6217 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6218
6219         * config/h8300/h8300.c (initial_offset): Simplify by using
6220         round_frame_size.
6221
6222 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
6223
6224         * doc/install.texi (avr): Update required binutils version.
6225
6226 2002-10-24  Theodore A. Roth  <troth@openavr.org>
6227
6228         * doc/install.texi: Point avr users at more up-to-date information.
6229
6230 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6231
6232         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
6233         to pull operands out of the literal pool where possible.
6234
6235 2002-10-24  Denis Chertykov  <denisc@overta.ru>
6236
6237         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
6238
6239 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
6240
6241         * expr.c (convert_move): If unsignedp is less then zero there
6242         is no equivalent code.
6243
6244 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
6245
6246         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
6247
6248 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6249
6250         * config/s390/s390.h: Rework comments; re-sort target macro definitions
6251         according to the sequence they are defined in the manual.
6252         (POINTER_BOUNDARY): Remove.
6253
6254 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6255
6256         * config/h8300/h8300.c (round_frame_size): Replace 8 with
6257         BITS_PER_UNIT.
6258
6259 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6260
6261         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
6262         64-bit safe.
6263         (TINY_CONSTANT_ADDRESS_P): Likewise.
6264
6265 2002-10-24  Richard Henderson  <rth@redhat.com>
6266
6267         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6268         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
6269         vcall offset.
6270
6271 2002-10-24  Richard Henderson  <rth@redhat.com>
6272
6273         PR opt/7944
6274         * reload.c (find_reloads_toplev): Mode of X is not important
6275         when simplifying subregs of constants.
6276
6277 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6278
6279         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
6280         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
6281         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
6282         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
6283         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
6284
6285 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6286
6287         * optabs.c (expand_binop): Don't reuse the shift target in the
6288         middle of shift sequences.
6289
6290 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
6291
6292         * i386.md (abs splitters): Do not produce nested subregs.
6293
6294 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
6295
6296         * i386.md (movti_rex64): Fix constraints.
6297
6298 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
6299
6300         * i386.md (abssf,absdf): Use vector operands for SSE
6301         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
6302         vector operand.
6303
6304 2002-10-23  Ziemowit Laski <zlaski@apple.com>
6305
6306         * objc/objc-act.c (get_static_reference): Remove unneeded
6307         TYPE_BINFO initialization.
6308         (get_object-reference): Likewise.
6309         (build_constructor): Tighten precondition check.
6310         (finish_message_expr): Likewise.
6311
6312 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
6313
6314         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
6315         after CONST test.
6316
6317 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
6318
6319         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
6320         in HFAs.
6321
6322 2002-10-23  Richard Henderson  <rth@redhat.com>
6323
6324         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6325         (alpha_output_mi_thunk_osf): Handle vcall_offset.
6326
6327 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
6328
6329         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
6330         var_mod_type_p.
6331         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
6332         hook_tree_bool_false.
6333
6334         * tree.c (variably_modified_type_p): Moved here from
6335         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
6336         language-specific cases.  Due to this, must weaken some 'if
6337         and only if' checks to merely 'if'.
6338         * tree.h: Prototype variably_modified_type_p.
6339
6340         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
6341
6342 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6343
6344         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
6345         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
6346
6347         * config/s390/s390-protos.h (fp_operand): Remove.
6348         * config/s390/s390.c (fp_operand): Remove.
6349         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
6350         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
6351         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
6352         (movdi_31, movdf_31 splitters): Likewise.
6353
6354         * config/s390/s390.h (IEEE_FLOAT): Remove.
6355         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
6356         (INT_REGNO_P): Rename to ...
6357         (GENERAL_REGNO_P): ... this.
6358         (FLOAT_REGNO_P): Rename to ...
6359         (FP_REGNO_P): ... this.
6360         (ADDR_REGNO_P): New macro.
6361         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
6362         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
6363         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
6364         (HARD_REGNO_NREGS): Adapt to macro renaming.
6365         (HARD_REGNO_MODE_OK): Likewise.
6366
6367 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
6368             Geoff Keating  <geoffk@apple.com>
6369
6370         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
6371         (rs6000_memory_move_cost): New function.
6372         * config/rs6000/rs6000-protos.h: Declare them.
6373         * config/rs6000/rs6000.h: Use them.
6374
6375 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6376
6377         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
6378         inlining it into other libgcc2 routines.
6379         (__udivmoddi4): Likewise.
6380
6381 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
6382
6383         * doc/sourcebuild.texi (Test Suites): Improve.
6384
6385 2002-10-22  Stan Shebs  <shebs@apple.com>
6386
6387         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
6388         case for Darwin.
6389
6390 2002-10-22  Jim Wilson  <wilson@redhat.com>
6391
6392         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
6393
6394 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
6395
6396         PR other/8289
6397         * xmmintrin.h: Add const to the argument of loads.
6398
6399         * i386.md (pushv2di): New pattern.
6400         PR target/6890
6401         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
6402
6403 2002-10-22  Richard Henderson  <rth@redhat.com>
6404
6405         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
6406         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
6407         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
6408         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6409         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6410         (TARGET_ASM_OUT): Update.
6411         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
6412         (hook_bool_tree_hwi_hwi_tree_true): New.
6413         (default_can_output_mi_thunk_no_vcall): New.
6414         * hooks.h: Declare them.
6415         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
6416
6417         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6418         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
6419         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
6420         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
6421         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
6422         config/stormy16/stormy16.c: Similarly.
6423
6424         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
6425         Handle 64-bit properly.  Streamline.
6426         (x86_output_mi_vcall_thunk): Remove.
6427         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
6428         (x86_can_output_mi_thunk): New.
6429         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6430         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6431         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
6432
6433         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
6434         output_mi_thunk; make static; always use function_section.
6435         (TARGET_ASM_OUTPUT_MI_THUNK): New.
6436         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6437         (rs6000_ra_ever_killed): Test no_new_pseudos not
6438         targetm.asm_out.output_mi_thunk in conjunction with thunks.
6439         * config/rs6000/rs6000-protos.h: Update.
6440         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6441         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
6442         xcoffout_declare_function when using rs6000_output_mi_thunk.
6443
6444         * config/s390/s390.c (s390_output_mi_thunk): Rename from
6445         s390_output_mi_vcall_thunk.
6446         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6447         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6448
6449         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
6450         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6451         * config/vax/vax-protos.h: Update.
6452         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
6453
6454 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
6455
6456         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
6457         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
6458         * i386.md (movti_internal): Use 'C'
6459
6460         * xmmintrin.h (_mm_cmplt_epi*): New.
6461
6462 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6463
6464         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
6465         ("*movdf_64"): Likewise.
6466         ("*lshrdi3_64"): Likewise.
6467         ("blockage"): Add length attribute.
6468         ("lit"): Likewise.
6469
6470 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
6471
6472         * i386.md: FIx typo.
6473         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
6474         (sse2_umulv2siv2di3): Fix predicate.
6475         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
6476         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
6477         * xmmintrin.h (_mm_mul_epu16): Rename to...
6478         (_mm_mul_epu32): This one.
6479         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
6480
6481         (contains_128bit_aligned_vector_p): Undo accidental checkin.
6482
6483 2002-10-22  Eric Christopher  <echristo@redhat.com>
6484
6485         * config/sparc/sparc.h: Add #error.
6486
6487 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6488
6489         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
6490         [s390x-*-linux*]: Likewise.
6491         * config/s390/t-linux: Remove.
6492         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
6493
6494 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
6495
6496         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
6497         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
6498         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
6499         * i386.md (mmx_punpck?dq): Simplify.
6500         (sse2_pubpcklqdq): Fix.
6501         (sse2_pubpckhqdq): New.
6502         * xmmintrin.h (_mm_unpackhi_epi32): New.
6503
6504         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
6505         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
6506
6507 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
6508
6509         PR c++/7209
6510         * fold_const.c (fold_binary_op_with_conditional_arg): Always
6511         build compound_expr if we used save_expr.
6512
6513 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
6514
6515         * output.h (SECTION_NOTYPE): Define.
6516         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
6517         init array sections.
6518         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
6519         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
6520         merge TLS support.
6521
6522 2002-10-21  Richard Henderson  <rth@redhat.com>
6523
6524         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
6525         the function type, not the return type.
6526
6527 2002-10-21  Richard Henderson  <rth@redhat.com>
6528
6529         * real.c (sticky_rshift_significand): Return inexact, don't
6530         or it in immediately.
6531         (sub_significands): Accept incomming carry.
6532         (div_significands, rtd_divmod): Update for sub_significands change.
6533         (round_for_format): Update for sticky_rshift_significand change.
6534         (do_add): Don't involve the inexact bit in addition, do give the
6535         inexact bit as the subtraction carry-in.
6536         (encode_internal, decode_internal, real_internal_format): New.
6537         * real.h (real_internal_format): Declare.
6538
6539 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6540
6541         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
6542         don't define sdiv_qrnnd.
6543
6544 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6545
6546         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
6547         using IN_RANGE.
6548         (TINY_CONSTANT_ADDRESS_P): Likewise.
6549
6550 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
6551
6552         * i386.c (builtin_description): Add punpcklqdq and movdq2q
6553         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
6554         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
6555         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
6556         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
6557         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
6558         __builtin_ia32_setzero128.
6559         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
6560         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
6561         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
6562         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
6563         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
6564         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
6565         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
6566         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
6567         sse2_movq): New patterns.
6568         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
6569         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
6570         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
6571         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
6572         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
6573         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
6574         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
6575         (_mm_insert_epi16): Fix.
6576
6577 2002-10-21  Dale Johannesen  <dalej@apple.com>
6578
6579         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
6580             unsafe math reversals correctly for RTL generation.
6581           (output_cbranch):  Replace rs6000_reverse_condition call
6582             by its former definition.
6583
6584 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
6585
6586         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
6587         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
6588         from constant pool or LABEL_REFs as sign extended if allow_rip.
6589         Change all +-1GB limits to +-16MB.
6590         (x86_64_general_operand, x86_64_szext_general_operand,
6591         x86_64_nonmemory_operand, x86_64_movabs_operand,
6592         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
6593         legitimate_address_p, ix86_expand_int_movcc): Update callers.
6594         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
6595         in CM_SMALL_PIC model.
6596         (legitimate_pic_address_disp_p): Don't check offsets before
6597         calling local_symbolic_operand.
6598         (legitimize_pic_address): Force offsets bigger than +-16MB into
6599         register.
6600         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
6601         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
6602         prototype.
6603
6604         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
6605         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
6606         * configure: Rebuilt.
6607         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
6608         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
6609         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
6610         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
6611         -fpic.
6612         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
6613         non-pic code if TARGET_64BIT.
6614         (legitimize_address): Generate 64-bit TLS sequences.
6615         (output_pic_addr_const): Support x86-64 TLS operators.
6616         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
6617         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
6618         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
6619         (output_addr_const_extra): Support x86-64 TLS operators.
6620         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
6621         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
6622         unconditionally.
6623         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
6624         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
6625         (*tls_global_dynamic_sun): Renamed to...
6626         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
6627         (tls_global_dynamic): Renamed to...
6628         (tls_global_dynamic_32): ... this.
6629         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
6630         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
6631         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
6632         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
6633         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
6634         (tls_local_dynamic_base_dynamic): Renamed to...
6635         (tls_local_dynamic_base_dynamic_32): ... this.
6636         (tls_local_dynamic_base_dynamic_64,
6637         *tls_local_dynamic_base_dynamic_64): New.
6638         (*tls_local_dynamic_once): Renamed to...
6639         (*tls_local_dynamic_32_once): ... this.
6640
6641 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6642
6643         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
6644         __divdi3, __umoddi3, or __moddi3.
6645
6646 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6647
6648         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
6649         instead of just opt_index as switch expression.
6650
6651         * calls.c (store_one_arg): Change type of 'excess_align'
6652         to unsigned int.
6653
6654         * profile.c (output_gcov_string): Change type of 'temp'
6655         to size_t.
6656
6657 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6658
6659         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
6660         (__fixunssfdi, __fixsfdi): Likewise.
6661         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
6662         (s390_single_qi): Likewise.
6663         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
6664         unsigned comparison warning.
6665         (s390_return_addr_rtx): New function.
6666         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
6667         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
6668         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
6669
6670 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6671
6672         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
6673         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
6674         (s390_output_mi_thunk): Remove.
6675         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6676
6677 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6678
6679         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
6680
6681 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
6682
6683         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
6684         inverted test in the conditional determining the possibility
6685         of sibcalls in PIC mode.
6686
6687 2002-10-20  Richard Henderson  <rth@redhat.com>
6688
6689         * target.h (struct gcc_target): Line wrap.
6690
6691         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
6692         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
6693         * config/alpha/alpha.h: ... not here.
6694         * config/alpha/alpha-protos.h: Update.
6695
6696         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
6697         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
6698         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6699         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
6700         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
6701         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
6702         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
6703         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6704         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
6705         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
6706         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
6707         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
6708         config/sparc/sparc.c, config/sparc/sparc.h,
6709         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
6710         config/stormy16/stormy16.h: Similarly.
6711
6712         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
6713         selection logic from call patterns.
6714
6715 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
6716
6717         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
6718
6719 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6720
6721         PR other/8202
6722         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
6723         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
6724         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
6725         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
6726
6727 2002-10-20  Roger Sayle  <roger@eyesopen.com>
6728
6729         PR c/761
6730         * toplev.c (flag_unsafe_profile_arcs): Remove.
6731         (flag_bounded_pointers): Remove.
6732         (flag_bounds_check): Correct comments.
6733         (lang_independent_options): Remove -funsafe-profile-arcs and
6734         -fbounded-pointers.  Correct -fbounds-check comments.
6735
6736         * flags.h: Correct flag_schedule_interblock comments.
6737         (flag_bounded_pointers): Remove prototype.
6738         (flag_bounds_check): Correct comments.
6739
6740         * c-opts.c (c_common_init_options): No need to mark
6741         flag_bounds_check as unspecified.
6742         (c_common_post_options): And no need to set it from
6743         flag_bounded_pointers if its still unspecified.
6744
6745         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
6746         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
6747         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
6748         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
6749
6750 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
6751         Angela Marie Thomas  <angela@releasedominatrix.com>
6752         Brendan Kehoe  <brendan@zen.org>
6753         Nick Clifton  <nickc@redhat.com>
6754         Andrew Haley  <aph@redhat.com>
6755
6756         * configure.in (--with-sysroot): New.  Don't inhibit libc if
6757         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
6758         and CROSS_SYSTEM_HEADER_DIR.
6759         * configure: Rebuilt.
6760         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
6761         (TARGET_SYSTEM_ROOT): New.
6762         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
6763         CROSS_SYSTEM_HEADER_DIR.
6764         (install-gcc-tooldir): New target.
6765         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
6766         if SYSTEM_HEADER_DIR does not exist and it's not the default
6767         sys-include directory.
6768         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
6769         (install-mkheaders): Likewise.
6770         * gcc.c (target_system_root): New variable.
6771         (add_sysrooted_prefix): New function.
6772         (process_command): Recompute run-time target_system_root from
6773         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
6774         does not exist.
6775         (do_spec_1): Process 'R' spec.
6776         (main): Add md_exec_prefix to exec_prefixes regardless of
6777         startfile_prefix_spec.  Use add_sysrooted_prefix for
6778         startfile_prefixes, and don't skip the default ones when cross
6779         compiling with sysroot enabled.  Removed unused case of
6780         non-absolute standard_startfile_prefix.
6781         * config/interix.h: Remove the only potential, yet disabled,
6782         occurrence of non-absolute (empty) standard_startfile_prefix.
6783         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
6784         linking.
6785         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
6786         * doc/install.texi (--with-sysroot): Document.
6787         (--with-headers, --with-libs): Deprecate.
6788
6789 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6790             Mark Mitchell  <mark@codesourcery.com>
6791
6792         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
6793         match target.h.
6794         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
6795         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
6796         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
6797         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
6798         x86_output_mi_thunk): Likewise.
6799         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
6800         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
6801         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
6802         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
6803         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
6804         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
6805         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
6806         Likewise.
6807         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
6808
6809         * target.h (gcc_target): Update output_mi_thunk and
6810         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
6811         vcall_index.
6812
6813         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
6814         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6815         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
6816         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
6817         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
6818         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
6819         signature.
6820         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
6821         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6822         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6823         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
6824         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
6825         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6826         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6827         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
6828         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
6829
6830         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
6831         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
6832
6833 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
6834
6835         * real.c (do_add): Fix 0+0 sign corner case.
6836         (do_divide): Fix Inf/0 corner case.
6837
6838 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
6839
6840         * i386.c (classify_argument): Pass MMX arguments in memory
6841         (ix86_expand_builtin): Expand proper address mode for cflush.
6842         * i386.md (movdqa): Fix typo.
6843         (sse2_cflush): Accept DImode addresses.
6844
6845         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
6846         (_mm_max_sd): Fix pasto.
6847         (_mm_storeh_pd, _mm_storel_pd): Fix.
6848
6849         * i386.c (bdesc_comi): Fix to match specification.
6850         (ix86_expand_sse_comi): Emit the comparison properly.
6851         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
6852         Do not use comparison operator.
6853         (vnmaskcmp): Fix template.
6854
6855         * xmmintrin.h (_mm_cvtps_pi16): Fix.
6856
6857 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
6858
6859         * dependence.c : Removed.
6860         * Makefile.in : Remove dependence.o.
6861
6862 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
6863
6864         * mmintrin.h (__m64): typedef it to v2si.
6865         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
6866         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
6867         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
6868         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
6869         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
6870         * xmmintrin.h (_mm_setzero_si64): Likewise.
6871
6872         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
6873         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
6874
6875         PR target/7693
6876         Patch by Shawn Wagner
6877         * mmintrin.h: Replace pi64 by si64.
6878
6879 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
6880
6881         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
6882         Use length of 4 not *.
6883         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
6884         (movdf_softfloat64): Likewise.
6885         (movdi_internal32): Use length of 4 not *.
6886         (movti_power): Same.
6887         (ctrsi, ctrdi): Same.
6888
6889 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
6890
6891         * c-decl.c (start_decl): Point users of the old initialized-
6892         typedef extension at __typeof__.
6893
6894 2002-10-18  Richard Henderson  <rth@redhat.com>
6895
6896         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
6897         (real_to_decimal): Re-implement using the logic from the
6898         gcc 3.2 etoasc.  Comment heavily.
6899         (div_significands): Simplify loop startup and comparison logic.
6900
6901 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
6902
6903         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
6904         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
6905         (TARGET_ASM_OUT): Add them.
6906         * target.h (asm_out): Add output_mi_thunk and
6907         output_mi_vcall_thunk.
6908         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6909         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6910         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
6911         * config/arm/arm.c (arm_output_mi_thunk): Define.
6912         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6913         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6914         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6915         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6916         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6917         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6918         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
6919         prototype.
6920         (x86_output_mi_vcall_thunk): Declare.
6921         * config/i386/i386.c (override_options): Clear
6922         output_mi_vcall_thunk in 64-bit mode.
6923         (ix86_fntype_regparm): New function.
6924         (ix86_return_pops_args): Use it.
6925         (ia32_this_parameter): New function.
6926         (x86_output_mi_vcall_thunk): New function.
6927         (x86_output_mi_thunk): Use it
6928         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
6929         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
6930         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
6931         * config/i960/i960.c (i960_output_mi_thunk): New function.
6932         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
6933         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
6934         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
6935         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6936         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6937         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
6938         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6939         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6940         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6941         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6942         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6943         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6944         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6945         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6946         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6947         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6948         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
6949         * config/s390/s390.c (s390_output_mi_thunk): Define.
6950         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6951         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6952         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6953         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6954         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6955         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6956         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
6957         * config/vax/vax.c (vax_output_mi_thunk): Define.
6958         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6959         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6960         * doc/tm.texi: Adjust documentation.
6961
6962 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
6963
6964         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
6965         __enable_execute_stack function.
6966         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
6967         as NETBSD_ENABLE_EXECUTE_STACK.
6968         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6969         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6970         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6971         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6972         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6973
6974 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
6975
6976         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
6977         to __enable_execute_stack with the address of the trampoline
6978         if TRANSFER_FROM_TRAMPOLINE is defined.
6979         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
6980         constant if building libgcc2.
6981
6982 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
6983
6984         * i386.c (pentium4_cost): Fix according to Intel recommendations.
6985         (ix86_memory_move_cost): Fix for 64bit compilation.
6986
6987 2002-10-17  Roger Sayle  <roger@eyesopen.com>
6988
6989         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
6990
6991 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
6992
6993         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
6994         in CTR/LR/MQ.
6995         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
6996         to/from CTR/LR/MQ.
6997         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
6998         (movsf_softfloat): Likewise.
6999
7000 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
7001
7002         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
7003
7004 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
7005
7006         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
7007         tramp, not addr, to pass the trampoline address to
7008         __enable_execute_stack.
7009
7010 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
7011
7012         * mmintrin.h: Guard by __MMX__
7013         * xmmintrin.h: Guard by __SSE__
7014
7015         PR other/8062
7016         * xmmintrin.h (_MM_SHUFFLE2): New macro.
7017         (_mm_load*_?d): New functions.
7018         (_mm_set*_?d): New functions.
7019         (_mm_store*_?d): New functions.
7020
7021 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
7022
7023         Really commit patch announced at Oct 14
7024         PR c/7344
7025         * predict.c (can_predict_insn_p): New function.
7026         (estimate_probability): Avoid unnecesary work.
7027         (process_note_prediction): Likewise.
7028         * toplev.c (rest_of_compilation): Account early branch prediction pass
7029         as TV_BRANCH_PROB.
7030
7031         PR other/8048
7032         Found by Ian Ollmann
7033         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
7034         (_mm_load?_pd): Likewise.
7035         (_mm_store?_pd): Likewise.
7036
7037         PR target/7386
7038         * i386.c (builtin_description):Drop cmpg[te]s[sd].
7039         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
7040         swapped alternative.
7041
7042         PR opt/7630
7043         * reload1.c (reload_inner_reg_of_subreg): New argument output;
7044         (push_reload): Update call.
7045
7046 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
7047
7048         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
7049         if using mips/elf.h or mips/elf64.h.
7050         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
7051         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
7052
7053 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
7054
7055         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
7056         SI.
7057
7058 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
7059
7060         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
7061         (LPREFIX): Likewise.
7062         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
7063         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
7064         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
7065         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
7066         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
7067
7068         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
7069         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
7070         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7071         BSS_SECTION_ASM_OP): Move from linux.h.
7072         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7073         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7074
7075         * config/s390/s390.c (s390_function_profiler): Use
7076         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7077
7078 2002-10-15  Eric Christopher  <echristo@redhat.com>
7079
7080         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
7081         * java/parse.y (obtain_incomplete_type): Make pointer
7082         ptr_mode.
7083
7084 2002-10-15  Richard Henderson  <rth@redhat.com>
7085
7086         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
7087         as arguments.  Bound DIGITS by the available buffer size.
7088         (real_to_hexadecimal): Likewise.
7089         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
7090         (REAL_VALUE_TO_DECIMAL): Remove.
7091         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
7092         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
7093         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
7094         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7095         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
7096         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
7097         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
7098         use real_to_decimal directly, and with the proper arguments.
7099         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
7100
7101 2002-10-15  Jim Wilson  <wilson@redhat.com>
7102
7103         * reload1.c (merge_assigned_reloads): After converting overlapping
7104         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
7105
7106         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
7107
7108 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
7109
7110         * expr.c (do_tablejump): Fix typo in my previous commit.
7111
7112 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
7113
7114         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
7115
7116 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7117
7118         * config/s390/s390.c (s390_split_branches): Add return
7119         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
7120
7121         (find_base_register_in_addr): New function.
7122         (find_base_register_ref): New function.
7123         (replace_base_register_ref): New function.
7124
7125         (struct constant_pool): Add members pool_insn, insns, and anchor.
7126         Remove member last_insn.
7127         (s390_start_pool): Initialize them.
7128         (s390_end_pool): Emit pool placeholder insn.
7129         (s390_add_pool_insn): New function.
7130         (s390_find_pool): Use insns bitmap instead of addresses.
7131         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
7132         Replace unspec 104 by local-pool-relative references.
7133         (s390_output_constant_pool): Output anchor label if required.
7134         (s390_output_symbolic_const): Handle unspec 104 and 105.
7135         (s390_add_pool): Remove, replace by ...
7136         (s390_add_constant, s390_find_constant): ... these new functions.
7137         (s390_add_anchor): New function.
7138
7139         (s390_chunkify_pool): Delete, replace by ...
7140         (s390_chunkify_start, s390_chunkify_finish,
7141         s390_chunkify_cancel): ... these new functions.
7142         (s390_optimize_prolog): Add parameter TEMP_REGNO.
7143         Recompute register live data for special registers.
7144         (s390_fixup_clobbered_return_reg): New function.
7145         (s390_machine_dependent_reorg): Rewrite to use new
7146         s390_chunkify_... routines.
7147
7148         config/s390/s390.md ("reload_base"): Rename to ...
7149         ("reload_base_31"): ... this.
7150         ("reload_base_64"): New insn.
7151         ("reload_base2"): Remove.
7152         ("reload_anchor"): New insn.
7153         ("pool"): New insn.
7154
7155         s390.c (s390_pool_overflow): Remove.
7156         s390.h (s390_pool_overflow): Likewise.
7157         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
7158
7159 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
7160
7161         * sh.md (movv8qi_i+2): Don't split if source is -1.
7162
7163 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
7164
7165         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
7166
7167 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7168
7169         PR opt/7409
7170         * loop.c (loop_regs_scan): Mark registers used for function
7171         argument passing as MAY_NOT_OPTIMIZE.
7172
7173 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7174
7175         * gcov-io.h (gcov_info): Fix type.
7176         * profile.c (create_profiler): Fix type mismatch.
7177
7178 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
7179
7180         * i386.md (movv2di_internal): New pattern.
7181         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
7182         (movv2di): New expander.
7183         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
7184
7185         * i386.c (ix86_expand_timode_binop_builtin): Delete.
7186         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
7187         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
7188         (ix86_expand_builtin): Likewise.
7189         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7190         sse_andti3,
7191         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7192         sse_andnti3,
7193         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
7194         sse_orti3,
7195         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
7196         sse_xorti3): Kill.
7197         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
7198          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
7199         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
7200          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7201         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
7202          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7203
7204         * xmmintrin.h (__m128i): Define as __v2di.
7205
7206         PR c++/6419
7207         (expand_expr): Use DECL_RTL_SET_P.
7208
7209 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7210
7211         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
7212
7213 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7214             Zack Weinberg <zack@codesourcery.com>
7215
7216         * config/i386/i386.c (k6_cost): Correct typo.
7217
7218 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
7219
7220         PR optimization/6631
7221         * alias.c (objects_must_conflict_p): Check honor_readonly when
7222         examining TYPE_READONLY.
7223         * function.c (assign_stack_temp_for_type): Likewise.
7224
7225 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
7226
7227         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
7228         Swap zero extension arguments.
7229         (umaxhi3): Fix instruction class.
7230         PR target/7211
7231         (prefetch): Fix prefetch instructions.
7232         PR target/7238
7233         (pkwb): Fix output constraint.
7234
7235 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
7236
7237         * config/mips/mips.c (print_operand): Increase buffer size for
7238         real numbers.
7239
7240 2002-10-14  Richard Henderson  <rth@redhat.com>
7241
7242         PR opt/8165
7243         * gcse.c (adjust_libcall_notes): Revert last change.
7244         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
7245
7246 2002-10-14  Andrew Haley  <aph@redhat.com>
7247
7248         * tree-inline.c (remap_block): All local class initialization
7249         flags go in the outermost scope.
7250         (expand_call_inline): Call java_inlining_map_static_initializers.
7251         (expand_call_inline): Call java_inlining_merge_static_initializers.
7252         * java/lang.c (merge_init_test_initialization): New.
7253         (java_inlining_merge_static_initializers): New.
7254         (inline_init_test_initialization): New.
7255         (java_inlining_map_static_initializers): New.
7256
7257         * tree-inline.c (expand_call_inline): Convert retvar to expected
7258         type.
7259
7260 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
7261
7262         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
7263
7264 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
7265
7266         * stmt.c: Fix typo in comment.
7267
7268 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7269
7270         * c-common.c (c_common_type_for_mode): Add V2HImode case.
7271         * tree.c (build_common_tree_nodes_2): Initialize
7272         unsigned_V2HI_type_node and V2HI_type_node.
7273         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
7274         (unsigned_V2HI_type_node, V2HI_type_node): Define.
7275
7276 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
7277
7278         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
7279         Handle TARGET_64BIT.
7280
7281 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7282
7283         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
7284         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
7285         (MULTILIB_DIRNAMES): Remove long32.
7286         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
7287         (MULTILIB_REDUNDANT_DIRS): Remove.
7288
7289 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7290
7291         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
7292         * gcc.c (driver_self_specs): New variable.
7293         (do_self_spec): New function.
7294         (main): Use it to process driver_self_specs.
7295
7296 2002-10-13  Richard Henderson  <rth@redhat.com>
7297
7298         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
7299         indirect sibcalls when regparm >= 3.
7300
7301         * config/i386/i386.c (sibcall_insn_operand): New.
7302         * config/i386/i386.h (PREDICATE_CODES): Update.
7303         * config/i386/i386-protos.h: Update.
7304         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
7305
7306         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
7307
7308 2002-10-12  Roger Sayle  <roger@eyesopen.com>
7309
7310         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
7311         arithmetic right shifts of ~0 during RTL simplifications.
7312
7313 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
7314
7315         PR preprocessor/7862
7316         PR preprocessor/8190
7317         * gcc.c (cpp_unique_options): Don't delete .d files.
7318         Remove stray whitespace.
7319
7320 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
7321
7322         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
7323         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
7324         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
7325         (pdp11_output_function_epilogue, output_ascii): Likewise.
7326         (output_addr_const_pdp11): Likewise.
7327         * pdp11.md (movdi): Use offsetable memory for floating store.
7328         (lshrsi3, negsi2): Delete irrelevant comment.
7329
7330 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
7331
7332         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
7333         indirect calls to be sibcall optimized.
7334         * config/i386/i386.md (sibcall_1): New.
7335         (call_1): Add no-sibcalls condition.
7336         (sibcall_value_1): New.
7337         (call_value_1): Add no-sibcalls condition.
7338
7339 2002-10-11  Eric Christopher  <echristo@redhat.com>
7340
7341        * output.h (default_valid_pointer_mode): Declare.
7342        * varasm.c (default_valid_pointer_mode): Define.
7343        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
7344        * target.h: Ditto.
7345        * tree.c (build_pointer_type_for_mode): New function.
7346        (build_pointer_type): Use.
7347        (build_reference_type_for_mode): New function.
7348        (build_reference_type): Use.
7349        * tree.h: Declare new functions.
7350        * c-common.c (handle_mode_attribute): Use new functions, check
7351        for type.
7352        * stor-layout.c (layout_type): Depend on machine mode for
7353        REFERENCE_TYPE and POINTER_TYPE.
7354        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
7355        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
7356        and REFERENCE_TYPE.
7357        * config/mips/mips.c (mips_valid_pointer_mode): New function.
7358        (TARGET_VALID_POINTER_MODE): Use and define.
7359        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
7360
7361 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
7362
7363         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
7364         not the address of the REG.
7365         (struct cse_reg_info): Make subreg_ticked unsigned.
7366
7367 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
7368
7369         * doc/compat.texi: Add info about C++ libraries.
7370
7371 2002-10-11  Richard Henderson  <rth@redhat.com>
7372
7373         PR opt/8165
7374         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
7375
7376 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7377
7378         * cfganal.c (dfs_enumerate_from): Use PARAMS.
7379         * genautomata.c (output_insn_code_cases): Likewise.
7380         * real.c (real_format): Likewise.
7381         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
7382         ensure value is promoted before doing subtraction.
7383
7384 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
7385
7386         * calls.c (expand_call): Simplify noreturn call.
7387
7388         PR c/7344
7389         * cfgbuild.c (make_edges): Create edge cache when we do have
7390         large jumptable.
7391         * expr.c (do_tablejump): Note size of maximal jumptable.
7392         * function.c (prepare_function_start): Zero out size.
7393         * function.h (function): Add max_jumptable_ents.
7394
7395         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7396
7397 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
7398
7399         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
7400         register for mperm_w operation.
7401
7402 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
7403
7404         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
7405         an integer, use simplify_gen_subreg.
7406
7407 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
7408
7409         * calls.c (flags_from_decl_or_type): Make extern.
7410         (ECF_*): Move ...
7411         * rtl.h (ECF_*): ... here.
7412         (flags_from_decl_or_type): Declare.
7413
7414 2002-10-10  Roger Sayle  <roger@eyesopen.com>
7415             Nathan Sidwell <nathan@codesourcery.com>
7416
7417         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
7418         shifts of the form -1 >> x.
7419
7420 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
7421
7422         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7423
7424 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
7425
7426         * extend.texi (Vector Extensions): Remove comment about single
7427         element vectors.
7428
7429 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7430
7431         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
7432         * function.c (insns_for_mem_hash): Likewise.
7433         * varasm.c (STRHASH): Likewise.
7434
7435 2002-10-10  Stuart Hastings  <stuart@apple.com>
7436
7437         * cse.c (struct cse_reg_info): Add subreg_ticked.
7438         (SUBREG_TICKED): New.
7439         (get_cse_reg_info): Initialize SUBREG_TICKED.
7440         (mention_regs): Use it.
7441         (invalidate): Set SUBREG_TICKED.
7442         (invalidate_for_call): Likewise.
7443         (addr_affects_sp_p): Likewise.
7444
7445 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
7446
7447         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
7448         into proper operand.
7449
7450 2002-10-10  Denis Chertykov  <denisc@overta.ru>
7451
7452         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
7453         deallocation.
7454         * config/ip2k/libgcc.S: Combine routines used by function
7455         epilogue.
7456
7457 2002-10-10  Jim Wilson  <wilson@redhat.com>
7458
7459         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
7460         UDIV.
7461
7462 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
7463
7464         * config/rs6000/aix52.h: New file.
7465         * config/rs6000/t-aix52: New File.
7466         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
7467         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
7468
7469 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
7470
7471         PR target/5610
7472         * invoke.texi (-msse-math): Kill
7473         (-msse): Add note to mfpmath=sse.
7474
7475 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
7476
7477         PR target/7723
7478         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
7479
7480 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
7481
7482         PR preprocessor/8179
7483         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
7484         as cc1_options.
7485         (default_compilers): Pass debug options when preprocessing
7486         stdin.
7487
7488 2002-10-06  Richard Henderson  <rth@redhat.com>
7489
7490         * toplev.c (rest_of_compilation): Revert opt/2960 change.
7491
7492 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
7493
7494         * i386.c (*_cost): Add branch costs.
7495         (override_options): set ix86_branch_cost.
7496         (ix86_expand_int_movcc): Use BRANCH_COST.
7497         * i386.h (costs): Add branch_cost.
7498
7499 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
7500
7501         PR c/7353
7502         * c-decl.c (start_decl): Unconditionally issue error for
7503         'typedef foo = bar'.
7504         (finish_decl): Remove special case for TYPE_DECL with initializer.
7505
7506         * doc/extend.texi: Delete "Naming Types" section.  Change all
7507         cross-references to that section to refer to "Typeof" instead.
7508         Add the useful safe-max()-macro example from "Naming Types" to
7509         "Typeof", rewritten using that extension.  Add some compatibility
7510         notes to "Typeof."
7511
7512 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7513
7514         * loop.c: Revert 2002-08-15 change.
7515         (LOOP_REGNO_NREGS): Ensure type is int.
7516
7517 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7518
7519         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
7520         which copies first FPR and clears second.
7521         (extendsftf2): Same.
7522         (floatditf2): Fix typo.
7523         (floatsitf2): Same.
7524         (fix_trunctfdi2): Same.
7525         (fix_trunctfsi2): Same.
7526
7527 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7528
7529         * conflict.c (arc_hash): Change return type to hashval_t.
7530         * cselib.c (get_value_hash): Likewise.
7531         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
7532         state_hash, automata_list_hash): Likewise.
7533         * read-rtl.c (def_hash): Likewise.
7534         * tree.c (type_hash_hash): Likewise.
7535
7536 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
7537
7538         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
7539         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
7540
7541 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7542
7543         * sh.md (ffssi2): Fix emitted code.
7544
7545 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
7546
7547         * cse.c (insn_live_p): Pass insn pattern, not full insn
7548         to may_trap_p.
7549
7550 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
7551
7552         * cppmacro.c (paste_tokens): Only allow / to paste with =.
7553
7554 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7555
7556         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
7557         64-bit hosts.
7558         (movtf_internal): Reference correct displacement for second value
7559         in memory.
7560         (movtf splitter): Correct generation of constants in 64-bit mode.
7561
7562 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
7563
7564         * libgcc2.c (__floatdisf): Properly cure double rounding.
7565
7566 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7567
7568         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
7569         * doc/cpp.texi (Common Predefined Macros): Document.
7570
7571 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7572
7573         PR doc/7484
7574         * doc/invoke.texi (Option Summary): List
7575         -Wmissing-declarations as a C only option.
7576
7577 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7578
7579         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
7580         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
7581         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
7582
7583 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7584
7585         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7586         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
7587         variables.
7588         (safe_vector_operand): Update sse_clrv4sf call.
7589         (ix86_expand_buildin): Likewise
7590         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7591         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
7592         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
7593         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
7594         macros.
7595         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
7596         movv4si):  Obey the new flags.
7597         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
7598         reformating penalty.
7599         (anddf, cmov patterns): Avoid reformating by first converting.
7600         (sse_cvtsd2ss): Fix predicate.
7601         (sse2_clrti): Fix mode,
7602         (sse_clrv4sf): Avoid unspec.
7603
7604 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
7605
7606         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
7607         mno-app-regs|mcmodel=medany.
7608         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
7609         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
7610         (CRTSTUFF_T_CFLAGS): Define.
7611
7612 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7613
7614         PR target/8087
7615         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
7616         pool references that are constructed using LO_SUM.
7617
7618 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
7619
7620         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
7621         -Wall.
7622         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
7623         message.
7624         * flags.h (warn_strict_aliasing): Declare.
7625         * toplev.c (warn_strict_aliasing): Define.
7626         (lang_independent_options): Add it.
7627         * doc/invoke.texi (-Wstrict-aliasing): Document it.
7628
7629 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
7630
7631         * system.h (GCCBUGURL): Delete.
7632         * version.c (bug_report_url): New.  Add commentary about
7633         modifying both these strings in modified distributions.
7634         * version.h: Declare bug_report_url.
7635
7636         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
7637         bug_report_url.
7638
7639 2002-10-08  Nick Clifton  <nickc@redhat.com>
7640
7641         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
7642         convert uint64_t into __ev64_opaque__.
7643         (__ev_set_acc_s64): Likewise, but using signed types.
7644
7645 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
7646
7647         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
7648         ("*doloop_di_long"): Likewise.
7649
7650 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
7651
7652         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
7653
7654 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
7655
7656         * config/mips/mips.md (define_attr cpu): Add r4111.
7657
7658 2002-10-08  Anthony Green  <green@redhat.com>
7659
7660         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
7661
7662 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7663
7664         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
7665         for REAL_VALUE_TO_DECIMAL output.
7666
7667 2002-10-07  Richard Henderson  <rth@redhat.com>
7668
7669         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
7670         function; cleanup PLUS case by using recursion.  Update all users.
7671         (NONZERO_BASE_PLUS_P): Remove.
7672         (find_comparison_args): Use rtx_addr_can_trap_p instead.
7673         (fold_rtx): Use nonzero_address_p.
7674         * rtl.h (nonzero_address_p): Declare.
7675         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
7676         (rtx_addr_can_trap_p): Likewise.
7677         (nonzero_address_p): New.
7678         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
7679         (simplify_relational_operation): Use nonzero_address_p.
7680
7681 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
7682
7683         * config/rs6000/rs6000.c (rs6000_override_options): Set
7684         real_format_for_mode for IBM extended format, if enabled.
7685         (easy_fp_constant): Add TFmode.
7686         (rs6000_legitimize_address): Add TFmode.
7687         (rs6000_legitimate_address): Same.
7688         (function_arg_advance): TFmode uses two FPRs.
7689         (rs6000_emit_prologue): Fix warning.
7690         (rs6000_output_function_epilogue): Add TFmode.
7691         (output_toc): Add TFmode.
7692         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
7693         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
7694         * rs6000.md (movtf splitter): Load TFmode constant.
7695
7696 2002-10-07  Dale Johannesen  <dalej@apple.com>
7697
7698         * rtl.h:  Add NOTE_PRECONDITIONED.
7699         * unroll.c:  Set it.
7700         * loop.c:  Set loop_info->preconditioned from it.
7701         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
7702
7703 2002-10-07  Richard Henderson  <rth@redhat.com>
7704
7705         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
7706         new rtx for comparing the argument pointer against zero.
7707         (i960_va_start): Similarly.
7708
7709 2002-10-07  Richard Henderson  <rth@redhat.com>
7710
7711         * config/i960/i960.md (*): Use TFmode, not XFmode.
7712         * config/i960/i960.c (*): Likewise.
7713         (i960_arg_size_and_align): Remove XFmode alignment hack.
7714         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
7715         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
7716         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
7717         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
7718
7719 2002-10-07  Richard Henderson  <rth@redhat.com>
7720
7721         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
7722         entry points; use void return value and argument list.
7723
7724 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
7725
7726         * calls.c (expand_call): Fix function-is-volatile check.
7727
7728 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
7729
7730         * t-pdp11: Add MULTILIB support for msoft-float.
7731         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
7732
7733         * t-pdp11: Add LIB2FUNCS_EXTRA.
7734         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
7735         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
7736         'fldd' to 'ldd', rename 'fstd' to 'std'.
7737         (pdp11_output_function_epilogue): Likewise.
7738         (output_move_quad): Make the comment gas compatible.
7739         (output_ascii): Add preceding 0 to the octal constant.
7740         (print_operand_address): Add pre_modify, post_modify.
7741         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
7742         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
7743         with the indication of Paul Koning.
7744         (PRINT_OPERAND): Fix floating constant.
7745         * pdp11.md (movdi): Restrict matching pattern.
7746         (movqi): Generalize the matching pattern.
7747         (movdf): Restrict matching pattern.
7748         (zero_extendqihi2): Change constant representation.
7749         (floatsidf2): Fix wrong operands.
7750         (addqi3): Fix wrong instruction name.
7751         (subqi3): Fix wrong instruction name.
7752         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
7753         (xorsi3): Fix wrong insn.
7754         (one_cmplqi2): Add two operand pattern.
7755         (lsrsi3): New.
7756         (negsi2): New.
7757         (call): Add register indirect case.
7758         (mod): Fix wrong subreg.
7759
7760 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
7761             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7762
7763         PR c/7411
7764         * expr.c (expand_expr) [PLUS]: Simplify after the operands
7765         have been expanded in EXPAND_NORMAL mode.
7766
7767 2002-10-06  Richard Henderson  <rth@redhat.com>
7768
7769         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
7770
7771 2002-10-06  Richard Henderson  <rth@redhat.com>
7772
7773         PR optimization/2960
7774         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
7775         optimize_size.
7776
7777 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
7778
7779         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
7780         previously definitions.
7781
7782 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
7783
7784         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
7785         * c-opts.c (find_opt): Similarly.
7786
7787 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
7788
7789         * athlon.md: rewrite to DFA.
7790         * i386 (ix86_adjust_cost): Drop memory latency code.
7791         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
7792
7793 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
7794
7795         * gcc.c (set_multilib_dir): Don't access *end.
7796         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
7797         (print_multilib_info): Don't show paths starting with ".:".
7798         * genmultilib: Add new option, "yes" if multilibs are enabled.
7799         Update comments.  If multilibs not enabled, print .:${osdirout}
7800         for each directory.  If multilibs are enabled, always print
7801         ${dirout}:${osdirout}, even if the two are the same.
7802         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
7803         Pass all MULTILIB_* variables to genmultilib even if
7804         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
7805
7806 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
7807
7808         * gcc.c (process_command): Set .validated for -pipe.  Correct
7809         grammar in comment.
7810
7811 2002-10-04  Bruce Korb  <bkorb@gnu.org>
7812
7813         * fixinc/inclhack.def(hpux11_abs):  use format fix
7814         * fixinc/fixincl.x: regenerate
7815         * fixinc/tests/base/stdlib.h: accommodate new fix test
7816
7817 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
7818
7819         * c-common.c (cb_register_builtins):  Use really_no_inline.
7820
7821 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
7822
7823         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
7824         copied instruction if the note is not loop invariant.
7825
7826 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
7827
7828         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
7829
7830 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7831
7832         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
7833         and -mhp-ld options to list of options.  Add -mgnu-ld
7834         and -mhp-ld option descriptions.
7835
7836 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7837
7838         * fixinc/inclhack.def (hpux11_abs):  New.
7839         (stdio_va_list): change __va_list__ to __gnuc_va_list.
7840         * fixinc/fixincl.x: Rebuild.
7841
7842 2002-10-04  Roger Sayle  <roger@eyesopen.com>
7843
7844         * config/i386/i386.h (processor_costs): Add new fields fadd,
7845         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
7846         (RTX_COSTS): Use these fields to determine the RTX costs
7847         of floating point addition/subtraction, multiplication,
7848         division, fabs, negation and square root respectively.
7849         * config/i386/i386.c (size_cost): Provide instruction sizes
7850         for these new fields.
7851         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
7852         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
7853         counts for these new fields for all x86 processor variants.
7854
7855 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7856
7857         * mips.c (mips_const_double_ok): Delete unused variable.
7858
7859         * gengtype.c (rtx_next): Change type to int.
7860
7861 2002-10-04  Andreas Jaeger  <aj@suse.de>
7862
7863         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
7864
7865 2002-10-04  Richard Henderson  <rth@redhat.com>
7866
7867         * real.h (SIGNIFICAND_BITS): Add one more word.
7868         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
7869         * real.c (times_pten): New.
7870         (real_to_decimal, real_from_string): Use it.
7871         (sticky_rshift_significand): Use & to find modulus.
7872         (rshift_significand, lshift_significand): Likewise.
7873         (do_divide): Apply sticky bit after normalization.
7874         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
7875
7876 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
7877
7878         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
7879         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
7880
7881 2002-10-03  Andreas Jaeger  <aj@suse.de>
7882
7883         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
7884         to unsigned long, adjust printf format string.
7885         (output_mangled_typename): Likewise.
7886
7887 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
7888
7889         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
7890         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
7891         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
7892         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
7893         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
7894         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
7895         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
7896         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
7897
7898 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
7899
7900         * doc/invoke.texi (-Wabi): Document mangling bug.
7901
7902 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
7903
7904         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
7905         name for the tbtab label that depends on the function asm name.
7906         Don't output tbtab label unless optional_tbtab.
7907         (output_mi_thunk): Formatting.
7908
7909 2002-10-03  Richard Henderson  <rth@redhat.com>
7910
7911         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
7912         * config/m68k/m68k.c (override_options): ... here.
7913         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
7914         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
7915         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7916         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7917
7918 2002-10-03  Richard Henderson  <rth@redhat.com>
7919
7920         * real.h (struct real_value): Use ENUM_BITFIELD.
7921
7922 2002-10-03  Richard Henderson  <rth@redhat.com>
7923
7924         * config/i960/i960.md (call, call_value): Use emit_call_insn.
7925
7926 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
7927
7928         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
7929
7930 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
7931
7932         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
7933         * config/pa/pa.h (MASK_GNU_LD): New.
7934         (TARGET_GNU_LD): New.
7935         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
7936         on gnu-ld and MASK_GNU_LD.
7937         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
7938
7939 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
7940
7941         * i386.c (athlon_cost): Fix the move costs.
7942
7943 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
7944
7945         * final.c (final): Use symbol name as function name for profiling.
7946         * profile.c (get_exec_counts): Likewise.
7947         (branch_prob): Likewise.
7948
7949 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
7950
7951         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
7952
7953 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
7954
7955         * gcc.c (print_multi_os_directory): New variable.
7956         (option_map): Support --print-multi-os-directory.
7957         (struct prefix_list): Add os_multilib field.
7958         (multilib_os_dir): New variable.
7959         (static_specs): Add multilib_options.
7960         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
7961         subdirs if nonzero.
7962         (read_specs, execute): Update callers.
7963         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
7964         pass 1 as multilib option.
7965         (display_help): Include --print-multi-os-directory.
7966         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
7967         (process_command): Update callers.  Handle --print-multi-os-directory.
7968         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
7969         set.
7970         (main): Update find_a_file and add_prefix callers.
7971         Handle print_multi_os_directory.
7972         (struct mdswitchstr): New.
7973         (mdswitches, n_mdswitches): New variables.
7974         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
7975         present on the command line nor their mutually incompatible
7976         switches.
7977         (default_arg): Optimize.
7978         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
7979         array.
7980         (print_multilib_info): Only print GCC multilib dir name, not OS
7981         multilib dirname.
7982         * genmultilib: Add osdirnames parameter.  Output multilib_options
7983         variable.  If osdirnames is specified, output dirnames as
7984         dirname:osdirname.
7985         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
7986         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
7987         to compute libgcc_s soname and install path.
7988         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
7989         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
7990         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
7991         argument.
7992
7993         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
7994         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7995         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
7996         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
7997         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
7998         and -m64.
7999         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
8000         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8001         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
8002         (STARTFILE_ARCH_SPEC): Remove.
8003         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8004         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8005         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
8006         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
8007         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8008
8009 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
8010
8011         * predict.c (choose_function_section): Avoid choice for linkonce functions.
8012
8013 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
8014
8015         * i386.md (lea to mul peep2): Fix condition.
8016
8017 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8018
8019         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
8020         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
8021
8022 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
8023
8024         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
8025         attribute "unused".
8026
8027         * config/t-libunwind: Mention unwind-sjlj.c.
8028         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
8029         to #ifndef __USING_SJLJ_EXCEPTIONS__.
8030
8031         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
8032         before inclusion of config.gcc, but after configuring the compiler etc.
8033         Determine default value for --enable-libunwind-exceptions based on
8034         whether the host has a libunwind library (not guaranteed to be correct,
8035         but it's a reasonable first guess and can always be overridden with an
8036         explicit --enable/disable-libunwind-exceptions.
8037         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
8038         tmake_file when $use_libunwind_exceptions is enabled.
8039         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
8040         ia64 (e.g., config/t-linux also updates it).
8041         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
8042         along with the shared version of libgcc since the latter requires
8043         the former.
8044         * unwind-libunwind.c: New file.
8045         * config/t-libunwind: Ditto.
8046
8047 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8048
8049         * config.gcc: Remove support for vax-*-vms*.
8050         * config/vax/vms.h: Remove.
8051         * config/vax/xm-vms.h: Remove.
8052         * config/vax/vax-protos.h: Remove VMS-specific code.
8053         * config/vax/vax.c: Remove VMS-specific code.
8054
8055 2002-10-02  Richard Henderson  <rth@redhat.com>
8056
8057         PR opt/7124
8058         * config/i386/i386.c (ix86_register_move_cost): Increase cost
8059         for secondary_memory_needed pairs.
8060
8061 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8062
8063         * doc/vms.texi: Blow away false include file section.
8064
8065 2002-10-02  Roger Sayle  <roger@eyesopen.com>
8066
8067         PR optimization/6627
8068         * toplev.c (force_align_functions_log): New global variable.
8069         * flags.h (force_align_functions_log): Add extern prototype.
8070         * varasm.c (assemble_start_function): Use it to force minimum
8071         function alignment.
8072         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
8073         minimum function alignment to one byte.
8074         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
8075         the least significant bit of vtable member function pointers.
8076         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
8077         here from cp/cp-tree.h.
8078
8079 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
8080
8081         * i386.c (print_operand_address): Use RIP addressing for offsetted
8082         label refs too.
8083
8084 2002-09-30  David S. Miller  <davem@redhat.com>
8085
8086         PR middle-end/7151
8087         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
8088         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
8089
8090 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
8091
8092         * calls.c (expand_call): Remove the `no indirect check'
8093         for sibcall optimization; use function_ok_for_sibcall
8094         target hook; refine check for `function is volatile'.
8095         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
8096         * hooks.c (hook_tree_tree_bool_false): New.
8097         * hooks.h (hook_tree_tree_bool_false): Declare.
8098         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8099         (TARGET_INITIALIZER): Add it.
8100         * target.h (struct gcc_target): Add function_ok_for_sibcall.
8101         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
8102         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8103         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8104         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
8105         Remove function declaration.
8106         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
8107         function static and accept another argument of type `tree'.
8108         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8109         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8110         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8111         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
8112         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8113         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8114         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8115         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
8116         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
8117         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8118         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8119         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
8120         Remove function declaration.
8121         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
8122         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
8123         rename first argument to `decl'; accept another argument
8124         of type `tree'; make static.
8125         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8126         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8127         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
8128         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8129         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8130         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
8131         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8132         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8133         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8134
8135 2002-10-01  Roger Sayle  <roger@eyesopen.com>
8136
8137         * unroll.c (loop_iterations): Revert 2002-09-08 change.
8138
8139 2002-10-01  Richard Henderson  <rth@redhat.com>
8140
8141         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
8142         (real_to_hexadecimal): Likewise.
8143         * print-rtl.c (print_rtx): If we are linked with real.c, don't
8144         dump the XWINT fields of a floating point CONST_DOUBLE.
8145
8146 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
8147
8148         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
8149
8150 2002-10-01  Richard Henderson  <rth@redhat.com>
8151
8152         * calls.c (precompute_register_parameters): Force non-legitimate
8153         constants into pseudos.
8154
8155 2002-10-01  Nick Clifton  <nickc@redhat.com>
8156
8157         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
8158         to assembler template.
8159
8160 2002-10-01  Richard Henderson  <rth@redhat.com>
8161
8162         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
8163         for TLS debug info to !DECL_EXTERNAL.
8164
8165 2002-10-01  Matt Thomas  <matt@3am-software.com>
8166             Jason Thorpe  <thorpej@wasabisystems.com>
8167
8168         * config.gcc (vax-*-netbsdelf*): Enable configuration.
8169         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
8170         if not already defined.
8171         * config/vax/elf.h: New file.
8172         * config/vax/netbsd-elf.h: New file.
8173         * config/vax/vax.c: Include "debug.h".
8174         (vax_output_function_prologue): Add dwarf2 support.  Use
8175         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
8176         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
8177         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
8178         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
8179         (VAX_ISTREAM_SYNC): Remove.
8180         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
8181         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8182         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
8183         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
8184         and assemble_name.
8185         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8186         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
8187         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
8188         (INCOMING_RETURN_ADDR_RTX): Define.
8189         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
8190         (VUNSPEC_SYNC_ISTREAM): Define.
8191         (blockage): Use VUNSPEC_BLOCKAGE.
8192         (sync_istream): New insn.
8193
8194 2002-10-01  Richard Henderson  <rth@redhat.com>
8195
8196         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
8197         (*call_value_pop, call, call_value): Add dwarf2 EH support.
8198         (*call): New insn.
8199
8200 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8201
8202         PR c/8083
8203         * c-typeck.c (build_c_cast): Warn about type punning which breaks
8204         type based aliasing.
8205
8206 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
8207
8208         * stor-layout.c (update_alignment_for_field): New function.
8209         (place_union_field): Use it.
8210         (place_field): Likewise.
8211
8212 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8213
8214         PR other/8077
8215         * gcc.c (cc1_options): Add space on -auxbase-strip.
8216
8217 2002-10-01  Jim Wilson  <wilson@redhat.com>
8218
8219         * config/v850/v850.h (EPILOGUE_USES): Define.
8220
8221 2002-09-30  Andrew Haley  <aph@redhat.com>
8222
8223         * flow.c (insn_dead_p): When using non-call-exceptions, don't
8224         eliminate insns that may trap.
8225         * cse.c (insn_live_p): Likewise.
8226
8227 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8228
8229         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
8230         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
8231         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
8232         * config/mips/mips.md: Apply same renaming here.
8233
8234 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8235
8236         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
8237         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
8238         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
8239         * config/mips/mips.md (define_attr cpu): Remove r4320.
8240         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
8241
8242 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8243
8244         * config/mips/mips.c (mips16_strings): New variable.
8245         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
8246         symbol in mips16_strings.  Free the list.
8247         (mips_encode_section_info): Keep track of local strings.
8248
8249 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8250
8251         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
8252         (sordered_df, sordered_sf): Remove.
8253         * config/mips/mips.c (get_float_compare_codes): New fn.
8254         (gen_int_relational, gen_conditional_move): Use it.
8255
8256 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8257
8258         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
8259         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
8260         * config/mips/mips.c (fcc_register_operand): New function.
8261         (mips_emit_fcc_reload): New function, extracted from reload_incc.
8262         (override_options): Allow TFmode values in float registers
8263         if ISA_HAS_8CC.
8264         * cnfig/mips/mips.md (reload_incc): Change destination prediate
8265         to fcc_register_operand.  Remove misleading source constraint.
8266         Use mips_emit_fcc_reload.
8267         (reload_outcc): Duplicate reload_incc.
8268
8269 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
8270
8271         * gcc.c (validate_switches): Handle all new forms of spec
8272         syntax introduced recently.  Now returns a char *.
8273         (validate_all_switches): Repetitive logic broken out to...
8274         (validate_switches_from_spec): ...here.
8275         * mklibgcc.in: Don't @-flag commands to generate .oS files.
8276
8277 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
8278
8279         * longlong.h: Partially synchronize with GMP-4.1 version:
8280         Use i370 definitions also for s390.
8281         Add generic definition of umul_ppmm in terms of smul_ppmm.
8282         [s390] (umul_ppmm): Remove.
8283         [s390] (smul_ppmm): Fix incorrect assembler constraints.
8284         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
8285
8286 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
8287
8288         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
8289         Add new RL_REGS register class.
8290         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
8291         Call xtensa_preferred_reload_class for both input and output reloads.
8292         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
8293         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
8294         instead of either AR_REGS or GR_REGS classes.
8295         (xtensa_secondary_reload_class): Use new RL_REGS class.
8296         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
8297
8298 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8299
8300         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
8301         (pa_strip_name_encoding): Strip '@' and '*', in that order.
8302         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
8303         there is a '*' prefix in NAME.
8304
8305 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
8306
8307         * reload.c (push_reload): Handle subregs and secondary memory.
8308         * reload1.c (gen_reload): Likewise.
8309
8310         * jump.c (reg_or_subregno): New function.
8311         * rtl.h (reg_or_subregno): Declare
8312         * unroll.c (find_splittable_givs): Handle subregs.
8313
8314 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
8315
8316         * store-layout.c (finish_record_layout): Add free_p parameter.
8317         (layout_type): Pass it.
8318         * tree.h (finish_record_layout): Update prototype.
8319
8320 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
8321
8322         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
8323
8324         * gcse.c (cprop_jump): Check that the register has not
8325         been modified
8326         (cprop_jump): Likewise.
8327
8328 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
8329
8330         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
8331         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
8332         that we have a SImode access, and only then if reload hasn't completed;
8333         for all other cases, use LO_REGS.
8334
8335 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8336
8337         * openbsd.h: Fix typo in last change.
8338
8339 2002-09-29  Richard Henderson  <rth@redhat.com>
8340
8341         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
8342
8343 2002-09-29  Richard Henderson  <rth@redhat.com>
8344
8345         PR c/8002
8346         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
8347         for CONST_INT.
8348
8349 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
8350
8351         * real.h (ibm_extended_format): Declare.
8352         * real.c (encode_ibm_extended, decode_ibm_extended): New
8353         functions.
8354
8355 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8356
8357         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
8358
8359         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
8360
8361 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8362
8363         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
8364
8365 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
8366
8367         * builtins.def: Fix comment formatting.
8368         * c-common.def: Likewise.
8369         * cfgcleanup.c: Likewise.
8370         * combine.c: Likewise.
8371         * gengtype.c: Likewise.
8372         * params.def: Likewise.
8373         * predict.def: Likewise.
8374         * rtl.def: Likewise.
8375         * stab.def: Likewise.
8376         * stor-layout.c: Likewise.
8377         * tree.def: Likewise.
8378         * config/darwin.c: Likewise.
8379         * config/darwin.h: Likewise.
8380         * config/dbxcoff.h: Likewise.
8381         * config/elfos.h: Likewise.
8382         * config/fp-bit.c: Likewise.
8383         * config/freebsd-spec.h: Likewise.
8384         * config/interix.h: Likewise.
8385         * config/libgloss.h: Likewise.
8386         * config/linux-aout.h: Likewise.
8387         * config/linux.h: Likewise.
8388         * config/lynx-ng.h: Likewise.
8389         * config/lynx.h: Likewise.
8390         * config/netbsd-aout.h: Likewise.
8391         * config/netbsd.h: Likewise.
8392         * config/netware.h: Likewise.
8393         * config/psos.h: Likewise.
8394         * config/ptx4.h: Likewise.
8395
8396 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
8397
8398         * ChangeLog.4: Fix typos.
8399         * ChangeLog.6: Likewise.
8400         * FSFChangeLog.10: Likewise.
8401         * genattrtab.c: Fix comment typos.
8402         * haifa-sched.c: Likewise.
8403         * real.c: Likewise.
8404         * tree.h: Likewise.
8405         * config/arm/arm.c: Likewise.
8406         * config/arm/crti.asm: Likewise.
8407         * config/arm/crtn.asm: Likewise.
8408         * config/frv/frv.c: Likewise.
8409         * config/frv/frv.md: Likewise.
8410         * config/h8300/h8300.md: Likewise.
8411         * config/i386/rtemself.h: Likewise.
8412         * config/ia64/unwind-ia64.c: Likewise.
8413         * config/ip2k/ip2k.h: Likewise.
8414         * config/m88k/m88k.c: Likewise.
8415         * config/m88k/m88k.md: Likewise.
8416         * config/mips/sr71k.md: Likewise.
8417         * config/mmix/mmix.c: Likewise.
8418         * config/rs6000/rs6000.c: Likewise.
8419         * config/sh/sh.md: Likewise.
8420
8421 2002-09-26  Theodore A. Roth  <troth@verinet.com>
8422
8423         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
8424         * config/avr/avr.md: Ditto.
8425
8426 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
8427
8428         PR preprocessor/8055
8429         * cppmacro.c (stringify_arg): Do not overflow the buffer
8430         with the terminating NUL when the argument to be stringified
8431         has no tokens.
8432
8433 2002-09-27  Richard Henderson  <rth@redhat.com>
8434
8435         * unroll.c (simplify_cmp_and_jump_insns): New.
8436         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
8437         instead of expand_simple_foo.
8438
8439 2002-09-27  Richard Henderson  <rth@redhat.com>
8440
8441         PR optimization/7520
8442         * cfganal.c (flow_active_insn_p): New.
8443         (forwarder_block_p): Use it.
8444
8445 2002-09-27  Richard Henderson  <rth@redhat.com>
8446
8447         * emit-rtl.c (active_insn_p): Revert last change.
8448
8449 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
8450
8451         * doc/extend.texi (tls_model): Document.
8452         * varasm.c (decl_tls_model): New.
8453         * c-common.c (handle_tls_model_attribute): New.
8454         (c_common_attribute_table): Add tls_model.
8455         * config/alpha/alpha.c (alpha_encode_section_info): Use
8456         decl_tls_model.
8457         * flags.h (enum tls_model, flag_tls_default): Move...
8458         * tree.h (enum tls_model, flag_tls_default): ...here.
8459         (decl_tls_model): New prototype.
8460         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
8461         * config/i386/i386.c (ix86_encode_section_info): Likewise.
8462         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
8463         Allow !flag_pic.
8464
8465 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8466
8467         * LANGUAGES: Follow spelling conventions.
8468         * rtl.def: Likewise.
8469         * sbitmap.c: Likewise.
8470         * sched-int.h: Likewise.
8471         * sched-rgn.c: Likewise.
8472         * sibcall.c: Likewise.
8473         * simplify-rtx.c: Likewise.
8474         * ssa.c: Likewise.
8475         * stab.def: Likewise.
8476         * stmt.c: Likewise.
8477         * stor-layout.c: Likewise.
8478         * target.h: Likewise.
8479         * timevar.c: Likewise.
8480         * toplev.c: Likewise.
8481         * tree-dump.c: Likewise.
8482         * tree-inline.c: Likewise.
8483         * tree.c: Likewise.
8484         * tree.def: Likewise.
8485         * tree.h: Likewise.
8486         * unroll.c: Likewise.
8487         * varasm.c: Likewise.
8488         * vmsdbgout.c: Likewise.
8489         * treelang/treelang.texi: Likewise.
8490         * treelang/treetree.c: Likewise.
8491
8492 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8493
8494         * config/h8300/h8300.c (compute_saved_regs): Use a macro
8495         instead of a hard register number.
8496         (get_shift_alg): Use an enumerated type instead of numbers.
8497         (h8300_shift_needs_scratch_p): Likewise.
8498
8499 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8500
8501         * varasm.c (force_data_section): Remove.
8502         (assemble_constant_align): Likewise.
8503         * output.h: Remove corresponding prototypes.
8504
8505 2002-09-26  Roger Sayle  <roger@eyesopen.com>
8506
8507         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
8508         jump, if the loop to exit is the top of the current nesting stack.
8509
8510 2002-09-26  Torbjorn Granlund  <tege@swox.com>
8511
8512         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
8513         arithmetic.
8514
8515 2002-09-26  David S. Miller  <davem@redhat.com>
8516
8517         PR optimization/7335
8518         * calls.c (emit_library_call_value_1): Passing args by reference
8519         converts a CONST function into a PURE one.
8520
8521 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8522
8523         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
8524         text_section.
8525         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
8526         text section.
8527         * config/rs6000/rs6000.c (rs6000_override_options): Allow
8528         function-sections and data-sections functionality on AIX.
8529
8530 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8531             Dale Johannesen  <dalej@apple.com>
8532
8533         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
8534         in RTL for sub-word loads from memory.
8535
8536 2002-09-26  Richard Henderson  <rth@redhat.com>
8537
8538         PR c/7160
8539         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
8540         on call insns.
8541
8542 2002-09-26  Richard Henderson  <rth@redhat.com>
8543
8544         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
8545
8546 2002-09-26  Chris Lattner  <sabre@nondot.org>
8547
8548         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
8549         handling undefined values.
8550
8551 2002-09-26  Richard Henderson  <rth@redhat.com>
8552
8553         PR opt/7520
8554         * emit-rtl.c (active_insn_p): Consider a clobber of the
8555         function return value to be active even after reload.
8556
8557 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
8558
8559         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
8560         by absolute loop increment, not loop increment.
8561
8562 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8563
8564         * c-common.h: Follow spelling conventions.
8565         * cpplex.c: Likewise.
8566         * cpplib.h: Likewise.
8567         * gthr-dce.h: Likewise.
8568         * gthr-posix.h: Likewise.
8569         * optabs.c: Likewise.
8570         * output.h: Likewise.
8571         * profile.c: Likewise.
8572         * protoize.c: Likewise.
8573         * ra-rewrite.c: Likewise.
8574         * real.c: Likewise.
8575         * recog.c: Likewise.
8576         * reg-stack.c: Likewise.
8577         * regclass.c: Likewise.
8578         * regmove.c: Likewise.
8579         * reload.c: Likewise.
8580         * reload.h: Likewise.
8581         * reload1.c: Likewise.
8582         * reorg.c: Likewise.
8583         * resource.c: Likewise.
8584         * rtl.h: Likewise.
8585         * rtlanal.c: Likewise.
8586
8587 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8588
8589         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
8590         for symbol address.
8591
8592 2002-09-24  Eric Christopher  <echristo@redhat.com>
8593
8594         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
8595         * config/mips/elf64.h: Ditto.
8596
8597 2002-09-24  Eric Christopher  <echristo@redhat.com>
8598
8599         * except.c (expand_builtin_extract_return_address): Handle case
8600         where Pmode != ptr_mode.
8601
8602 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8603
8604         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
8605
8606 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8607
8608         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
8609
8610 2002-09-26  Igor Shevlyakov <igor@microunity.com>
8611
8612         * combine.c (simplify_set): Don't call to force_to_mode if size
8613         of integer type is larger than HOST_BITS_PER_WIDE_INT.
8614
8615 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
8616
8617         * Makefile.in (qmtest-g++): Fix file path.
8618
8619 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8620
8621         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
8622         A + (-const) on RTX level, even for unsigned types.
8623
8624 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8625
8626         * reload.c (dup_replacements): New function.
8627         (find_reloads): Use it to duplicate replacements at the top level
8628         of match_dup operands.
8629
8630 2002-09-26  Miles Bader  <miles@gnu.org>
8631
8632         * v850.md ("length"): Change default value to 4.
8633
8634 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8635
8636         * ChangeLog.1: Follow spelling conventions.
8637         * ChangeLog.4: Likewise.
8638         * ChangeLog.6: Likewise.
8639         * FSFChangeLog.11: Likewise.
8640         * doc/cpp.texi: Likewise.
8641         * doc/invoke.texi: Likewise.
8642         * doc/tm.texi: Likewise.
8643
8644 2002-09-26  Nick Clifton  <nickc@redhat.com>
8645
8646         * config.gcc: Add x prefix to v850e case for handling
8647         --with-cpu=v850e.
8648
8649 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
8650
8651         * gcc.c (input_suffix_matches, switch_matches,
8652         mark_matching_switches, process_marked_switches,
8653         process_brace_body): New functions - split from handle_braces.
8654         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
8655         and ignore whitespace in more places.
8656         (specs documentation comment): Document %{S:X;T:Y;:D}.
8657         Clarify other %{...} docs.
8658         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
8659         %{...} docs.
8660
8661         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
8662         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
8663
8664 2002-09-25  David S. Miller  <davem@redhat.com>
8665
8666         PR target/7842
8667         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
8668         extend.
8669
8670 2002-09-25  Richard Henderson  <rth@redhat.com>
8671
8672         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
8673         fp CONST_DOUBLE; use real_identical.
8674
8675 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
8676
8677         * doc/invoke.texi: Add more -Wabi examples.
8678
8679 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
8680
8681         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
8682
8683 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
8684
8685         * profile.c (end_branch_prob): Only look for __gcov_init on
8686         weak-enabled native compilers.
8687
8688 2002-09-24  Denis Chertykov  <denisc@overta.ru>
8689
8690         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
8691         cases of optimizing "add sp,w" to "inc sp".
8692
8693 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8694
8695         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
8696         epilogue for naked functions.
8697
8698 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8699             Nick Clifton  <nickc@redhat.com>
8700
8701         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
8702         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
8703         is defined.
8704
8705 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
8706
8707         * config/s390/s390.c (preferred_la_operand_p): New function.
8708         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
8709         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
8710         ("*la_64_cc", "*la_31_cc", splitters): ... these.
8711         ("*la_31"): Deactivate for TARGET_64BIT.
8712         ("*la_31_and", "*la_31_and_cc"): New.
8713
8714 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8715
8716         * real.h (real_value): Make `exp' explicitly signed.
8717
8718 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
8719
8720         * config/elfos.h: Follow spelling conventions.
8721         * config/alpha/alpha.h: Likewise.
8722         * config/arc/arc.h: Likewise.
8723         * config/arm/arm.md: Likewise.
8724         * config/avr/avr.h: Likewise.
8725         * config/cris/cris.md: Likewise.
8726         * config/d30v/d30v.h: Likewise.
8727         * config/frv/frv.c: Likewise.
8728         * config/frv/frv.h: Likewise.
8729         * config/h8300/h8300.c: Likewise.
8730         * config/h8300/h8300.h: Likewise.
8731         * config/h8300/h8300.md: Likewise.
8732         * config/i386/cygwin.h: Likewise.
8733         * config/i386/i386.h: Likewise.
8734         * config/i386/sysv3.h: Likewise.
8735         * config/i960/i960.h: Likewise.
8736         * config/ia64/ia64.h: Likewise.
8737         * config/ia64/ia64.md: Likewise.
8738         * config/ip2k/ip2k.h: Likewise.
8739         * config/m32r/m32r.h: Likewise.
8740         * config/m68k/m68k.h: Likewise.
8741         * config/m88k/m88k.h: Likewise.
8742         * config/mcore/mcore.c: Likewise.
8743         * config/mcore/mcore.h: Likewise.
8744         * config/mcore/mcore.md: Likewise.
8745         * config/mips/mips.h: Likewise.
8746         * config/mmix/mmix.h: Likewise.
8747         * config/mmix/mmix.md: Likewise.
8748         * config/ns32k/netbsd.h: Likewise.
8749         * config/ns32k/ns32k.h: Likewise.
8750         * config/ns32k/ns32k.md: Likewise.
8751         * config/pa/pa.h: Likewise.
8752         * config/romp/romp.h: Likewise.
8753         * config/rs6000/rs6000.h: Likewise.
8754         * config/rs6000/rs6000.md: Likewise.
8755         * config/sparc/sparc.h: Likewise.
8756         * config/stormy16/stormy-abi: Likewise.
8757         * config/stormy16/stormy16.h: Likewise.
8758         * config/vax/vax.h: Likewise.
8759
8760 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8761
8762         * config/alpha/alpha.h: Remove commented-out macro
8763         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
8764         * config/avr/avr.h: Likewise.
8765         * config/d30v/d30v.h: Likewise.
8766         * config/dsp16xx/dsp16xx.h: Likewise.
8767         * config/i370/i370.h: Likewise.
8768         * config/i386/i386.h: Likewise.
8769         * config/i960/i960.h: Likewise.
8770         * config/m68k/m68k.h: Likewise.
8771         * config/m88k/m88k.h: Likewise.
8772         * config/mips/mips.h: Likewise.
8773         * config/ns32k/ns32k.h: Likewise.
8774         * config/pdp11/pdp11.h: Likewise.
8775         * config/romp/romp.h: Likewise.
8776         * config/rs6000/rs6000.h: Likewise.
8777         * config/s390/s390.h: Likewise.
8778         * config/sh/sh.h: Likewise.
8779         * config/sparc/sparc.h: Likewise.
8780         * config/stormy16/stormy16.h: Likewise.
8781         * config/vax/vax.h: Likewise.
8782
8783 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8784
8785         * function.c (push_temp_slots_for_block): Remove.
8786         (push_temp_slots_for_target): Likewise.
8787         (get_target_temp_slot_level): Likewise.
8788         (set_target_temp_slot_level): Likewise.
8789         (get_first_block_beg): Likewise.
8790         * function.h: Remove corresponding prototypes.
8791
8792 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
8793
8794         * version.c (version_string): Now const char[].
8795         * version.h: Update to match.
8796
8797 2002-09-23  Richard Henderson  <rth@redhat.com>
8798
8799         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
8800         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
8801         (TARGET_SWITCHES): Don't reference them.
8802         * config/i386/i386.c (override_options): Use target_flags_explicit
8803         to examine bits set by the user.
8804
8805 2002-09-23  Dale Johannesen  <dalej@apple.com>
8806
8807         * dbxout.c (dbxout_parms):  Set current_sym_code for params
8808         passed on stack by invisible reference.
8809
8810 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
8811
8812         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
8813         at least one byte of space.
8814
8815 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8816
8817         * c-common.h (flag_abi_version): Fix typo in comment.
8818         * doc/invoke.texi (flag_abi_version): Document default value.
8819
8820 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
8821
8822         * doc/extend.texi (Extended Asm): Clarify that overlap between
8823         asm-declared register variables used in an asm and the asm clobber
8824         list is not allowed.
8825         * stmt.c (decl_conflicts_with_clobbers_p): New function.
8826         (expand_asm_operands): Keep track of clobbered registers.  Call
8827         decl_conflicts_with_clobbers_p for each input and output operand.
8828         If no conflicts found before, also do conflict sanity check when
8829         emitting clobbers.
8830
8831 2002-09-23  Richard Henderson  <rth@redhat.com>
8832
8833         * c-common.c (cpp_define_data_format): Remove.
8834         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
8835         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
8836         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
8837         * doc/cpp.texi: Don't document them either.
8838         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
8839         __LONG_LONG_MAX__): Document.
8840         (__TARGET_FLOAT_FORMAT__): Remove.
8841
8842 2002-09-23  Richard Henderson  <rth@redhat.com>
8843
8844         * real.c (do_multiply): Normalize U before addition.
8845
8846 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8847
8848         * c-common.c (flag_abi_version): New variable.
8849         * c-common.h (flag_abi_version): Declare it.
8850         * c-opts.c (missing_arg): Add -fabi-version.
8851         (c_common_decode_option): Process -fabi-version.
8852         * doc/invoke.texi (-fabi-version): Document it.
8853         (-Wabi): Add information about bit-fields in unions.
8854
8855 2002-09-22  Roger Sayle  <roger@eyesopen.com>
8856
8857         * expr.c (STORE_BY_PIECES_P): New target macro.
8858         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
8859         instead of MOVE_BY_PIECES_P.
8860         * doc/tm.texi: Document this new macro.
8861
8862 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8863
8864         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
8865         unless -fno-pic or -fno-PIC is specified.
8866
8867 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8868
8869         * c-common.c (preprocessing_trad_p): Define.
8870         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
8871         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
8872         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8873         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
8874         * pa-linux.h (CPP_PREDEFINES): Delete.
8875         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8876         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
8877         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
8878         (TARGET_OS_CPP_BUILTINS): Define.
8879         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
8880         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
8881         (SUBTARGET_SWITCHES): Provide default definition.
8882         (TARGET_OPTIONS): Reformat.  Use N_() macro.
8883         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
8884         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
8885         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
8886         (TARGET_CPU_CPP_BUILTINS): Define.
8887         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
8888         * doc/invoke.texi (msio, mwsio): Document new hppa options.
8889         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
8890         preprocessing_trad_p().
8891
8892 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8893
8894         * doc/install.texi: Document behavior of --with-headers and
8895         --with-libs when arguments are omitted.
8896
8897 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
8898
8899         * dbxout.c: Follow spelling conventions.
8900         * defaults.h: Likewise.
8901         * df.c: Likewise.
8902         * diagnostic.h: Likewise.
8903         * doloop.c: Likewise.
8904         * dwarf2out.c: Likewise.
8905         * dwarfout.c: Likewise.
8906         * emit-rtl.c: Likewise.
8907         * except.c: Likewise.
8908         * explow.c: Likewise.
8909         * expmed.c: Likewise.
8910         * expr.c: Likewise.
8911         * expr.h: Likewise.
8912         * flags.h: Likewise.
8913         * flow.c: Likewise.
8914         * fold-const.c: Likewise.
8915         * function.c: Likewise.
8916         * function.h: Likewise.
8917         * gcc.c: Likewise.
8918         * gcov-io.h: Likewise.
8919         * gcov.c: Likewise.
8920         * gcse.c: Likewise.
8921         * genattrtab.c: Likewise.
8922         * genconfig.c: Likewise.
8923         * genrecog.c: Likewise.
8924         * ggc-page.c: Likewise.
8925         * ggc.h: Likewise.
8926         * global.c: Likewise.
8927         * gthr-win32.h: Likewise.
8928         * integrate.c: Likewise.
8929         * jump.c: Likewise.
8930         * langhooks.c: Likewise.
8931         * langhooks.h: Likewise.
8932         * line-map.h: Likewise.
8933         * local-alloc.c: Likewise.
8934         * longlong.h: Likewise.
8935         * loop.c: Likewise.
8936         * loop.h: Likewise.
8937
8938 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
8939
8940         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
8941
8942 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
8943
8944         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
8945         for -Os/TARGET_64BIT too.
8946
8947 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
8948
8949         * ChangeLog: Follow spelling conventions.
8950         * ChangeLog.0: Likewise.
8951         * ChangeLog.1: Likewise.
8952         * ChangeLog.2: Likewise.
8953         * ChangeLog.3: Likewise.
8954         * ChangeLog.4: Likewise.
8955         * ChangeLog.5: Likewise.
8956         * ChangeLog.6: Likewise.
8957         * FSFChangeLog.10: Likewise.
8958         * FSFChangeLog.11: Likewise.
8959         * alias.c: Likewise.
8960         * basic-block.h: Likewise.
8961         * c-aux-info.c: Likewise.
8962         * c-common.c: Likewise.
8963         * c-common.h: Likewise.
8964         * c-decl.c: Likewise.
8965         * c-format.c: Likewise.
8966         * c-semantics.c: Likewise.
8967         * c-typeck.c: Likewise.
8968         * calls.c: Likewise.
8969         * cfganal.c: Likewise.
8970         * cfgloop.c: Likewise.
8971         * collect2.c: Likewise.
8972         * combine.c: Likewise.
8973         * conflict.c: Likewise.
8974         * cppexp.c: Likewise.
8975         * cppfiles.c: Likewise.
8976         * cpphash.h: Likewise.
8977         * cppinit.c: Likewise.
8978         * cpplex.c: Likewise.
8979         * cpplib.c: Likewise.
8980         * cpplib.h: Likewise.
8981         * cppmacro.c: Likewise.
8982         * cse.c: Likewise.
8983
8984 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
8985
8986         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
8987         LINK_SPEC.
8988         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
8989         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
8990         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
8991
8992 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
8993
8994         PR opt/7930
8995         * cse.c (fold_rtx): Calculate old_cost before we fold each
8996         operand.
8997
8998 2002-09-21  Richard Henderson  <rth@redhat.com>
8999
9000         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
9001         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
9002         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
9003         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
9004         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
9005         * doc/cpp.texi: Don't document them.
9006
9007 2002-09-21  Richard Henderson  <rth@redhat.com>
9008
9009         * c-common.c (builtin_define_float_constants): Use real_format
9010         to get the floating-point parameters.
9011
9012 2002-09-21  Richard Henderson  <rth@redhat.com>
9013
9014         * real.c (struct real_format): Move to real.h.
9015         (real_format_for_mode): Rename from fmt_for_mode; update all users;
9016         initialize with ieee defaults.
9017         (real_to_target_fmt, real_from_target_fmt): New.
9018         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9019         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9020         ieee_quad_format, i370_single_format, i370_double_format,
9021         c4x_single_format, c4x_extended_format): Rename from s/_format//.
9022         (ieee_quad_format): Fix emin.
9023         (format_for_size, init_real_once): Remove.
9024         * real.h (struct real_format): Move from real.c.
9025         (real_format_for_mode): Declare.
9026         (real_to_target_fmt, real_from_target_fmt): Declare.
9027         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9028         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9029         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
9030         i370_single_format, i370_double_format, c4x_single_format,
9031         c4x_extended_format): Declare.
9032         * toplev.c (do_compile): Don't call init_real_once.
9033
9034         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9035         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9036
9037         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
9038         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
9039         * config/alpha/alpha.c (override_options): Set real_format_for_mode
9040         for VAX, if enabled.
9041
9042         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
9043         for C4X.
9044
9045         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
9046         * config/i370/i370.c (override_options): New.
9047         * config/i370/i370-protos.h: Update.
9048
9049         * config/i386/i386.c (override_options): Set real_format_for_mode
9050         for Intel 80-bit extended.
9051         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9052
9053         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
9054         (OVERRIDE_OPTIONS): Move code...
9055         * config/i960/i960.c (i960_initialize): ... here.  Set
9056         real_format_for_mode for Intel 80-bit extended.
9057
9058         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
9059         for Intel 80-bit extended, if enabled.
9060
9061         * config/m68k/m68k.c (override_options): Set real_format_for_mode
9062         for Motorola 96-bit extended.
9063
9064         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
9065         * config/vax/vax.c (override_options): New.
9066         * config/vax/vax-protos.h: Update.
9067
9068 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
9069
9070         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
9071         #if TARGET_MACHO.
9072
9073         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
9074         insns.  Supply missing clobber of scratch reg.
9075
9076 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
9077
9078         * config/m32r/m32r.c: Follow spelling conventions.
9079         * config/m32r/m32r.h: Likewise.
9080         * config/m32r/m32r.md: Likewise.
9081         * config/m68k/m68k.c: Likewise.
9082         * config/m88k/m88k.c: Likewise.
9083         * config/mcore/mcore.c: Likewise.
9084         * config/mips/mips.c: Likewise.
9085         * config/mips/mips.h: Likewise.
9086         * config/mmix/mmix.c: Likewise.
9087         * config/mn10200/mn10200.c: Likewise.
9088         * config/ns32k/ns32k.h: Likewise.
9089         * config/pa/pa.c: Likewise.
9090         * config/pa/pa64-linux.h: Likewise.
9091         * config/pdp11/pdp11.h: Likewise.
9092         * config/romp/romp.c: Likewise.
9093         * config/romp/romp.h: Likewise.
9094         * config/rs6000/eabi.asm: Likewise.
9095         * config/rs6000/linux64.h: Likewise.
9096         * config/rs6000/rs6000.c: Likewise.
9097         * config/rs6000/rs6000.h: Likewise.
9098         * config/rs6000/rs6000.md: Likewise.
9099         * config/rs6000/sysv4.h: Likewise.
9100         * config/rs6000/xcoff.h: Likewise.
9101
9102 2002-09-20  Jim Wilson  <wilson@redhat.com>
9103
9104         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
9105
9106 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9107
9108         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
9109         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
9110         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
9111         (legitimate_address_p): Likewise.
9112         (legitimize_address): Use @gotntpoff and @indntpoff.
9113         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
9114         (output_addr_const_extra): Likewise.
9115
9116 2002-09-20  Jim Wilson  <wilson@redhat.com>
9117
9118         * combine.c (try_combine): When split an instruction pair, where the
9119         first has a sign_extend src, verify that the src and dest modes match.
9120
9121 2002-09-20  Richard Henderson  <rth@redhat.com>
9122
9123         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
9124         (override_options): Do not initialize them.
9125         (mips_const_double_ok): Allow no fp constants except zero,
9126         and not even that for mips16.
9127         (const_float_1_operand): Use dconst1.
9128         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
9129         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
9130         Don't allow arbitrary constants; fix predicates and C constraint.
9131
9132 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
9133
9134         * cppmacro.c: Don't warn about function-like macros without
9135         '(' during pre-expansion.
9136
9137 2002-09-20  Jim Wilson  <wilson@redhat.com>
9138
9139         * config/v850/v850.c (current_function_anonymous_args): Delete.
9140         (expand_prologue): Use current_function_args_info.anonymous_args.
9141         (expand_epilogue): Delete use of current_function_anonymous_args.
9142         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
9143         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
9144         (current_function_anonymous_args): Delete extern declaration.
9145         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
9146
9147 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
9148
9149         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
9150         to load_macho_picbase.
9151         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
9152         (load_macho_picbase): Take the symbol to use as a parameter.
9153         (macho_correct_pic): New insn.
9154         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
9155
9156         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
9157         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
9158         (CAN_ELIMINATE): Likewise.
9159         (INITIAL_ELIMINATION_OFFSET): Likewise.
9160         (TOC_REGISTER): Likewise.
9161
9162 2002-09-20  Richard Henderson  <rth@redhat.com>
9163
9164         * real.c (real_hash): New.
9165         * real.h: Declare it.
9166         * cse.c (canon_hash): Use it.
9167         * cselib.c (hash_rtx): Likewise.
9168         * emit-rtl.c (const_double_htab_hash): Likewise.
9169         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
9170         * varasm.c (struct rtx_const): Reduce vector size; separate
9171         integer and fp vectors.
9172         (HASHBITS): Remove.
9173         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
9174         take modulus MAX_HASH_TABLE.
9175         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
9176         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
9177         (SYMHASH): Don't use HASHBITS.
9178         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
9179         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
9180         (simplify_subtraction): Fix kind comparison.
9181         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
9182         Use a union to pun integer array.
9183         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
9184         only hash two words of integral CONST_DOUBLE.
9185
9186 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
9187
9188         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
9189         (STARTFILE_PREFIX_SPEC): New.
9190         (LINK_SPEC): Modify.
9191         (LIB_SPEC): Modify.
9192         (LIBGCC_SPEC): New.
9193
9194 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9195
9196         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
9197         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
9198
9199 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
9200
9201         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
9202         Add clobber of the condition code register.
9203
9204 2002-09-20  Richard Henderson  <rth@redhat.com>
9205
9206         * real.c (do_fix_trunc): Static.
9207         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
9208         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
9209         encode_i370_single, encode_i370_double, encode_c4x_single,
9210         encode_c4x_extended): Add default abort case.
9211
9212 2002-09-20  Richard Henderson  <rth@redhat.com>
9213
9214         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
9215         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
9216         (struct realvaluetype): Remove.
9217         (REAL_VALUE_TYPE): Use struct real_value.
9218         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
9219         (test_real_width): New.
9220         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
9221         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
9222         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
9223         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
9224         real_to_integer, real_to_integer2, real_to_decimal,
9225         real_to_hexadecimal, real_from_string, real_from_integer,
9226         real_inf, real_nan, real_2expN, real_convert, real_to_target,
9227         real_from_target): Likewise.
9228         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
9229         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
9230
9231 2002-09-20  Richard Henderson  <rth@redhat.com>
9232
9233         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
9234         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
9235         * defaults.h: ... here.
9236         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
9237         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
9238         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
9239         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
9240
9241 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
9242
9243         * config/mmix/mmix.md ("negdf2"): Rewrite.
9244         ("*expanded_negdf2"): New.
9245
9246 2002-09-19  Jim Wilson  <wilson@redhat.com>
9247
9248         * combine.c (simplify_set): When optimizing a subreg src with a
9249         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
9250
9251 2002-09-19  Dale Johannesen <dalej@apple.com>
9252         * combine.c (make_extraction): Don't create
9253         invalid subreg.
9254
9255 2002-09-19  Roger Sayle  <roger@eyesopen.com>
9256
9257         * tree.c (integer_nonzerop): New predicate for nonzero integers.
9258         * tree.h (integer_nonzerop): Add function prototype.
9259         * stmt.c (expand_end_loop):  Don't rotate the loop when there
9260         are no instructions in the test, i.e. the loop is unconditional.
9261         (expand_exit_loop_if_false):  Optimize RTL generation of loop
9262         tests when the condition is always true or always false.
9263         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
9264         do-loops when the condition is always true.
9265         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
9266         the for-expression is empty.
9267
9268 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
9269
9270         * gcc.c (use_pipes): New flag.
9271         (process_command): Set it.  Adjust check for -pipe conflicting
9272         with -time or -save-temps.
9273         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
9274         %<SWITCH.  Drop %| (without a SUFFIX).
9275         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
9276         (give_switch): Third argument eliminated.
9277         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
9278         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
9279         (specs documentation comment): Update.
9280
9281         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
9282         config/svr4.h, config/i386/freebsd-aout.h,
9283         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
9284         config/m68k/openbsd.h, config/mips/openbsd.h,
9285         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
9286         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
9287         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
9288         * config/cris/cris.h: Update comment.
9289
9290         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
9291         error messages.  Don't use %{^SWITCH}.
9292         * ada/misc.c (gnat_decode_option): Handle -I with a
9293         separate argument.
9294
9295         * f/lang-specs.h: Use %| and %m.
9296         * java/jvspec.c: Use %m and %(invoke_as).  Change all
9297         uses of %{<SWITCH} to %<SWITCH.
9298
9299         * doc/invoke.texi: Update documentation of specs.
9300         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
9301
9302 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
9303
9304         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
9305         and STRICT_LOW_PART within SET_DEST.
9306         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
9307         splitters, replacing pre-reload splitters.
9308         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
9309         "*zero_extendqihi2_31"): New insns.
9310         ("*zero_extendqihi2_64"): Do not clobber CC.
9311
9312 2002-09-18  Devang Patel  <dpatel@apple.com>
9313
9314         * cp/cp-tree.h: New prototype for walk_vtables().
9315         * cp/decl.c (walk_vtables_r): New function.
9316         (struct cp_binding_level): Add new members, namespaces,
9317         names_size and vtables.
9318         (add_decl_to_level): Add decl in namespaces or vtables
9319         chain, if conditions match.
9320         (walk_vtables): New function.
9321         (walk_namespaces_r): Travers separate namespace chain
9322         for namespace decls.
9323         (wrapup_globals_for_namespace): Use names_size instead
9324         of list_length().
9325         * cp/decl2.c (finish_file): Use walk_vtables() instead of
9326         walk_globals() to walk vtable decls.
9327
9328 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
9329
9330         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
9331         (DTORS_SECTION_ASM_OP): Ditto.
9332         (READONLY_DATA_SECTION_ASM_OP): Moved.
9333         (DATA_SECTION_ASM_OP): New.
9334         (SDATA_SECTION_ASM_OP): New.
9335         (BSS_SECTION_ASM_OP): New.
9336         (SBSS_SECTION_ASM_OP): New.
9337         (TEXT_SECTION_ASM_OP): New.
9338
9339 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
9340
9341         * config/fp-bit.c: Follow spelling conventions.
9342         * config/d30v/d30v.c: Likewise.
9343         * config/d30v/d30v.h: Likewise.
9344         * config/fr30/fr30.c: Likewise.
9345         * config/fr30/fr30.h: Likewise.
9346         * config/fr30/fr30.md: Likewise.
9347         * config/frv/frv.c: Likewise.
9348         * config/frv/frv.h: Likewise.
9349         * config/h8300/h8300.c: Likewise.
9350         * config/h8300/lib1funcs.asm: Likewise.
9351         * config/i370/i370.c: Likewise.
9352         * config/i386/i386.h: Likewise.
9353         * config/i386/i386.md: Likewise.
9354         * config/i386/pentium.md: Likewise.
9355         * config/i386/winnt.c: Likewise.
9356         * config/i960/i960.c: Likewise.
9357         * config/ia64/ia64.h: Likewise.
9358         * config/ip2k/ip2k.c: Likewise.
9359         * config/ip2k/ip2k.h: Likewise.
9360         * config/ip2k/ip2k.md: Likewise.
9361         * config/ip2k/libgcc.S: Likewise.
9362
9363 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
9364
9365         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
9366         (GOTOFF_P): Extend to allow gotoff plus constant.
9367
9368 2002-09-18  Richard Henderson  <rth@redhat.com>
9369
9370         * ifcvt.c (noce_process_if_block): Correctly detect X modified
9371         with INSN_B before COND_EARLIEST.  Don't check A and B for
9372         modification in condition range.  Reorder INSN_B for A==B properly.
9373         (if_convert): Iterate until no matches for a block.
9374
9375 2002-09-18  Richard Henderson  <rth@redhat.com>
9376
9377         * calls.c (store_one_arg): Rename default_align to parm_align;
9378         always adjust parm_align for downward padding.
9379
9380 2002-09-18  Richard Henderson  <rth@redhat.com>
9381
9382         * toplev.c (backend_init): Move init_real_once invocation ...
9383         (do_compile): ... here.
9384
9385 2002-09-18  Richard Henderson  <rth@redhat.com>
9386
9387         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
9388         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
9389
9390 2002-09-18  Richard Henderson  <rth@redhat.com>
9391
9392         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
9393
9394 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
9395
9396         * config/rs6000/rs6000.md: (floatdisf2): Rename to
9397         floatdisf2_internal1.
9398         (floatdisf2): New define_expand.
9399         (floatdisf2_internal2): Likewise.
9400
9401 2002-09-18  Richard Henderson  <rth@redhat.com>
9402
9403         * real.c (sticky_rshift_significand): Collect sticky as
9404         unsigned long, not bool.
9405
9406 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
9407
9408         * config/s390/s390.c (s390_address_cost): New function.
9409         config/s390/s390-protos.h (s390_address_cost): Add prototype.
9410         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
9411         (RTX_COST): Use COSTS_N_INSNS.
9412
9413 2002-09-18  Douglas Rupp  <rupp@gnat.com>
9414             Donn Terry  <donnte@microsoft.com>
9415
9416         * stor-layout.c (place_field): Handle alignment of whole
9417         structures when MSVC compatible bitfields are involved.
9418         Change method of computing location of MS bitfields to
9419         be compatible with #pragma pack(n).
9420
9421         * tree.h (record_layout_info): Add new field
9422         remaining_in_alignment.
9423
9424         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
9425         (pragma pack): Add paragraph on MSVC bitfield packing.
9426
9427 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
9428
9429         PR optimization/7967
9430         * arm.md (ne_zeroextractsi): Add clobber of the condition code
9431         register.
9432
9433 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
9434
9435         * config/s390/s390.c: Follow spelling conventions.
9436         * config/sh/lib1funcs.asm: Likewise.
9437         * config/sh/sh.c: Likewise.
9438         * config/sh/sh.h: Likewise.
9439         * config/sparc/sparc.c: Likewise.
9440         * config/sparc/sparc.h: Likewise.
9441         * config/sparc/sparc.md: Likewise.
9442         * config/stormy16/stormy16.c: Likewise.
9443         * config/stormy16/stormy16.h: Likewise.
9444         * config/v850/v850.c: Likewise.
9445         * config/v850/v850.h: Likewise.
9446         * config/vax/vax.c: Likewise.
9447         * config/vax/vax.h: Likewise.
9448
9449 2002-09-18  Nick Clifton  <nickc@redhat.com>
9450
9451         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
9452         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
9453         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
9454
9455 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9456
9457         * function.c (max_parm_reg_num): Remove.
9458         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
9459         drop_through_at_end_p, move_cleanups_up,
9460         expand_end_case_dummy, case_index_expr_type): Likewise.
9461         * stor-layout.c (pos_from_byte): Likewise.
9462         * tree.c (chain_member_value, chain_member_purpose, listify,
9463         tree_int_cst_msb, index_type_equal): Likewise.
9464         * tree.h: Remove prototypes for unused functions.
9465
9466 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
9467
9468         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
9469         statement that the only translation is to en_UK.
9470
9471 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9472
9473         * config/alpha/alpha.c: Follow spelling conventions.
9474         * config/alpha/alpha.h: Likewise.
9475         * config/alpha/alpha.md: Likewise.
9476         * config/arc/arc.h: Likewise.
9477         * config/arm/arm.c: Likewise.
9478         * config/arm/arm.h: Likewise.
9479         * config/arm/arm.md: Likewise.
9480         * config/arm/pe.c: Likewise.
9481         * config/arm/unknown-elf.h: Likewise.
9482         * config/avr/avr.c: Likewise.
9483         * config/avr/avr.h: Likewise.
9484         * config/c4x/c4x.c: Likewise.
9485         * config/cris/cris.c: Likewise.
9486         * config/cris/cris.h: Likewise.
9487
9488 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
9489
9490         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
9491         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
9492         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
9493
9494 2002-09-17  Dale Johannesen  <dalej@apple.com>
9495
9496         * cfgcleanup.c (try_forward_edges):  Do not forward a
9497         branch to just after a loop exit before loop optimization;
9498         this interfered with doloop detection.
9499
9500 2002-09-17  Nick Clifton  <nickc@redhat.com>
9501
9502         * config/arm/arm.c (output_return_instruction): Do not
9503         writeback the stack pointer when it is being loaded.
9504         (arm_output_epilogue): Likewise.
9505
9506 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9507
9508         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
9509         generate a pseudo reg that receives the result of a libcall.
9510         (prepare_float_lib_cmp): Likewise.
9511
9512 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
9513
9514         * config/ia64/elf.h: Remove CPP_PREDEFINES.
9515
9516 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9517
9518         Fix PR/7014 and related objc bugs:
9519         * c-typeck.c (comp_target_types): Added a reflexive argument.
9520         Pass it to ObjC when/if calling objc_comptypes().  Updated all
9521         callers to provide the appropriate reflexive argument.
9522         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
9523         typechecking for all cases of comparisons and assignments,
9524         particularly the obscure and less common ones involving protocols.
9525
9526 2002-09-17  Nick Clifton  <nickc@redhat.com>
9527
9528         * machmode.def (V1DImode): New mode.  A single element vector.
9529         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
9530         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
9531         * tree.c (build_common_tree_nodes_2): Build
9532         unsigned_V1DI_type_node and V1D1_type_node.
9533         * c-common.c (c_common_type_for_mode): Return
9534         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
9535         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
9536
9537 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9538
9539         * doc/objc.texi (Constant string objects): Extended documentation
9540         to make clear that the constant string class ivar layout is
9541         completely fixed.
9542
9543 2002-09-17  Roger Sayle  <roger@eyesopen.com>
9544
9545         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
9546         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
9547
9548 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9549
9550         * config/mips/mips.c (save_restore_insns): Remove unused variable.
9551         * gcc.c (make_relative_prefix): Likewise.
9552         * loop.c (check_final_value): Likewise.
9553         * jump.c (init_label_info): Remove return value.
9554         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
9555
9556 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9557
9558         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
9559         (ASM_PN_FORMAT): Define.
9560
9561 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9562
9563         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
9564         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
9565         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
9566         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
9567         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
9568         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
9569         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
9570         Delete.
9571         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
9572         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
9573         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
9574
9575         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
9576         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
9577
9578 2002-09-16  Richard Henderson  <rth@redhat.com>
9579
9580         * expr.c (emit_block_move): Set memory block size as appropriate
9581         for the copy.
9582
9583 2002-09-16  Richard Henderson  <rth@redhat.com>
9584
9585         PR fortran/3924
9586         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
9587
9588 2002-09-16  Richard Henderson  <rth@redhat.com>
9589
9590         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
9591         as well as OFFSET for BITPOS.
9592
9593 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
9594
9595         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
9596         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
9597         winchip2 and c3.
9598         * doc/invoke.texi: Mention new aliases.
9599
9600 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9601
9602         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
9603         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
9604         downward.
9605         * function.c (pad_below):  Always compile.
9606         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
9607         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
9608         Pad below when the argument is not in a register and the padding
9609         direction is downward.
9610
9611         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
9612         (PAD_VARARGS_DOWN): Define.
9613         * pa.c (function_arg_padding): Revise padding directions to make them
9614         compatible with the 32 and 64-bit runtime architecture documentation.
9615         (hppa_va_arg):  Add code to handle variable and size zero arguments
9616         passed by reference on TARGET_64BIT.  Reformat.
9617         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
9618         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
9619         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
9620         Add comments.
9621         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
9622         (RETURN_IN_MEMORY): Return size zero types in memory.
9623         (FUNCTION_VALUE): Return TFmode in general registers.
9624         (MUST_PASS_IN_STACK): Define.
9625         (FUNCTION_ARG_BOUNDARY): Simplify.
9626         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
9627         by reference.
9628         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
9629
9630 2002-09-16  Richard Henderson  <rth@redhat.com>
9631
9632         * real.c (do_fix_trunc): New.
9633         (real_arithmetic): Call it.
9634         * simplify-rtx.c (simplify_unary_operation): Handle FIX
9635         with a floating-point result mode.
9636
9637 2002-09-16  Richard Henderson  <rth@redhat.com>
9638
9639         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
9640         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
9641         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
9642         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
9643         * builtins.c (fold_builtin_nan): New.
9644         (fold_builtin): Call it.
9645         * real.c (real_nan): Parse a non-empty string.
9646         (round_for_format): Fix NaN significand truncation.
9647         * real.h (real_nan): Return bool.
9648         * doc/extend.texi: Document new builtins.
9649
9650 2002-09-16  Jason Merrill  <jason@redhat.com>
9651             Danny Smith  <dannysmith@users.sourceforge.net>
9652
9653         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
9654         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
9655         (i386_pe_mark_dllimport): Not here.
9656
9657 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
9658
9659         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
9660
9661 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
9662
9663         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
9664         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
9665         < 64.
9666         (rs6000_emit_cmove): Use real_isinf not target_isinf.
9667
9668 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9669
9670         * calls.c (emit_library_call_value_1): Don't refer to
9671         hard_libcall_value.
9672         * optabs.c (prepare_float_lib_cmp): Likewise.
9673
9674 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
9675
9676         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
9677         mangling.
9678
9679         The following changes are merged from pch-branch:
9680
9681         * doc/gty.texi (GTY Options): Document %a.
9682         * gengtype.c (do_scalar_typedef): New function.
9683         (process_gc_options): Handle `length' option.
9684         (set_gc_used_type): A pointer to an array of structures doesn't
9685         qualify as a pointer to a structure.
9686         (output_escaped_param): Add `%a' escape.
9687         (write_gc_structure_fields): Allow 'desc' on array of unions.
9688         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
9689         do_scalar_typedef.
9690
9691         * gengtype.c (enum rtx_code): Make global.
9692         (rtx_format): Make global.
9693         (rtx_next): New.
9694         (gen_rtx_next): New.
9695         (write_rtx_next): New.
9696         (adjust_field_rtx_def): Skip fields marked by chain_next.
9697         (open_base_files): Delete redundant prototype.
9698         (write_enum_defn): New.
9699         (output_mangled_typename): Correct abort call.
9700         (write_gc_marker_routine_for_structure): Handle chain_next and
9701         chain_prev options.
9702         (finish_root_table): Don't output redundant \n.
9703         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
9704         * c-tree.h (union lang_tree_node): Add chain_next option.
9705
9706         * gengtype.h (NUM_PARAM): New definition.
9707         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
9708         * gengtype.c (find_param_structure): New.
9709         (adjust_field_type): Handle param<n>_is option.
9710         (process_gc_options): Detect use_params option.  Update callers.
9711         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
9712         'use_params' option.
9713         (open_base_files): Add splay-tree.h to list of files included.
9714         (output_mangled_typename): New.
9715         (write_gc_structure_fields): Update 'param' parameter to support
9716         multiple parameters.  Change name mangling.  Allow parameterized
9717         fields to have an apparent scalar type.  Handle param<n>_is options,
9718         use_param option.
9719         (write_gc_marker_routine_for_structure): Update for change to name
9720         mangling.  Better guess the output file for parameterized types.
9721         (write_gc_types): Update for change to name mangling.
9722         (write_gc_root): Update for change to name mangling.  Handle (ignore)
9723         param<n>_is options.
9724         * doc/gty.texi (GTY Options): Add description of param<n>_is
9725         options, use_params option.
9726         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
9727         * gengtype-lex.l: Produce token for param<n>_is.
9728         * gengtype-yacc.y: Parse param<n>_is.
9729
9730         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
9731
9732         * rtl.c: Update comment describing rtx_format.
9733         * rtl.h (union rtunion): Separate definition and typedef.
9734         (struct rtx_def): Use gengtype to mark.
9735         * Makefile.in (gengtype.o): Also depend on rtl.def.
9736         * ggc.h (ggc_mark_rtx_children): Delete prototype.
9737         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
9738         * ggc-common.c (ggc_mark_rtx_children): Delete.
9739         (ggc_mark_rtx_children_1): Delete.
9740         (gt_ggc_m_rtx_def): Delete.
9741         * gengtype.c (adjust_field_rtx_def): New.
9742         (adjust_field_type): Call adjust_field_rtx_def.
9743         (write_gc_structure_fields): Add 'default' case to switch if none
9744         is specified; remove unused code.
9745
9746         * tree.h (struct tree_exp): Update for change to meaning
9747         of special.
9748         * gengtype.c (adjust_field_tree_exp): New function.
9749         (adjust_field_type): Handle `tree_exp' special here.
9750         (write_gc_structure_fields): Don't handle `tree_exp' special here.
9751         Handle new `dot' option.
9752
9753         * gengtype.h: Make `info' a pointer-to-const.
9754         * gengtype-yacc.y (yacc_ids): Use xasprintf.
9755
9756         * gengtype.c (write_gc_structure_fields): Remove implementation
9757         of `always' option, add `default' option.
9758         * doc/gty.texi (GTY Options): Remove documentation of `always',
9759         add `default'.
9760
9761 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
9762
9763         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
9764
9765 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9766
9767         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
9768
9769         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
9770         instead of the *-protos.h file directly.
9771         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
9772         * darwin.c (machopic_output_stub): Move prototype ...
9773         * darwin-protos.h (machopic_output_stub): ... here.
9774         * rs6000-protos.h (machopic_output_stub): Don't declare.
9775
9776 2002-09-16  Richard Henderson  <rth@redhat.com>
9777
9778         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
9779
9780 2002-09-16  Richard Henderson  <rth@redhat.com>
9781
9782         * real.c, real.h: Rewrite from scratch.
9783
9784         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
9785         (paranoia): New target.
9786         * builtins.c (fold_builtin_inf): Use new real.h interface.
9787         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
9788         * c-lex.c (interpret_float): Likewise.
9789         * emit-rtl.c (gen_lowpart_common): Likewise.
9790         * optabs.c (expand_float): Use real_2expN.
9791         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
9792         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
9793         (FLOAT_WORDS_BIG_ENDIAN): New.
9794         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
9795         directly to REAL_VALUE_NEGATIVE.
9796         * loop.c (canonicalize_condition): Likewise.
9797         * simplify-rtx.c: Include tree.h.
9798         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
9799         with floating-point result modes.
9800         * toplev.c (backend_init): Call init_real_once.
9801
9802         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
9803         * tree.c (build_real): Likewise.
9804         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
9805         float_values, inited_float_values, check_float_value): Remove.
9806         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
9807         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
9808         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
9809         (VAX_HALFWORD_ORDER): Remove.
9810
9811 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
9812
9813         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
9814         (s390_load_address): ... this new function.
9815         (s390_decompose_address): Allow the argument pointer and all
9816         virtual registers as 'pointer' registers.
9817         (s390_expand_plus_operand): Use s390_load_address.
9818         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
9819         ("force_la_31"): New insn pattern.
9820         config/s390/s390-protos.h (legitimize_la_operand): Remove.
9821         (s390_load_address): Add prototype.
9822
9823         * config/s390/s390.c: Include "optabs.h".
9824         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
9825         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
9826         s390_expand_cmpstr): Add prototypes.
9827         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
9828         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
9829         for operands 0 and 1 to "memory_operand".  Add type attribute.
9830         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
9831         for operands 0 and 1 to "memory_operand".  Add type attribute.
9832         ("movstrdi_long", "movstrsi_long"): Remove.
9833         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
9834         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
9835         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
9836         ("clrstrsico"): Remove, replace by ...
9837         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
9838         ("clrstrsi_64"): Rename to "clrstr_long_64".
9839         ("clrstrsi_31"): Rename to "clrstr_long_31".
9840         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
9841         ("cmpstr_const"): Remove, replace by ...
9842         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
9843         ("cmpstr_64"): Rename to "cmpstr_long_64".
9844         ("cmpstr_31"): Rename to "cmpstr_long_31".
9845
9846 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9847
9848         * ABOUT-NLS: Follow spelling conventions.
9849         * ChangeLog: Likewise.
9850         * ChangeLog.1: Likewise.
9851         * ChangeLog.2: Likewise.
9852         * ChangeLog.3: Likewise.
9853         * ChangeLog.4: Likewise.
9854         * ChangeLog.5: Likewise.
9855         * ChangeLog.6: Likewise.
9856         * FSFChangeLog.10: Likewise.
9857         * FSFChangeLog.11: Likewise.
9858         * c-common.c: Likewise.
9859         * c-lex.c: Likewise.
9860         * c-objc-common.c: Likewise.
9861         * cppexp.c: Likewise.
9862         * cppinit.c: Likewise.
9863         * cpplex.c: Likewise.
9864         * doloop.c: Likewise.
9865         * flow.c: Likewise.
9866         * function.c: Likewise.
9867         * integrate.c: Likewise.
9868         * loop.c: Likewise.
9869         * reg-stack.c: Likewise.
9870         * reload.h: Likewise.
9871         * ssa.c: Likewise.
9872
9873 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9874
9875         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
9876         * vmsdbgout.c: Include "target.h".
9877
9878 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9879
9880         * ChangeLog: Follow spelling conventions.
9881         * ChangeLog.0: Likewise.
9882         * ChangeLog.1: Likewise.
9883         * ChangeLog.2: Likewise.
9884         * ChangeLog.4: Likewise.
9885         * ChangeLog.6: Likewise.
9886         * config.gcc: Likewise.
9887         * dwarfout.c: Likewise.
9888         * reload1.c: Likewise.
9889         * simplify-rtx.c: Likewise.
9890         * unwind-sjlj.c: Likewise.
9891         * config/avr/avr.h: Likewise.
9892         * config/d30v/d30v.h: Likewise.
9893         * config/frv/frv.c: Likewise.
9894         * config/frv/frv.h: Likewise.
9895         * config/ip2k/ip2k.h: Likewise.
9896         * config/m88k/m88k-move.sh: Likewise.
9897         * config/stormy16/stormy16.c: Likewise.
9898         * config/stormy16/stormy16.h: Likewise.
9899         * doc/extend.texi: Likewise.
9900         * doc/interface.texi: Likewise.
9901         * doc/invoke.texi: Likewise.
9902         * doc/md.texi: Likewise.
9903         * doc/rtl.texi: Likewise.
9904         * doc/tm.texi: Likewise.
9905         * doc/trouble.texi: Likewise.
9906         * ginclude/float.h: Likewise.
9907         * treelang/treelang.texi: Likewise.
9908
9909 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9910
9911         * i386-protos.h (i386_pe_dllexport_name_p,
9912         i386_pe_dllimport_name_p, i386_pe_unique_section,
9913         i386_pe_declare_function_type, i386_pe_record_external_function,
9914         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
9915         prototype.
9916         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
9917         * i386/t-interix (winnt.o): Likewise.
9918
9919         * v850-protos.h (v850_output_addr_const_extra): Prototype.
9920
9921 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9922
9923         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
9924         MIPS ABI CPP macros.
9925         (TARGET_CPU_CPP_BUILTINS): Redefine.
9926         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
9927         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
9928
9929 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9930
9931         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
9932
9933 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9934
9935         * ChangeLog: Follow spelling conventions.
9936         * ChangeLog.0: Likewise.
9937         * ChangeLog.1: Likewise.
9938         * ChangeLog.2: Likewise.
9939         * ChangeLog.3: Likewise.
9940         * ChangeLog.4: Likewise.
9941         * ChangeLog.5: Likewise.
9942         * ChangeLog.6: Likewise.
9943         * FSFChangeLog.10: Likewise.
9944         * FSFChangeLog.11: Likewise.
9945         * c-common.c: Likewise.
9946         * c-common.h: Likewise.
9947         * c-format.c: Likewise.
9948         * c-opts.c: Likewise.
9949         * cpplib.c: Likewise.
9950         * langhooks.h: Likewise.
9951         * real.c: Likewise.
9952         * reg-stack.c: Likewise.
9953         * toplev.c: Likewise.
9954         * config/arm/arm.c: Likewise.
9955         * config/arm/arm.md: Likewise.
9956         * config/arm/linux-gas.h: Likewise.
9957         * config/arm/netbsd.h: Likewise.
9958         * config/c4x/c4x.c: Likewise.
9959         * config/c4x/c4x.h: Likewise.
9960         * config/c4x/c4x.md: Likewise.
9961         * config/c4x/libgcc.S: Likewise.
9962         * config/fr30/fr30.md: Likewise.
9963         * config/frv/frv.md: Likewise.
9964         * config/ia64/ia64.md: Likewise.
9965         * config/mips/mips.h: Likewise.
9966         * config/mn10300/mn10300.c: Likewise.
9967         * config/stormy16/stormy16.c: Likewise.
9968         * config/v850/v850.md: Likewise.
9969         * doc/extend.texi: Likewise.
9970         * doc/invoke.texi: Likewise.
9971         * doc/md.texi: Likewise.
9972
9973 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9974
9975         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
9976         library if -pthread is specified.
9977
9978 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9979
9980         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
9981         for --enable-threads=yes and --enable-threads=posix.
9982
9983 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9984
9985         * config/sparc/cypress.md: Replace Sparc with SPARC.
9986         * config/sparc/freebsd.h: Likewise.
9987         * config/sparc/gmon-sol2.c: Likewise.
9988         * config/sparc/hypersparc.md: Likewise.
9989         * config/sparc/lb1spc.asm: Likewise.
9990         * config/sparc/lb1spl.asm: Likewise.
9991         * config/sparc/linux.h: Likewise.
9992         * config/sparc/linux64.h: Likewise.
9993         * config/sparc/lynx.h: Likewise.
9994         * config/sparc/sol2.h: Likewise.
9995         * config/sparc/sparc-modes.def: Likewise.
9996         * config/sparc/sparc.c: Likewise.
9997         * config/sparc/sparc.h: Likewise.
9998         * config/sparc/sparc.md: Likewise.
9999         * config/sparc/sparclet.md: Likewise.
10000         * config/sparc/supersparc.md: Likewise.
10001         * config/sparc/sysv4.h: Likewise.
10002         * config/sparc/vxsim.h: Likewise.
10003         * config/sparc/vxsparc64.h: Likewise.
10004
10005 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10006
10007         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
10008         * collect2.c (ignore_library, aix_std_libs): Move into the context
10009         where it is used.
10010         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
10011         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
10012         * m88k.c (output_call): Wrap variables with macro controlling use.
10013         * rs6000.md: Likewise.  Const-ify variable.
10014         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
10015         * final.c (only_leaf_regs_used): Likewise.
10016         * regrename.c (maybe_mode_change): Mark parameter with
10017         ATTRIBUTE_UNUSED.
10018         * reload.c (find_valid_class): Likewise.  Likewise for variable.
10019         (find_reloads_address_1): Likewise.
10020         * varasm.c (weak_finish): Wrap variable with macro controlling use.
10021
10022 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
10023
10024         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
10025
10026 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10027
10028         * ChangeLog: Follow spelling conventions.
10029         * ChangeLog.0: Likewise.
10030         * ChangeLog.2: Likewise.
10031         * ChangeLog.3: Likewise.
10032         * ChangeLog.4: Likewise.
10033         * ChangeLog.5: Likewise.
10034         * ChangeLog.6: Likewise.
10035         * cppfiles.c: Likewise.
10036         * cppinit.c: Likewise.
10037         * cpplib.h: Likewise.
10038         * cse.c: Likewise.
10039         * debug.h: Likewise.
10040         * df.c: Likewise.
10041         * dominance.c: Likewise.
10042         * hashtable.c: Likewise.
10043         * hashtable.h: Likewise.
10044         * loop.c: Likewise.
10045         * config/arm/README-interworking: Likewise.
10046         * config/arm/arm.c: Likewise.
10047         * config/arm/arm.h: Likewise.
10048         * config/arm/arm.md: Likewise.
10049         * config/dsp16xx/dsp16xx.h: Likewise.
10050         * config/frv/frv.c: Likewise.
10051         * config/frv/frv.h: Likewise.
10052         * config/ip2k/ip2k.h: Likewise.
10053         * config/rs6000/rs6000.c: Likewise.
10054         * config/stormy16/stormy-abi: Likewise.
10055         * config/stormy16/stormy16.h: Likewise.
10056         * config/v850/v850.c: Likewise.
10057
10058 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10059
10060         * loop.c: Fix a comment typo.
10061
10062 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10063
10064         * config/fr30/fr30.h: Fix comment typos.
10065         * config/frv/frv.c: Likewise.
10066         * config/i386/xmmintrin.h: Likewise.
10067         * config/mips/mips.c: Likewise.
10068         * config/sh/sh.c: Likewise.
10069
10070 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10071
10072         * haifa-sched.c: Follow spelling conventions.
10073         * regclass.c: Likewise.
10074         * regrename.c: Likewise.
10075         * config/fp-bit.c: Likewise.
10076         * config/frv/frv.h: Likewise.
10077         * config/m88k/m88k.c: Likewise.
10078         * config/mcore/mcore.c: Likewise.
10079         * config/rs6000/darwin.h: Likewise.
10080         * config/rs6000/gnu.h: Likewise.
10081         * config/rs6000/linux.h: Likewise.
10082         * config/rs6000/linux64.h: Likewise.
10083         * config/rs6000/rs6000.c: Likewise.
10084         * config/rs6000/rs6000.h: Likewise.
10085         * config/sh/sh.c: Likewise.
10086         * config/sparc/sparc.c: Likewise.
10087         * config/sparc/ultra1_2.md: Likewise.
10088
10089 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
10090
10091         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
10092         memory operand when source is 0 (K constraint).
10093         ("movsi_internal"): Likewise.
10094         ("movdf_internal"): Likewise.
10095         ("movsf_internal"): Likewise.
10096
10097 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10098
10099         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
10100         targetm.binds_local_p to set SYMBOL_REF_FLAG.
10101         (rs6000_xcoff_encode_section_info): Likewise.
10102         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10103
10104 2002-09-10  Theodore A. Roth  <troth@verinet.com>
10105
10106         * gcc/config/avr/avr.h: Set default options for C++ for avr.
10107
10108 2002-09-13  Roger Sayle  <roger@eyesopen.com>
10109
10110         * stmt.c (struct nexting): Remove unused alt_end_label field.
10111         (expand_start_loop): Delete initialization of alt_end_label.
10112         (expand_start_null_loop): Likewise.
10113         (expand_exit_loop_if_false): Delete updating of alt_end_label.
10114
10115 2002-09-13  Richard Henderson  <rth@redhat.com>
10116
10117         * Makefile.in (toplev.o): Depend on real.h.
10118         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
10119
10120 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10121
10122         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
10123         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
10124         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
10125
10126 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
10127
10128         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
10129
10130 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10131
10132         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
10133         ia64*-*-linux*): Set extra_parts.
10134         * config/ia64/t-aix (EXTRA_PARTS): Remove.
10135         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
10136
10137 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10138
10139         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
10140         * config/h8300/h8300.c: Likewise.
10141         * config/h8300/h8300.h: Likewise.
10142         * config/h8300/h8300.md: Likewise.
10143         * doc/invoke.texi: Likewise.
10144
10145 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10146
10147         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
10148
10149 2002-09-13  Richard Henderson  <rth@redhat.com>
10150
10151         * config/alpha/alpha.md (attr type): Add callpal.
10152         (imb, trap, load_tp, set_tp): Use it.
10153         * config/alpha/ev4.md (ev4_callpal): New.
10154         * config/alpha/ev5.md (ev5_callpal): New.
10155         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
10156         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
10157         (alphaev5_insn_pipe): Likewise.
10158
10159 2002-09-13  Andreas Jaeger  <aj@suse.de>
10160
10161         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
10162
10163 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10164
10165         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
10166         LIB2ADDEH): New, set to NULL.
10167         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
10168
10169 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10170
10171         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
10172         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
10173         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
10174         Add declarations.
10175         (_U_Qfneg): Remove.
10176
10177 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
10178
10179         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
10180         for H8/300, H8S aa:8 mode.
10181         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
10182         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
10183         for H8/300 aa:8 mode.
10184
10185 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
10186
10187         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
10188         insns.
10189
10190 2002-09-12  Richard Henderson  <rth@redhat.com>
10191
10192         * Makefile.in (HOST_PRINT): Use print-rtl1.o
10193         (print-rtl.o): Don't define GENERATOR_FILE.
10194         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
10195         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
10196         unless GENERATOR_FILE.
10197
10198 2002-09-12  Stan Shebs  <shebs@apple.com>
10199
10200         * config/darwin.h (USER_LABEL_PREFIX): Define here...
10201         * config/i386/darwin.h: ... instead of here.
10202
10203         * target.h (struct gcc_target): New field
10204         terminate_dw2_eh_frame_info.
10205         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10206         (TARGET_INITIALIZER): Add it.
10207         * dwarf2out.c (output_call_frame_info): Use target hook.
10208         * dwarf2asm.c (dw2_asm_output_delta): Use macro
10209         ASM_OUTPUT_DWARF_DELTA if defined.
10210         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
10211         (ASM_OUTPUT_DWARF_DELTA): Ditto.
10212         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
10213         (ASM_OUTPUT_DWARF_PCREL): Ditto.
10214         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
10215         (powerpc-*-darwin*): Ditto.
10216         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
10217         to work correctly for Darwin.
10218         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
10219         (STARTFILE_SPEC): Add crtbegin.o.
10220         (ENDFILE_SPEC): Define.
10221         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
10222         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
10223         (ASM_OUTPUT_DWARF_DELTA): Define.
10224         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10225         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
10226
10227 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
10228
10229         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
10230         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
10231         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
10232
10233 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
10234
10235         * toplev.c: Move default definition of USER_LABEL_PREFIX...
10236         * defaults.h: ... here.
10237
10238 2002-09-12  Richard Henderson  <rth@redhat.com>
10239
10240         * vax.c: Include tree.h earlier.
10241
10242 2002-09-12  Stan Shebs  <shebs@apple.com>
10243
10244         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
10245         (machopic_operand_p): Ditto.
10246
10247 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10248
10249         * config/arm/arm.c (arm_compute_initial_elimination_offset):
10250         Fix a comment typo.
10251
10252 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10253
10254         * toplev.c (do_abort): Fix a comment typo.
10255
10256 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10257
10258         * cselib.c: Fix comment formatting.
10259         * gengtype.c: Likewise.
10260
10261 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10262
10263         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
10264         (udivmodhi4): Likewise.
10265
10266 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
10267             Roger Sayle  <roger@eyesopen.com>
10268
10269         * i386.c (any_fp_register_operand, fp_register_operand,
10270         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
10271         New predicate functions.
10272         * i386-protos.h:  Add their prototypes.
10273         * i386.h: Add them to PREDICATE_CODES.
10274         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
10275         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
10276         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
10277         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
10278         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
10279         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
10280         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
10281         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
10282         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
10283         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
10284         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
10285         Use these new predicates to simplify and correct the use of
10286         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
10287
10288 2002-09-12  Jason Merrill  <jason@redhat.com>
10289
10290         * diagnostic.c (output_add_identifier): New fn.
10291         * diagnostic.h: Declare it.
10292
10293         * calls.c (store_one_arg): Use size_in_bytes to determine the
10294         amount of space to push.
10295
10296 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
10297
10298         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
10299
10300 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
10301
10302         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
10303         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
10304         (s390_select_ccmode): Likewise.
10305         (s390_branch_condition_mask): Likewise.
10306         (optimization_options): Do not set flag_branch_on_count.
10307         (s390_split_branches): Handle doloop branches.
10308         (s390_chunkify_pool): Likewise.
10309         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
10310         ("doloop_end"): New expander.
10311         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
10312         associated splitters): New.
10313
10314 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10315
10316         * genattrtab.c (simplify_cond): Remove unused variable(s).
10317         * global.c (record_conflicts): Likewise.
10318         * jump.c (rebuild_jump_labels): Likewise.
10319         * loop.c (scan_loop, check_final_value): Likewise.
10320         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
10321         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
10322         * rtlanal.c (reg_set_p): Likewise.
10323         * stmt.c (expand_asm_operands, expand_decl): Likewise.
10324         * genautomata.c (empty_reserv): Remove.
10325         * loop.c (max_luid): Likewise.
10326         * sched-rgn.c (bitlst_table_size): Likewise.
10327
10328 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
10329
10330         Reimplement gcov format.
10331         * gcov-io.h: Replace.
10332         * gcov.c: Reimplement.
10333         * gcov-iov.c: New file.
10334         * gcov-dump.c: New file.
10335         * libgcc2.c (L_bb): Replace with ...
10336         (L_gcov): ... this.
10337         (struct bb_function_info, struct bb): Remove.
10338         (inhibit_libc): Never inhibit.
10339         (gcov_list, gcov_crc): New static variables.
10340         (gcov_version_mismatch): New static function.
10341         (__bb_exit_func): Renamed to ...
10342         (__gcov_exit): ... here. Made static. Reimplement.
10343         (__gcov_init_func): Rename to ...
10344         (__gcov_init): ... here. Check version, update crc.
10345         (__bb_fork_func): Rename to ...
10346         (__gcov_flush): ... here.
10347         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
10348         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
10349         * calls.c (expand_call): Call __gcov_flush.
10350         * profile.c (bb_file, last_bb_file_name): Remove.
10351         (bbg_file_name): New global variable.
10352         (output_gcov_string): Remove.
10353         (get_exec_counts): Reimplement.
10354         (branch_prob): Reimplement gcov file writing.
10355         (init_branch_prob): Create bbg_file_name, don't create
10356         bb_file_name.
10357         (end_branch_prob): Adjust. Don't remove counter file when
10358         instrumenting ourselves.
10359         (create_profiler): Adjust.
10360         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
10361         point to gcov-io.h.
10362         * Makefile.in (LANGUAGES): Add gcov-dump.
10363         (coverageexts): Remove .bb.
10364         (STAGESTUFF): Add gcov-dump.
10365         (LIB2FUNCS_ST): Replace _bb with _gcov.
10366         (profile.o): Depend on gcov-iov.h.
10367         (final.o): Don't depend on profile.h, gcov.h.
10368         (gcov.o): Depend on gcov-iov.h.
10369         (gcov-iov.o): New target.
10370         (gcov-iov): New target.
10371         (gcov-iov.h): New target.
10372         (gcov-dump.o): New target.
10373         (GCOV_DUMP_OBJS): New variable.
10374         (gcov-dump): New target.
10375         (distclean): Remove coverageexts.
10376         (stage1): Remove coverageexts.
10377
10378 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
10379
10380         * fold-const.c (make_range): Only narrow to signed range if
10381         the signed range is smaller than the unsigned range.
10382
10383 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
10384
10385         * emit-rtl.c (set_mem_size): New function.
10386         * expr.h (set_mem_size): Declare.
10387         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
10388         (expand_block_move): Instead, use adjust_address and
10389         replace_equiv_address to generate proper aliasing info.
10390         Move common code out of conditionals.  Localize vars.
10391
10392 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
10393
10394         * optabs.c (expand_binop): Minor cleanup.
10395         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
10396
10397 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
10398
10399         * print-tree.c (print_node): Print the restrict qualifier.
10400
10401 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
10402
10403         * doc/install.texi: Fix typos.
10404
10405 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
10406
10407         * Makefile.in: Remove all references to s-under and underscore.c.
10408         * collect2.c, tlink.c: Change all uses of prepends_underscore
10409         to look directly at USER_LABEL_PREFIX.
10410
10411 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
10412
10413         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
10414         alignment to csect.
10415         (rs6000_xcoff_unique_section): Only set section name for public
10416         data.
10417         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
10418         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
10419         duplicate definition.
10420
10421 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10422
10423         * pa.md (extzv): Check predicates before emitting extzv_32.
10424         (insv): Likewise.
10425
10426 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
10427
10428         * config/s390/s390.h (MOVE_MAX): Define to correct value.
10429         (MAX_MOVE_MAX): Define.
10430         (MOVE_BY_PIECES_P): Define.
10431         (CLEAR_BY_PIECES_P): Define.
10432
10433 2002-09-10  Denis Chertykov  <denisc@overta.ru>
10434
10435         * config/avr/avr.md (movstrhi): Use right operands for conversion.
10436
10437 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
10438
10439         PR c/7873
10440         * arm.md (insv): Use reg_or_int_operand for operand[3].
10441
10442 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
10443
10444         * rs6000.c (rs6000_assemble_visibility): Protect declaration
10445         inside macro.  Correct function definition typo.
10446         (rs6000_xcoff_section_type_flags): New function.
10447         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
10448         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
10449         with appropriate PIC test.
10450         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
10451         determine readonly.
10452         (rs6000_binds_local_p): Combine PIC flags.
10453         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
10454         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
10455
10456 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10457
10458         * h8300.md: Fix signed/unsigned warnings.
10459         * mcore.md: Likewise.
10460         * mn10300.c (mask_ok_for_mem_btst): Likewise.
10461
10462 2002-09-09  Per Bothner  <per@bothner.com>
10463
10464         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
10465         characters, and only print TREE_STRING_LENGTH chars.
10466
10467 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
10468
10469         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
10470         (ASM_FILE_END) New.
10471         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
10472         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
10473         * config/ia64/ia64.c (ia64_asm_output_external): Create list
10474         of external functions if TARGET_HPUX_LD is true.
10475         (ia64_hpux_add_extern_decl): New, routine to put names on
10476         list of external functions.
10477         (ia64_hpux_asm_file_end): Put out declarations for external
10478         functions if and only if they are used.
10479
10480 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10481
10482         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
10483         on TARGET_64BIT before pic register restore.
10484
10485 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
10486
10487         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
10488         (TARGET_HAVE_TLS): New description.
10489
10490 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
10491
10492         * doc/extend.texi (Statement Exprs): Fix broken link.
10493
10494 2002-09-09  Denis Chertykov  <denisc@overta.ru>
10495
10496         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
10497         right conversion of operands[1].
10498
10499 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
10500
10501         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
10502         commutative.  Use "nonimmediate_operand" instead of "register_operand"
10503         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
10504
10505         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
10506         as commutative.
10507
10508         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
10509         mark as commutative.  Use "nonimmediate_operand" instead of
10510         "register_operand" as predicate for operand 1.
10511
10512         ("movstrictsi"): Fix typo in insn name.
10513
10514 2002-09-09  Jan Hubicka  <jh@suse.cz>
10515
10516         * i386.c (index_register_operand): New.
10517         * i386.h (predicate_codes): Add new predicate.
10518         * i386.md (lea_general_*): Use index_register_operand
10519         (ashift to lea splitter): Do not produce invalid leas
10520         (ashift to mov+ashift split): New.
10521
10522 2002-09-09  Nick Clifton  <nickc@redhat.com>
10523
10524         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
10525         Fix folding marks.
10526
10527 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10528             J"orn Rennecke <joern.rennecke@superh.com>
10529
10530         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
10531
10532 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
10533
10534         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
10535         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
10536         attributes.
10537
10538 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
10539
10540         * basic_block.h (gcov_type): Explain why it is signed.
10541         * final.c: Don't include profile.h.
10542         (struct function_list, functions_head, functions_tail,
10543         end_final): Moved to profile.c
10544         (final): Move arc chaining code to profile.c.
10545         * function.c (prepare_function_start): Remove duplicate line.
10546         * output.h (end_final): Remove prototype.
10547         * predict.c (estimate_loops_at_level): Use gcov_type.
10548         * profile.c (struct function_list, functions_head,
10549         functions_tail): Moved from final.c
10550         (need_func_profiler): Remove.
10551         (instrument_edges): Don't set need_func_profiler.
10552         (get_exec_counts): Avoid signed/unsigned warning.
10553         (compute_checksum): Use crc32.
10554         (branch_prob): Adjust. Chain onto functions_head.
10555         (init_branch_prob): Absorb init_edge_profiler.
10556         (init_edge_profiler): Remove.
10557         (create_profiler): Moved and renamed from final.c:end_final.
10558         Emit data and constructor.
10559         (output_func_start_profiler): Remove.
10560         * profile.h (struct profile_info): checksum is unsigned.
10561         * rtl.h (output_func_start_profiler): Remove prototype.
10562         (create_profiler): Declare.
10563         * toplev.c (compile_file): Call create_profiler, if instrumenting
10564         arcs. Don't call end_final.
10565
10566 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10567
10568         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
10569
10570 2002-09-08  Richard Henderson  <rth@redhat.com>
10571
10572         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
10573         (DW_OP_GNU_push_tls_address): New.
10574         (DW_OP_lo_user): Fix.
10575         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
10576         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
10577         (size_of_loc_descr): Likewise.
10578         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
10579         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
10580         (loc_descriptor_from_tree): Handle TLS variables.
10581         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
10582         (add_location_or_const_value_attribute): ... not here.  Defer
10583         to loc_descriptor_from_tree for TLS variables.
10584
10585         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
10586         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
10587         * config/i386/i386-protos.h: Update.
10588
10589 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10590
10591         PR optimization/6405
10592         * unroll.c (loop_iterations): last_loop_insn should be the previous
10593         non-note instruction before loop->end.
10594         * loop.c (strength_reduce): The conditional jump is the last
10595         non-note instruction before loop->end (as above).
10596
10597 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10598
10599         * combine.c (try_combine): Handle the case that undobuf.other_insn
10600         has been turned into a return or unconditional jump, by inserting
10601         a BARRIER if necessary.
10602         (simplify_set):  Test if a condition code setter has a constant
10603         comparison at compile time, if so convert this insn to a no-op move
10604         and update/simplify the condition code user (undobuf.other_insn).
10605
10606 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
10607
10608         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
10609         (CLEAR_INSN_CACHE): Define.
10610
10611 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10612
10613         * basic-block.h: Fix comment formatting.
10614         * c-common.c: Likewise.
10615         * c-common.h: Likewise.
10616         * c-lex.c: Likewise.
10617         * c-pretty-print.c: Likewise.
10618         * cfglayout.c: Likewise.
10619         * cfgloop.c: Likewise.
10620         * defaults.h: Likewise.
10621         * et-forest.c: Likewise.
10622         * explow.c: Likewise.
10623         * function.h: Likewise.
10624         * gcov.c: Likewise.
10625         * genattrtab.c: Likewise.
10626         * gengtype.c: Likewise.
10627         * ifcvt.c: Likewise.
10628         * libgcc2.c: Likewise.
10629         * loop.c: Likewise.
10630         * profile.c: Likewise.
10631         * ra-build.c: Likewise.
10632         * real.c: Likewise.
10633         * rtl.h: Likewise.
10634         * tracer.c: Likewise.
10635         * tree-inline.c: Likewise.
10636         * varasm.c: Likewise.
10637
10638 2002-09-08  Jan Hubicka  <jh@suse.cz>
10639
10640         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
10641         handling.
10642
10643         * loop.c (loop_givs_reduce):  Emit addition after.
10644
10645 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10646
10647         * varasm.c (default_assemble_visibility): Rename from
10648         assemble_visibility.
10649         * output.h: Here too.
10650         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
10651         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
10652
10653 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10654
10655         * reload.c (find_reloads <p constraint>): Pass operand_mode to
10656         find_reloads_address.
10657
10658 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10659
10660         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
10661         (anonymous pattern): Likewise.
10662
10663 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10664
10665         * machmode.def: Add modes for half-float vectors.
10666
10667 2002-09-07  Scott Snyder  <snyder@fnal.gov>
10668
10669         PR target/7374
10670         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
10671
10672 2002-09-07  Roger Sayle  <roger@eyesopen.com>
10673
10674         * basic-block.h (struct loop): Remove unused cont_dominator field.
10675
10676 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10677
10678         * varasm.c (decode_rtx_const): Don't check undefined field for
10679         CONST_VECTOR.
10680
10681 2002-09-07  Glen Nakamura  <glen@imodulo.com>
10682
10683         PR opt/7814
10684         * sched-deps.c (sched_analyze_insn): Make sure to add insn
10685         to reg_last->sets after flushing the dependency lists to guarantee
10686         that subsequent clobbers will be dependent on it.
10687
10688 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10689
10690         * combine.c (simplify_shift_const): Calculate rotate count
10691         correctly for vector operands.
10692
10693 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
10694
10695         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
10696         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
10697         tree_expr_nonnegative_p.
10698         (build_conditional_expr): Likewise.
10699         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
10700
10701 2002-09-07  Richard Henderson  <rth@redhat.com>
10702
10703         * builtins.def (inf, inff, infl): Mark const.
10704         (huge_val, huge_valf, huge_vall): Likewise.
10705         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
10706
10707         * real.c (ereal_inf): Clear E before use.
10708
10709 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10710
10711         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
10712         an expander and an anonymous pattern.  Zero out the upper half
10713         of the dividend in the expander.
10714         (udivmodqi4): Likewise.
10715
10716 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10717
10718         * config/h8300/h8300.c: Fix formatting.
10719         * config/h8300/h8300.h: Likewise.
10720         * config/h8300/h8300.md: Likewise.
10721
10722 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10723
10724         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
10725         information.
10726
10727 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
10728
10729        * rtlanal.c (dead_or_set_regno_p): Fix typo.
10730
10731 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
10732
10733         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10734
10735         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
10736         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10737         (TARGET_ASM_OUT): Add the above here.
10738         * target.h (struct gcc_target): Add "visibility" field.
10739         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
10740         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
10741         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10742         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
10743
10744 2002-09-06  Ziemowit Laski <zlaski@apple.com>
10745
10746         * c-lang.c (objc_is_id): New stub.
10747         * c-tree.h (objc_is_id): New forward declaration.
10748         * c-typeck.c (build_c_cast): Do not strip protocol
10749         qualifiers from 'id' type.
10750         * objc/objc-act.c (objc_comptypes): Correct handling
10751         of protocol qualifiers.
10752         (objc_is_id): New.
10753
10754 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
10755
10756         * pentium.md (pentium-firstvboth): Fix typo.
10757
10758 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
10759
10760         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
10761         (enum shift_type, enum h8_cpu): Likewise.
10762         (INL, ROT, LOP, SPC macros): Likewise.
10763         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
10764         const designator.
10765         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
10766         space efficient algorithms when optimize for codesize.
10767
10768 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10769
10770         Fix PR/1727 and long-standing failing testcase
10771         objc/formal-protocol-6.m.
10772         * objc-act.c (build_protocol_expr): If compiling for the GNU
10773         runtime, create a list of Protocol statically allocated instances
10774         if it doesn't exist, then add the Protocol object to this same
10775         list.
10776         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
10777         instead of TREE_CHAIN.
10778
10779 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10780
10781         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
10782         10k.  Fixed category dumping - print out category names with the
10783         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
10784         interface.
10785         (finish_objc): Fixed the -gen-decls option.  It was printing out
10786         only the last class.  Dump an interface declaration of all classes
10787         being compiled instead.
10788
10789 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
10790
10791         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
10792         prototype.
10793         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
10794         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
10795         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
10796         rather than GEN_INT.
10797         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
10798         (return_addr_mask, *check_arch2): New.
10799
10800 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
10801
10802         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
10803         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
10804         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
10805         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
10806         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
10807         "adddf3", "*adddf3", "*adddf3_ibm",
10808         "addsf3", "*addsf3", "*addsf3_ibm",
10809         "muldi3", "mulsi3", "mulsidi3",
10810         "muldf3", "*muldf3", "*muldf3_ibm",
10811         "mulsf3", "*mulsf3", "*mulsf3_ibm",
10812         "*anddi3_cc", "*anddi3_cconly", "anddi3",
10813         "*andsi3_cc", "*andsi3_cconly", "andsi3",
10814         "*iordi3_cc", "*iordi3_cconly", "iordi3",
10815         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
10816         "*xordi3_cc", "*xordi3_cconly", "xordi3",
10817         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
10818         instead of "register_operand" as predicate for "%0" operand.
10819
10820 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
10821
10822         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
10823         unconditionally when gcc_cv_as_flags64 checks are gone.
10824         * configure: Rebuilt.
10825
10826 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
10827
10828         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
10829         2002-07-26 change.  Comment.
10830
10831 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10832
10833         * frv.c (frv_unique_section, frv_select_section,
10834         frv_select_rtx_section): Delete.
10835         (frv_in_small_data_p): New.
10836         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
10837         TARGET_ASM_SELECT_RTX_SECTION): Delete.
10838         (TARGET_IN_SMALL_DATA_P): Define.
10839
10840 2002-09-05  Dale Johannesen  <dalej@apple.com>
10841
10842         * reload1.c (reload):  Retain only those memory clobbers
10843         added for variable-array handling.
10844
10845 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10846
10847         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
10848         return-in-memory rules.
10849         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
10850
10851 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10852
10853         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
10854         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
10855
10856 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10857
10858         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
10859         not a compile-time constant for the non-IBM case.
10860         * config/arm/arm-protos.h (arm_float_words_big_endian): New
10861         prototype.
10862         * config/arm/arm.c (arm_float_words_big_endian): New function.
10863         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
10864         if TARGET_VFP  and not TARGET_HARD_FLOAT.
10865         (ARM_FLAG_VFP, TARGET_VFP): Define.
10866         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
10867
10868 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10869
10870         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
10871         URLs.  Fix AIX wording.
10872
10873 2002-09-05  Stan Shebs  <shebs@apple.com>
10874
10875         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
10876         -fPIC equivalent on Darwin.
10877
10878 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
10879
10880         * sh.c (sh_expand_builtin): Return early if encountering an
10881         error_mark for a type.
10882
10883 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
10884
10885         * config/s390/s390.c (s390_expand_plus_operand): Do not require
10886         double-word scratch register.
10887         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
10888
10889         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
10890         "*cli"): Replace s_operand by memory_operand.
10891         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
10892
10893 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
10894
10895         * config/h8300/h8300.c (asm_file_start): Add a missing
10896         semicolon.
10897
10898 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10899
10900         * c-typeck.c (build_function_call): Remove unused variable(s).
10901         (build_c_cast): Likewise.
10902         * calls.c (rtx_for_function_call): Likewise.
10903         * cfglayout.c (duplicate_insn_chain): Likewise.
10904         * cfgloop.c (flow_loop_nodes_find): Likewise.
10905         * cfgrtl.c (split_edge): Likewise.
10906         * df.c (df_ref_create): Likewise.
10907         * except.c (expand_end_catch): Likewise.
10908         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
10909         * function.c (emit_return_into_block): Likewise.
10910         (reposition_prologue_and_epilogue_notes): Likewise.
10911         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
10912         * combine.c (subst_prev_insn, need_refresh): Remove.
10913         * dwarf2out.c (primary_filename): Remove.
10914         * final.c (new_block): Remove.
10915         * gcse.c (orig_bb_count): Remove.
10916
10917 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10918
10919         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
10920         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
10921         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
10922         directly instead of using a function pointer.
10923
10924 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
10925
10926         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
10927         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
10928         (ix86_output_addr_diff_elt) Likewise.
10929         (x86_output_mi_thunk) Likewise.
10930         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
10931
10932 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10933
10934         * frv.c (frv_encode_section_info): Fix error in last change.
10935
10936 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
10937
10938         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
10939         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
10940         (TARGET_BINDS_LOCAL_P): Define.
10941         (rs6000_override_options): Save original flag_pic value.
10942         (rs6000_elf_select_section): Call default_elf_select_section_1.
10943         (rs6000_elf_unique_section): Call default_unique_section_1.
10944         (rs6000_elf_in_small_data_p): New function.
10945         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
10946         (rs6000_xcoff_select_section): Update based on defaults.
10947         (rs6000_xcoff_unique_section): Set to basic name if not common.
10948         (rs6000_binds_local_p): New function.
10949         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
10950         targetm.have_srodata_section if SDATA_EABI.
10951         (TARGET_IN_SMALL_DATA_P): Define.
10952
10953 2002-09-04  Dale Johannesen  <dalej@apple.com>
10954
10955         * varasm.c (struct rtx_const, decode_rtx_const):
10956         Make veclo and vechi fields not share storage.
10957
10958 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
10959
10960         * loop.c (scan_loop): Don't mark separate insns out of a libcall
10961         for moving.
10962         (move_movables): Abort if we see the first insn of a libcall.
10963
10964 2002-09-04  Richard Henderson  <rth@redhat.com>
10965
10966         * builtin-types.def (BT_FN_FLOAT): New.
10967         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
10968         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
10969         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
10970         * builtins.c (fold_builtin_inf): New.
10971         (fold_builtin): Call it.
10972         * real.c (ereal_inf): New.
10973         * real.h: Declare it.
10974         * doc/extend.texi: Document new builtins.
10975
10976 2002-09-04  Richard Henderson  <rth@redhat.com>
10977
10978         * cse.c (cse_insn): Avoid subreg games if the equivalence
10979         is already in the proper mode.
10980
10981 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
10982
10983         PR c/7102
10984         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
10985
10986 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10987
10988         * pa.md (setccfp0, setccfp1): New patterns.
10989
10990 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10991
10992         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
10993         frv_select_section, frv_select_rtx_section,
10994         frv_encode_section_info, frv_unique_section): Delete.
10995         * frv.c: Update for target hooks.
10996         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
10997         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
10998         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
10999
11000 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11001
11002         * ip2k-protos.h (function_prologue, function_epilogue,
11003         encode_section_info): Update to match target hook specification.
11004         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
11005         (function_prologue, function_epilogue, encode_section_info):
11006         Update to match target hook specification.
11007         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
11008         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
11009         (NOTICE_UPDATE_CC): Cast to void.
11010         * ip2k.md: Add defaults in switch statements.
11011
11012 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11013
11014         * doc/trouble.texi (Interoperation): Update information about C++ ABI
11015         issues.
11016
11017 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
11018
11019         * config/sparc/t-netbsd64: Disable multilib for now.
11020
11021 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11022
11023         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
11024         * target.h (gcc_target): Add have_srodata_section member.
11025         * varasm.c (section_category): Add SECCAT_SRODATA.
11026         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
11027         READONLY_SDATA_SECTION defined.
11028         (decl_readonly_section_1): True for SECCAT_SRODATA also.
11029         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
11030         (default_unique_section_1): Likewise.
11031
11032 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11033
11034         * expr.c (emit_group_load): Revise to allow splitting TCmode source
11035         into DImode pieces.
11036
11037         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
11038         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
11039         for floating-point register class.
11040         * pa.c (function_arg): Fix handling of modes wider than one word for
11041         TARGET_64BIT.
11042
11043 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
11044
11045         * combine.c (make_compound_operation): Don't generate zero / sign
11046         extensions in floating point modes.
11047
11048 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11049
11050         * doc/c-tree.texi: Fix overfull hboxes.
11051         * doc/cppopts.texi: Ditto.
11052         * doc/extend.texi: Ditto.
11053         * doc/gty.texi: Ditto.
11054         * doc/invoke.texi: Ditto.
11055         * doc/makefile.texi: Ditto.
11056         * doc/rtl.texi: Ditto.
11057         * doc/standards.texi: Ditto.
11058         * doc/tm.texi: Ditto.
11059
11060 2002-09-04  Richard Henderson  <rth@redhat.com>
11061
11062         * c-common.c (builtin_define_with_hex_fp_value): New.
11063         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
11064
11065 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11066
11067         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
11068         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
11069         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
11070         Warn that these options can break ABI compatibility.
11071
11072 2002-09-04  Richard Henderson  <rth@redhat.com>
11073
11074         * real.c (ereal_to_decimal): Add digits parameter.
11075         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
11076         * c-pretty-print.c (pp_c_real_literal): Update call.
11077         * print-rtl.c (print_rtx): Likewise.
11078         * print-tree.c (print_node_brief, print_node): Likewise.
11079         * sched-vis.c (print_value): Likewise.
11080         * config/arc/arc.c (arc_print_operand): Likewise.
11081         * config/c4x/c4x.c (c4x_print_operand): Likewise.
11082         * config/i370/i370.h (PRINT_OPERAND): Likewise.
11083         * config/i386/i386.c (print_operand): Likewise.
11084         * config/i960/i960.c (i960_print_operand): Likewise.
11085         * config/ip2k/ip2k.c (asm_output_float): Likewise.
11086         * config/m32r/m32r.c (m32r_print_operand): Likewise.
11087         * config/m68hc11/m68hc11.c (print_operand): Likewise.
11088         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
11089         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11090         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
11091         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11092         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
11093         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11094         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
11095         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11096         * config/mips/mips.c (print_operand): Likewise.
11097         * config/ns32k/ns32k.c (print_operand): Likewise.
11098         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
11099         * config/vax/vax.h (PRINT_OPERAND): Likewise.
11100         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
11101
11102 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
11103
11104         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
11105         xtensa_multibss_section_type_flags.
11106         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
11107
11108 2002-09-04  Richard Henderson  <rth@redhat.com>
11109
11110         * doc/install-old.texi: Don't mention enquire.
11111         * doc/sourcebuild.texi: Update float.h description.
11112
11113 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
11114
11115         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
11116
11117 2002-09-03  Roger Sayle  <roger@eyesopen.com>
11118
11119         * builtins.c (build_function_call_expr): Remove prototype, export
11120         as non-static and add a comment above function definition.
11121         (builtin_mathfn_code): New function to check for math builtins.
11122         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
11123         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
11124         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
11125         log(sqrt(x)) as log(x)/2.0.
11126
11127         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
11128         in new "builtins.c" section.  Place the build_range_type prototype
11129         with the other prototypes from "tree.c".
11130
11131         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
11132         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
11133         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
11134         x/exp(y) as x*exp(-y).
11135
11136 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
11137
11138         * varasm.c (default_section_type_flags): Append _1 to name with
11139         shlib parameter.  Use original name to call new function with
11140         implicit flag_pic.
11141         (decl_readonly_section): Likewise.
11142         (default_elf_select_section): Likewise.
11143         (default_unique_section): Likewise.
11144         (default_bind_local_p): Likewise.
11145         (categorize_decl_for_section): Add shlib parameter to use in place
11146         of implicit flag_pic.
11147         * output.h: Declare new functions with _1 and shlib argument.
11148
11149 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
11150
11151         * doc/install.texi: Fix typos, formatting problems, and obvious
11152         overfull/underfull boxes.
11153
11154         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
11155         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
11156         include its file, compat.texi.
11157         * doc/compat.texi: New file with new chapter, Binary Compatibility.
11158
11159 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
11160
11161         Debian BTS Bug #157416
11162         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
11163         * cpplib.c (destringize_and_run): Kludge around getting
11164         tokens from in-progress macros.
11165         (_cpp_do__Pragma): Simplify.
11166
11167 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11168
11169         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
11170         (CPP_CPU_SPEC): Remove.
11171         (TARGET_CPU_CPP_BUILTINS): New.
11172         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
11173         (CPP_SPEC): Remove.
11174         (TARGET_OS_CPP_BUILTINS): New.
11175         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
11176         (TARGET_OS_CPP_BUILTINS): New.
11177         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
11178         TARGET_OS_CPP_BUILTINS.
11179         (CPP_PREDEFINES): Remove.
11180         (CPLUSPLUS_CPP_SPEC): Remove.
11181         (TARGET_OS_CPP_BUILTINS): New.
11182
11183 2002-09-03  Richard Henderson  <rth@redhat.com>
11184
11185         * Makefile.in (USER_H): Add ginclude/float.h.
11186         (FLOAT_H): Remove.
11187         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
11188         (mostlyclean): Don't remove float.h intermediate files.
11189         (distclean): Don't remove float.h.
11190         * config.gcc: Remove all float_format references.
11191         * configure.in (float_format, float_h_file): Remove.
11192
11193         * c-common.c: Include tree-inline.h.
11194         (builtin_define_with_int_value): New.
11195         (builtin_define_type_precision): Use it.
11196         (builtin_define_float_constants): New.
11197         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
11198         __FLT_EVAL_METHOD__.
11199         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
11200         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
11201         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
11202         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
11203         (TARGET_FLT_EVAL_METHOD): New.
11204
11205         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
11206         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
11207         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
11208         * ginclude/float.h: New.
11209
11210 2002-09-03  Stan Shebs  <shebs@apple.com>
11211
11212         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
11213         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
11214         (PREFERRED_DEBUGGING_TYPE): Ditto.
11215         (ASM_OUTPUT_IDENT): Remove empty definition.
11216
11217 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11218
11219         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
11220         cxx_target.
11221         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
11222         handling routine for builtin pragma.
11223         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
11224         Registered pragma handling routine.
11225         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
11226         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
11227         If builtin pragma seen for math routine and C89 conformance is
11228         requested use different math function in order to set errno.
11229         * t-ia64 (ia64-c.o): Add new rule for new file.
11230
11231 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11232
11233         * config/s390/s390.md ("movti"): Add Q->Q alternative.
11234         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
11235         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
11236
11237         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
11238         "*movsf_ss"): Remove.
11239
11240 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11241
11242         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
11243         Delete macros.
11244
11245 2002-09-03   Arati Dikey  <aratid@kpit.com>
11246
11247         * h8300.c (asm_file_start): Corrected optimization comment.
11248
11249 2002-09-03  Stan Shebs  <shebs@apple.com>
11250
11251         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
11252         * c-tree.h (recognize_objc_keyword): Remove decl.
11253         * c-typeck.c (comp_target_types): Update a comment.
11254
11255 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11256
11257         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
11258         and register validity checks.
11259         (general_s_operand): Adapt to s390_decompose_address interface change.
11260         (q_constraint): Likewise.
11261         (s390_expand_plus_operand): Likewise.
11262         (legitimiate_address_p): Likewise.
11263         (legitimate_la_operand_p): Likewise.
11264         (legitimize_la_operand): Likewise.
11265         (print_operand_address): Likewise.
11266         (print_operand): Likewise.
11267
11268 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11269
11270         PR objc/5956:
11271         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
11272         was causing the new selector never to match the existing ones
11273         (Patch by Alexander Malmberg <alexander@malmberg.org>).
11274
11275 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11276
11277         * config/i386/i386.md ("femms"): Add "memory" attr "none".
11278
11279 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11280
11281         * expr.c (expand_expr): Remove extraneous comment and code.
11282
11283 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
11284
11285         * stor-layout (finish_builtin_struct): Renamed and moved from c++
11286         frontend. Take chain of fields. Allow NULL alignment type.
11287         * tree.h (finish_builtin_struct): Declare.
11288
11289 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11290
11291         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
11292         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
11293         config/arc/arc.c config/arc/arc.h config/arm/aout.h
11294         config/arm/arm.c config/arm/arm.h config/arm/arm.md
11295         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
11296         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
11297         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
11298         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
11299         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
11300         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
11301         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
11302         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
11303         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
11304         config/pa/pa.h config/pa/pa.md config/romp/romp.h
11305         config/rs6000/linux64.h config/rs6000/lynx.h
11306         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
11307         config/s390/s390.c config/s390/s390.md config/sh/sh.c
11308         config/sparc/sparc.c config/sparc/sysv4.h
11309         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
11310         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
11311         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
11312
11313         * doc/tm.texi: Update docs.
11314         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
11315         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
11316
11317 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11318
11319         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
11320         * arc.c (arc_internal_label): New function.
11321         (TARGET_ASM_INTERNAL_LABEL): Set.
11322         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11323         * arm.c (arm_internal_label): New function.
11324         (TARGET_ASM_INTERNAL_LABEL): Set.
11325         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11326         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11327         * i370.c (i370_internal_label): New function.
11328         (TARGET_ASM_INTERNAL_LABEL): Set.
11329         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11330         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11331         * m68k.c (m68k_hp320_internal_label): New function.
11332         (TARGET_ASM_INTERNAL_LABEL): Set.
11333         * m88k.c (m88k_internal_label): New function.
11334         (TARGET_ASM_INTERNAL_LABEL): Set.
11335         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11336         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
11337         * genoutput.c (output_prologue): Include target.h in output file.
11338         * output.h (default_internal_label): Declare.
11339         * sdbout.c: Include target.h.
11340         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
11341         TARGET_ASM_OUT.
11342         * target.h (internal_label): Add to struct gcc_target.
11343         * varasm.c (default_internal_label): New function.
11344
11345 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11346
11347         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11348         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11349         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11350         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11351         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11352         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11353         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11354         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11355         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11356         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11357         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11358         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11359         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11360         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11361         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11362         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11363         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11364         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11365         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11366         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11367         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11368         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11369         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11370         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11371         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11372         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
11373         * mmix.c (mmix_asm_output_internal_label): Likewise.
11374         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11375         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11376         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11377         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11378         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11379         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11380         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11381         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11382         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11383         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11384         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11385         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11386         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11387         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11388         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11389         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11390         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11391         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11392         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11393
11394         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
11395
11396 2002-08-31  Richard Henderson  <rth@redhat.com>
11397
11398         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
11399
11400 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11401
11402         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
11403
11404 2002-08-30  Richard Henderson  <rth@redhat.com>
11405
11406         PR opt/7515
11407         * c-objc-common.c: Include target.h.
11408         (c_cannot_inline_tree_fn): Don't auto-inline functions that
11409         don't bind locally.  Factor setting DECL_UNINLINABLE.
11410         * Makefile.in (c-objc-common.o): Update.
11411
11412 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
11413
11414         * doc/install.texi (Configuration, Building): Fix a typo and
11415         some formatting directives.
11416
11417 2002-08-30  Paul Koning <pkoning@equallogic.com>
11418
11419         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
11420         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
11421         implemented" note.
11422         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
11423         for alphabetic order.
11424         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
11425         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
11426         (VAX_HALFWORD_ORDER): Document.
11427         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
11428         IEEE float format.
11429         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
11430         (ASM_OUTPUT_LABEL_REF): Fix font.
11431         (CASE_VECTOR_SHORTEN_MODE): Ditto.
11432
11433 2002-08-30  Denis Chertykov  <denisc@overta.ru>
11434
11435         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
11436         stuff.
11437         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
11438         CONST_DOUBLE constants.
11439
11440 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
11441
11442         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
11443         related defines to...
11444         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
11445         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
11446         as a no-op.
11447
11448 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
11449
11450         * config/arm/arm.c (arm_asm_output_labelref): New function.
11451         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
11452         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
11453
11454 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
11455
11456         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
11457         memory exhausted" workarounds.
11458
11459 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11460
11461         * diagnostic.c (fancy_abort): Don't repeat "internal error".
11462         * toplev.c (crash_signal): Likewise.
11463
11464 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11465
11466         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
11467         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
11468         Extended, updated documentation.
11469         (-Wundeclared-selector): Documented.
11470
11471 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
11472
11473         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
11474         the value 1.  Do not undef before defining.
11475         * config/darwin.h: Likewise.
11476         * config/dbx.h: Likewise.
11477         * config/dbxcoff.h: Likewise.
11478         * config/dbxelf.h: Likewise.
11479         * config/elfos.h: Likewise.
11480         * config/interix.h: Likewise.
11481         * config/lynx-ng.h: Likewise.
11482         * config/lynx.h: Likewise.
11483         * config/netware.h: Likewise.
11484         * config/psos.h: Likewise.
11485         * config/svr3.h: Likewise.
11486         * config/alpha/alpha.h: Likewise.
11487         * config/alpha/elf.h: Likewise.
11488         * config/alpha/vms.h: Likewise.
11489         * config/arc/arc.h: Likewise.
11490         * config/arm/aout.h: Likewise.
11491         * config/arm/coff.h: Likewise.
11492         * config/c4x/c4x.h: Likewise.
11493         * config/h8300/h8300.h: Likewise.
11494         * config/i386/cygwin.h: Likewise.
11495         * config/i386/djgpp.h: Likewise.
11496         * config/i386/gas.h: Likewise.
11497         * config/i386/gstabs.h: Likewise.
11498         * config/i386/i386-coff.h: Likewise.
11499         * config/i386/i386-interix.h: Likewise.
11500         * config/i386/sco5.h: Likewise.
11501         * config/i386/svr3dbx.h: Likewise.
11502         * config/i386/sysv3.h: Likewise.
11503         * config/i386/win32.h: Likewise.
11504         * config/i386/x86-64.h: Likewise.
11505         * config/i960/i960.h: Likewise.
11506         * config/ia64/ia64.h: Likewise.
11507         * config/ip2k/ip2k.h: Likewise.
11508         * config/m32r/m32r.h: Likewise.
11509         * config/m68k/3b1.h: Likewise.
11510         * config/m68k/3b1g.h: Likewise.
11511         * config/m68k/ccur-GAS.h: Likewise.
11512         * config/m68k/coff.h: Likewise.
11513         * config/m68k/hp2bsd.h: Likewise.
11514         * config/m68k/hp310g.h: Likewise.
11515         * config/m68k/hp320g.h: Likewise.
11516         * config/m68k/hp3bsd.h: Likewise.
11517         * config/m68k/hp3bsd44.h: Likewise.
11518         * config/m68k/linux-aout.h: Likewise.
11519         * config/m68k/m68k-aout.h: Likewise.
11520         * config/m68k/mot3300.h: Likewise.
11521         * config/m68k/netbsd.h: Likewise.
11522         * config/m68k/openbsd.h: Likewise.
11523         * config/m68k/pbb.h: Likewise.
11524         * config/m68k/plexus.h: Likewise.
11525         * config/m68k/sun2.h: Likewise.
11526         * config/m68k/sun3.h: Likewise.
11527         * config/m68k/tower-as.h: Likewise.
11528         * config/m68k/vxm68k.h: Likewise.
11529         * config/m88k/aout-dbx.h: Likewise.
11530         * config/m88k/m88k-aout.h: Likewise.
11531         * config/mcore/mcore-elf.h: Likewise.
11532         * config/mcore/mcore-pe.h: Likewise.
11533         * config/mips/elf.h: Likewise.
11534         * config/mips/elf64.h: Likewise.
11535         * config/mips/iris5gas.h: Likewise.
11536         * config/mips/iris6.h: Likewise.
11537         * config/mips/mips.h: Likewise.
11538         * config/mips/sni-gas.h: Likewise.
11539         * config/mmix/mmix.h: Likewise.
11540         * config/ns32k/netbsd.h: Likewise.
11541         * config/pa/pa64-hpux.h: Likewise.
11542         * config/romp/romp.h: Likewise.
11543         * config/rs6000/sysv4.h: Likewise.
11544         * config/rs6000/xcoff.h: Likewise.
11545         * config/sh/coff.h: Likewise.
11546         * config/sh/elf.h: Likewise.
11547         * config/sparc/linux64.h: Likewise.
11548         * config/sparc/liteelf.h: Likewise.
11549         * config/sparc/netbsd.h: Likewise.
11550         * config/sparc/openbsd.h: Likewise.
11551         * config/sparc/pbd.h: Likewise.
11552         * config/sparc/sp64-elf.h: Likewise.
11553         * config/sparc/sp86x-elf.h: Likewise.
11554         * config/sparc/sparc.h: Likewise.
11555         * config/vax/vax.h: Likewise.
11556         * config/vax/vaxv.h: Likewise.
11557
11558 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
11559
11560         * h8300.c (shift_alg_hi): Various tweaks to improve performance
11561         of HImode shifts.
11562         (get_shift_alg): Corresponding changes.
11563
11564 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11565
11566         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
11567
11568 2002-08-29  Richard Henderson  <rth@redhat.com>
11569
11570         * expr.h (enum block_op_methods): New.
11571         (emit_block_move): Update prototype.
11572         * expr.c (block_move_libcall_safe_for_call_parm): New.
11573         (emit_block_move_via_loop): New.
11574         (emit_block_move): Use them.  New argument METHOD.
11575         (emit_push_insn): Always respect the given alignment.
11576         (expand_assignment): Update call to emit_block_move.
11577         (store_expr, store_field, expand_expr): Likewise.
11578         * builtins.c (expand_builtin_apply): Likewise.
11579         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
11580         * function.c (expand_function_end): Likewise.
11581         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
11582         * config/sparc/sparc.c (sparc_va_arg): Likewise.
11583         * calls.c (expand_call, emit_library_call_value_1): Likewise.
11584         (save_fixed_argument_area): Use emit_block_move with
11585         BLOCK_OP_CALL_PARM instead of move_by_pieces.
11586         (restore_fixed_argument_area): Likewise.
11587         (store_one_arg): Fix alignment parameter to emit_push_insn.
11588
11589 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11590
11591         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
11592
11593 2002-08-29  Catherine Moore  <clm@redhat.com>
11594
11595         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
11596         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
11597         (PREDICATE_CODES): Include new predicates.
11598         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
11599         (TARGET_SWITCHES):  Add strict-align.
11600         (TARGET_STRICT_ALIGN): New.
11601         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
11602         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
11603         Define.
11604         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
11605         v850_muldi3.
11606         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
11607         L_callt_save_r2_r31, L_return_r2_r31,
11608         L_save_all_interrupt): Change addi to add.
11609         (L_save_interrupt, L_return_interrupt): Rework.
11610         (__return_r31):  Correct .size directive.
11611         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
11612         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
11613         New routines.
11614         * config/v850/v850.c (expand_prologue): Call
11615         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
11616         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
11617         (reg_or_int9_operand): New predicate.
11618         (reg_or_const_operand): New routine.
11619         * config/v850/v850.md (return_interrupt): Changed from
11620         restore_interrupt.
11621         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
11622         (callt_save_interrupt): Change save sequence.
11623         (callt_return_interrupt): New.
11624         (save_interrupt): Don't use runtime function for LONG_CALLS
11625         and TARGET_PROLOG_FUNCTION.
11626         (save_all_interrupt): Likewise.
11627         (mulsi3): Use new predicate.
11628         (moviscc): Disallow some combination of constants.
11629         Fix define_split for sasf insns, so that it will not generate bad
11630         code if operand0 and operand5 are the same.
11631         * config/v850/v850-protos.h: Prototype new predicates.
11632
11633 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
11634
11635         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
11636         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
11637
11638 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11639
11640         * c-common.c (builtin_define_type_precision): New function.
11641         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
11642         wchar_t is unsigned in C++.
11643         * doc/cpp.texi (Common Predefined Macros): Document
11644         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
11645         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11646         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11647
11648 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
11649
11650         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
11651         section.  Mention that it is enabled by -Wall.
11652         (-Wall): Mention that there can be language-specific warnings as well.
11653         (-Wctor-dtor-privacy): Mention that it is enabled by default.
11654         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
11655
11656 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
11657
11658         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
11659         if it is ever live.
11660
11661         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
11662         attribute for SHCOMPACT.
11663
11664         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
11665         appropriately.
11666         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
11667         by the ABI.
11668
11669         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
11670
11671 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
11672
11673         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
11674         "MASK_GAS|MASK_ABICALLS".
11675         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
11676         (TARGET_DEFAULT): Remove.
11677         (MACHINE_TYPE): Undefine before defining.
11678         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
11679
11680 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
11681
11682         * c-common.c (warn_abi): New variable.
11683         * c-common.h (warn_abi): Likewise.
11684         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
11685         (c_common_decode_option): Handle it.
11686         * doc/invoke.texi: Document -Wabi.
11687
11688 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11689
11690         * c-common.c (warn_undeclared_selector): New variable.
11691         * c-common.h (warn_undeclared_selector): Idem.
11692         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
11693         to on when -Wundeclared-selector is found.
11694         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
11695         * objc/objc-act.c (build_selector_expr): If
11696         warn_undeclared_selector is set, check that the selector has
11697         already been defined, and emit a warning if not.
11698
11699 2002-08-27  Nick Clifton  <nickc@redhat.com>
11700             Catherine Moore  <clm@redhat.com>
11701             Jim Wilson  <wilson@cygnus.com>
11702
11703         * config.gcc: Add v850e-*-* target.
11704         Add --with-cpu= support for v850.
11705         * config/v850/lib1funcs.asm: Add v850e callt functions.
11706         * config/v850/v850.h: Add support for v850e target.
11707         * config/v850/v850.c: Add functions to support v850e target.
11708         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
11709         * config/v850/v850.md: Add patterns for v850e instructions.
11710         * doc/invoke.texi: Document new v850e command line switches.
11711
11712 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11713                           Aldy Hernandez <aldyh at redhat dot com>
11714
11715         * doc/tm.texi: Applied numerous fixes to the automaton based
11716         scheduler descrition.
11717
11718 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
11719
11720         * i386.c (classify_argument): Handle variable sized objects.
11721
11722 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
11723
11724         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
11725
11726 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
11727
11728         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
11729
11730 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
11731
11732         * i386.c (classify_argument): Properly compute word size of the analyzed object.
11733
11734 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
11735
11736         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
11737         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
11738         accordingly.
11739         (attribute insn_class): Provide default definitions based on type.
11740         Remove all insn-specific settings.
11741         (various function units): Remove old SH4 scheduling.
11742         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
11743         New attributes.  Set them where appropriate.
11744         (cpu unit FS): Don't define / use.
11745         (F3, load_store): New cpu units.
11746         (F01): New reservation.
11747         (all insn_reservations): Make dependent on sh4 pipeline model.
11748         Fix latencies.
11749         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
11750         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
11751         (mt insn_reservation): Use type mt_group.
11752         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
11753         sh4_fload and sh4_store.
11754         (insn_reservation branch_zero and branch): Replace with sh4_branch.
11755         (insn_reservation branch_far): Replace with sh4_return.
11756         (insn_reservation return_from_exp): Rename to:
11757         (sh4_return_from_exp).  Change to be just d_lock*5.
11758         (insn_reservation lds_to_pr): Rename to:
11759         (sh4_lds_to_pr).  Change to be just d_lock*2.
11760         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
11761         d_lock*2.
11762         (insn_reservation prload_mem): Rename to:
11763         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
11764         (insn_reservation fpscr_store): Rename to:
11765         (fpscr_load).  Change to d_lock,nothing,F1*3.
11766         (insn_reservation fpscr_store_mem): Rename to:
11767         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
11768         (insn_reservation multi): Change to
11769         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
11770         (insn_reservation fp_arith): Change to issue,F01,F2.
11771         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
11772         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
11773         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
11774         (insn_reservation fp_double_cmp): Change to
11775         d_lock,(d_lock+F01),F1+F2,F2.
11776         (insn_reservation dp_div): Change to
11777         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
11778         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
11779         (sh_adjust_cost, SHcompact): Differentiate between different
11780         kinds of dependencies.  Drop factor of ten for superscalar.
11781         Use new instruction types.  Add new exception rules.
11782
11783         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
11784
11785         * sh.md (mperm_w): Add DONE.
11786
11787 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
11788
11789         * longlong.h: Import current PowerPC defintion from GMP-4.1.
11790
11791         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
11792
11793         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
11794
11795 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
11796
11797         * sh.h (MAX_FIXED_MODE_SIZE): Define.
11798
11799 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
11800
11801         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
11802         delimiter.
11803
11804 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11805
11806         * c-common.c (cpp_define_data_format): New function.
11807         (cb_register_builtins): Call it.
11808
11809         * doc/cpp.texi (Common Predefined Macros): Document
11810         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
11811         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
11812         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
11813         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
11814         __TARGET_USES_VAX_H_FLOAT__.
11815
11816 2002-08-26  Ziemowit Laski <zlaski@apple.com>
11817
11818         * objc/objc-act.c (get_super_receiver): If inside a class method
11819         of a category, cast the receiver to 'id' before accessing the 'isa'
11820         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
11821
11822 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
11823
11824         * config/s390/s390-protos.h (s390_function_prologue,
11825         s390_function_epilogue): Remove.
11826         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
11827         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
11828
11829         config/s390/s390.c (s390_machine_dependent_recorg): New function.
11830         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
11831         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
11832         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
11833         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
11834
11835         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
11836         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
11837         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
11838         function is not a leaf function.  Use save_gprs and restore_gprs.
11839         (s390_emit_epilogue): Likewise.
11840         (save_gprs, restore_gprs): New functions.
11841         (struct s390_frame): Remove return_reg_saved_p member.
11842         (save_fprs_p): Remove.
11843         (s390_optimize_prolog): New function.
11844         (s390_legitimate_reload_constant): Remove now unnecessary check.
11845
11846         (s390_function_count): Remove.
11847         (s390_output_symbolic_const): Replace s390_function_count by
11848         current_function_funcdef_no.
11849         (s390_output_constant_pool): Likewise.
11850
11851         (legitimize_pic_address): Use regs_ever_live to track PIC register
11852         instead of current_function_uses_pic_offset_table.
11853         (s390_emit_prologue): Likewise.
11854         config/s390/s390.md ("call", "call_value"): Likewise.
11855
11856 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
11857
11858         * c-opts.c (find_opt): Don't complain about wrong languages
11859         here.  Return exact matches even for wrong language.
11860         (c_common_decode_option): Complain about wrong languages
11861         here.
11862
11863 2002-08-24  Stuart Hastings  <stuart@apple.com>
11864
11865         * function.h (struct function): Add flag
11866         all_throwers_are_sibcalls.
11867         * except.c (set_nothrow_function_flags): Replaces
11868         nothrow_function_p. Set new flag.
11869         * except.h (set_nothrow_function_flags): Replaces
11870         nothrow_function_p.
11871         * dwarf2out.c (struct dw_fde_struct): Add flag
11872         all_throwers_are_sibcalls.
11873         (output_call_frame_info): Test it.
11874         (dwarf2out_begin_prologue) Propagate it from cfun to
11875         dw_fde_struct.
11876         * toplev.c (rest_of_compilation): Update calls to
11877         nothrow_function_p.
11878
11879 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
11880
11881         * ggc-page.c (compute_inverse): Short circuit calculation for
11882         object sizes larger than half a page.
11883
11884 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
11885
11886         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
11887         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
11888         default.
11889         (rs6000_elf_unique_section): Likewise.
11890
11891 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11892
11893         * ns32k.c (ns32k_globalize_label): Delete.
11894         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
11895
11896 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
11897
11898         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
11899         for loading delta with num_insns_constant_wide.  Calculate
11900         delta_low, delta_high without using a conditional.
11901
11902 2002-08-22  Jason Merrill  <jason@redhat.com>
11903
11904         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
11905         * c-common.def: Adjust.
11906         * c-dump.c (c_dump_tree): Adjust.
11907         * c-semantics.c (genrtl_return_stmt): Adjust.
11908         * c-pretty-print.c (pp_c_statement): Adjust.
11909         * tree-inline.c (copy_body_r): Adjust.
11910
11911 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
11912
11913         * ggc-page.c: Avoid division in ggc_set_mark.
11914         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
11915         compute_inverse): New.
11916         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
11917         (init_ggc): Initialize inverse_table.
11918
11919 2002-08-22  Tom Tromey  <tromey@redhat.com>
11920
11921         * doc/install.texi (Configuration): Document --datadir.
11922
11923 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
11924
11925         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
11926
11927 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
11928
11929         * gengtype-lex.l (ID): Allow underscore as first character.
11930
11931 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
11932
11933         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
11934         function.
11935         (rs6000_xcoff_asm_named_section): Rename.
11936         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
11937
11938 2002-08-21  Tom Tromey  <tromey@redhat.com>
11939
11940         For PR java/6005 and PR java/7611:
11941         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
11942         (fold): Likewise.
11943         * langhooks.c (lhd_can_use_bit_fields_p): New function.
11944         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
11945         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
11946         (LANG_HOOKS_INITIALIZER): Use it.
11947         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
11948         field.
11949
11950 2002-08-21  Stan Shebs  <shebs@apple.com>
11951
11952         * tree.c (finish_vector_type): Fix a typo in a comment.
11953         * Makefile.in: Fix "the the" stutters in comments.
11954         * genautomata.c: Ditto.
11955         * ifcvt.c: Ditto.
11956         * regrename.c: Ditto.
11957         * config/alpha/alpha.c: Ditto.
11958         * config/alpha/vms-crt0-64.c: Ditto.
11959         * config/alpha/vms-crt0.c: Ditto.
11960         * config/alpha/vms-psxcrt0-64.c: Ditto.
11961         * config/alpha/vms-psxcrt0.c: Ditto.
11962         * config/d30v/d30v.h: Ditto.
11963         * config/fr30/fr30.h: Ditto.
11964         * config/rs6000/rs6000.c: Ditto.
11965         * config/stormy16/stormy16.h: Ditto.
11966         * doc/md.texi: Ditto.
11967
11968 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11969
11970         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
11971
11972 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
11973
11974         * c-decl.c (grokdeclarator): Make invalid combinations with long,
11975         short, signed or unsigned into hard errors.  Fixes PR c/4319.
11976         Also make duplicate modifiers such as "short short" into hard
11977         errors.
11978
11979 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
11980             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11981
11982         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
11983         to the actual end.  Add '@end table' and '@table @code'.
11984
11985 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
11986
11987         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
11988
11989         * unroll.c (biv_total_increment): Don't try to compute the total
11990         increment for FP BIVs.
11991
11992 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11993
11994         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
11995         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
11996         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11997         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
11998         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
11999         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
12000         (GLOBAL_ASM_OP): Define.
12001         * arm.c (aof_globalize_label): New function.
12002         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
12003         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12004         * c4x.c (c4x_globalize_label): New function.
12005         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
12006         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
12007         (GLOBAL_ASM_OP): Define.
12008         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12009         * darwin-protos.h (darwin_globalize_label): Declare.
12010         * darwin.c (darwin_globalize_label): New function.
12011         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
12012         (ASM_GLOBALIZE_LABEL): Delete.
12013         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
12014         * dsp16xx.c (asm_output_common): Use target hook.
12015         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
12016         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
12017         (GLOBAL_ASM_OP): Define.
12018         * i370.c (i370_globalize_label): New function.
12019         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
12020         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
12021         * i386.c (ix86_asm_file_end): Use target hook.
12022         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
12023         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12024         * ia64.c (ia64_asm_output_external): Likewise.
12025         * ia64/sysv4.h: Update comment.
12026         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12027         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12028         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
12029         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12030         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
12031         * mmix-protos.h (mmix_asm_globalize_label): Delete.
12032         * mmix.c (mmix_asm_globalize_label): Likewise.
12033         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
12034         (GLOBAL_ASM_OP): Define.
12035         * ns32k.c (ns32k_globalize_label): New function.
12036         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
12037         (ASM_GLOBALIZE_LABEL): Delete.
12038         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
12039         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
12040         * pa.c (pa_globalize_label): New function.
12041         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
12042         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
12043         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
12044         (GLOBAL_ASM_OP): Define.
12045         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
12046         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12047         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
12048         (GLOBAL_ASM_OP): Define.
12049         * v850.c (v850_output_aligned_bss): Use target hook.
12050         * vax.c (vms_globalize_label): New function.
12051         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
12052         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
12053         (GLOBAL_ASM_OP): Define.
12054         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
12055         * doc/tm.texi: Update docs.
12056         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
12057         target hook.
12058         * final.c (output_alternate_entry_point): Likewise.
12059         * hooks.c (hook_FILEptr_constcharptr_void): New function.
12060         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
12061         * output.h (assemble_global): Delete.
12062         (default_globalize_label): Declare.
12063         * system.h (ASM_GLOBALIZE_LABEL): Poison.
12064         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12065         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
12066         * target.h (gcc_target): Add globalize_label member.
12067         * varasm.c (asm_output_bss, asm_output_aligned_bss,
12068         globalize_decl): Use target hook.
12069         (assemble_global): Delete.
12070         (default_globalize_label): New function.
12071
12072 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12073
12074         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
12075
12076 2002-08-20  Devang Patel  <dpatel@apple.com>
12077         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
12078
12079 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12080
12081         * arc.c (output_shift): Use stdio instead of asm_fprintf.
12082         * arm.c (thumb_output_function_prologue): Likewise.
12083         * avr.c (print_operand): Likewise.
12084         * c4x.c (c4x_print_operand): Likewise.
12085         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
12086         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
12087         * cris.c (cris_target_asm_function_prologue,
12088         cris_asm_output_mi_thunk): Likewise.
12089         * h8300.c (print_operand): Likewise.
12090         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12091         * ip2k.c (print_operand): Likewise.  Fix format specifier.
12092         * m68hc11.c (asm_print_register, print_operand,
12093         print_operand_address): Use stdio instead of asm_fprintf.
12094         (print_operand_address): Fix format specifier.
12095         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
12096         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
12097         asm_fprintf.
12098         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12099         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12100         * m68k.c (m68k_output_function_prologue,
12101         m68k_output_function_epilogue, print_operand): Likewise.
12102         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
12103         Likewise.  Fix format specifier.
12104         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12105         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12106         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12107
12108 2002-08-15  Eric Christopher  <echristo@redhat.com>
12109             Jeff Knaggs  <jknaggs@redhat.com>
12110
12111         * config.gcc (mipsisa64sr71k-elf): New target.
12112         * config/mips/sr71k.md: New file.
12113         * config/mips/mips.md: Use it.
12114         (rot*): Add sr71k specifics.
12115         * config/mips/t-sr71k: New file.
12116         * config/mips/mips.h (sr71k): New cpu.
12117         (TARGET_SR71K): Use it.
12118         (TUNE_SR71K): Ditto.
12119         (GENERATE_BRANCHLIKELY): Ditto.
12120         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
12121         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
12122         * config/mips/mips.c (sr71k): New cpu.
12123         (mips_use_dfa_pipeline_interface): Use.
12124
12125 2002-08-15  Eric Christopher  <echristo@redhat.com>
12126             Richard Sandiford <rsandifo@redhat.com>
12127             Aldy Hernandez  <aldyh@redhat.com>
12128             Graham Stott    <grahams@redhat.com>
12129             Michael Meissner  <meissner@redhat.com>
12130             Gavin Romig-Koch  <gavin@redhat.com>
12131             Ken Raeburn  <raeburn@cygnus.com>
12132             Alexandre Oliva <aoliva@redhat.com>
12133
12134         * config.gcc (mips64vr-elf): New target.
12135         * config/mips/5400.md: New file.
12136         * config/mips/5500.md: Ditto.
12137         * config/mips/mips.md: Use them.
12138         (frsqrt): New.
12139         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
12140         cpus.
12141         (mips_issue_rate): Use them.
12142         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
12143         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
12144         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
12145         cpus.
12146         (TARGET_MIPSx): Use them.
12147         (TUNE_MIPSx): Ditto.
12148         (GETNATE_MULT3_SI): Ditto.
12149         (ISA_HAS_BRANCHLIKELY): Ditto.
12150         (ISA_HAS_CONDMOVE): Ditto.
12151         (ISA_HAS_NMADD_NMSUB): Ditto.
12152         (ISA_HAS_MULHI): New. Ditto.
12153         (ISA_HAS_MULS): Ditto.
12154         (ISA_HAS_MSAC): Ditto.
12155         (ISA_HAS_MACC): Ditto.
12156         (ISA_HAS_ROTR_SI): Ditto.
12157         (ISA_HAS_ROTR_DI): Ditto.
12158         (RTX_COSTS): Use.
12159
12160 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12161
12162         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
12163         at head.
12164         (remove_dup_nonsys_dirs): New function.
12165         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
12166         (merge_include_chains): Remove non-system include directories from
12167         quote and bracket include chains when they duplicate equivalent system
12168         directories.
12169         * doc/cpp.texi (-I): Update.
12170         * doc/cppopts.texi (-I): Update.
12171         * doc/install.texi (--with-local-prefix): Further document usage of
12172         this option.
12173         * doc/invoke.texi (-I): Update.
12174
12175 2002-08-20  Richard Henderson  <rth@redhat.com>
12176
12177         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
12178         (emit_block_move): Split out subroutines.
12179         (emit_block_move_via_movstr): New.
12180         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
12181         (emit_block_move_libcall_fn): New.  Construct function prototype for
12182         bcopy as well.
12183         (clear_storage): Split out subroutines.
12184         (clear_storage_via_clrstr): New.
12185         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
12186         (clear_storage_libcall_fn): New.  Construct function prototype for
12187         bzero as well.
12188         (emit_push_insn): Use emit_block_move.
12189         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
12190         (store_constructor): Likewise.
12191
12192 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12193
12194         * objc/objc-act.c (building_objc_message_expr): Rename to
12195         current_objc_message_selector.
12196
12197 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12198
12199         * objc/objc-act.c (build_ivar_chain): Remove.
12200         (objc_copy_list): Likewise.
12201         (get_class_ivars): Inline call to removed build_ivar_chain
12202         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
12203         slot; use that slot (rather than CLASS_IVARS) when accessing
12204         ivars for base classes.  Call copy_list and chainon instead of
12205         objc_copy_list.
12206         (build_private_template): Call get_class_ivars instead of
12207         build_ivar_chain.
12208         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
12209         (continue_class): Call get_class_ivars instead of
12210         build_ivar_chain.
12211         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
12212         of DECL_BIT_FIELD (which may have been cleared).
12213         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
12214
12215 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12216
12217         * genautomata.c (output_translate_vect, output_state_ainsn_table,
12218         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
12219         in output file.
12220         (output_internal_min_issue_delay_func): Initialize variable in
12221         output file.
12222
12223 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
12224
12225         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
12226         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
12227
12228 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
12229             Steve Ellcey  <sje@cup.hp.com>
12230
12231         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
12232         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
12233         * explow.c (trunc_int_for_mode): Abort when the mode is not
12234         a scaler integer mode.
12235         * combine.c (expand_compound_operation): Don't expand Vector
12236         or Complex modes into shifts.
12237         (expand_field_assignment): Don't do bitwise arithmatic and
12238         shifts on Vector or Complex modes.
12239         (simplify_comparison): Don't call trunc_int_for_mode
12240         for VOIDmode.
12241         * recog.c (general_operand): Likewise.
12242         (immediate_operand): Likewise.
12243         (nonmemory_operand): Likewise.
12244
12245 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
12246
12247         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
12248         multi-instruction SImode constant.  Add REG_EQUAL note.
12249         * config/rs6000/rs6000.md (movsi splitter): Use
12250         rs6000_emit_set_const.
12251
12252 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12253
12254         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
12255         the macro test controlling its use.
12256
12257 2002-08-18  H.J. Lu  (hjl@gnu.org)
12258
12259         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
12260         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
12261         gnu_ld=yes.
12262         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
12263         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
12264         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
12265         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
12266         here.
12267         (cris-*-linux*): Remove setting thread_file here.
12268
12269 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
12270
12271         PR preprocessor/7602
12272         * cppinit.c (path_include): Treat the system environment
12273         variables as being cxx_aware.
12274
12275 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
12276
12277         * c-decl.c (flexible_array_type_p): New function.
12278         (grokdeclarator, finish_struct): Use it.
12279         * doc/extend.texi: Document constraints on use of structures with
12280         flexible array members.
12281
12282 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
12283
12284         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
12285         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
12286         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
12287
12288 2002-08-16  Stan Shebs  <shebs@apple.com>
12289
12290         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
12291         for ObjC with -fnext-runtime.
12292         * doc/cpp.texi: Document it.
12293
12294 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
12295
12296         * doc/install.texi (Final installation): Replace links to individual
12297         build status pages with a link to a common page that lists them all.
12298
12299 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
12300
12301         * doc/invoke.texi: Fix typo.
12302
12303 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
12304
12305         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
12306
12307 2002-08-16  Andrew Haley  <aph@redhat.com>
12308
12309         * tree-inline.c: Add includes for Java inliner.
12310         (remap_decl): Don't handle anonymous types for Java.
12311         (remap_block): Add handling for Java trees.
12312         (copy_scope_stmt): Conditionalize for non-Java use only.
12313         (copy_body_r): Handle Java trees.  Add handling for
12314         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
12315         (initialize_inlined_parameters):  Handle Java trees.
12316         (declare_return_variable): Likewise.
12317         (expand_call_inline): Handle Java trees.
12318         (walk_tree): Likewise.
12319         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
12320         (add_stmt_to_compound): New function.
12321
12322 2002-08-15  Richard Henderson  <rth@redhat.com>
12323
12324         * Makefile.in (LOOSE_WARN): Remove -fno-common.
12325         (NOCOMMON_FLAG): New substitution point.
12326         (GCC_WARN_CFLAGS): Include it.
12327         * configure.in (ac_checking): Set nocommon_flag.
12328         (nocommon_flag): New substitution point.
12329
12330 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
12331
12332         * c-tree.h (skip_evaluation): Move declaration...
12333         * c-common.h: ... here.
12334         * c-typeck.c (build_external_ref): Don't assemble_external nor
12335         mark a tree as used if skip_evaluation is set.
12336         * c-parse.in (typeof): New non-terminal to set skip_evaluation
12337         around TYPEOF.
12338         (typespec_nonreserved_nonattr): Use it.
12339
12340 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
12341
12342         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
12343         (xcoff_debug_hooks): Update end_prologue.
12344         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
12345         * debug.h (end_prologue): Add file arg.
12346         (end_epilogue): Add line and file args.
12347         (dwarf2out_end_epilogue): Add line and file args.
12348         (vmsdbgout_after_prologue): Remove.
12349         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
12350         (dwarf2_debug_hooks): Update end_prologue.
12351         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
12352         (dwarfout_end_prologue): Add file arg.
12353         * final.c (vmsdbgout_after_prologue): Remove
12354         (final_end_function): Update end_epilogue call.
12355         (final_scan_insn): Update end_prologue call.
12356         * sdbout.c (sdbout_end_epilogue): Add line and file args.
12357         (sdbout_end_prologue): Add file arg.
12358         (sdb_debug_hooks): Update end_prologue.
12359         (sdb_begin_prologue): Update sdbout_end_prologue call.
12360         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
12361         vmsdbgout_end_function.
12362         (vmsdbgout_end_prologue): New function renamed from
12363         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
12364         (vmsdbgout_end_function): New function.
12365         (vmsdbgout_end_epilogue): Add line and file args. Call
12366         vmsdbgout_source_line.
12367         (write_pclines): Write only valid line numbers.
12368         (write_srccorr): Don't write source correlation records if 0 lines.
12369         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
12370
12371 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
12372
12373         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
12374         (_Unwind_Internal_Ptr): 32 bit version for use in
12375         read_encoded_value_with_base.
12376         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
12377         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
12378         right size.
12379
12380 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12381
12382         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
12383         signed/unsigned warnings.
12384
12385         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
12386         record_reg_classes): Likewise.
12387
12388         * reload.c (reload_inner_reg_of_subreg, push_reload,
12389         find_reloads_address_1): Likewise.
12390
12391 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
12392
12393         * rs6000.c (output_mi_thunk): Return to function section on
12394         TARGET_ELF.
12395
12396         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
12397
12398 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
12399
12400         * config/s390/s390.c (legitimize_address): Optimize loading
12401         of large displacements.
12402
12403 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
12404
12405         * config/alpha/alpha-protos.h: Update.
12406
12407         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
12408         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
12409         (alpha_linkage_symbol_p): New static function.
12410         (print_operand_address): Print linkage operand.
12411
12412         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
12413         variables.
12414         (reloc_kind): New enum.
12415         (struct alpha_funcs): New struct.
12416         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
12417
12418         (alpha_need_linkage): Rewrite.
12419         (alpha_use_linkage): New global function.
12420         (alpha_write_linkage): Rewrite and make static.
12421         (alpha_write_one_linkage): Rewrite
12422
12423         (alpha_start_function): Remove procedure descriptor output.
12424         (alpha_end_function): Write linkages at end of each function.
12425
12426         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
12427         (call_vms_1, call_value_vms_1): Rewrite.
12428
12429         * config/alpha/vms.h (ASM_FILE_END): Remove.
12430
12431 2002-08-14  Richard Henderson  <rth@redhat.com>
12432
12433         * ggc-page.c (RTL_SIZE): New.
12434         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
12435         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
12436
12437 2002-08-14  Richard Henderson  <rth@redhat.com>
12438
12439         * calls.c: Include target.h.
12440         * Makefile.in (calls.o): Update.
12441
12442         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
12443         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
12444
12445 2002-08-14  Richard Henderson  <rth@redhat.com>
12446
12447         * Makefile.in (LOOSE_WARN): Add -fno-common.
12448         * c-common.h (constant_string_class_name): Add missing extern.
12449
12450 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
12451
12452         PR preprocessor/7358
12453         * c-opts.c (check_deps_environment_vars): Ignore main file
12454         for SUNPRO_DEPENDENCIES.
12455         * cppfiles.c (stack_include_file): Ignore main file if
12456         appropriate.
12457         * cpplib.h (struct cpp_options): New member in deps.
12458         * doc/cppenv.texi: Update.
12459
12460 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12461
12462         PR preprocessor/7526
12463         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
12464
12465 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
12466
12467         * doc/invoke.texi (-a): Remove documentation.
12468         (-fprofile-arcs): Remove reference to -a, -ax options.
12469         * doc/gcov.texi (Gcov Data Files): Data might be merged.
12470
12471 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12472
12473         Fix PR/7566
12474         * c-semantics.c (genrtl_case_label): Don't (mis)use
12475         warning_with_decl.
12476
12477 2002-08-14  Dale Johannesen  <dalej@apple.com>
12478
12479         * explow.c (emit_stack_restore):  Emit memory clobbers
12480         preceding the stack pop, to prevent the scheduler from
12481         moving refs to variable arrays below this pop.
12482         * reload1.c (reload):  Preserve these clobbers for sched2.
12483         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
12484
12485 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12486
12487         * c-opts.c (c_common_post_options): Correct test.
12488
12489 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12490
12491         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
12492         order in call to fprintf.
12493
12494 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12495
12496         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
12497
12498 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
12499
12500         * reload.c (find_reloads): Handle constraint letters marked by
12501         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
12502         (alternative_allows_memconst): Likewise.
12503         * reload1.c (maybe_fix_stack_asms): Likewise.
12504         * recog.c (asm_operand_ok, preprocess_constraints,
12505         constrain_operands): Likewise.
12506         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
12507         * local-alloc.c (block_alloc, requires_inout): Likewise.
12508         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
12509
12510         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
12511         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
12512         * doc/tm.texi: Document these two new target macros.
12513
12514         * config/s390/s390.c (s390_expand_plus_operand): Accept already
12515         valid operands.
12516         (q_constraint): New function.
12517         config/s390/s390-protos.h (q_constraint): Declare it.
12518         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
12519         (EXTRA_MEMORY_CONSTRAINT): New macro.
12520
12521         * config/s390/s390.md: Throughout the machine description,
12522         replace all instances of the constraint combinations 'Qo'
12523         or 'oQ' with simply 'Q'.
12524
12525 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12526
12527         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
12528         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
12529         (LIBGCC2_CFLAGS): Compile with -mrelax.
12530
12531 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12532
12533         * doc/invoke.texi: Document -minmax for 68HC12.
12534
12535         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
12536         ("uminqi3"): Likewise.
12537         ("uminhi3", "umaxhi3"): Likewise.
12538
12539         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
12540         (TARGET_MIN_MAX): Define.
12541         (TARGET_SWITCHES): New option -minmax/-mnominmax.
12542
12543 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12544
12545         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
12546         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
12547
12548         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
12549         (ret, declare, farsym): New gas macros.
12550         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
12551         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
12552         and declare the symbol far when compiled with -mlong-calls.
12553         (__far_trampoline): New for 68HC12 trampoline code to invoke a
12554         far handler using jsr/bsr.
12555
12556         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
12557         (jsr): New macro to transform a 'jsr' into a 'call'.
12558
12559 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12560
12561         * doc/invoke.texi: Document -mlong-calls for 68HC12.
12562
12563         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
12564         -mlong-calls is specified.
12565         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
12566         assembler directives.
12567         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
12568         (TARGET_SWITCHES): Add -mlong-calls options.
12569         (current_function_far): Declare.
12570
12571         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
12572         into account the page register saved on the stack.
12573         (m68hc11_override_options): Take into account -mlong-calls option.
12574         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
12575
12576         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
12577         if the function is going to be in 68HC12 banked memory (-mlong-calls).
12578         ("*return_16bit"): Likewise.
12579         ("*return_void"): Likewise.
12580         ("call", "call_value"): Use call for a far function call.
12581
12582 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12583
12584         * toplev.c (parse_options_and_default_flags): Don't call
12585         post_options here.
12586         (general_init): Initialize GC, pools and tree hash here,
12587         instead of lang_independent_init.
12588         (lang_independent_init): Rename backend_init.
12589         (do_compile): Call post_options hook; exit early if there
12590         have been errors after switch processing.
12591         (toplev_main): Update.
12592
12593 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12594
12595         * c-pretty-print.h: Guard against multiple inclusion.
12596         Robustify macros.
12597         (pp_c_attributes): Declare.
12598         * c-pretty-print.c (pp_c_attributes): New function.
12599
12600 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12601
12602         * m68k.c (m68k_output_function_prologue,
12603         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
12604         and NEWS/MOTOROLA.
12605         * genattrtab.c: Remove dpx2 comment.
12606         * libgcc2.c (__enable_execute_stack): Delete versions for
12607         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
12608         sony_news/SYSTYPE_BSD.
12609         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
12610         __gmicro__, __i860__, __NeXT__ and __pyr__.
12611         * rtl.h: Remove convex comment.
12612         * varasm.c: Likewise.
12613
12614 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12615
12616         * c-opts.c (lang_flags): Const-ify.
12617         * ra-build.c (undef_table): Likewise.
12618         * ra.c (eliminables): Likewise.
12619
12620 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12621
12622         * tree.h: Guard against multiple inclusion.
12623
12624 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
12625
12626         * reload1.c (reload_cse_simplify): Before checking
12627         REG_FUNCTION_VALUE_P, check REG_P.
12628
12629 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
12630
12631         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
12632
12633 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12634
12635         * c-opts.c (c_common_init_options): Extra braces needed.
12636
12637 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12638
12639         * sh.c (sh_init_builtins): Add PARAMS to declaration.
12640         (sh_media_init_builtins, sh_expand_builtin): Likewise.
12641         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
12642         (sh_expand_binop_v2sf): Likewise.
12643         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
12644         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
12645         (sh_initialize_trampoline): Likewise.
12646
12647 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
12648
12649         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
12650         new condition code modes.
12651         s390.c (s390_match_ccmode_set): Handle those new CC modes.
12652         (s390_select_ccmode): Likewise.
12653         (s390_branch_condition_mask): Likewise.
12654
12655         * s390-protos.h (s390_tm_ccmode): Declare.
12656         s390.c (s390_tm_ccmode): New function.
12657         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
12658
12659         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
12660         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
12661         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
12662
12663         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
12664         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
12665         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
12666         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
12667         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
12668
12669         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
12670         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
12671         "*cmpqi_ccs_0"): Remove, replace by ...
12672         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
12673         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
12674         "*tstqi", "*tstqi_cconly"): ... these new patterns.
12675
12676         ("*cmpsidi_ccs"): Remove, replace by ...
12677         ("*cmpsi_ccs_sign"): ... this new pattern.
12678         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
12679
12680         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
12681         ("*cli"): ... this new pattern.
12682
12683         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
12684         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
12685         New patterns.
12686         ("adddi3_64"): Rename to "*adddi3_64".
12687         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
12688         ("adddi3"): Adapt expander.
12689
12690         ("*addsi3_cc"): Allow "general_operand" for operand 2.
12691         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
12692         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
12693
12694         ("addhi3", "addqi3"): Remove, replace by ...
12695         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
12696
12697         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
12698         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
12699         ("subdi3"): Replace by insn and splitter "*subdi3_31".
12700         ("subdi3"): New expander.
12701
12702         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
12703
12704         ("subhi3", "subqi3"): Remove, replace by ...
12705         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
12706
12707         ("*muldi3_sign"): New pattern.
12708         ("muldi3"): Do not clobber CC.
12709         ("mulsi3"): Likewise.
12710         ("mulsi_6432"): Likewise.
12711
12712 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12713
12714         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
12715         which can change CC0.
12716
12717 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
12718
12719         * gcse.c (adjust_libcall_notes): New function.
12720         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
12721
12722 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
12723
12724         * libgcc2.c (L_bb): Remove unneeded #includes.
12725         (__global_counters, __gthreads_active): Remove unused globals.
12726         (__bb_exit_func): Merge counts into files rather than appending.
12727         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
12728         (ALL_CFLAGS): ... to here.
12729
12730 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12731
12732         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
12733         (function_epilogue): Don't calculate function size.
12734         (ip2k_set_compare): Don't use lookup_const_double.
12735         (asm_file_start): Initialization of commands_in_file removed.
12736         (asm_file_end): Output of commands_in_file removed.
12737
12738         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
12739         __INT_MAX__.
12740
12741 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12742
12743         * c-opts.c (c_common_init_options): Check option array is
12744         sorted if checking enabled.
12745
12746 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
12747
12748         * c-pretty-print.c: #include "c-tree.h".
12749         (pp_c_simple_type_specifier): Tweak.
12750         (pp_c_storage_class_specifier): New.
12751         (pp_c_function_specifier): Likewise.
12752         (pp_c_declaration_specifiers): Likewise.
12753         (pp_c_init_declarator): Likewise.
12754         (pp_c_declaration): Likewise.
12755         (pp_c_direct_declarator): Stub.
12756         (pp_c_declarator): Likewise.
12757         (pp_c_parameter_declaration): Likewise.
12758
12759 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12760
12761         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
12762         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
12763         struct deferred_opt): New.
12764         (COMMAND_LINE_OPTIONS): Add -M*.
12765         (missing_arg): Update.
12766         (c_common_decode_option): Handle -M*.
12767         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
12768         don't call cpp_post_options.
12769         (c_common_finish, check_deps_environment_vars): Update.
12770         * cppfiles.c (stack_include_file, handle_missing_header): Update.
12771         * cpphash.h (CPP_PRINT_DEPS): Remove.
12772         * cppinit.c: Don't include version.h.
12773         (cpp_create_reader): Don't call deps_init.  Initialize
12774         warn_long_long.
12775         (cpp_read_main_file): Init deps if necessary.
12776         (cpp_destroy): Conditionally free deps.
12777         (cpp_finish): Update.
12778         (no_tgt): Remove.
12779         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
12780         (cpp_post_options): Rename post_options.
12781         * cpplib.h (struct cpp_options): Remove some dependency options;
12782         move others to a new structure.
12783         (cpp_post_options): Remove.
12784         (cpp_finish): Comment.
12785         * fix-header.c (read_scan_file): Don't call cpp_post_options.
12786
12787 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12788
12789         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
12790         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
12791         MMIX_rR_REGNUM as clobbered.
12792         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
12793
12794 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
12795
12796         * diagnostic.h (output_formatted_scalar): Rename from
12797         output_formatted_integer.
12798         * diagnostic.def: Add DK_DEBUG.
12799         * diagnostic.c (output_decimal): Adjust.
12800         (output_long_decimal): Likewise.
12801         (output_unsigned_decimal): Likewise.
12802         (output_octal): Likewise.
12803         (output_long_octal): Likewise.
12804         (output_hexadecimal): Likewise.
12805         (output_long_hexadecimal): Likewise.
12806         * c-pretty-print.c (pp_c_type_specifier): New function.
12807         (pp_c_specifier_qualifier_list): Likewise.
12808         (pp_c_abstract_declarator): Likewise.
12809         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
12810
12811 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
12812
12813         * doc/trouble.texi (Disappointments): Add static constructor and
12814         destructor dependency information for AIX.
12815
12816 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12817
12818         * cpphash.h (struct printer): New from cppmain.c.
12819         (cpp_reader): New member.
12820         * cppmain.c (struct printer): Move to cpphash.h.
12821         (options, print): Remove.
12822         (account_for_newlines, print_line, maybe_print_line,
12823         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
12824         scan_translation_unit_trad, cb_line_change, cb_ident,
12825         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
12826         cb_def_pragma): Make reentrant.
12827
12828 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12829
12830         * real.c (ieee_64): Always define.
12831         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12832         (dec_h): Not used yet, hide it.
12833         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
12834         macro controlling use.
12835         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12836
12837 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12838
12839         * i386.md (tablejump): Sign extend the operand.
12840         * i386.c (classify_argument): Fix missed case from previous patch.
12841
12842 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12843
12844         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
12845         to c-copts.c.
12846         (warn_multichar): Die.
12847         (cb_register_builtins): Export.
12848         * c-common.h (warn_multichar, preprocess_file): Remove.
12849         (cb_register_builtins): New.
12850         * c-lang.c (c_init): Remove.
12851         (LANG_HOOKS_INIT): Use c_objc_common_init.
12852         * c-lex.c (init_c_lex): Don't canonicalize filename.
12853         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
12854         (preprocess_file): Make static.  Update for cpplib.
12855         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
12856         (c_common_post_options): Set some cpp options here.
12857         (c_common_init): Move from c-common.c.
12858         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
12859         * cpplib.h (struct cpp_options): Remove in_fname.
12860         (cpp_preprocess_file): Update.
12861         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
12862
12863 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12864
12865         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
12866
12867 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12868
12869         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
12870         backslash in comment preceeding macro definition.
12871         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
12872         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
12873         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
12874
12875 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12876
12877         * expr.c (store_expr): In condition for checking if value is
12878         generated in TARGET, move call to expr_size last.
12879
12880 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
12881
12882         * c-common.c (c_common_init): Call preprocess_file instead.
12883         (c_common_finish): Move to c-opts.c.
12884         * c-common.h (preprocess_file): new.
12885         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
12886         check_deps_environment_vars, c_common_finish): New.
12887         (c_common_decode_option): Update for out_fname and dependencies.
12888         * cppinit.c (init_dependency_output, output_deps): Remove.
12889         (cpp_destroy): Update prototype.
12890         (cpp_add_dependency_target): New.
12891         (cpp_read_main_file): Don't overlay a buffer.
12892         (cpp_finish): Take a deps output stream and write deps to it.
12893         Return the error count.
12894         (cpp_post_options): Don't canonicalize out_fname, or do anything
12895         with dependencies.
12896         * cpplib.h (struct cpp_options): Remove out_fname and
12897         preprocess_only.
12898         (cpp_add_dependency_target): New.
12899         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
12900         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
12901         set preprocess_only.  Don't handle the output stream directly.
12902
12903 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12904
12905         * dsp16xx.c (print_operand): Fix format specifier.
12906         * dsp16xx.md: Avoid automatic aggregate initialization.
12907         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
12908         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
12909         integer constant modifier.
12910         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
12911         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
12912         guards.
12913         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
12914         * v850.c (v850_select_section): Mark parameter with
12915         ATTRIBUTE_UNUSED.
12916         * global.c (global_alloc): Const-ify.
12917         * ra-colorize.c (hardregset_to_string): Fix format specifier.
12918
12919 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12920
12921         * darwin-c.c (darwin_pragma_options): Const-ify.
12922         * darwin.c (machopic_non_lazy_ptr_name,
12923         machopic_validate_stub_or_non_lazy_ptr): Likewise.
12924         (machopic_indirect_data_reference): Wrap variables in macros
12925         controlling their use.
12926         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
12927         (machopic_select_section): Use parentheses around && within ||.
12928         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
12929
12930 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12931
12932         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
12933         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
12934         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
12935         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
12936         mdr_try_remove_redundant_insns, track_w_reload,
12937         mdr_try_wreg_elim): Make function static to match prototype.
12938         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
12939         parameter with ATTRIBUTE_UNUSED.
12940
12941 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12942
12943         * arc.c (arc_init): Don't use ISO C style function definitions.
12944         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
12945         arm_get_strip_length, arm_strip_name_encoding): Likewise.
12946         * avr.h (progmem_section): Likewise.
12947         * h8300.c h8300_asm_insn_count): Likewise.
12948         * m32r.c (init_idents): Likewise.
12949         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
12950         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
12951         * xtensa.c (xtensa_build_va_list): Likewise.
12952
12953 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
12954
12955         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
12956         * c-opts.c (parse_option): Rename find_opt.
12957         (set_std_c99): New function.
12958         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
12959         (missing_arg): Remove OPT_std_bad.  Handle -o.
12960         (c_common_decode_option): Handle input and output file names,
12961         -o and -remap.  Clean up -std= handling.
12962         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
12963         (cpp_handle_option): Similarly.  Don't handle filenames.
12964
12965 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
12966
12967         * i386.c (classify_argument): Fix computing of field's offsets.
12968
12969 2002-08-11  Andreas Jaeger  <aj@suse.de>
12970
12971         PR target/7531:
12972         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
12973
12974 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
12975
12976         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
12977         reference to clk_objective_c with flag_objc.
12978         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
12979         Likewise.
12980         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
12981
12982 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
12983
12984         * c-opts.c (set_std_cxx98, set_std_c89): New.
12985         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
12986         (c_common_decode_option): Handle new switches from cppinit.c.
12987         Add -std=gnu++98.
12988         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
12989         (no_arg, no_num): Remove.
12990         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
12991         switches apart from -lang-objc and lang-asm.
12992         (cpp_handle_option): Similarly.
12993         * cpplib.h (cpp_set_lang): New.
12994         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
12995         -std=gnu++98.
12996         * objc/lang-specs.h: Remove -ansi.
12997
12998 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
12999                                Graham Stott
13000
13001         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
13002         errors.
13003
13004 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13005
13006         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
13007         emit_jump_insn): Fix uninitialized variable.
13008         * gcov.c (init_line_info): Likewise.
13009         * genautomata.c (transform_3): Add braces around ambiguous
13010         else.
13011         * ifcvt.c (cond_exec_process_insns): Mark parameter with
13012         ATTRIBUTE_UNUSED.
13013         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
13014         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
13015         variable.
13016
13017         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
13018         warnings in output files.
13019
13020 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
13021
13022         * c-common.c (flag_objc): New.
13023         * c-common.h (c_language_kind): Get rid of clk_objective_c
13024         enum value.
13025         (flag_objc): New extern declaration.
13026         * c-decl.c (implicitly_declare): Call objc_check_decl
13027         instead of maybe_objc_check_decl.
13028         (finish_decl): Likewise.
13029         (grokfield): Likewise.
13030         (finish_struct): Likewise.
13031         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
13032         (maybe_objc_comptypes): Rename to objc_comptypes.
13033         (maybe_building_objc_message_expr): Rename to
13034         objc_message_selector.
13035         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
13036         replace with flag_objc as needed.
13037         * c-opts.c (c_common_init_options): Likewise.
13038         (c_common_decode_option): Likewise.
13039         * c-parse.in (init_reswords): Likewise.
13040         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
13041         (maybe_objc_comptypes): Rename to objc_comptypes.
13042         (maybe_building_objc_message_expr): Rename to
13043         objc_message_selector.
13044         * c-typeck.c (comptypes): Call objc_comptypes instead of
13045         maybe_objc_comptypes, and/or objc_message_selector instead of
13046         maybe_building_objc_message_expr.
13047         (comp_target_types): Likewise.
13048         (convert_for_assignment): Likewise.
13049         (warn_for_assignment): Likewise.
13050         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
13051         independently of those for other languages.
13052         * objc/objc-act.c (maybe_objc_comptypes): Delete.
13053         (maybe_objc_check_decl): Delete.
13054         (maybe_building_objc_message_expr): Rename to
13055         objc_message_selector.
13056         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
13057         clk_objective_c; set flag_objc flag.
13058
13059 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
13060
13061         * ifcvt.c (find_if_case_2): Test correct basic block for size.
13062
13063 2002-08-09  Dale Johannesen  <dalej@apple.com>
13064
13065         * config/rs6000/rs6000.md: Add sibcall patterns.
13066         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
13067         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
13068         Rewritten to handle sibcalls.
13069         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
13070         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
13071
13072 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13073
13074         * profile.c (da_file_name): New static var.
13075         (init_branch_prob): Initialize it.
13076         (end_branch_prob): Remove da file.
13077
13078         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
13079         * configure.in (coverage_flags): Default to nothing.
13080         * configure: Rebuilt.
13081
13082 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
13083
13084         * Makefile.in (c-opts.o): Update
13085         * c-opts.c: Include intl.h.
13086         (print_help): Move from cppinit.c.  Remove unused options.
13087         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13088         (missing_arg): Complain for switches without an argument.
13089         (c_common_decode_option): Reject missing joined arguments.
13090         Handle new switches from cppinit.c.
13091         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13092         (cpp_handle_option): Similarly.
13093         (print_help): Moved to c-opts.c.
13094         * cpplib.h (struct cpp_options): Remove help_only.
13095         * gcc.c (cpp_unique_options): Remove -$.
13096         * doc/cppopts.texi: Undocument -h.
13097
13098 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13099
13100         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
13101         legitimate constant.
13102         (legitimate_pic_operand_p): Neither pic operand.
13103         (legitimate_address_p): But legitimate address.
13104         (get_thread_pointer): Generate MEM/u instead of CONST around
13105         UNSPEC_TP.
13106         (print_operand): Remove printing of UNSPEC_TP.
13107         (print_operand_address): And print it here.
13108
13109 2002-08-08  Devang Patel  <dpatel@apple.com>
13110
13111         * objc/objc-act.c (build_selector_translation_table): Issue warning,
13112         when  -Wselector is used,if method for which selector is being
13113         created does not exist.
13114
13115 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
13116
13117         * config/sh/sh.c (prepare_move_operands): Only call
13118         target_reg_operand if TARGET_SHMEDIA.
13119
13120 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13121
13122         * config/rs6000/rs6000.h, config/rs6000/aix.h,
13123         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
13124         two patches.
13125         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
13126
13127 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
13128             Richard Henderson  <rth@redhat.com>
13129
13130         * emit-rtl.c (gen_rtx_REG): After reload, only return
13131         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
13132
13133 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13134
13135         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
13136         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
13137         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
13138         macro.
13139
13140 2002-08-08  Adam Nemet  <anemet@lnxw.com>
13141
13142         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
13143         register.
13144         (thumb_expand_prologue): Likewise.
13145         (thumb_output_function_prologue): Likewise.
13146         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
13147         the additional push of the PIC register.
13148
13149 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13150
13151         * configure.in (enable_coverage): New enable switch.
13152         * configure: Rebuilt.
13153         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
13154         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
13155         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
13156         (mostlyclean): Remove coverage files.
13157         * doc/install.texi: Document enable_coverage.
13158
13159         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
13160         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
13161         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
13162         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
13163         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
13164         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
13165         files.
13166
13167 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
13168
13169         * c-opts.c (cpp_opts): New.
13170         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
13171         (c_common_decode_options): Handle cpplib switches.
13172         (c_common_init_options): Set cpp_opts.
13173         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13174         (cpp_handle_option): Similarly.
13175
13176 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
13177
13178         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
13179         (TARGET_ALTIVEC_ABI): Same.
13180         (TARGET_ALTIVEC_VRSAVE): Same.
13181
13182         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
13183         icode not CODE_FOR_nothing.  Change switch to if.
13184
13185 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
13186
13187         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
13188
13189 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13190
13191         * stor-layout.c (place_union_field): For bitfields if
13192         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
13193         TYPE_USER_ALIGN.
13194
13195 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13196
13197         * pa.c (struct deferred_plabel): Constify name field.
13198
13199 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13200
13201         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
13202
13203 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13204
13205         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
13206         local_prefix are the same.
13207         * configure: Rebuilt.
13208
13209 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
13210             Richard Henderson  <rth@redhat.com>
13211
13212         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
13213         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
13214         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
13215         (place_field): Likewise.
13216         * config/i386/i386.c (x86_field_alignment): Don't check
13217         DECL_USER_ALIGN here.
13218         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
13219         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
13220         prototype.
13221         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
13222         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
13223         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
13224         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
13225         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
13226         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
13227
13228 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13229
13230         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
13231         * c-common.c: Don't include tree-inline.h.
13232         (c_common_init_options, c_common_post_options): Move to c-opts.c.
13233         * c-common.h (c_common_decode_option): New.
13234         * c-decl.c (c_decode_option): Remove.
13235         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
13236         * c-opts.c: New file.
13237         * c-tree.h (c_decode_option): Remove.
13238         * doc/passes.texi: Update.
13239         * objc/objc-act.c (objc_decode_option): Remove.
13240         * objc/objc-act.h (objc_decode_option): Remove.
13241         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
13242         c_common_decode_option.
13243
13244 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
13245
13246         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
13247         dependency on TARGET_DOUBLE_FLOAT.
13248
13249 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
13250
13251         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
13252         overwrite callee-save registers.  Fix comment.
13253
13254 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
13255
13256         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
13257         in target_flags based on ISA, if it was not set on the command
13258         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
13259         support Branch Likely instructions.
13260         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
13261         (TARGET_BRANCHLIKELY): Likewise.
13262         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
13263         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
13264         ISA_HAS_BRANCHLIKELY.
13265         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
13266         * doc/invoke.texi: Document new MIPS -mbranch-likely and
13267         -mno-branch-likely options.
13268
13269 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13270
13271         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
13272
13273         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
13274         $(GCONFIG_H).
13275
13276 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
13277
13278         * c-decl.c (duplicate_decls): Error out for incompatible TLS
13279         declarations.
13280
13281         * testsuite/gcc.dg/tls/diag-3.c: New.
13282
13283 2002-08-06  Dale Johannesen  <dalej@apple.com>
13284
13285         * c-common.c (fname_decl): Use line number 0 for
13286         __func__, to avoid confusing debuggers.
13287
13288 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
13289
13290         * gcov.c: Tidy.
13291         (struct line_info, struct coverage): New structures.
13292         (gcov_file_name, gcov_file): Remove globals.
13293         (output_data): Take source file parameter. Fix memory leak. Break
13294         up into ...
13295         (init_line_info, output_line_info, make_gcov_file_name,
13296         accumulate_branch_counts): ... here.
13297         (calculate_branch_probs, function_summary): Adjust.
13298         (main): Adjust.
13299         (function_*): Remove global variables.
13300
13301 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13302
13303         * dwarf2out.c: Remove unused macros.
13304
13305 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13306
13307         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
13308
13309 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13310
13311         * cppinit.c (struct lang_flags): Rename trigraphs std.
13312         (set_lang): Update.
13313         * cpplib.h (struct cpp_options): New member std.
13314         * cppmacro.c (_cpp_builtin_macro_text): Use std.
13315         (collect_args): Flag whether to swallow a possible future
13316         comma pasted with varargs.
13317         (replace_args): Use this flag.
13318         * doc/cpp.texi: Update varargs extension documentation.
13319
13320 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13321
13322         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
13323
13324 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13325
13326         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
13327         and MODE_CLASS_INT modes.
13328
13329 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13330
13331         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
13332         --{enable,disable}-threads is given to configure.
13333         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
13334         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
13335         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
13336         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
13337         Remove thread_file setting here.
13338
13339 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
13340
13341         * doc/install.texi (Binaries): Update Bull Freeware URL.
13342
13343 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13344
13345         * doc/gcc.texi (Top): Rename Index to Keyword Index.
13346
13347 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
13348
13349         * gcov.c (output_data): Round to % to nearest, tweak formatting.
13350
13351 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
13352
13353         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
13354         of the operands into MINUS_EXPR if code is PLUS_EXPR.
13355
13356 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
13357
13358         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
13359         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
13360         drectve_section): Define.
13361         * config/i386/t-interix: Replace interix.o rule with winnt.o.
13362         * config/i386/interix.c: Remove.
13363
13364 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
13365
13366         * attribs.c: Don't include obstack.h.
13367         * builtins.c: Likewise.
13368         * cfganal.c: Likewise.
13369         * cfgbuild.c: Likewise.
13370         * cfgcleanup.c: Likewise.
13371         * emit-rtl.c: Likewise.
13372         * loop.c: Likewise.
13373         * stmt.c: Likewise.
13374
13375         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
13376
13377 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
13378
13379         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
13380
13381 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
13382
13383         * doc/invoke.texi: Remove duplicated paragraph describing
13384         TARGET_SWITCHES.
13385
13386 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
13387
13388         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
13389         * collect2.h (permanent_obstack): Delete declaration.
13390         * collect2.c (permanent_obstack): Delete definition.
13391         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
13392         * expr.c: Don't include obstack.h.
13393         (permanent_obstack): Delete declaration.
13394         * function.c: Don't include obstack.h.
13395         (permanent_obstack): Delete declaration.
13396         * integrate.c: Don't include obstack.h.
13397         (function_maybepermanent_obstack): Delete declaration.
13398         * print-tree.c (debug_tree): Use x*alloc not permalloc.
13399         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
13400         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
13401         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
13402         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
13403         of permalloc, expralloc, perm_calloc.
13404         * tree.c (permanent_obstack): Delete definition.
13405         (init_ttree): Rename from init_obstacks.
13406         (permalloc): Delete.
13407         (perm_calloc): Delete.
13408         (dump_tree_statistics): Don't print information about
13409         permanent_obstack.
13410         * varasm.c (assemble_start_function): Use xstrdup instead of
13411         permalloc/strcpy.
13412         (assemble_variable): Likewise.
13413         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
13414         permalloc.
13415         (unicosmk_add_extern): Likewise.
13416         * config/c4x/c4x.c (c4x_external_ref): Likewise.
13417         (c4x_global_label): Likewise.
13418         * config/frv/frv.c (frv_encode_section_info): Likewise.
13419         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
13420         (i386_pe_record_exported_symbol): Likewise.
13421         * config/mips/mips.c (mips_output_external): Likewise.
13422         (mips_output_external_libcall): Likewise.
13423         * config/pa/pa.c: (permanent_obstack): Delete declaration.
13424         (output_call): Use ggc_strdup instead of allocating on
13425         permanent_obstack.
13426         * config/romp/romp.c: Include ggc.h.
13427         (get_symref): Don't declare permanent_obstack, use ggc_strdup
13428         intead of permanent_obstack.
13429         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
13430         instead of permalloc.
13431         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
13432         instead of permalloc
13433         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
13434         instead of permalloc.
13435         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
13436         permalloc.
13437
13438 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
13439
13440         Contribute a port developed primarily by Michael Meissner,
13441         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
13442         * config.gcc: Add frv-elf target.
13443         * config/frv/cmovd.c: New file.
13444         * config/frv/cmovh.c: New file.
13445         * config/frv/cmovw.c: New file.
13446         * config/frv/frv-abi.h: New file.
13447         * config/frv/frv-asm.h: New file.
13448         * config/frv/frv-modes.def: New file.
13449         * config/frv/frv-protos.h: New file.
13450         * config/frv/frv.c: New file.
13451         * config/frv/frv.h: New file.
13452         * config/frv/frv.md: New file.
13453         * config/frv/frvbegin.c: New file.
13454         * config/frv/frvend.c: New file.
13455         * config/frv/lib1funcs.asm: New file.
13456         * config/frv/media.h: New file.
13457         * config/frv/modi.c: New file.
13458         * config/frv/t-frv: New file.
13459         * config/frv/uitod.c: New file.
13460         * config/frv/uitof.c: New file.
13461         * config/frv/ulltod.c: New file.
13462         * config/frv/ulltof.c: New file.
13463         * config/frv/umodi.c: New file.
13464         * config/frv/xm-frv.h: New file.
13465
13466         * config/frv/media.h: Removed again.
13467
13468 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13469
13470         * gcov.c (bb_file_time): New static variable.
13471         (object_directory): May also be object file.
13472         (preserve_paths): New static variable.
13473         (print_usage): Adjust.
13474         (options): Adjust.
13475         (process_args): Adjust.
13476         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
13477         file. Find modification date on bb file.
13478         (read_profile): Don't rewind a NULL file.
13479         (format_hwint): New static function.
13480         (function_summary): Use format_hwint.
13481         (output_data): SOURCE_FILE_NAME is never relative to
13482         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
13483         mangling. Adjust output format to make it more machine readable.
13484         * doc/gcov.texi: Document & clarify semantics.
13485
13486 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
13487
13488         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
13489
13490 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13491
13492         * gcc.c (cc1_options): Pass output file as auxbase when
13493         appropriate.
13494         * profile.c (init_branch_prob): FILENAME has already had ending
13495         stripped.
13496         * final.c (end_final): Likewise.
13497         * toplev.c (aux_base_name): New global.
13498         (compile_file): Pass aux_base_name to init init_branch_prob and
13499         end_final.
13500         (independent_decode_option, case 'a'): New auxinfo options.
13501         (case 'd'): Protect against mising basename.
13502         (do_compile): Initialize aux_base_name.
13503         * toplev.h (aux_base_name): New global.
13504         * doc/invoke.texi: Adjust documentation.
13505
13506 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13507
13508         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
13509         of TARGET_ALIGN_DOUBLE.
13510
13511 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
13512
13513         * diagnostic.c (inform): New function.
13514         * diagnostic.h (inform): Declare.
13515
13516 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
13517
13518         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
13519         (movhi_internal): Same.
13520         (movqi_internal): Same.
13521         (movdi_internal64): Same.
13522
13523         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
13524
13525         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
13526         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
13527         (COMMON_ASM_OP): Define.
13528         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
13529         Use ALIGN parameter.
13530         (LOCAL_COMMON_ASM_OP): Define.
13531         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
13532
13533 2002-08-03  Roger Sayle  <roger@eyesopen.com>
13534
13535         * builtins.def: Define new builtin functions exp, expf, expl,
13536         log, logf and logl (and their __builtin_* variants).
13537         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
13538         Define exp_optab and log_optab.
13539         * optabs.c (init_optans): Initialize exp_optab and log_optab.
13540         * genopinit.c (optabs): Implement exp_optab and log_optab
13541         using exp?f2 and log?f2 patterns.
13542         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
13543         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
13544         (expand_builtin): Ignore the new builtins (and all cos and
13545         sin variants) when not optimizing.  Expand new builtins via
13546         expand_builtin_mathfn when flag_unsafe_math_optimizations.
13547
13548         * doc/extend.texi: Document new exp and log builtins.
13549         * doc/md.texi: Document new exp?f2 and log?f2 patterns
13550         (and previously undocumented cos?f2 and sin?f2 patterns).
13551
13552 2002-08-03  Jason Merrill  <jason@redhat.com>
13553
13554         * explow.c (int_expr_size): New fn.
13555         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
13556         * expr.h: Declare it.
13557
13558 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
13559
13560         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
13561         gengtype-* dependencies.
13562
13563 2002-08-02  Eric Christopher  <echristo@redhat.com>
13564
13565         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
13566         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
13567         #ifndef to #undef.
13568         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
13569
13570 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
13571
13572         PR optimize/7067
13573         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
13574         small if optimizing for size.
13575
13576 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
13577
13578         * configure.in (FORBUILD): Use $build_alias.
13579         * configure: Regenerated.
13580
13581 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
13582
13583         * config.gcc: Don't include mips/abi64.h in $tm_file.
13584         * hard-reg-set.h (call_really_used_regs): Declare.
13585         * config/mips/abi64.h: Remove file.
13586         * config/mips/linux.h,
13587         * config/mips/iris6.h: Don't include it.
13588         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
13589         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
13590         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
13591         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
13592         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
13593         Bring across definitions from abi64.h.
13594         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
13595         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
13596         (struct mips_args): Use it.
13597         * config/mips/mips.c (mips_conditional_register_usage): Define.
13598
13599 2002-08-02  Jason Merrill  <jason@redhat.com>
13600
13601         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
13602         * langhooks.c (lhd_expr_size): Define default.
13603         * langhooks.h (struct lang_hooks): Add expr_size.
13604         * explow.c (expr_size): Call it.
13605         * expr.c (store_expr): Don't copy an expression of size zero.
13606         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
13607         to store.
13608         * Makefile.in (builtins.o): Depend on langhooks.h.
13609
13610 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13611
13612         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
13613         * ra-debug.c: Include "tm_p.h".
13614         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
13615
13616 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
13617
13618         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
13619         when not honoring signalling NaNs.
13620         (simplify_ternary_operation): a == b has a definite value
13621         when not honoring NaNs.
13622
13623 2002-08-02  Jason Merrill  <jason@redhat.com>
13624
13625         * gdbinit.in (pct): New macro.
13626
13627 2002-08-01  Stan Shebs  <shebs@apple.com>
13628             Andreas Tobler  <toa@pop.agri.ch>
13629
13630         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
13631         plays nice with Darwin headers.
13632         (_BSD_RUNE_T_DEFINED_): Likewise.
13633
13634 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13635
13636         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
13637         * cppinit.c (cpp_post_options): Likewise.
13638
13639         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
13640         warning about 'LL' suffix (but not 'ULL' etc) when
13641         -Wno-long-long is in effect.
13642
13643         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
13644         Check for failing time()/localtime(), issue a warning, and
13645         make __TIME__ and __DATE__ expand to fallback strings.
13646
13647         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
13648         and __TIME__ when the date and time cannot be determined.
13649
13650 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13651
13652         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
13653
13654 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
13655
13656         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
13657
13658 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13659
13660         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
13661         (mipsisa64sb1el-*-elf*): Likewise.
13662         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
13663         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
13664         (TARGET_SB1, TUNE_SB1): New macros.
13665         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
13666         -mtune flags.
13667
13668 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
13669
13670         * varasm.c (asm_emit_uninitialized): Return false if global BSS
13671         and ASM_EMIT_BSS not supported by target.
13672         (assemble_variable): Do not duplicate uninitialized logic.
13673         Fall through if asm_emit_uninitialized failed.
13674
13675 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13676
13677         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
13678
13679 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13680
13681         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
13682         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
13683
13684         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
13685         HOST_BITS_PER_WIDE_INT == 64.
13686
13687 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13688
13689         * df.c (df_insn_table_realloc): Change parameter to unsigned.
13690         * optabs.c (expand_binop): Make variable unsigned.
13691         * simplify-rtx.c (simplify_subreg): Likewise.
13692         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
13693
13694 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13695
13696         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
13697
13698 2002-08-01  Richard Henderson  <rth@redhat.com>
13699
13700         * toplev.c (parse_options_and_default_flags): Don't set
13701         flag_reorder_blocks for -Os.
13702
13703         * config/avr/avr.c (avr_optimization_options): Remove.
13704         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
13705         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
13706         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
13707
13708 2002-08-01  H.J. Lu <hjl@gnu.org>
13709             Richard Henderson  <rth@redhat.com>
13710
13711         * output.h (DECL_READONLY_SECTION): Remove.
13712         (decl_readonly_section): Declare.
13713         * varasm.c (decl_readonly_section): New.
13714         (default_section_type_flags, default_select_section): Use it.
13715         * config/arm/pe.c (arm_pe_unique_section): Likewise.
13716         * config/i386/interix.c (i386_pe_unique_section): Likewise.
13717         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
13718         * config/mcore/mcore.c (mcore_unique_section): Likewise.
13719         * config/mips/mips.c (mips_unique_section): Likewise.
13720
13721 2002-08-01  Richard Henderson  <rth@redhat.com>
13722
13723         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
13724         refers to a subroutine parameter.
13725
13726 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
13727
13728         * varasm.c (assemble_visibility): Strip name encoding.
13729
13730 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
13731
13732         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
13733         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
13734         when there is no frame pointer.
13735         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
13736         registers properly.
13737         * config/ns32k/__unorddf2.c: New file.
13738         * config/ns32k/__unordsf2.c: New file.
13739         * config/ns32k/t-ns32k: New file.
13740         * config.gcc (ns32k-*-netbsd*): Use it.
13741
13742 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
13743
13744         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
13745
13746 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13747
13748         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
13749
13750 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
13751
13752         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
13753
13754 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
13755
13756         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
13757
13758 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13759
13760         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
13761         n_sets): Removed.
13762         (expr_hash_table, set_hash_table): Type changed to ...
13763         (struct hash_table): New type.
13764         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
13765         insert_expr_in_table, insert_set_in_table, compute_hash_table,
13766         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
13767         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
13768         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
13769         (alloc_hash_table): New.
13770         (free_set_hash_table, free_expr_hash_table): Merged to ...
13771         (free_hash_table): New.
13772         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
13773         (compute_hash_table_work): New.
13774         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
13775         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
13776         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
13777         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
13778         hoist_code, one_code_hoisting_pass,
13779         trim_ld_motion_mems): Altered due to changed type of hash tables.
13780
13781 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13782
13783         * final.c (output_alternate_entry_point):
13784         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
13785
13786 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13787
13788         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
13789         avoid ISO C style function definition.
13790
13791         * expr.c (expand_assignment): Delete unused variable.
13792
13793 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
13794
13795         * c-common.c (cb_register_builtins): Set
13796         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
13797         is given, and to 0 otherwise.
13798         * combine.c (simplify_if_then_else): HONOR_NANS
13799         implies FLOAT_MODE_P.
13800
13801 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13802
13803         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
13804         (cpp_handle_option): Don't handle it.
13805         (print_help): Update.
13806         * doc/cppopts.texi: Update.
13807
13808 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13809
13810         * c-common.c (cb_register_builtins): If C++, define
13811         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
13812         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
13813 cp:
13814         * lang-specs.h: Simplify in accordance with new code in
13815         c-common.c.
13816
13817 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13818
13819         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
13820         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
13821         * c-decl.c: Move all warning and flag variables to c-common.c.
13822         * c-format.c: Move all warning variables to c-common.c.
13823         * c-tree.h: Move all warning and flag declarations to c-common.h.
13824         * objc/objc-act.c: Move all warning variables to c-common.c.
13825         (flag_warn_protocol): Rename warn_protocol.
13826
13827 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13828
13829         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
13830
13831 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
13832
13833         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
13834         .section prefix.
13835
13836 2002-07-31  Stan Shebs  <shebs@apple.com>
13837
13838         * config.gcc (i[34567]86-*-darwin*): New configuration.
13839         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
13840         defining.
13841         (TARGET_ENCODE_SECTION_INFO): Ditto.
13842         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
13843         * config/darwin.c (machopic_indirect_data_reference): Remove
13844         setting of RTX_UNCHANGING_P.
13845         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
13846         not to be applied to sums.
13847         * config/i386/t-darwin: New file.
13848         * config/i386/darwin.h: New file.
13849         * config/i386/i386.h (TARGET_MACHO): Add default definition.
13850         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
13851         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
13852         label and not the GOT add.
13853         (constant_address_p): For Mach-O, seeing a CONST is enough.
13854         (legitimate_pic_address_disp_p): Add a Mach-O case.
13855         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
13856         (legitimize_pic_address): Use generic Mach-O code to legitimize.
13857         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
13858         if outputting a difference.
13859         (ix86_output_addr_diff_elt): Add Mach-O case.
13860         (ix86_expand_move): Similarly.
13861         (ix86_expand_call): Similarly.
13862         (current_machopic_label_num): New global.
13863         (machopic_output_stub): New function.
13864         (ix86_value_regno): New function.
13865         (ix86_function_value): Use it instead of VALUE_REGNO.
13866         (ix86_libcall_value): Ditto.
13867         * config/i386/unix.h (VALUE_REGNO): Remove.
13868
13869 2002-07-31  Graham Stott  <grahas@btinternet.com>
13870
13871         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
13872         hash for LABEL_REF's.
13873
13874 2002-07-31  Graham Stott  <grahams@btinternet.com>
13875
13876         * config/rs6000/rs6000.c (spe_init_builtins,
13877         altivec_init_builtins, rs6000_common_init_builtins):
13878         Replace ANSI with K&R function def.
13879
13880 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
13881
13882         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
13883         for CCFPmode.
13884
13885 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
13886
13887         * config/mips/crtn.asm: Don't use __mips16 to determine the
13888         return-address offset.  Define RA to a suitable temporary
13889         register for the return address.
13890
13891 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
13892
13893         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
13894         constraints to 'd'.
13895
13896 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
13897
13898         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
13899         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
13900         patch on 2002-07-29.)
13901         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
13902
13903 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13904
13905         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
13906         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
13907         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
13908         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
13909         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
13910         (ASM_GLOBALIZE_LABEL): Delete.
13911         (GLOBAL_ASM_OP): Define.
13912
13913         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
13914
13915         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
13916         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
13917
13918 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
13919
13920         * doc/extend.texi (Hints implementation): Document that GCC
13921         mostly ignores `register'.
13922
13923 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
13924
13925         * flags.h: Declare flag_finite_math_only.
13926         Use it in definition of HONOR_NANS and
13927         HONOR_INFINITIES.
13928         * c-common.c (cb_register_builtins): Emit
13929         __FINITE_MATH_ONLY__ when flag_finite_math_only
13930         is set.
13931         * combine.c (simplify_if_then_else): If
13932         flag_finite_math_only is set, a == b has a
13933         definite value.
13934         * toplev.c: Initialize flag_finite_math_only.
13935         (set_flags_fast_math): Set it on -ffast-math.
13936         (flag_fast_math_set_p): Test it.
13937         * doc/invoke.texi: Document -ffinite-math-only.
13938
13939 2002-07-30  Richard Henderson  <rth@redhat.com>
13940
13941         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
13942         (noce_process_if_block): Likewise.
13943
13944 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
13945
13946         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
13947         Bail out early if false_expr is NULL and we'd crash due to this.
13948         * genemit.c (gen_expand): Recognize return insns even if the return
13949         appears in a parallel.
13950         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
13951         * config/fp-bit.c: Likewise.
13952         * doc/tm.texi: Document it.
13953
13954 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
13955             Zack Weinberg  <zack@codesourcery.com>
13956
13957         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
13958         CODE_FOR_nothing.  Change switch to if.
13959         (rs6000_expand_binop_builtin): Same.
13960         (rs6000_expand_builtin): Expand builtin if target support enabled.
13961         (rs6000_init_builtins): Init builtin if target support enabled.
13962         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
13963
13964 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13965
13966         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
13967
13968 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
13969
13970         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
13971
13972 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
13973
13974         * sh.md (cond_delay_slot): New attribute.
13975         (cbranch delay): Use it for anulled-true case.
13976         (stuff_delay_slot): New pattern.
13977         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
13978         delay slot insn.
13979         (gen_far_branch): Emit stuff_delay_slot pattern.
13980
13981 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
13982
13983         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
13984
13985 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
13986
13987         * fold-const.c: Fix comment typos.
13988         * gcse.c: Likewise.
13989         * reload1.c: Likewise.
13990
13991 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13992
13993         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
13994         for TARGET_SPE.
13995
13996 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
13997
13998         * c-pretty-print.h (pp_c_statement): Declare.
13999         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
14000         (pp_c_statement): Define.
14001
14002 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14003
14004         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
14005         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
14006         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
14007         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
14008         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
14009         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
14010
14011         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
14012         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
14013
14014 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14015
14016         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
14017         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
14018         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
14019         (pp_c_expression): Update.
14020
14021 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14022
14023         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
14024         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
14025         * alpha/vms-ld.c (main): Likewise.
14026         * dsp16xx.c (double_reg_to_memory): Likewise.
14027         * mcore.c (mcore_expand_prolog): Likewise.
14028         * cppfiles.c (read_name_map): Likewise.
14029         * gensupport.c (process_rtx, identify_predicable_attribute,
14030         alter_test_for_insn): Likewise.
14031         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
14032
14033 2002-07-29  Roger Sayle  <roger@eyesopen.com>
14034
14035         * builtins.c (expand_builtin):  Change the default behavior to
14036         only issue an error if the builtin function doesn't have a
14037         fallback library call.  Remove several cases handled by the
14038         new default.
14039
14040 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
14041
14042         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
14043         floating point format of the target is IEEE.
14044         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
14045         format of the target is DEC.
14046
14047 2002-07-29  Richard Henderson  <rth@redhat.com>
14048
14049         * unroll.c (verify_addresses): Remove.
14050         (find_splittable_givs): Never split DEST_ADDR givs.
14051
14052 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
14053
14054         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
14055         is exhaustive.
14056         (Files): Improve documentation on generated source files.
14057
14058         * doc/extend.texi (Translation implementation): Document what
14059         diagnostics look like.
14060         (Identifiers implementation): Document that there's normally no
14061         limit on identifier names.
14062         (Integers implementation): Document two's complement.
14063         (Hints implementation): Document that GCC honors 'inline', mostly.
14064         (Preprocessing directives implementation): Document that GCC
14065         requires the current time.
14066
14067 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14068
14069         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
14070         (pp_initializer): New macro.
14071         (pp_c_initializer): Declare.
14072         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
14073         (pp_c_initializer): Define.
14074         (pp_c_initializer_list): New function.
14075         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
14076         VECTOR_CST, CONSTRUCTOR.
14077         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
14078         IMAGPART_EXPR.
14079         (pp_c_cast_expression): Handle FLOAT_EXPR.
14080         (pp_c_assignment_expression): Handle INIT_EXPR.
14081         (pp_c_expression): Update.
14082
14083 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
14084
14085         * objc/objc-act.c (objc_init): Return immediately if filename
14086         is NULL.
14087
14088 2002-07-29  Eric Christopher  <echristo@redhat.com>
14089
14090         * config/mips/elf.h: Remove ecoff.h and gofast includes.
14091         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
14092         (SDB_DEBUGGING_INFO): Undefine.
14093         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
14094         (PUT_SDB_SIZE): Remove.
14095         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
14096         (STARTFILE_SPEC): Add isa3264 define.
14097         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
14098         * config/mips/ecoff.h: Remove. and here...
14099         * config/mips/iris3.h: and here...
14100         * config/mips/sni-svr4.h: and here...
14101         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
14102         Add assembler -mmdebug options for non-dwarf debugging.
14103         * config/mips/r3900.h: Remove debug info defines.
14104         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
14105         * config/mips/isa3264.h: Ditto.
14106         * config/mips/t-isa3264: Fix up for file removal and gofast configure
14107         change.
14108         * config/mips/t-elf: Ditto.
14109         * config/mips/t-ecoff: Ditto.
14110         * config/mips/t-r3900: Ditto.
14111         * config/mips/t-iris5-6: Ditto.
14112         * config/mips/t-isa3264: Ditto.
14113         * config/mips/t-linux: Remove.
14114         * config/mips/t-netbsd: Remove.
14115         * config/mips/t-mips: New file.
14116         * config/mips/t-gofast: Ditto.
14117         * config/mips/netbsd.h: Remove unnecessary undefines.
14118         * config/mips/linux.h: Remove #include of mips.h.
14119         * config.gcc: Add mips.h include for elf targets. Remove tm_file
14120         for ecoff. Add gofast configure option for mips.
14121
14122 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
14123
14124         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
14125         linker scripts use STARTUP directives consistently.
14126         * configure: Regenerate.
14127         * config.in: Regenerate.
14128         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
14129         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
14130         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14131         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
14132         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
14133         will be the same.
14134
14135 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14136
14137         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
14138
14139 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14140
14141         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
14142
14143 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
14144
14145         * config/rs6000/rs6000.md: Move altivec patterns from here...
14146
14147         * config/rs6000/altivec.md: ...to here.
14148
14149 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14150
14151         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
14152
14153 2002-07-29  Richard Henderson  <rth@redhat.com>
14154
14155         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
14156         set_mem_attributes and add BITPOS argument.  Subtract it from
14157         OFFSET when same is adjusted.
14158         (set_mem_attributes): New wrapper function.
14159         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
14160         remove offset adjustment hack.
14161         * expr.h (set_mem_attributes_minus_bitpos): Declare.
14162
14163 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14164
14165         * Makefile.in (C_OBJS): Include c-pretty-print.o
14166         (c-pretty-print.o): Add depency rule.
14167         * pretty-print.h: Add more macros.
14168         * c-pretty-print.c: New file.
14169         * c-pretty-print.h: Likewise.
14170
14171 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14172
14173         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
14174         constants to __ev64_s32__.
14175         (__internal_ev_mwhgsmian): Same.
14176         (__internal_ev_mwhgsmfan): Same.
14177         (__internal_ev_mwhgssfan): Same.
14178         (__internal_ev_mwhgumiaa): Same.
14179         (__internal_ev_mwhgsmiaa): Same.
14180         (__internal_ev_mwhgsmfaa): Same.
14181         (__internal_ev_mwhgssfaa): Same.
14182
14183 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
14184
14185         * varasm.c (assemble_variable): Narrow test for uninitialized
14186         without BSS target support.
14187
14188 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
14189
14190         * profile.c: Add file comment describing the overall algorithm and
14191         structures.
14192         (struct edge_info): Add comments.
14193         (struct bb_info): Add comments.
14194         * basic-block.h (EDGE_*): Add comments.
14195         * doc/gcov.texi (Gcov Data Files): Document bit flags.
14196
14197 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
14198
14199         * config/xtensa/elf.h, config/xtensa/linux.h
14200         (TARGET_OS_CPP_BUILTINS): Define.
14201         (CPP_PREDEFINES): Remove.
14202         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
14203         (CPP_SPEC): Remove.
14204
14205 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
14206
14207         * gensupport.c: Include hashtab.h.
14208         (insn_elision, condition_table, hash_c_test, cmp_c_test,
14209         maybe_eval_c_test): New routines and data structures to
14210         support insn elision.
14211         (init_md_reader): Read and initialize the condition_table.
14212         (read_md_rtx): Discard insn patterns whose C test is provably
14213         always false.
14214         * gensupport.h: Declare new functions and data structures.
14215
14216         * genconditions.c, dummy-conditions.c: New files.
14217         * Makefile.in: Build genconditions; run it to construct
14218         insn-conditions.c; build that and link it into most gen*
14219         programs.
14220         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
14221         (GEN): Delete, unused.
14222         (STAGESTUFF): Update.
14223
14224         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
14225         CODE_FOR_nothing for all elided patterns.
14226         (main): Tweaked to support this.
14227         * genflags.c (gen_proto): Emit a static inline generator
14228         function here for all elided patterns, which simply returns
14229         NULL_RTX.
14230         (gen_insn): Do not define HAVE_xxx for elided patterns.
14231         (main): Tweaked to support this.  No need to forward-declare
14232         struct rtx_def.
14233         * genrecog.c: Do not bother emitting the C test if it's known
14234         to be true at compile time.
14235
14236 2002-07-29  Mike Stump  <mrs@apple.com>
14237
14238         * config.gcc (target_gtfiles): Initialize, as otherwise cross
14239         compilers hosted on powerpc-apple-darwin6.0 won't even build.
14240
14241 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
14242
14243         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
14244         remove clobber of LR.
14245         (sibcall_insn, sibcall_value_insn): Update accordingly.
14246         (sibcall_epilogue): Remove debugging comment from assembler stream.
14247
14248 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14249
14250         * pretty-print.h: Define more macros.
14251         * diagnostic.h (output_formatted_integer): Moved from...
14252         * diagnostic.c: ... here.
14253
14254 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14255
14256         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
14257
14258 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
14259
14260         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
14261         arguments.  Always use ".-symbol" as expression argument.
14262         * doc/tm.texi: Update to match.  Document requirement for
14263         ".size symbol, .-symbol" to be acceptable to assembler.
14264
14265         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14266         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
14267         config/i386/freebsd-aout.h, config/i386/sco5.h,
14268         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
14269         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
14270
14271 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14272
14273         * Makefile.in (gengtype-lex.c): Fix error in last change.
14274
14275         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
14276         backslash.
14277
14278         * Makefile.in (vmsdbgout.o): Depend on function.h.
14279
14280         * vmsdbgout.c: Include function.h.
14281
14282 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
14283
14284         * prefix.c (update_path): Don't strip single `.' path components
14285         unless stripping a later `..' component.  Exit loop as soon as
14286         a valid path is found.
14287
14288 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14289
14290         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
14291         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
14292         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
14293         floating point unordered comparisons (e.g. __builtin_isgreater)
14294         as const, and leave the remaining GCC_BUILTINs unchanged.
14295
14296         * c-decl.c (builtin_function): No need to explicitly mark
14297         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
14298
14299 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14300
14301         * Makefile.in: rtlanal.o now depends upon real.h.
14302
14303         * flags.h [flag_signaling_nans]: New flag.
14304         [HONOR_SNANS]: New macro.
14305
14306         * toplev.c [flag_signaling_nans]: Initialize to false.
14307         (f_options): Add processing for "-fsignaling-nans".
14308         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
14309         (process_options): flag_signaling_nans implies flag_trapping_math.
14310
14311         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
14312         when -fsignaling-nans.  First step to implementing WG14's N965.
14313
14314         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
14315         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
14316         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
14317
14318         * simplify-rtx.c (simplify_relational_operation): Conditionalize
14319         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
14320
14321         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
14322         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
14323         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
14324         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
14325         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
14326
14327         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
14328
14329 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14330
14331         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
14332         * gengtype-lex.l (YY_USE_PROTOS): Undef.
14333         (YY_DECL): Define.
14334
14335 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14336
14337         * doc/invoke.texi: Document that both -fno-builtin-foo and
14338         -fno-builtin are supported by the g++ front-end.
14339
14340 2002-07-27  Stan Shebs  <shebs@apple.com>
14341
14342         * configure.in: Rename config_gtfiles to target_gtfiles.
14343         * configure: Regenerate.
14344         * doc/gty.texi: Update reference.
14345         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
14346         instead of appending to it.
14347
14348 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
14349
14350         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
14351         vectors are split into two registers.
14352         (function_arg): Same.
14353
14354 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
14355
14356         * pa.md (extv): Check predicates before emitting extv_32.
14357
14358 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
14359
14360         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
14361         (rs6000_traceback): New var.
14362         (rs6000_override_options): Set rs6000_traceback.
14363         (rs6000_output_function_epilogue): Implement traceback options.
14364         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
14365         (rs6000_traceback_name): Declare.
14366
14367         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
14368         label reference when NO_PROFILE_COUNTERS.
14369
14370 2002-07-26  Jason Merrill  <jason@redhat.com>
14371
14372         * function.c (assign_parms): Handle frontend-directed pass by
14373         invisible reference.
14374
14375 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14376
14377         * doc/cppopts.texi: Update.
14378
14379 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14380
14381         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
14382         warnings on assertions.
14383
14384 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14385
14386         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
14387         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
14388         RID_COMPL): Remove.
14389         * c-parse.in (rid_to_yy): Similarly.
14390
14391 2002-07-26  Jason Merrill  <jason@redhat.com>
14392
14393         * c-dump.c: Resurrect.
14394         * tree-dump.c: Move C-specific stuff to c-dump.c.
14395         * c-common.h: Declare c_dump_tree.
14396         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
14397         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
14398         (c-dump.o): New rule.
14399
14400 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
14401
14402         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
14403         PowerPC64.  Replace "T" and "S" constraints with "n" when the
14404         predicate will do.  Formatting fixes.
14405         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
14406         as for extzvsi_internal1.
14407
14408 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14409
14410         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
14411         DERIV_END_LABEL_FMT): Remove.
14412         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
14413
14414 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14415
14416         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
14417         Remove.
14418
14419 2002-07-25  Stan Shebs  <shebs@apple.com>
14420
14421         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
14422         local var dwarfp.
14423         (output_compiler_stub): Remove unused locals.
14424         (output_call): Always initialize line number.
14425
14426 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14427
14428         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
14429         * sh.md (truncdiqi2, movqi_media): Likewise.
14430
14431 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14432
14433         * gcse.c (obstack_chunk_alloc): Remove.
14434         (gcse_alloc): Fix to count allocated bytes.
14435         * collect2.c (SYMBOL__MAIN): Remove.
14436
14437 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14438
14439         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
14440         HAVE_TARGET_EXECUTABLE_SUFFIX.
14441
14442 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14443
14444         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
14445         SIZE, EXPR and OFFSET.
14446
14447 2002-07-25  Richard Henderson  <rth@redhat.com>
14448
14449         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
14450         in ARRAY_REF of DECL_P case.
14451
14452 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14453
14454         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
14455         description.  Document -mips32, -mips64, and the associated -march
14456         values.  Describe the "mipsN" arguments to -march.  Say that the
14457         -mipsN options are equivalent to -march.  Reword the description
14458         of default type sizes.
14459         * toplev.h (target_flags_explicit): Declare.
14460         * toplev.c (target_flags_explicit): New var.
14461         (set_target_switch): Update target_flags_explicit.
14462         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
14463         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
14464         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
14465         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
14466         * config/mips/mips.h (mips_cpu_info): New struct.
14467         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14468         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
14469         (MIPS_CPP_SET_PROCESSOR): New macro.
14470         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
14471         Define _MIPS_ARCH and _MIPS_TUNE.
14472         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
14473         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
14474         MIPS_ISA_DEFAULT were already defined.
14475         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
14476         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
14477         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
14478         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
14479         (ABI_GAS_ASM_SPEC): Remove.
14480         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
14481         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
14482         Invoke %(asm_abi_default_spec) if no ABI was specified.
14483         (CC1_SPEC): Remove ISA -> register-size rules.
14484         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
14485         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
14486         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14487         (mips_cpu_info_table): New array.
14488         (mips_set_architecture, mips_set_tune): New fns.
14489         (override_options): Rework to make -mipsN equivalent to -march.
14490         Detect more erroneous cases, including those removed from CC1_SPEC.
14491         Don't change the ABI based on architecture, or vice versa.
14492         Unify logic with GAS.
14493         (mips_asm_file_start): Get architecture name from mips_arch_info.
14494         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
14495         (mips_parse_cpu): Take the name of the option as argument.  Handle
14496         'from-abi'.  Raise an error if the option is wrong.
14497         (mips_cpu_info_from_isa): New fn.
14498
14499 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14500
14501         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
14502         (tablejump_mips162): Likewise.
14503
14504 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
14505
14506         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
14507         int_mode_for_mode.
14508
14509 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
14510
14511         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
14512         complaining.
14513         * c-common.h (c_sizeof): Adjust definition.
14514         (c_alignof): Likewise.
14515         * c-tree.h (c_sizeof_nowarn): Now macro.
14516         * c-typeck.c (c_sizeof_nowarn): Remove definition.
14517
14518 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14519
14520         * c-decl.c (c_decode_option): No need to handle switches
14521         cpplib handles.
14522
14523 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
14524
14525         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
14526         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
14527         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
14528         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14529
14530         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14531         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
14532         config/cris/aout.h, config/i386/freebsd-aout.h,
14533         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
14534         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
14535         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
14536         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
14537         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
14538         config/xtensa/elf.h, config/xtensa/linux.h:
14539         Use the new macros.
14540         Where possible, remove redundant definitions of SIZE_ASM_OP,
14541         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14542
14543 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
14544
14545         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
14546         TARGET_ISEL, and TARGET_FPRS.
14547
14548         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
14549         -mabi=spe, -mabi=no-spe, and -misel=.
14550
14551         * config/rs6000/rs6000-protos.h: Add output_isel.
14552         Move vrsave_operation prototype here.
14553
14554         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
14555         (smaxsi3): Same.
14556         (uminsi3): Same.
14557         (umaxsi3): Same.
14558         (abssi2_nopower): Disallow when TARGET_ISEL.
14559         (*ne0): Same.
14560         (negsf2): Change to expand and rename old pattern to *negsf2.
14561         (abssf2): Change to expand and rename old pattern to *abssf2.
14562
14563         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
14564         fixunssfsi2.
14565
14566         Change patterns that check for TARGET_HARD_FLOAT or
14567         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
14568
14569         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
14570         rs6000_isel, rs6000_fprs, rs6000_isel_string.
14571         (rs6000_override_options): Add 8540 case to
14572         processor_target_table.
14573         Set rs6000_isel for the 8540.
14574         Call rs6000_parse_isel_option.
14575         (enable_mask_for_builtins): New.
14576         (rs6000_parse_isel_option): New.
14577         (rs6000_parse_abi_options): Add spe and no-spe.
14578         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
14579         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
14580         for TARGET_HARD_FLOAT.
14581         Add case for SPE_VECTOR_MODE.
14582         (rs6000_legitimize_reload_address): Handle SPE vector modes.
14583         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
14584         vector modes.
14585         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
14586         (rs6000_emit_move): Check for TARGET_FPRS.
14587         Add cases for SPE vector modes.
14588         (function_arg_boundary): Return 64 for SPE vector modes.
14589         (function_arg_advance): Check for TARGET_FPRS and
14590         Handle SPE vectors.
14591         (function_arg): Same.
14592         (setup_incoming_varargs): Check for TARGET_FPRS.
14593         (rs6000_va_arg): Same.
14594         (struct builtin_description): Un-constify mask field.  Move up in
14595         file.
14596         (bdesc_2arg): Un-constify and add SPE builtins.
14597         (bdesc_1arg): Same.
14598         (bdesc_spe_predicates): New.
14599         (bdesc_spe_evsel): New.
14600         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
14601         (rs6000_expand_binop_builtin): Same.
14602         (bdesc_2arg_spe): New.
14603         (spe_expand_builtin): New.
14604         (spe_expand_predicate_builtin): New.
14605         (spe_expand_evsel_builtin): New.
14606         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
14607         (rs6000_init_builtins): Initialize SPE builtins.  Call
14608         rs6000_common_init_builtins.
14609         (altivec_init_builtins): Move all non-altivec builtin code to...
14610         (rs6000_common_init_builtins): ...here.  New function.
14611         (branch_positive_comparison_operator): Allow NE code for SPE.
14612         (ccr_bit): Return correct ccr bit for SPE fp.
14613         (print_operand): Emit crnor in 'D' case for SPE.
14614         New case 't'.
14615         Add SPE code for 'y' case.
14616         (rs6000_generate_compare): Generate rtl for SPE fp.
14617         (output_cbranch): Handle SPE hard floats.
14618         (rs6000_emit_cmove): Handle isel.
14619         (rs6000_emit_int_cmove): New.
14620         (output_isel): New.
14621         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
14622         64-bits for SPE.
14623         (debug_stack_info): Add SPE info.
14624         (gen_frame_mem_offset): New.
14625         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
14626         Change mode of frame pointer, when saving it, to Pmode.
14627         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
14628         Misc cleanups and use gen_frame_mem_offset when appropriate.
14629
14630         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
14631         (TARGET_SPE_ABI): New.
14632         (TARGET_SPE): New.
14633         (TARGET_ISEL): New.
14634         (TARGET_FPRS): New.
14635         (FIXED_SCRATCH): New.
14636         (RTX_COSTS): Add PROCESSOR_PPC8540.
14637         (ASM_CPU_SPEC): Add case for 8540.
14638         (TARGET_OPTIONS): Add isel= case.
14639         (rs6000_spe_abi): New.
14640         (rs6000_isel): New.
14641         (rs6000_fprs): New.
14642         (rs6000_isel_string): New.
14643         (UNITS_PER_SPE_WORD): New.
14644         (LOCAL_ALIGNMENT): Adjust for SPE.
14645         (HARD_REGNO_MODE_OK): Same.
14646         (DATA_ALIGNMENT): Same.
14647         (MEMBER_TYPE_FORCES_BLK): New.
14648         (FIRST_PSEUDO_REGISTER): Set to 113.
14649         (FIXED_REGISTERS): Add SPE registers.
14650         (reg_class): Same.
14651         (REG_CLASS_NAMES): Same.
14652         (REG_CLASS_CONTENTS): Same.
14653         (REGNO_REG_CLASS): Same.
14654         (REGISTER_NAMES): Same.
14655         (DEBUG_REGISTER_NAMES): Same.
14656         (ADDITIONAL_REGISTER_NAMES): Same.
14657         (CALL_USED_REGISTERS): Same.
14658         (CALL_REALLY_USED_REGISTERS): Same.
14659         (SPE_ACC_REGNO): New.
14660         (SPEFSCR_REGNO): New.
14661         (SPE_SIMD_REGNO_P): New.
14662         (HARD_REGNO_NREGS): Adjust for SPE.
14663         (VECTOR_MODE_SUPPORTED_P): Same.
14664         (REGNO_REG_CLASS): Same.
14665         (FUNCTION_VALUE): Same.
14666         (LIBCALL_VALUE): Same.
14667         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
14668         (SPE_VECTOR_MODE): New.
14669         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
14670         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
14671         (rs6000_stack): Add spe_gp_size, spe_padding_size,
14672         spe_gp_save_offset.
14673         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
14674         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
14675         (SPE_CONST_OFFSET_OK): New.
14676         (rs6000_builtins): Add SPE builtins.
14677
14678         * testsuite/gcc.dg/ppc-spe.c: New.
14679
14680         * config/rs6000/eabispe.h: New.
14681
14682         * config/rs6000/spe.h: New.
14683
14684         * config/rs600/spe.md: New.
14685
14686         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
14687         __SIMD__ for TARGET_SPE.
14688
14689         * config.gcc: Add powerpc-*-eabispe* case.
14690         Add spe.h to user headers for powerpc.
14691
14692 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14693
14694         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
14695         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14696         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
14697
14698 2002-07-24  Richard Henderson  <rth@redhat.com>
14699
14700         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
14701         form when not optimizing.
14702
14703 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
14704
14705         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
14706         thread_pointer_rtx as unchanging.
14707
14708 2002-07-24  Michael Matz  <matz@suse.de>
14709
14710         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
14711         (free_reg): Use it.
14712
14713 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
14714
14715         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
14716         pattern.
14717         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
14718         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
14719
14720 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14721
14722         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
14723         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14724         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
14725
14726 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
14727
14728         * toplev.c (rest_of_compilation): Dump loops before clobbering
14729         the structure.
14730
14731 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
14732
14733         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
14734
14735 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
14736
14737         PR optimization/7291
14738         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
14739         problem on x86_64.
14740
14741 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
14742
14743         * pretty-print.h: Add macros from cp/error.c
14744
14745 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14746
14747         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
14748         (mask64_2_operand): Declare.
14749         (build_mask64_2_operands): Declare.
14750         (and64_2_operand): Declare.
14751         (extract_MB): Declare.
14752         (extract_ME): Declare.
14753         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
14754         CONST_DOUBLE code.
14755         (mask_operand_wrap): New insn predicate.
14756         (mask64_2_operand): Likewise.
14757         (and64_2_operand): Likewise.
14758         (build_mask64_2_operands): New function.
14759         (extract_MB): New function.
14760         (extract_ME): New function.
14761         (print_operand <case m,M>): Use extract_MB and extract_ME.
14762         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
14763         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
14764         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
14765         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
14766         * config/rs6000/rs6000.md (andsi3_internal3): New
14767         (andsi3_internal3+1): Enable split for powerpc64.
14768         (andsi3_internal3+2): New split.
14769         (andsi3_internal4): Renamed old andsi3_internal3.
14770         (andsi3_internal5): New.
14771         (andsi3_internal5+1): Enable split for powerpc64.
14772         (andsi3_internal5+2): New split.
14773         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
14774         (anddi3): Handle 't' constraint.
14775         (anddi3+1): New split.
14776         (anddi3_internal2): Handle 't' constraint.
14777         (anddi3_internal2+1): New split.
14778         (anddi3_internal3): Handle 't' constraint.
14779         (anddi3_internal3+1): New split.
14780
14781 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14782
14783         * config/rs6000/rs6000.md: Remove scratch reg on insns using
14784         addze and similar (plus (comparison r1 r2) r3) insns.  Add
14785         missing scratch reg in one case.  Formatting fixes.
14786
14787 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
14788
14789         * cppexp.c (parse_defined): Mark macro used.
14790         * cpphash.h (struct cpp_macro): New member "used".
14791         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
14792         (struct cpp_reader): New member.
14793         * cppinit.c (cpp_finish_options): Set first_unused_line.
14794         (cpp_finish): Warn of unused macros if requested.
14795         (OPT_TABLE): New switches.
14796         (cpp_handle_option): Handle them.
14797         * cpplib.c (do_undef): Warn if macro unused.
14798         (do_ifdef, do_ifndef): Mark macro used.
14799         * cpplib.h (struct cpp_options): New member.
14800         * cppmacro.c (_cpp_warn_if_unused_macro): New.
14801         (enter_macro_context): Mark macro used.
14802         (_cpp_create_definition): Mark macro unused; warn if unused
14803         when redefined.
14804         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
14805         Mark macros used.
14806         * doc/cppopts.texi: Update.
14807
14808 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14809
14810         * dwarf2out.c (SECTION_ASM_OP,
14811         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14812         * system.h (SECTION_ASM_OP): Poison.
14813         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
14814         * config/alpha/alpha-interix.h, config/mips/linux.h
14815         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14816         * config/mmix/mmix-protos.h, config/mmix/mmix.c
14817         (mmix_asm_output_define_label_difference_symbol): Remove.
14818         * config/mmix/mmix.h
14819         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14820         * doc/tm.texi: Remove documentation.
14821
14822 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
14823
14824         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
14825         (constrain_operands): Likewise.
14826         * regclass.c (record_reg_classes): Likewise.
14827         * reload.c (find_reloads): Likewise.
14828         * doc/md.texi: Likewise.
14829
14830         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
14831         * simplify-rtx.c (simplify_subreg): When converting to a non-int
14832         mode, try to convert to an integer mode of matching size first.
14833
14834         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
14835         from individual subregs, check that each subreg has been generated
14836         sucessfully.
14837
14838 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14839
14840         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
14841         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
14842         FOR_EACH_BB_IN_SBITMAP): Remove.
14843         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
14844         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
14845         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
14846         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
14847         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
14848         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
14849
14850 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14851
14852         * pretty-print.h: New file.
14853
14854 2002-07-23      Paul Koning     <pkoning@equallogic.com>
14855
14856         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
14857         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
14858         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
14859         (TARGET_G_FLOAT): Default to 0 if not defined.
14860         (ieeetoe): New, common routine to convert target format floats
14861         to internal form.
14862         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
14863         vs. others.
14864         (e113toe): Change to use ieeetoe.
14865
14866 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
14867
14868         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
14869         IBM.
14870         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
14871         (e64toe): Remove special cases for DEC and IBM. Remove support for
14872         ARM_EXTENDED_IEEE_FORMAT.
14873         (e24toe): Remove special cases for DEC.
14874         (significand_size): Simplify. Indent.
14875         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
14876         (etoieee, toieee): New.
14877         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
14878         etoieee and toieee for IEEE arithmetic.
14879
14880 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14881
14882         * doc/extend.texi: Say ISO C90, not ISO C89.
14883         * doc/invoke.texi: Likewise.
14884         * doc/standards.texi: Likewise.
14885
14886 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
14887
14888         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
14889         Fix permutation of conversion and plus/mult.
14890         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
14891         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
14892         (expand_builtin_strncpy) Ditto.
14893         (expand_builtin_memset) Ditto.
14894
14895 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14896
14897         Fix PR/7363:
14898         * c-common.c (c_sizeof_or_alignof_type): New function.
14899         (c_alignof): Remove definition.
14900         * c-common.h (c_sizeof, c_alignof): Define as macros.
14901         (c_sizeof_or_alignof_type): Declare.
14902         (my_friendly_assert): Moved from cp/cp-tree.h
14903         * c-typeck.c (c_sizeof): Remove definition.
14904
14905 2002-07-23  Jan Hubicka  <jh@suse.cz>
14906
14907         * gcse.c (try_replace_reg): Use num_changes_pending.
14908         * recog.c (num_changes_pending): New function.
14909         (validate_replace_src): Use validate_repalce_src_group.
14910         (validate_replace_src_group): New.
14911         * recog.h (validate_repalce_src_group): New.
14912         (num_changes_pending): Likewise.
14913
14914 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
14915
14916         * calls.c (emit_library_call_value_1): If
14917         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
14918         libcall, const call nor pure call.
14919
14920 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14921
14922         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
14923
14924 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14925
14926         * vmsdbgout.c (SECTION_ASM_OP): Remove.
14927
14928 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14929
14930         * config/i386/i386.c (AT_BP): Remove.
14931
14932 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14933
14934         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
14935         Default definition.
14936         * gcse.c: Don't define obstack_chunk_free.
14937         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
14938         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
14939         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
14940         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
14941         Don't define obstack macros.
14942
14943 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
14944
14945         PR target/6744
14946         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
14947         ASM_OPERANDS instructions.
14948
14949 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
14950
14951         PR target/7361
14952         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
14953         constant addresses only on 68HC12.
14954
14955 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
14956
14957         * cppfiles.c (stack_include_file): Correct test of whether
14958         a dependency should be output.
14959
14960 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
14961
14962         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
14963
14964 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
14965
14966         * arm.md (movqi): If optimizing and we can create pseudos, use
14967         a ZERO_EXTEND to load from memory, then copy the result into the
14968         target.
14969         (movhi): Likewise, but only for ARMv4.
14970
14971 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
14972
14973         * ssa-ccp.c (PHI_PARMS): Remove.
14974
14975 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
14976
14977         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
14978         on big-endian targets.
14979
14980 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14981
14982         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
14983         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
14984         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
14985         New formatting macros.
14986
14987         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
14988
14989 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
14990
14991         * rtlanal.c (subreg_regno_offset): Return correct offset for
14992         big endian paradoxical subregs.
14993
14994         * optabs.c (expand_vector_unop): Don't expand using sub_optab
14995         if we got the wrong mode.
14996
14997         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
14998         * genrecog.c (write_switch, write_cond): Use it.
14999         * genemit.c (gen_exp): Likewise.
15000
15001 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15002
15003         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
15004
15005 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15006
15007         * c-decl.c (build_compound_literal): Defer compound literal decls
15008         until until file end to emit them only if they are actually used.
15009
15010 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15011
15012         * ra-build.c (check_conflict_numbers): Hide unused function.
15013         (livethrough_conflicts_bb): Avoid automatic aggregate
15014         initialization.
15015         (parts_to_webs_1): Avoid `U' integer constant modifier.
15016         (conflicts_between_webs): Wrap a variable in the macro controlling
15017         its usage.
15018         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
15019         (dump_igraph, dump_graph_cost): Avoid string concatenation
15020         (dump_static_insn_cost): Avoid automatic aggregate
15021         initialization.
15022         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
15023         initialization.
15024         (dump_cost): Avoid string concatenation
15025
15026 2002-07-21  Richard Henderson  <rth@redhat.com>
15027
15028         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
15029         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
15030
15031 2002-07-21  Richard Henderson  <rth@redhat.com>
15032
15033         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
15034         that are not unrolled completely.
15035
15036 2002-07-21  Richard Henderson  <rth@redhat.com>
15037
15038         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
15039         * loop.c (strength_reduce): Update.
15040         * toplev.c (rest_of_compilation): Do unrolling in the first
15041         loop pass, not the second.
15042
15043 2002-07-21  Richard Henderson  <rth@redhat.com>
15044
15045         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
15046         when flag_argument_noalias == 2.
15047         * alias.c (nonoverlapping_memrefs_p): Handle that.
15048         * print-rtl.c (print_mem_expr): Likewise.
15049
15050 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
15051
15052         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
15053         instead of __negdi2 directly.
15054
15055 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15056
15057         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
15058         * function.c (SYMBOL__MAIN): Remove definition.
15059         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
15060         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
15061         * profile.c (GCOV_INDEX_TO_BB): Remove.
15062         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
15063         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
15064
15065 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15066
15067         * c-lex.c (GET_ENVIRONMENT): Remove.
15068         * collect2.c (GET_ENV_PATH_LIST): Remove.
15069         (prefix_from_env): Use GET_ENVIRONMENT.
15070         * cppinit.c (GET_ENV_PATH_LIST): Remove.
15071         (init_standard_includes): Use GET_ENVIRONMENT.
15072         * defaults.h (GET_ENVIRONMENT): Define here if not already.
15073         * gcc.c (GET_ENV_PATH_LIST): Remove.
15074         (make_relative_prefix, process_command): Update.
15075         * protoize.c (GET_ENV_PATH_LIST): Remove.
15076         (do_processing): Update.
15077
15078 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
15079
15080         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
15081         (grokdeclarator): Likewise.
15082         * c-format.c (C_STD_NAME): Likewise.
15083         * c-lex.c (interpret_integer): Likewise.
15084         * c-typeck.c (build_array_ref): Likewise.
15085         * cpplex.c (_cpp_lex_direct): Likewise.
15086         * toplev.c (documented_lang_options): Likewise.
15087
15088 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15089
15090         * c-format.c (T99_I, T99_UI): Remove.
15091
15092 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15093
15094         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
15095
15096 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
15097
15098         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
15099         do_local_cprop.
15100
15101 2002-07-21  Andreas Jaeger  <aj@suse.de>
15102
15103         * reload1.c (fixup_abnormal_edges): Remove unused variable.
15104
15105 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
15106
15107         Improvements for the ifcvt pass from Michael Meissner, with patches
15108         by Richard Sandiford <rsandifo@redhat.com>
15109         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
15110         * ifcvt.c (cond_exec_changed_p): New static variable.
15111         (last_active_insn): New function, renamed from last_active_insn_p
15112         and changed to return the last active insn in a basic block. All
15113         callers updated.
15114         (block_fallthru): New function.
15115         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
15116         IFCVT_MODIFY_INSN.  All callers updated.
15117         Return false if START or END are NULL.
15118         Handle case where we're processing an insn that is already
15119         conditional.
15120
15121         (noce_process_if_block): CE_INFO argument rather than
15122         multiple args containing the involved basic blocks.  All callers
15123         changed.
15124         (process_if_block, merge_if_block, find_if_block,
15125         cond_exec_process_if_block): Likewise.
15126
15127         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
15128         changed.
15129         Use new function last_active_insn to simplify some code.
15130         New code to handle multiple tests.
15131         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
15132         cond_exec_changed_p to TRUE.
15133
15134         (process_if_block): New code to handle multiple tests.
15135         (merge_if_block): Likewise.
15136         (find_if_header): New arg PASS.  Changed to return the currently
15137         processed basic block or NULL instead of true/false. All callers
15138         changed.
15139         Call IFCVT_INIT_EXTRA_FIELDS.
15140         (block_jumps_and_fallthru_p): New function.
15141         (find_if_block): Discover opportunities to convert multiple tests.
15142         Add additional debugging output.
15143         Update the ce_info structure before returning.
15144
15145         (if_convert): Run multiple passes of if-conversion.
15146         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
15147         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
15148         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
15149         these macros.
15150
15151 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
15152
15153         * gcse.c: Include cselib.h
15154         (constptop_register): Break out from ...
15155         (cprop_insn): ... here; kill basic_block argument.
15156         (do_local_cprop, local_cprop_pass): New functions.
15157         (one_cprop_pass): Call local_cprop_pass.
15158
15159 2002-07-20  Roger Sayle  <roger@eyesopen.com>
15160
15161         * simplify-rtx.c (simplify_relational_operation): Optimize
15162         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
15163
15164 2002-07-20  Michae Matz  <matz@suse.de>
15165
15166         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
15167
15168 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
15169
15170         * cppexp.c (struct op): Add token pointer.
15171         (check_promotion, CHECK_PROMOTION): New.
15172         (optab): Update.
15173         (_cpp_parse_expr): Update, use token pointer of struct op.
15174         (reduce): Warn about change of sign owing to promotion.
15175         * cppinit.c (cpp_handle_option): New warning if -Wall.
15176         * cpplib.h (struct cpp_options): New member.
15177
15178 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
15179
15180         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
15181         fpu list.  Separate Power4 compare and delayed_compare.  Correct
15182         Power4 fpcompare.
15183         (fix_truncdfsi2_internal): Restore FPR preference.
15184         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
15185         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
15186
15187 2002-07-19  Momchil Velikov <velco@fadata.bg>
15188
15189         * reload1.c (reload_as_needed): Duplicate oldpat.
15190
15191 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
15192
15193         PR optimization/7130
15194         * loop.h (struct loop_info): Add "preconditioned".
15195         * unroll.c (unroll_loop): Set it.
15196         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
15197
15198 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
15199
15200         * rtl.def (CODE_LABEL): Remove slot 8.
15201         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
15202         (LABEL_ALTERNATE_NAME): Delete.
15203         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
15204         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15205
15206         * final.c (output_alternate_entry_point): New.
15207         (final_scan_insn): Use it instead of
15208         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
15209         of a case label being an alternate entry point.
15210
15211         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
15212         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
15213         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
15214         (field deleted).
15215         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
15216
15217         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
15218         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
15219         * doc/tm.texi: Delete documentation of
15220         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15221
15222 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15223
15224         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
15225         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
15226         (LINK_SPEC): Define.
15227         (STARTFILE_SPEC): Define.
15228         (ENDFILE_SPEC): Define.
15229
15230         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
15231         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
15232
15233         * config/mips/iris6-o32-gas.h: New file.
15234         * config.gcc (mips-sgi-irix6*o32): Use it.
15235
15236         * config/mips/t-iris5-gas: New file.
15237         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15238
15239 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
15240
15241         * cppexp.c (ALWAYS_EVAL): Remove.
15242         (optab, reduce): Always evaluate.
15243         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
15244         only if not skipping evaluation.
15245
15246 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15247
15248         * config/avr/avr.c (debug_hard_reg_set): Remove.
15249
15250 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
15251
15252         * gcc.c (cpp_options): Include "%1" (cc1_spec).
15253
15254 2002-07-19  Richard Henderson  <rth@redhat.com>
15255
15256         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
15257
15258 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
15259
15260         * prefix.c (update_path): Don't zap single `.' path components
15261         unless followed by another `.' and fix typo last patch.
15262
15263 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
15264
15265         * cppexp.c (cpp_num_mul): Remove unused parameter.
15266         (UNARY, BINARY, OTHER, binary_handler): Remove.
15267         (ALWAYS_EVAL): New.
15268         (optab): Update.
15269         (reduce): Refactor to a large switch, don't use a function
15270         pointer.
15271
15272 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
15273
15274         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
15275
15276 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
15277
15278         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
15279         (sh_expand_binop_v2sf): Likewise.
15280         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
15281         (int_gpr_dest, trunc_hi_operand): New functions.
15282         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
15283         trunc_hi_operand.
15284         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
15285         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
15286         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
15287         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
15288         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
15289         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
15290         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
15291         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
15292         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
15293         (movsf_ie+1): Likewise.
15294         (loaddi_trunc): Use int_gpr_dest predicate.
15295         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
15296         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
15297         (casesi_worker_0+[12], casesi_worker): Likewise.
15298         (shcompact_preserve_incoming_args): Likewise.
15299         (mov_nop): Use any_register_operand predicate.
15300         (mperm_w0): Use trunc_hi_operand predicate.
15301
15302 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15303
15304         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
15305         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
15306         numbering.
15307
15308 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15309
15310         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
15311
15312 2002-07-18  Richard Henderson  <rth@redhat.com>
15313
15314         PR optimization/7147
15315         * ifcvt.c (noce_get_condition): Make certain that the condition
15316         is valid at JUMP.
15317
15318 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
15319
15320         * sh.c (barrier_align, push): Shut up compiler warnings.
15321         (initial_elimination_offset,sh_media_init_builtins): Likewise.
15322         (reg_no_subreg_operand): Delete.
15323
15324 2002-07-17  Bo Thorsen  <bo@suse.de>
15325
15326         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
15327         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
15328         (STARTFILE_SPEC): Remove hardcoded library paths.
15329         (ENDFILE_SPEC): Likewise.
15330
15331 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
15332
15333         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
15334
15335         * gcse.c (try_replace_reg): Do not return false positives.
15336
15337 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15338
15339         * prefix.c: (update_path): Strip ".." components when prior dir
15340         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
15341
15342         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
15343         (ASM_OUTPUT_REG_POP): Likewise.
15344
15345 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15346
15347         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
15348         adjustments to first_reg for profiling case.
15349         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
15350         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
15351         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
15352         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
15353         (ASM_OUTPUT_REG_POP): Define.
15354         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
15355         (ASM_OUTPUT_REG_POP): Undef.
15356
15357 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15358
15359         * cpplib.c (do_sccs): Handle #sccs on all systems.
15360         * system.h (SCCS_DIRECTIVE): Poison.
15361         * config/darwin.h, config/freebsd.h, config/netbsd.h,
15362         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
15363         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
15364         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
15365         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
15366         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
15367         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
15368         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
15369         Remove all references to SCCS_DIRECTIVE.
15370         * doc/cpp.texi, doc/tm.texi: Update.
15371
15372 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
15373
15374         * regrename.c (maybe_mode_change): New function.
15375         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
15376
15377 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
15378
15379         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
15380         suppress addition when either ct or cf are zero.
15381
15382 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
15383             Glen Nakamura <glen@imodulo.com>
15384
15385         PR optimization/6713
15386         * loop.c (loop_givs_rescan): Explicitly delete the insn that
15387         sets a non-replaceable giv after issuing the new one.
15388
15389 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15390
15391         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
15392         eval_token): Clarify and correct use of "bool" variables.
15393         * cpplib.h (struct cpp_options): Similarly.
15394         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
15395         * cpptrad.c (recursive_macro): Similarly.
15396
15397 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
15398
15399         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
15400         SHmedia code.
15401
15402         * sh.md (cmpgtudi_media): Remove spurious @.
15403
15404         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
15405         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
15406
15407         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
15408         * sh-protos.h (sh_initialize_trampoline): Declare.
15409         * sh.c (sh_initialize_trampoline): New function.
15410         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
15411         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
15412         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
15413         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
15414         * sh.md (initialize_trampoline, double_shori): New patterns.
15415         (initialize_trampoline_compact): Likewise.
15416         (shmedia32_initialize_trampoline_big): Remove.
15417         (shmedia32_initialize_trampoline_little): Likewise.
15418
15419         * sh-protos.h (binary_float_operator): Remove declaration.
15420         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
15421         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
15422         (unary_float_operator, sh_expand_unop_v2sf): New functions.
15423         (sh_expand_binop_v2sf): Likewise.
15424         (zero_vec_operand): Delete.
15425         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
15426         all non-shared ones.
15427         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
15428         Enable nsb and byterev.
15429         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
15430         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
15431         in general regs.
15432         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
15433         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
15434         immediate operands.
15435         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
15436         Add DF_HI_REGS.
15437         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
15438         lowpart fp regs - only for big endian for now.
15439         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
15440         when FPU is in use.
15441         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
15442         (LOAD_EXTEND_OP): NIL for SImode.
15443         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
15444         general and fp registers is 4.
15445         PREDICATE_CODES: Amend binary_float_operator entry.
15446         Remove zero_vec_operand.  Add unary_float_operator.
15447         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
15448         subreg SET_DEST.
15449         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
15450         (truncdiqi2): Do sign extension.
15451         (movsi_media, movdi_media): Allow to use r63 to an fp register.
15452         (movdf_media, movsf_media): Likewise.
15453         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
15454         Collapse to one define_insn_and_split.  Allow immediate sources.
15455         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
15456         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
15457         (movv4sf): Allow immediate sources.
15458         (movsf_media_nofpu+1): Don't split moves to FP registers.
15459         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
15460         (movv8qi_i+3): Check against CONST0_RTX.
15461         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
15462         for input and output operands.  Fix argument 3 to gen_mextr_rl.
15463         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
15464         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
15465         (mshf0_w, fipr, ftrv): Likewise.
15466         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
15467
15468 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
15469
15470         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
15471         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
15472         * arm.c: Similarly.
15473
15474 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
15475
15476         * config/mips/mips-protos.h (mips_sign_extend): Declare.
15477         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
15478         (TARGET_SWITCHES): Remove debugh.
15479         (ISA_HAS_TRUNC_W): New macro.
15480         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
15481         (PREDICATE_CODES): Remove se_nonimmediate_operand.
15482         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
15483         any SImode move_operand.
15484         (se_nonimmediate_operand): Remove.
15485         (mips_sign_extend): New.
15486         (mips_move_2words): Use it for sign-extended source operands.
15487         (override_options): Allow integers to be put into single FPRs.
15488         (mips_secondary_reload_class): Handle integers in float registers.
15489         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
15490         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
15491         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
15492         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
15493         (fix_truncdfdi2): Provide only a single alternative, in which the
15494         integer is in a float register.  Depend on TARGET_FLOAT64 rather
15495         than TARGET_64BIT.
15496         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
15497         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
15498         (movdi_internal2): Don't allow the source operand to be sign-extended.
15499         Add alternatives for float registers.
15500         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
15501         allows sign-extension.
15502         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
15503         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
15504         float registers.  Remove TARGET_DEBUG_H_MODE test.
15505         (movhi_internal1): Rename to movhi_internal.  Don't check
15506         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
15507         (movqi_internal1): Rename to movqi_internal and remove
15508         TARGET_DEBUG_H_MODE dependency.
15509         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
15510
15511 2002-07-16  Jim Wilson  <wilson@redhat.com>
15512
15513         * toplev.c (lang_dependent_init): Create function context for
15514         init_expr_once.
15515
15516 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
15517
15518         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
15519         --gc-sections if -r.
15520         * config/cris/cris.h: Ditto.
15521
15522 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
15523
15524         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
15525         the comparison directly gives a mask suppress addition when cf is
15526         zero by complementing the mask.
15527
15528 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
15529
15530         * Makefile.in: Delete references to enquire.
15531         * enquire.c: Move to contrib.
15532
15533 2002-07-16  Stan Shebs  <shebs@apple.com>
15534
15535         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
15536         config/rs6000/darwin.h.
15537         (ASM_OUTPUT_SKIP): Ditto.
15538         (TEXT_SECTION_ASM_OP): Ditto.
15539         (DATA_SECTION_ASM_OP): Ditto.
15540         (ASM_APP_ON): Define.
15541         (ASM_APP_OFF): Define.
15542         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
15543         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
15544
15545         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
15546         (machopic_function_base_name): Declare result to be const.
15547         (machopic_non_lazy_ptr_name): Ditto.
15548         (machopic_stub_name): Ditto.
15549         * config/darwin-protos.h: Ditto for the prototypes.
15550
15551 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
15552
15553         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
15554
15555 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
15556
15557         * i386.md (prefetch): Fix for 64bit mode.
15558         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15559
15560 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
15561
15562         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
15563         * i386.c (x86_machine_dependent_reorg): New function.
15564         * i386-protos.h (x86_machine_dependent_reorg): Declare.
15565
15566 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
15567
15568         * builtins.c (std_expand_builtin_va_start): Remove unused
15569         first argument.
15570         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
15571         std_expand_builtin_va_start with just two arguments.
15572         * expr.h: Update prototypes.
15573
15574         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
15575         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
15576         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
15577         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
15578         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
15579         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
15580         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
15581         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
15582         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
15583         argument from all implementations of EXPAND_BUILTIN_VA_START
15584         and all uses of std_expand_builtin_va_start.
15585
15586 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15587
15588         * regrename.c (copy_value): Don't record high part copies.
15589
15590 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15591
15592         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
15593         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
15594         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
15595
15596 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
15597
15598         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
15599
15600         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
15601         into addsi3 using register class "x" and "y".
15602
15603         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
15604         "earlyclobber" constraint modifier for some alternative.
15605
15606         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
15607         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
15608         unordered.
15609         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
15610
15611         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
15612         (TARGET_SWITCHES): Add -mieee-compare option.
15613         (OVERRIDE_OPTIONS): 32332 is a subset of
15614         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
15615         (TARGET_SWITCHES): Fix description of bitfield option.
15616         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
15617         -mieee-compare option. Remove 32332 flag.
15618
15619 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15620
15621         * explow.c (convert_memory_address): Remove special handling
15622         when POINTERS_EXTEND_UNSIGNED < 0.
15623         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
15624         (movedi_symbolic): Fix typo.
15625         (load_fptr): Remove mode restriction so it works for SI and DI.
15626         (load_fptr_internal1): Ditto.
15627         (load_gprel): Ditto.
15628         (load_symptr_internal1): Ditto.
15629         (call_pic): Ditto.
15630         * config/ia64.c (call_operand): Modify mode check.
15631         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
15632         (ia64_expand_move): Ditto.
15633         (ia64_assemble_integer): Handle SImode function pointers.
15634         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
15635         (ia64_expand_op_and_fetch): Ditto.
15636         (ia64_expand_compare_and_swap): Ditto.
15637         (ia64_expand_lock_test_and_set): Ditto.
15638         (ia64_expand_lock_release): Ditto.
15639
15640 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15641
15642         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
15643
15644 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15645             Richard Earnshaw  <rearnsha@arm.com>
15646
15647         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
15648         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
15649
15650 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
15651
15652         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
15653         understands to be a memory clobber.
15654         * arm.c (arm_expand_prologue): Use it.
15655
15656 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
15657
15658         * ra-rewrite.c: #include reload.h, insn-config.h
15659         * ra-build.c: #include reload.h
15660         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
15661         depend on reload.h, insn-config.h.
15662
15663 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
15664
15665         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
15666         the same size as a word.
15667
15668         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
15669         BYTES_BIG_ENDIAN into account.
15670
15671 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
15672
15673         * i386.md (prefetch): Fix for 64bit mode.
15674         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15675
15676         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
15677
15678 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15679
15680         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
15681
15682 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
15683
15684         * ginclude/varargs.h: Replace with stub which issues #error.
15685         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
15686         __builtin_va_start.
15687
15688         * builtins.def (BUILT_IN_VARARGS_START): Delete.
15689         (BUILT_IN_VA_START): New.
15690         * builtins.c (expand_builtin_va_start): Eliminate first
15691         argument and code to implement pre-ISO varargs.
15692         (std_expand_builtin_va_start): Ignore first argument; it is
15693         always 1.
15694         (expand_builtin): Handle BUILT_IN_VA_START and
15695         BUILT_IN_STDARG_START identically.  Delete
15696         BUILT_IN_VARARGS_START case.
15697
15698         * function.c (assign_parms): Delete hide_last_arg and all
15699         its uses.
15700         (mark_varargs): Delete function.
15701         * function.h (struct function): Delete 'varargs' bit.
15702         (current_function_varargs): Delete macro.
15703         * tree.h: Don't declare mark_varargs.
15704
15705         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
15706         (c_expand_body): Don't call mark_varargs.
15707         * c-objc-common.c: Handle BUILT_IN_VA_START and
15708         BUILT_IN_STDARG_START identically.  Delete
15709         BUILT_IN_VARARGS_START case.
15710         * c-tree.h: Don't declare c_mark_varargs.
15711         * c-parse.in: Remove grammar rules for '&...' (which has been
15712         commented out since before 2.7.2) and for '...' in K+R
15713         argument declarations.
15714
15715         * builtins.c, function.c, integrate.c, sibcall.c,
15716         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
15717         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
15718         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
15719         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
15720         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
15721         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
15722         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
15723         config/stormy16/stormy16.c: Delete all references to
15724         current_function_varargs, and code predicated on that flag.
15725
15726         * config/alpha/alpha.c (alpha_va_start),
15727         config/arc/arc.c (arc_va_start),
15728         config/i386/i386.c (ix86_va_start),
15729         config/mips/mips.c (mips_va_start),
15730         config/mn10300/mn10300.c (mn10300_va_start),
15731         config/rs6000/rs6000.c (rs6000_va_start),
15732         config/s390/s390.c (s390_va_start),
15733         config/sh/sh.c (sh_va_start),
15734         Ignore first argument; it is always 1.
15735
15736         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
15737         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
15738         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
15739         Delete m68hc11_va_start.
15740         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
15741         No need to define EXPAND_BUILTIN_VA_START.
15742
15743         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
15744         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
15745
15746 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
15747
15748         PR optimization/7153
15749         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
15750         dies in more than one insn.
15751
15752 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
15753
15754         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
15755
15756 2002-07-15  Michael Matz  <matz@suse.de>,
15757             Daniel Berlin  <dberlin@dberlin.org>,
15758             Denis Chertykov  <denisc@overta.ru>
15759
15760         Add a new register allocator.
15761
15762         * ra.c: New file.
15763         * ra.h: New file.
15764         * ra-build.c: New file.
15765         * ra-colorize.c: New file.
15766         * ra-debug.c: New file.
15767         * ra-rewrite.c: New file.
15768
15769         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
15770         (ra-rewrite.o): New .o files for libbackend.a.
15771         (GTFILES): Add basic-block.h.
15772
15773         * toplev.c (flag_new_regalloc): New.
15774         (f_options): New option "new-ra".
15775         (rest_of_compilation): Call initialize_uninitialized_subregs()
15776         only for the old allocator.  If flag_new_regalloc is set, call
15777         new allocator, instead of local_alloc(), global_alloc() and
15778         friends.
15779
15780         * doc/invoke.texi: Document -fnew-ra.
15781         * basic-block.h (FOR_ALL_BB): New.
15782         * config/rs6000/rs6000.c (print_operand): Write small constants
15783         as @l+80.
15784
15785         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
15786         (df_reg_table_realloc): Make size at least as large as max_reg_num().
15787         (df_insn_table_realloc): Size argument now is absolute, not relative.
15788         Changed all callers.
15789
15790         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
15791         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
15792
15793         2002-06-20  Michael Matz  <matz@suse.de>
15794
15795         * df.h (struct ref.id): Make unsigned.
15796         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
15797
15798         2002-06-13  Michael Matz  <matz@suse.de>
15799
15800         * df.h (DF_REF_MODE_CHANGE): New flag.
15801         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
15802         involving subregs with invalid mode changes, when
15803         CLASS_CANNOT_CHANGE_MODE is defined.
15804
15805         2002-05-07  Michael Matz  <matz@suse.de>
15806
15807         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
15808
15809         2002-05-03  Michael Matz  <matz@suse.de>
15810
15811         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
15812
15813         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
15814
15815         * regclass.c (regclass): Work with all regs which have sets or
15816         refs.
15817         (reg_scan_mark_refs): Count regs inside (clobber ...).
15818
15819         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
15820
15821         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
15822         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
15823         add new refs.
15824         (df_bb_refs_update): Don't clear insns_modified here, ...
15825         (df_analyse): ... but here.
15826
15827         * sbitmap.c (dump_sbitmap_file): New.
15828         (debug_sbitmap): Use it.
15829
15830         * sbitmap.h (dump_sbitmap_file): Add prototype.
15831
15832         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
15833
15834         * df.c (df_insn_modify): Grow the UID table if necessary, rather
15835         than assume all emits go through df_insns_modify.
15836
15837         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
15838
15839         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
15840         increase REG_N_REFS (like flow does), so that regclass doesn't
15841         think a reg is useless, and thus, not calculate a class, when it
15842         really should have.
15843
15844         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
15845
15846         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
15847         dataflow analysis.
15848
15849 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
15850
15851         PR middle-end/7245
15852         * config/i386/i386.c (const_int_1_31_operand): New.
15853         * config/i386/i386.h (PREDICATE_CODES): Add it.
15854         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
15855         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
15856         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
15857
15858 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
15859
15860         PR target/7282
15861         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
15862         (floatunssidf2): Likewise.
15863         (floatsidf_ppc64): New insn_and_split.
15864         (floatunssidf_ppc64): Likewise.
15865
15866 2002-07-14  Andreas Jaeger  <aj@suse.de>
15867
15868         * config.gcc (sh64): Remove unused
15869         target_requires_64bit_host_wide_int.
15870
15871 2002-07-12  Roger Sayle  <roger@eyesopen.com>
15872
15873         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
15874         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
15875         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
15876         whether clear_by_pieces should be used to clear storage.
15877         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
15878
15879         * doc/tm.texi: Document these two new target macros.
15880
15881 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
15882
15883         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
15884         the scratch register.
15885         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
15886         of it, forbid reload to use it.
15887
15888 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15889
15890         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
15891         usage on 64-bit hosts, return value was truncated to 32 bits.
15892
15893 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
15894
15895         * simplify-rtx.c (simplify_subreg): Handle floating point
15896         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
15897         the element mode is requested, compute a subreg with an
15898         integer mode of the same size as the element mode first.
15899
15900 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
15901
15902         * combine.c (try_combine): When converting a paradoxical subreg
15903         to an extension, take LOAD_EXTEND_OP into account.
15904
15905 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15906
15907         * config.gcc (mips-sgi-irix6*o32): New configuration.
15908
15909         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
15910         configurations.
15911         * configure: Regenerate.
15912
15913         * config/mips/iris6-o32-as.h: New file.
15914         * config/mips/iris6-o32.h: New file.
15915
15916         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
15917         (NM_FLAGS): Define.
15918         (HAVE_AS_SHF_MERGE): Undefine.
15919
15920         * config/mips/t-iris5-as: New file.
15921         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15922
15923         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
15924         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
15925         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
15926         dp-bit.c, fp-bit.c): Move ...
15927         * config/mips/t-iris5-6: ... here.
15928         New file, shared by IRIX 5 and IRIX 6.
15929         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
15930         mips-sgi-irix5*): Use it.
15931
15932         * config/mips/iris6.h: Remove duplicate comment.
15933
15934         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
15935         !TARGET_IRIX6]: Define.
15936         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
15937
15938         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
15939
15940 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15941
15942         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
15943         and delete code to force constant to register.
15944         * pa-protos.h (adddi3_operand): Add prototype.
15945         * pa.c (adddi3_operand): New function.
15946
15947 2002-07-11  Roger Sayle  <roger@eyesopen.com>
15948
15949         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
15950         non-ANSI builtin functions.
15951
15952 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
15953
15954         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
15955         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
15956         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
15957         (gen_const_vector_0): Use it.
15958
15959 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15960
15961         * pa.md (adddi3): For 32-bit targets, force constants to a register
15962         if they don't fit in an 11-bit immediate.  Change insn predicate to
15963         arith11_operand.  Remove comment.
15964         * pa.c (cint_ok_for_move): Fix comment.
15965         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
15966         targets.
15967
15968 2002-07-11  Tim Josling  <tej@melbpc.org.au>
15969
15970         Remove front end hard coding from gengtype.c.
15971
15972         * Makefile.in
15973         (STAGESTUFF): add gtyp-gen.h
15974         (GTFILES): Remove front end specific files.
15975         (GTFILES_FILES_LANGS): New, from configure..
15976         (GTFILES_FILES_FILES): Likewise.
15977         (GTFILES_LANG_DIR_NAMES): Likewise.
15978         (GTFILES_SRCDIR): Likewise.
15979         (gtyp-gen.h): Build from configure information.
15980         (s-gtype): Remove command line parameters from gengtype.
15981         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
15982         (mostlyclean): Delete files generated by and for gengtype.
15983
15984         * c-config-lang.in: New file.
15985
15986         * configure.in (all_gtfiles_files_langs): New. Accumulate files
15987         for each language.
15988         (all_gtfiles_files_files): New. Accumulate language for each file
15989         accumulated.
15990         (gtfiles): Pick up value for C.
15991         (srcdir): AC-SUBST this variable.
15992         (all_gtfiles_files_langs): AC-SUBST this variable.
15993         (all_gtfiles_files_files): AC-SUBST this variable.
15994
15995         * configure: Regenerate.
15996
15997         * gengtype-lex.l (parse_file): Make parameter const.
15998
15999         * gengtype.c (toplevel): include gtyp-gen.h.
16000         (BASE_FILE_<language> unnamed enum): Delete.
16001         (lang_names): Delete (replaced by gtyp-gen.h)
16002         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
16003         all references.
16004         (NUM_GT_FILES): New.
16005         (NUM_LANG_FILES): New.
16006         (srcdir_len): New.
16007         (NUM_BASE_FILES): Change calculation.
16008         (open_base_files): Change prototype to avoid warning.
16009         (startswith): Delete.
16010         (get_file_basename): Iterate through generated language list not
16011         hard coded list.
16012         (get_base_file_bitmap): Use generated list of files and languages.
16013         (close_output_files): Add prototype to rmove warning.
16014         (main): Iterate through list of generated files from gtyp-gen.h
16015         rather than command line paramaters.  Ignore duplicated file
16016         names.
16017
16018         * gengtype.h (parse_file): Amend prototype for const parameter.
16019
16020         * doc/sourcebuild.texi: Document gtfiles variable.
16021
16022         * doc/gty.texi: Document changes to gtfiles variable for front
16023         ends.
16024
16025         * objc/config-lang.in (gtfiles): Add files needed for objc front
16026         end.
16027
16028 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16029
16030         PR c/2454
16031         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
16032         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
16033
16034 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16035             Zack Weinberg <zack@codesourcery.com>
16036
16037         * builtins.def: Make the argument types of abort and exit
16038         independent of the front-end.
16039
16040 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
16041
16042         * config/rs6000/linux64.h (ASM_SPEC): Define.
16043
16044 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
16045
16046         * config/rs6000/rs6000.c (emit_frame_save): New.
16047         (rs6000_frame_related): Replace reg2 before reg.
16048         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
16049         and eh_return registers.
16050
16051 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
16052
16053         Revert all patches for optimization of Complex .op. Real.
16054         * complex_part_zero_p: Remove
16055         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
16056         with x.
16057         * expand_cmplxdiv_wide: Ditto.
16058         * expand_binop: Ditto.
16059
16060 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16061
16062         * config/avr/avr.md: Fix two 0x80000000 constants to make them
16063         negative also on 64-bit hosts.
16064
16065         Default to -fno-reorder-blocks when optimizing for size.
16066         * config/avr/avr-protos.h (avr_optimization_options): Declare.
16067         * config/avr/avr.c (avr_optimization_options): New function.
16068         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
16069
16070         Optimize returning from simple functions.
16071         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
16072         * config/avr/avr.c (avr_simple_epilogue): New function.
16073         * config/avr/avr.md (return): New insn.
16074
16075 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
16076
16077         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
16078         HAS_INIT_SECTION to protection.
16079
16080 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
16081
16082         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
16083         deprecated.
16084
16085 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
16086
16087         * combine.c (gen_lowpart_for_combine): Handle vector modes.
16088         Supply non-VOID mode to simplify_gen_subreg.
16089
16090 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
16091
16092         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
16093
16094 2002-07-10  Jeffrey A Law  <law@redhat.com>
16095
16096         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
16097         as appropriate.
16098
16099         * mn10200.c (expand_epilogue): Fix test to determine which scratch
16100         register to use.
16101
16102 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
16103
16104         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
16105         Get mode from dest.
16106         If simplify_gen_subreg fails, try next equivalent.
16107
16108 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
16109
16110         * diagnostic.h: #include location.h
16111         (location_t): Move definition to..
16112         * location.h: ... here.  New file.
16113         * tree.h: #include location.h
16114         (DECL_SOURCE_LOCATION): New macro.
16115         (DECL_SOURCE_FILE): Use.
16116         (DECL_SOURCE_LINE): Likewise.
16117         (struct tree_decl): REplace filename and linenum with locus.
16118         * Makefile.in (TREE_H): add location.h
16119         (diagnostic.o): Depends on gt-location.h
16120         (gt-location.h): Depends on s-gtype
16121
16122 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
16123
16124         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
16125         TARGET_OS_CPP_BUILTINS.
16126         * config/rs6000/aix31.h: Likewise.
16127         * config/rs6000/aix41.h: Likewise.
16128         * config/rs6000/aix43.h: Likewise.
16129         * config/rs6000/aix51.h: Likewise.
16130         * config/rs6000/beos.h: Likewise.
16131         * config/rs6000/darwin.h: Likewise.
16132         * config/rs6000/eabi.h: Likewise.
16133         * config/rs6000/eabisim.h: Likewise.
16134         * config/rs6000/linux.h: Likewise.
16135         * config/rs6000/linux64.h: Likewise.
16136         * config/rs6000/lynx.h: Likewise.
16137         * config/rs6000/mach.h: Likewise.
16138         * config/rs6000/rtems.h: Likewise.
16139         * config/rs6000/sysv4.h: Likewise.
16140         * config/rs6000/vxppc.h: Likewise.
16141
16142 2002-07-09 Devang Patel <dpatel@apple.com>
16143         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
16144         Do not allow ObjC objects as a parameter type for Objective-C methods.
16145         My previous patch restricted  'struct' also.
16146
16147 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
16148
16149         * cpperror.c (cpp_error): Default to directive_line within
16150         directives here.
16151         * cppexp.c (cpp_interpret_integer): Only use traditional
16152         number semantics in directives.
16153         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
16154         (do_include_common): Similarly.
16155         * cpptrad.c (scan_out_logical_line): Implement accurate
16156         quoting of <> in #include.
16157         * doc/cpp.texi: Update.
16158
16159 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
16160                           J"orn Rennecke <joern.rennecke@superh.com>
16161
16162         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
16163         * sh.md (attribute issues): Replace with:
16164         (attribute pipe_model).  All users changed.
16165         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
16166         All users changed.
16167         (function units sh5issue, sh5fds): New.
16168         (attribute is_mac_media): New.
16169         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
16170         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
16171         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
16172         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
16173         (call_media, call_value_media, sibcall_media): Likewise.
16174         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
16175         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
16176         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
16177         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
16178         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
16179         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
16180         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
16181         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
16182         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
16183         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
16184         (truncdfsf2_media): Likewise.
16185         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
16186         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
16187
16188 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
16189
16190         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
16191         * sh.c (general_extend_operand, inqhi_operand): New functions.
16192         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
16193         alternatives using 'N' modifier.  Add type.
16194         (adddi3z_media): Likewise.  Enable generator function generation.
16195         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
16196         exact predicates / constraints.  Add type.
16197         (subsi3): Allow 0 for SHMEDIA.
16198         (udivsi3_i4_media): Use match_operand for input values
16199         rather than hard registers.
16200         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
16201         unnecessarily through hard registers.  Keep copies of pseudo
16202         registers outside of the libcall sequence.
16203         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
16204         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
16205         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
16206         (extendhidi2, extendqidi2): Likewise.
16207         (andsi3_compact): Name.
16208         (andcdi3): Enable generator function generation.
16209         (zero_extendhisi2, zero_extendqisi2): Rename to
16210         (zero_extendhisi2_compact, zero_extendqisi2_compact).
16211         (extendhisi2, extendqisi2): Rename to
16212         (extendhisi2_compact, extendqisi2_compact).
16213         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
16214         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
16215         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
16216         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
16217         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
16218         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
16219         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
16220         (shmedia32_initialize_trampoline_big): Likewise.
16221         (shmedia32_initialize_trampoline_little): Likewise.
16222         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
16223         (negdi2): Remove spurious T clobber.
16224         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
16225         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
16226         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
16227         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
16228         (ic_invalidate_line_media): Write back data cache before invalidating
16229         instruction cache.  Add type.
16230         (movsf_media): Sign-extend when the destination is a general
16231         purpose register.  Add type.
16232         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
16233         (casesi_worker_0+1): Only increment ref count for proper label.
16234         (casesi_worker_0+2): Likewise.
16235
16236 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
16237
16238         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
16239
16240 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
16241
16242         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
16243         from Pmode to ptr_mode.
16244         (get_exception_pointer): Ditto.
16245         (connect_post_landing_pads): Ditto.
16246         (dw2_build_landing_pads): Ditto.
16247
16248 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
16249         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
16250         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
16251         (handle_pragma_redefine_extname): Change to use new function.
16252
16253 2002-07-08  Roger Sayle  <roger@eyesopen.com>
16254
16255         * combine.c (combine_simplify_rtx): Add an explicit cast
16256         to avoid signed/unsigned comparison warning.
16257         (simplify_if_then_else): Likewise.
16258         (extended_count): Likewise.
16259         (simplify_shift_const): Likewise.
16260         (simplify_comparison): Likewise.
16261
16262 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
16263
16264         * config/mips/mips.md: Add imadd type.  Update scheduler description
16265         to use imadd as well as imul.
16266         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
16267         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
16268         (*mul_sub_si): Likewise for first alternative.  Change second
16269         alternative from imul to multi.
16270
16271 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
16272
16273         * c-common.c (c_common_post_options): Update prototype;
16274         don't init backends if preprocessing only.
16275         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
16276         * langhooks.h (struct lang_hooks): Update post_options to
16277         return a boolean.
16278         * toplev.c (parse_options_and_default_flags, do_compile,
16279         lang_independent_init): Update prototypes.  Allow the
16280         front end to specify that there is no need to initialize
16281         the back end.
16282         (general_init): Move call to hex_init here...
16283         (toplev_main): ...from here.  Pass flag for back end init
16284         suppression.
16285
16286 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
16287
16288         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
16289         (PREDICATE_CODES): Add entries for equality_comparison_operator,
16290         greater_comparison_operator and less_comparison_operator.
16291         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
16292         more operators.
16293         (equality_comparison_operator): New function.
16294         (greater_comparison_operator, less_comparison_operator): Likewise.
16295         * sh.md (beq_media_i): Disable generator function generation.
16296         Use match_operator to handle a whole class of comparisons.  Add
16297         modifier in output template to provide branch prediction.  Add type.
16298         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
16299         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
16300         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
16301         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
16302
16303 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
16304
16305         Emit MMIX function prologue and epilogue as rtl.
16306         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
16307         not unprototyped get_hard_reg_initial_val.
16308         ("call_value", "nonlocal_goto_receiver"): Ditto.
16309         ("return"): Make define_expand.  Move real insn to...
16310         ("*expanded_return"): New pattern.
16311         ("prologue", "epilogue"): New define_expands.
16312         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
16313         (struct machine_function): New member in_prologue.
16314         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
16315         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
16316         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
16317         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
16318         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
16319         (LOCAL_REGNO): Define.  Adjust comment.
16320         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
16321         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
16322         leaf_function_p.
16323         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
16324         the prologue.
16325         (mmix_target_asm_function_prologue): Make static.  Just mark that
16326         the prologue is being emitted.  Move guts to...
16327         (mmix_expand_prologue): New function.  Adjust for emitting
16328         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
16329         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
16330         \n.  Move guts to...
16331         (mmix_expand_epilogue): New function.  Adjust for emitting
16332         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
16333         (mmix_target_asm_function_end_prologue): Mark that the prologue
16334         has ended.
16335         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
16336         (mmix_conditional_register_usage): Improve comments.
16337         (mmix_local_regno): New function.
16338         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
16339         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
16340         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
16341         (mmix_get_hard_reg_initial_val): Ditto.
16342
16343 2002-07-06  Andreas Jaeger  <aj@suse.de>
16344
16345         * toplev.c (set_fast_math_flags): Don't use ISO C style function
16346         definitions.
16347         * gengtype.c (open_base_files): Likewise.
16348         (close_output_files): Likewise.
16349         * tracer.c (find_best_predecessor): Likewise.
16350         (find_best_successor): Likewise.
16351         (ignore_bb_p): Likewise.
16352
16353 2002-07-05  Roger Sayle  <roger@eyesopen.com>
16354
16355         PR c++/7099
16356         * builtin-attrs.def: Define new attribute lists for use in
16357         builtins.def.
16358         * builtins.def [DEF_BUILTIN]: Modify to take an additional
16359         ATTRS argument, an enumerated value defined in builtin-attrs.def
16360         that represents the attribute list for the builtins.  Modify
16361         all builtin functions to pass an appropriate attribute list.
16362         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
16363         their required noreturn attributes.
16364         * tree.h (enum_builtin_function): Ignore the additional parameter
16365         to DEF_BUILTIN.
16366         * builtins.c (built_in_names): Likewise.
16367         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
16368         argument with a tree representing the functions attribute list.
16369         Pass this "attrs" argument to builtin_function.  No longer handle
16370         the noreturn_p processing manually.
16371         (built_in_attributes): Move the definitions from builtin-attrs.def
16372         before c_common_nodes_and_builtins.
16373         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
16374         DEF_BUILTIN, passing it to both builtin_function and the changed
16375         builtin_function_2.
16376
16377         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
16378         __builtin__exit and __builtin__Exit.
16379
16380 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16381
16382         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
16383         QI mode registers in soft registers.
16384         ("zero_extendqihi2"): Do not take into account soft registers
16385         for register allocation (use '*' constraint).
16386
16387 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16388
16389         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
16390         it is dead.
16391         ("*ashrsi3"): Likewise.
16392         ("*lshrsi3"): Likewise.
16393
16394 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
16395
16396         * genautomata.c (output_max_insn_queue_index_def): Take latencies
16397         into account.
16398
16399 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16400
16401         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
16402         address computation and memory moves.
16403
16404 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
16405
16406         PR c++/6706
16407         * dwarfout.c (output_reg_number): Fix warning message.
16408         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
16409         before using it.
16410
16411 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16412
16413         * gcc/gcc.c (asm_debug): Move initialization ...
16414         (init_spec): ... here.
16415
16416 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
16417
16418         * c-parse.in (extdef): Append ';'.
16419         (old_style_parm_decls): Append ';'.
16420
16421 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
16422
16423         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
16424         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
16425         to gcc_cv_as_gstabs_flag.
16426         * configure: Rebuilt.
16427
16428 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
16429
16430         * ggc.h (ggc_add_root): Document as obsolete.
16431
16432 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
16433
16434         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
16435         (mshflo_w): Likewise.
16436
16437 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
16438
16439         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
16440         vector mode subregs of constants to finding integer mode
16441         subregs of constants.
16442         * cse.c (cse_insn): Use simplify_gen_subreg.
16443         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
16444         From a vector mode expression of different size than the
16445         target mode.
16446
16447 2002-07-03  Eric Christopher  <echristo@redhat.com>
16448
16449         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
16450         * config/mips/mips.h: Remove deprecated -m<processor> options
16451         and cc1_cpu_spec associated.
16452         (CONSTANT_ADDRESS_P): Fix last patch.
16453         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
16454         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
16455         sunge_sf): Remove.
16456
16457 2002-07-03  Stan Shebs  <shebs@apple.com>
16458
16459         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
16460         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
16461         (CPP_SPEC): Remove insertion of APPLE_CC definition.
16462
16463 2002-07-03  Roger Sayle  <roger@eyesopen.com>
16464
16465         * combine.c (struct_undo): Change types of recorded substitutions
16466         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
16467         (do_SUBST_INT): Change types of the substitution from unsigned int
16468         to int, to avoid compilation warning from SUBST_INT's only caller.
16469
16470         (make_extraction): Add cast to avoid compilation warning.
16471         (force_to_mode): Remove cast to avoid compilation warning.
16472
16473 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
16474             Jeff Law  <law@redhat.com>
16475
16476         * i386.md (length_immediate attribute): Fix typo.
16477         (length_address attribute): Likewise.
16478         (modrm attribute): Set it to 0 for immediate call instructions.
16479         (jcc_1 pattern): Set modrm attribute to 0.
16480         (jcc_2 pattern ): Likewise.
16481         (jump pattern): Likewise.
16482         (doloop_end_internal pattern): Explicitly set length.
16483         (leave pattern): Fix typo.
16484         (leave_rex64 pattern): Likewise.
16485
16486 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
16487
16488         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
16489         in FPR as preference.
16490         (fctiwz): Same.
16491         (floatdidf2, fix_truncdfdi2): Same.
16492         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
16493         (floatditf2): Same.
16494         (floatsitf2, fix_trunctfsi2): SImode in GPR.
16495         (ctrdi): Remove FPR alternative and splitter.
16496
16497 2002-07-03  Will Cohen  <wcohen@redhat.com>
16498
16499         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
16500
16501 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
16502
16503         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
16504         than UNITS_PER_WORD, unless this is little endian and the first unit
16505         in this word.  Let extract_bit_field decide how to load an element.
16506         Force arguments to matching mode.
16507         (expand_vector_unop): Likewise.
16508
16509         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
16510         consist of word_mode elements.
16511         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
16512         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
16513         (build_unary_op): Allow vector types for BIT_NOT_EPR.
16514         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
16515         CONST_VECTOR.
16516         * optabs.c (expand_vector_binop): Try to perform operation in
16517         smaller vector modes with same inner size.  Add handling of AND, IOR
16518         and XOR.  Reject expansion to inner-mode sized scalars when using
16519         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
16520         (expand_vector_unop): Try to perform operation in smaller vector
16521         modes with same inner size.  Add handling of one's complement.
16522         When there is no vector negate operation, try a vector subtract
16523         operation.  Use simplify_gen_subreg on constants.
16524         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
16525         constants into smaller vectors with same inner mode, and to
16526         integer CONST_DOUBLEs.
16527
16528 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16529
16530         * c-parse.in (parsing_iso_function_signature): New variable.
16531         (extdef_1): New, copied from...
16532         (extdef): ... here.  Reset parsing_iso_function_signature.
16533         (old_style_parm_decls):  Reset parsing_iso_function_signature.
16534         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
16535         Warn about ISO C style function definitions.
16536         (nested_function, notype_nested_function): Reset
16537         parsing_iso_function_signature.
16538         (parmlist_2): Set parsing_iso_function_signature.
16539
16540         * doc/invoke.texi (-Wtraditional): Document new behavior.
16541
16542 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
16543
16544         * config.gcc (mips*el-*-*): Use tm_defines to set
16545         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
16546         * config/mips/little.h: Remove.
16547
16548 2002-07-02 Devang Patel <dpatel@apple.com>
16549
16550         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
16551         object as parameter. Prevent something like 'NSObject' to be
16552         used as the type for a method argument.
16553
16554 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
16555
16556         * cpptrad.c: Update comment.
16557
16558 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16559
16560         * doc/cpp.texi: Update for traditional preprocessing changes.
16561         * goc/cppopts.texi: Similarly.
16562
16563 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
16564
16565         * c-parse.in (designator): Enable designated initializers if ObjC.
16566         (objcmessageexpr): Remove references to objc_receiver_context.
16567         * objc/objc-act.h (objc_receiver_context): Remove decl.
16568         * objc/objc-act.c (objc_receiver_context): Remove.
16569         (lookup_objc_ivar): Test objc_method_context instead of
16570         objc_receiver_context.
16571
16572 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
16573
16574         * sh.c (print_operand, case 'N'): Allow zero vector.
16575         (arith_reg_or_0_operand): Likewise.
16576         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
16577         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
16578         IOR, XOR, PLUS and SET and take their respective constant
16579         ranges into account.
16580         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
16581         * sh.md (subdi3, subdi3_media): Allow zero operand.
16582         (movv8qi_i+3): Only vector that is not split is the zero vector.
16583         Fix operand 3 to simplify_subreg.
16584         (movv2si_i): Split alternative 1.
16585         (mshfhi_l_di_rev+1): New splitter.
16586
16587 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16588
16589         PR preprocessor/7029
16590         * cppinit.c (cpp_handle_option):  Suppress warnings with an
16591         implicit "-w" for "-M" and "-MM".
16592         * doc/cppopts.texi: Update.
16593
16594 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16595
16596         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
16597         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
16598         builtin_function.
16599
16600 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
16601
16602         * README.Portability: Fix typos.
16603
16604 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
16605
16606         PR target/7177
16607         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
16608         of indirections for register inside sign-extended mem part.
16609
16610 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16611
16612         * tree.h:  Modify builtin_function interface to take an extra
16613         argument ATTRS, which is a tree representing an attribute list.
16614
16615         * c-decl.c (builtin_function): Accept additional parameter.
16616         * objc/objc-act.c (builtin_function): Likewise.
16617         * f/com.c (builtin_function): Likewise.
16618         * java/decl.c (builtin_function): Likewise.
16619         * ada/utils.c (builtin_function): Likewise.
16620         * cp/decl.c (builtin_function): Likewise.
16621         (builtin_function_1): Likewise.
16622
16623         * c-common.c (c_common_nodes_and_builtins): Pass an additional
16624         NULL_TREE argument to builtin_function.  (builtin_function_2):
16625         Likewise.
16626         * cp/call.c (build_java_interface_fn_ref): Likewise.
16627         * objc/objc-act.c (synth_module_prologue): Likewise.
16628         * java/decl.c (java_init_decl_processing): Likewise.
16629         * f/com.c (ffe_com_init_0): Likewise.
16630
16631         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
16632         NULL_TREE argument to builtin_function.
16633         * config/arm/arm.c (def_builtin): Likewise.
16634         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
16635         * config/i386/i386.c (def_builtin): Likewise.
16636         * config/ia64/ia64.c (def_builtin): Likewise.
16637         * config/rs6000/rs6000.c (def_builtin): Likewise.
16638
16639 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
16640
16641         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
16642         * config/mips/t-isa3264: Likewise.
16643         * config/mmix/t-mmix: Likewise.
16644
16645 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16646
16647         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
16648
16649 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16650
16651         PR opt/4046
16652         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
16653         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
16654         B are truth values.
16655
16656 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
16657
16658         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
16659
16660 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
16661
16662         * README.Portability (Function prototypes): Give an example of
16663         declaring and defining a function with no arguments.
16664
16665         * README.Portability (Function prototypes): Document new
16666         variable-argument function macros.
16667
16668 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
16669
16670         * sh.c (langhooks.h): Include.
16671         (sh_init_builtins, sh_media_init_builtins): New functions.
16672         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
16673         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
16674         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
16675         (builtin_description): New struct tag.
16676         (signature_args, bdesc): New arrays.
16677         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
16678         (print_operand): Add 'N' modifier.
16679         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
16680         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
16681         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
16682         (CONST_COSTS): Add special case for SHmedia AND.
16683         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
16684         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
16685         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
16686         target_operand can also be const or unspec.
16687         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
16688         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
16689         (attribute type): Add new types.
16690         (anddi3): Add splitter.
16691         (movdi_const_16bit+1): Add code to handle vector constants and
16692         bitmasks efficiently.
16693         (shori_media): Have generator function made.
16694         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
16695         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
16696         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
16697         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
16698         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
16699         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
16700         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
16701         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
16702         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
16703         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
16704         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
16705         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
16706         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
16707         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
16708         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
16709         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
16710         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
16711         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
16712         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
16713         (ftrv): Likewise.
16714
16715         (fpu_switch+1, fpu_switch+2): Remove constraint.
16716
16717 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
16718
16719         * tree.c (build_function_type_list): Update function comment.
16720         Rename first argument to return_type.
16721
16722 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16723
16724         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
16725         tradcif.y and related files.
16726
16727 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16728
16729         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
16730
16731 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16732
16733         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
16734
16735 See ChangeLog.7 for earlier changes.