OSDN Git Service

* config/mips/mips.h: Don't use #elif. Reported by Kaveh
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
2
3         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
4         R. Ghazi.
5
6 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
7
8         * ifcvt.c: Fix comment typos.
9         * lcm.c: Likewise.
10         * libgcc2.c: Likewise.
11         * local-alloc.c: Likewise.
12         * loop.c: Likewise.
13         * predict.c: Likewise.
14         * ra-build.c: Likewise.
15         * ra.c: Likewise.
16         * ra-colorize.c: Likewise.
17         * ra.h: Likewise.
18         * ra-rewrite.c: Likewise.
19         * regmove.c: Likewise.
20         * reload.h: Likewise.
21         * rtlanal.c: Likewise.
22         * toplev.c: Likewise.
23         * tree.h: Likewise.
24         * unwind-dw2-fde-glibc.c: Likewise.
25         * vmsdbgout.c: Likewise.
26
27 2003-01-16  Richard Henderson  <rth@redhat.com>
28
29         * dwarf2out.c (struct file_table): Remove.
30         (FILE_TABLE_INCREMENT): Remove.
31         (file_table): Make a varray; mark for GC.  Update all users.
32         (file_table_last_lookup_index): Extract from struct file_table.
33         (output_file_names): Fix unsigned compare warnings.
34         (add_name_attribute): Remove inline marker.
35         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
36         (lookup_filename): Don't manage size of file_table.
37         (init_file_table): Allocate file_table with GC.
38         (dwarf2out_init): Don't record main_input_filename here.
39         (dwarf2out_finish): Do it here instead.
40
41 2003-01-16  Bruce Korb  <bkorb@gnu.org>
42
43         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
44
45 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
46
47         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
48         instead of rotldi3_mextr.
49
50 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
51
52         * haifa-sched.c (move_insn): Restore moving all schedule group.
53         (set_priorities): Restore taking SCHED_GROUP_P into account.
54
55         * sched-deps.c (add_dependence): Restore processing the last group
56         insn.
57         (remove_dependence, group_leader): Restore the functions.
58         (set_sched_group_p): Restore adding dependencies from previous insn
59         in the group.
60         (compute_forward_dependences): Restore usage of group_leader.
61
62         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
63         account.
64
65         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
66         account.
67         (can_schedule_ready_p): Ditto.
68         (add_branch_dependences): Restore skipping over the group insns.
69         
70 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
71
72         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
73         68HC12 pre/post inc/dec side effects.
74
75 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
76
77         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
78
79 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
80
81         * sh.md (mshflo_w_x): Fix description of operation.
82
83 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
84
85         * config/rs6000/rs6000.h: Mention Altivec registers in
86         commentary.  Fix typo.
87
88 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
89
90         * config/rs6000/rs6000.md (movti_string): Remove clobber.
91         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
92         generate PARALLEL with clobber for TARGET_POWER.
93
94 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
95
96         * ra-colorize.c (colorize_one_web): Initialize variable.
97         * regmove.c (fixup_match_1): Likewise.
98         * reload1.c (reload_as_needed): Likewise.
99         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
100
101 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
102
103         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
104
105 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
106
107         * dbxout.c (lastfile, cwd): Fix `unused' warning.
108         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
109         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
110         is_main_source, file_table, decl_die_table_in_use,
111         abbrev_die_table_in_use, line_info_table_in_use,
112         separate_line_info_table_in_use, pubname_table_in_use,
113         arange_table_in_use, ranges_table_in_use,
114         current_function_has_inlines): Likewise.
115         * flow.c (life_analysis): Likewise.
116         * genemit.c (gen_insn): Likewise.
117         * protoize.c (cplus_suffix): Likewise.
118
119         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
120         * arm.h (ROUND_UP_WORD): Likewise.
121
122         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
123         warning.
124         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
125         init_emit_once): Likewise.
126         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
127         Likewise.
128         * function.c (assign_stack_temp_for_type): Likewise.
129         * loop.c (loop_invariant_p): Likewise.
130         * recog.c (push_operand): Likewise.
131         * regclass.c (init_reg_sets_1): Likewise.
132         * reload.c (update_auto_inc_notes): Likewise.
133         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
134         * stmt.c (expand_asm_operands): Likewise.
135         * stor-layout.c (start_record_layout): Likewise.
136
137 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
138
139         * config/c4x/c4x.md (epilogue): Correct last patch.
140
141 2003-01-15  Richard Henderson  <rth@redhat.com>
142
143         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
144         also check that GP is being used.
145         (alpha_find_lo_sum_using_gp): New.
146         (alpha_does_function_need_gp): Use get_attr_usegp.
147         * config/alpha/alpha-protos.h: Update.
148         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
149         as needed.
150
151 2003-01-15  Roger Sayle  <roger@eyesopen.com>
152
153         * gcse.c (one_cprop_pass): Change function arguments to take both
154         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
155         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
156         (bypass_jumps): New function to perform separate jump bypassing pass.
157         * rtl.h (bypass_jumps): Add function prototype.
158         * timevar.def (TV_BYPASS): New timing variable.
159         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
160         (dump_file): New entry for the bypass RTL dump file.
161         (rest_of_compilation): Insert new jump bypassing optimization
162         pass after loop.
163         * doc/passes.texi: Document new pass.
164
165 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
166
167         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
168         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
169         * pa.h (TARGET_SOM_SDEF): Define.
170         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
171
172 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
173
174         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
175         allocate 4-bytes of locals on 68HC11.
176         (expand_epilogue): Likewise.
177         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
178
179 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
180
181         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
182         and -mshort-double to the assembler to specify the ABI.
183         (LINK_SPEC): Likewise.
184         (CPP_SPEC): Pass HCS12 specific define.
185         (MASK_M68S12): New define.
186         (TARGET_M68S12): Likewise.
187         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
188         (TARGET_VERSION): Update.
189         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
190         (LINK_SPEC): Update.
191         (ASM_SPEC): Update.
192         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
193         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
194
195 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
196
197         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
198         the return code.
199
200 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
201
202         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
203         flag before setting it.
204
205 2003-01-15  Roger Sayle  <roger@eyesopen.com>
206
207         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
208         when loop condition is known true, i.e.  "while (1) { ... }".
209         (genrtl_for_stmt): Similarly for "for" statements.
210
211 2003-01-15  Roger Sayle  <roger@eyesopen.com>
212
213         * real.c (real_sqrt): Return a bool result indicating whether
214         a floating point exception or trap should be raised.
215         * real.h (real_sqrt): Update function prototype.
216         * builtins.c (fold_builtin): Only fold non-trapping square
217         roots unless we're ignoring errno and trapping math.
218
219 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
220
221         * expr.h (emit_conditional_add): Add PARAMS to declaration.
222         * gengtype-lex.l (malloc, realloc): Move defines after include of
223         system.h.  Remove duplicate include of system.h.
224
225 2003-01-15  Roger Sayle  <roger@eyesopen.com>
226
227         PR middle-end/9009
228         * optabs.c (expand_unop):  When manipulating the FP sign bit
229         using integer operations, account for targets with different
230         integer and FP word orders.
231         (expand_abs): Likewise.
232
233 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
234
235         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
236         file extension in section name.
237
238 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
239
240         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
241         constant offset.
242
243 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
244
245         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
246         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
247         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
248         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
249
250 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
251
252         PR f/9258
253         * global.c (struct allocno): Add no_stack_reg.
254         (global_conflicts): Set no_stack_reg.
255         (find_reg): Use it.
256
257         * convert.c (convert_to_real): Fold - and abs only when profitable.
258         * fold-const.c (fold): Fold truncates in - and abs.
259
260 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
261
262         Segher Boessenkool  <segher@koffie.nl>
263
264         * predict.c (real_inv_br_prob_base): New variable.
265         (propagate_freq): Use multiply by reciprocal instead of
266         division.  Don't divide by 1.0 at all.
267         (estimate_bb_frequencies): Similar.
268
269 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
270
271         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
272         * configure: Rebuilt.
273
274 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
275
276         * config/s390/s390.c (s390_safe_attr_type): New function.
277         (s390_use_dfa_pipeline_interface): New function, return true for z900.
278         (s390_issue_rate): New function.
279         (s390_agen_dep_p): New function.
280         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
281         (s390_adjust_cost): Return 'cost' if new DFA is used.
282         (s390_adjust_priority): Delete function.
283         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
284         * config/s390/s390.md (atype attribute): Attribute 'atype' default
285         determined by 'op_type'.
286         (type attribute): Added more type attributes.
287         * config/s390/2064.md: New DFA description for z900 pipeline.
288
289 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
290
291         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
292         forced to memory.  Fixes PR bootstrap/9036.
293
294         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
295         to set $gp before the call.
296
297 2003-01-14  Richard Henderson  <rth@redhat.com>
298
299         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
300         for force_const_mem.
301
302 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
303
304         * genattr.c (main): Rearrange output to avoid prototype warning.
305         * genautomata.c (transform_3): Fix ambiguous-else warning.
306         * local-alloc.c (requires_inout): Add parentheses around
307         assignment used as truth-value.
308         * timevar.c: Move system includes above local includes.  Include
309         toplev.h
310         * Makefile.in (timevar.o): Depend on toplev.h.
311
312 2003-01-14  Denis Chertykov  <denisc@overta.ru>
313
314         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
315         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
316
317         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
318         attributes.
319         (TARGET_ATTRIBUTE_TABLE): New macro.
320         (valid_machine_type_attribute): Remove.
321         (valid_machine_decl_attribute): Remove.
322         (ip2k_handle_progmem_attribute): New function.
323         (ip2k_handle_fndecl_attribute): New function.
324
325 2003-01-10  Andrew Haley  <aph@redhat.com>
326
327         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
328         registers to be in correct order.  Add rip.
329
330 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
331
332         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
333         (*iorsi3_and_lshiftrt_9_sb): Likewise.
334
335 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
336
337         * convert.c (strip_float_extensions):  Look for narrowest type handling
338         FP constants.
339
340         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
341         float1 CMP float2.
342         * convert.c (strip_float_extensions): Make global.
343         * tree.h (strip_float_extensions): Declare.
344
345 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
346
347         * timevar.def: define TV_NAME_LOOKUP.
348         * timevar.c (timevar_pop): Be verbose when aborting.
349
350 2003-01-13  Andreas Schwab  <schwab@suse.de>
351
352         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
353         $(parsedir), just move the temporary file at the end.
354         ($(parsedir)/gengtype-yacc.c): Likewise.
355
356 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
357
358         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
359         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
360         splitting.
361         * configure: Rebuilt.
362
363 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
364
365         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
366         internal_mcount): Don't use PARAMS.
367         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
368         ISO C style.
369         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
370
371 2003-01-13  Andreas Schwab  <schwab@suse.de>
372
373         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
374         directive.
375
376 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
377
378         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
379         (*iorsi3_and_lshiftrt_n_sb): Likewise.
380
381 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
382
383         PR c++/9264
384         * c-lex.c (c_lex): Set the token value to error_mark_node for
385         invalid numeric constants.
386
387 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
388
389         * c-pch.c (asm_file_startpos): Change to `long'.
390         (pch_init): Use ftell, not ftello.
391         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
392         Use `long' instead of `off_t'.
393         (c_common_read_pch): Likewise.
394         * ggc-common.c (gt_pch_save): Use long/ftell instead of
395         off_t/ftello.
396
397 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
398
399         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
400
401 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
402
403         * arm-protos.h (struct cpp_reader): Add declaration.
404
405 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
406
407         PR target/9068
408         * i386.c (output_fp_compare): Fix typo.
409
410 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
411
412         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
413
414 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
415
416         * Makefile.in (parsedir): New variable.
417         (docobjdir): New variable.
418         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
419         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
420         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
421         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
422         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
423         Use docobjdir.
424         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
425         objc.maintainer-clean): Use parsedir.
426
427         * varasm.c (struct constant_descriptor_rtx): Remove unused
428         `label' field.
429
430         * toplev.c (documented_lang_options): Document -Winvalid-pch.
431
432 2003-01-10  Richard Henderson  <rth@redhat.com>
433
434         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
435         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
436
437 2003-01-10  Richard Henderson  <rth@redhat.com>
438
439         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
440         not INTEGRAL_MODE_P when widening extensions.
441
442 2003-01-10  Richard Henderson  <rth@redhat.com>
443
444         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
445
446 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
447
448         * ggc-page.c (ggc_collect): Avoid overflow computing
449         min_expand.
450
451         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
452         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
453         Remove calls.
454         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
455
456 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
457
458         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
459         with weird operands.
460
461 2003-01-10  Dale Johannesen <dalej@apple.com>
462
463         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
464         parameters.  Call check_sibcall_argument_overlap if indicated.
465         (check_sibcall_argument_overlap):  Add mark_stored_args_map
466         parameter.  Don't mark parameter area as clobbered if not set.
467         (expand_call):  Adjust calls to above.
468
469 2003-01-10 Kelley Cook <kelleycook@comcast.net>
470
471         * configure.in (linker read-only and read-write section mixing):
472         Squelch some assembler warnings.
473         * configure: Likewise.
474
475 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
476
477         * doc/invoke.texi: Document -mtune, delete -mcpu
478         option for S/390 and zSeries.
479         * config/s390/s390.c (s390_tune_string) New variable.
480         (s390_cpu_string) Delete variable.
481         (override_options): Use s390_tune_string instead of
482         s390_cpu_string.
483         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
484
485 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
486
487         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
488
489 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
490
491         * jump.c (next_nonnote_insn_in_loop): New function.
492         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
493         next_nonnote_insn.
494         (duplicate_loop_exit_test). Likewise.
495
496 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
497
498         Merge from pch-branch:
499
500         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
501
502         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
503         load.
504
505         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
506
507         * cpplib.c (count_registered_pragmas): New function.
508         (save_registered_pragmas): New function.
509         (_cpp_save_pragma_names): New function.
510         (restore_registered_pragmas): New function.
511         (_cpp_restore_pragma_names): New function.
512         * cpphash.h (_cpp_save_pragma_names): Prototype.
513         (_cpp_restore_pragma_names): Likewise.
514         * cpppch.c (struct save_macro_item): Split from save_macro_data.
515         (struct save_macro_data): New field 'saved_pragmas'.
516         (save_macros): Update for changes to struct save_macro_data.
517         (cpp_prepare_state): Call _cpp_save_pragma_names, update
518         for changes to struct save_macro_data.
519         (cpp_read_state): Call _cpp_restore_pragma_names, update
520         for changes to struct save_macro_data.
521
522         * cpppch.c (cpp_read_state): Restore the hashtable references
523         in the cpp_reader.
524
525         * tree.h (built_in_decls): Mark for PCH.
526
527         * dbxout.c (lastfile): Don't mark for PCH.
528
529         * ggc.h: Document PCH calls into memory managers.
530
531         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
532
533         * doc/invoke.texi (Precompiled Headers): Document the
534         directory form of PCH.
535         * cppfiles.c (validate_pch): New function.
536         (open_file_pch): Search suitably-named directories for PCH files.
537
538         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
539
540         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
541         reorder options.
542         (Type Information): Mention that the information is also
543         used to implement PCH.
544         * doc/passes.texi (Passes): Improve documentation of
545         language-specific files.
546
547         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
548
549         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
550         (struct walk_type_data): Add reorder_fn field.
551         (walk_type): Process 'reorder' option.
552         (write_types_process_field): Reorder parameters to gt_pch_note_object,
553         call reorder_note_routine.
554         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
555         (ggc_wtd): Update for change to struct write_types_data.
556         (pch_wtd): Likewise.
557         * ggc.h (gt_pch_note_object): Reorder parameters.
558         (gt_handle_reorder): New definition.
559         (gt_pch_note_reorder): New prototype.
560         * ggc-common.c (struct ptr_data): Add reorder_fn.
561         (gt_pch_note_object): Reorder parameters.
562         (gt_pch_note_reorder): New.
563         (gt_pch_save): Call reorder_fn.
564         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
565
566         * dbxout.c (cwd): Don't mark for PCH.
567
568         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
569
570         * gengtype.c (finish_root_table): Fix some warnings.
571         (write_root): Handle TYPE_STRING.
572         * ggc.h (gt_ggc_m_S): Add prototype.
573         * stringpool.c (gt_ggc_m_S): New function.
574
575         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
576
577         * dwarf2out.c (dw2_string_counter): New.
578         (AT_string_form): Use it.
579         (same_dw_val_p): Update for removal of hashtable.h hash tables.
580
581         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
582
583         * dbxout.c: Include gt-dbxout.h.
584         (lastfile): Mark for PCH/GGC.
585         (cwd): Likewise.
586         (struct typeinfo): Likewise.
587         (typevec): Likewise.
588         (typevec_len): Likewise.
589         (next_type_number): Likewise.
590         (struct dbx_file): Likewise.
591         (current_file): Likewise.
592         (next_file_number): Likewise.
593         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
594         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
595         (dbxout_end_source_file): Don't free struct dbx_file.
596         (dbxout_type): Use GGC to allocate typevec.
597         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
598         (GTFILES): Add dbxout.c.
599         (gt-dbxout.h): New rule.
600
601         * Makefile.in (c-pch.o): Add debug.h as dependency.
602         * c-pch.c: Include debug.h.
603         (pch_init): Call start_source_file to keep nesting right.
604         (c_common_read_pch): Add orig_name parameter.  Call
605         start_source_file debug hook.  Call end_source_file debug hook.
606         * c-common.h (c_common_read_pch): Update prototype.
607         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
608         callback.
609         * cppfiles.c (struct include_file): Add new field `header_name'.
610         (find_or_create_entry): Default it to `name'.
611         (open_file_pch): Set it to the original header file searched for.
612         (stack_include_file): Don't stack an empty buffer, just handle
613         PCH files immediately.  Pass header_name field to read_pch callback.
614
615         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
616
617         * function.c (funcdef_no): Mark to be saved in a PCH.
618
619         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
620
621         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
622
623         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
624
625         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
626
627         * optabs.h (code_to_optab): Add GTY marker.
628
629         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
630
631         * Makefile.in (GTFILES): Add cpplib.h.
632         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
633         * c-decl.c (build_compound_literal): Don't use var_labelno.
634         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
635         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
636         * varasm.c (const_labelno): Use gengtype to mark.
637         (var_labelno): Likewise.
638         (in_section): Likewise.
639         (in_named_name): Likewise.
640         (struct in_named_entry): Likewise.
641         (in_named_htab): Likewise.
642         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
643         (init_varasm_once): Use GGC to allocate in_named_htab.
644         * config/darwin.c (current_pic_label_num): Mark for PCH.
645
646         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
647
648         * ggc-simple.c (init_ggc_pch): New stub procedure.
649         (ggc_pch_count_object): Likewise.
650         (ggc_pch_total_size): Likewise.
651         (ggc_pch_this_base): Likewise.
652         (ggc_pch_alloc_object): Likewise.
653         (ggc_pch_prepare_write): Likewise.
654         (ggc_pch_write_object): Likewise
655         (ggc_pch_finish): Likewise.
656         (ggc_pch_read): Likewise.
657
658         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
659
660         * c-pch.c (c_common_write_pch): Write the macro definitions after
661         the GCed data.
662         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
663         definitions after the GCed data.
664         * cpplib.c (save_macros): New.
665         (reset_ht): New.
666         (cpp_write_pch_deps): Split out of cpp_write_pch.
667         (cpp_write_pch_state): Split out of cpp_write_pch.
668         (cpp_write_pch): Delete.
669         (struct save_macro_data): Delete.
670         (cpp_prepare_state): New.
671         (cpp_read_state): Erase and restore initial macro definitions.
672         * cpplib.h (struct save_macro_data): Forward-declare.
673         (cpp_write_pch_deps): Prototype.
674         (cpp_write_pch_state): Prototype.
675         (cpp_write_pch): Delete prototype.
676         (cpp_prepare_state): Prototype.
677         (cpp_read_state): Add fourth argument.
678
679         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
680
681         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
682         (write_array): Remove warning.
683
684         * gengtype.c (contains_scalar_p): New.
685         (finish_root_table): Add the table to all languages, even if it's
686         empty.
687         (write_roots): Output gt_pch_scalar_rtab.
688         * ggc-common.c (gt_pch_save): Write out scalars.
689         (gt_pch_restore): Read scalars back.
690
691         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
692         (struct page_entry): Delete pch_page field.
693         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
694         (clear_marks): Likewise.
695         (sweep_pages): Likewise.
696         (poison_pages): Likewise.
697         (ggc_print_statistics): Likewise.
698         (ggc_pch_read): Don't free objects read from a PCH.
699         Properly set up in_use_p and page_tails.
700
701         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
702
703         * gengtype.c (struct write_types_data): New.
704         (struct walk_type_data): Make `cookie' const; add extra
705         prev_val item; add `orig_s' field.
706         (walk_type): Update prev_val[3].
707         (write_types_process_field): New.
708         (write_func_for_structure): Take write_types_data structure.
709         (write_types): New.
710         (ggc_wtd): New.
711         (pch_wtd): New.
712         (write_types_local_process_field): New.
713         (gc_mark_process_field): Delete.
714         (write_local_func_for_structure): New.
715         (gc_mark_func_name): Delete.
716         (write_gc_types): Delete.
717         (write_local): New.
718         (finish_root_table): Don't include 'ggc_' in PFX.
719         (write_root): Rename from write_root.  Fill pchw field of structures.
720         (write_array): New.
721         (write_roots): Rename from write_gc_roots.  Split out to write_array.
722         Update to changes to other routines.  Write gt_pch_cache_rtab table.
723         (main): Write PCH walking routines.
724         * ggc-common.c: Include toplev.h, sys/mman.h.
725         (ggc_mark_roots): For cache hashtables, also mark the hash table
726         and the array of entries.
727         (saving_htab): New.
728         (struct ptr_data): New.
729         (POINTER_HASH): New.
730         (gt_pch_note_object): New.
731         (saving_htab_hash): New.
732         (saving_htab_eq): New.
733         (struct traversal_state): New.
734         (call_count): New.
735         (call_alloc): New.
736         (compare_ptr_data): New.
737         (relocate_ptrs): New.
738         (write_pch_globals): New.
739         (struct mmap_info): New.
740         (gt_pch_save): New.
741         (gt_pch_restore): New.
742         * ggc-page.c (ROUND_UP_VALUE): New.
743         (ROUND_UP): New.
744         (struct page_entry): Add field `pch_page'.
745         (init_ggc): Use ROUND_UP.
746         (struct ggc_pch_data): Declare.
747         (init_ggc_pch): New.
748         (ggc_pch_count_object): New.
749         (ggc_pch_total_size): New.
750         (ggc_pch_this_base): New.
751         (ggc_pch_alloc_object): New.
752         (ggc_pch_prepare_write): New.
753         (ggc_pch_write_object): New.
754         (ggc_pch_finish): New.
755         (ggc_pch_read): New.
756         * ggc.h (gt_pointer_operator): New.
757         (gt_note_pointers): New.
758         (gt_pch_note_object): New prototype.
759         (gt_pointer_walker): New.
760         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
761         (LAST_GGC_ROOT_TAB): Update.
762         (gt_pch_cache_rtab): Declare.
763         (gt_pch_scalar_rtab): Declare.
764         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
765         (LAST_GGC_CACHE_TAB): Update.
766         (gt_pch_save_stringpool): Declare.
767         (gt_pch_restore_stringpool): Declare.
768         (gt_pch_p_S): Declare.
769         (gt_pch_n_S): Declare.
770         (struct ggc_pch_data): Forward-declare.
771         (init_ggc_pch): Declare.
772         (ggc_pch_count_object): Declare.
773         (ggc_pch_total_size): Declare.
774         (ggc_pch_this_base): Declare.
775         (ggc_pch_alloc_object): Declare.
776         (ggc_pch_prepare_write): Declare.
777         (ggc_pch_write_object): Declare.
778         (ggc_pch_finish): Declare.
779         (ggc_pch_read): Declare.
780         (gt_pch_save): Declare.
781         (gt_pch_restore): Declare.
782         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
783         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
784         const_double_htab, mem_attrs_htab using GGC.
785         * c-pch.c: Include ggc.h.
786         (pch_init): Allow reading PCH file back.
787         (c_common_write_pch): Call gt_pch_save.
788         (c_common_read_pch): Call gt_pch_restore.
789         * c-parse.in (init_reswords): Delete now-untrue comment.
790         Allocate ridpointers using GGC.
791         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
792         calling expand_deferred_fns.
793         * c-common.h (ridpointers): Mark for GTY machinery.
794         * Makefile.in (stringpool.o): Update dependencies.
795         (c-pch.o): Update dependencies.
796         (ggc-common.o): Update dependencies.
797         * stringpool.c: Include gt-stringpool.h.
798         (gt_pch_p_S): New.
799         (gt_pch_n_S): New.
800         (struct string_pool_data): New.
801         (spd): New.
802         (gt_pch_save_stringpool): New.
803         (gt_pch_restore_stringpool): New.
804         * tree.c (init_ttree): Make type_hash_table allocated using GC.
805
806         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
807
808         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
809         (output_mangled_typename): Don't pass size_t to printf.
810
811         * tree.h (union tree_type_symtab): Add tag to `address' field.
812         (union tree_decl_u2): Add tag to 'i' field.
813         * varasm.c (union rtx_const_un): Add tags to all fields.
814         * gengtype.c (struct walk_type_data): New.
815         (output_escaped_param): Take struct walk_type_data parameter.
816         (write_gc_structure_fields): Delete.
817         (walk_type): New.
818         (write_gc_marker_routine_for_structure): Delete.
819         (write_func_for_structure): New.
820         (gc_mark_process_field): New.
821         (gc_mark_func_name): New.
822         (gc_counter): Delete.
823         (write_gc_types): Use write_func_for_structure.
824         (write_gc_roots): Use walk_type.
825
826         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
827
828         * ggc-common.c (ggc_mark_roots): Delete 'x'.
829         (ggc_splay_dont_free): Fix warning about unused 'x'.
830         (ggc_print_common_statistics): Remove warnings.
831
832         2002-10-01  Mike Stump  <mrs@apple.com>
833
834         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
835         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
836
837         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
838             Catherine Moore  <clm@redhat.com>
839
840         * Makefile (c-pch.o): Update dependencies.
841         (LIBCPP_OBJS): Add cpppch.o.
842         (cpppch.o): New.
843         * c-common.c (c_common_init): Don't call pch_init here.
844         * c-common.h (c_common_read_pch): Update prototype.
845         * c-lex.c (c_common_parse_file): Call pch_init here.
846         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
847         (c_common_decode_option): Handle them.
848         * c-pch.c: Include c-pragma.h.
849         (save_asm_offset): Delete.
850         (pch_init): Move contents of save_asm_offset into here, call
851         cpp_save_state.
852         (c_common_write_pch): Call cpp_write_pch.
853         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
854         cpp_valid_state.
855         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
856         * cppfiles.c (stack_include_file): Update for change to
857         parameters of cb.read_pch.
858         * cpphash.h (struct cpp_reader): Add `savedstate' field.
859         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
860         `restore_pch_deps' fields.
861         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
862         (cpp_save_state): Prototype.
863         (cpp_write_pch): Prototype.
864         (cpp_valid_state): Prototype.
865         (cpp_read_state): Prototype.
866         * cpppch.c: New file.
867         * flags.h (version_flag): Remove prototype.
868         * mkdeps.c (deps_save): New.
869         (deps_restore): New.
870         * mkdeps.h (deps_save): Prototype.
871         (deps_restore): Prototype.
872         * toplev.c (late_init_hook): Delete.
873         (version_flag): Make static again.
874         (compile_file): Don't call late_init_hook.
875         * toplev.h (late_init_hook): Delete.
876         * doc/cppopts.texi: Document -fpch-deps.
877         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
878
879         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
880
881         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
882         callers.
883         (c_common_valid_pch): Rename from c_valid_pch, change callers.
884         (c_common_read_pch): Rename from c_read_pch, change callers.
885
886         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
887         a space between it and its argument.
888
889         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
890
891         * c-pch.c: New file.
892         * toplev.h (late_init_hook): Declare.
893         * toplev.c (late_init_hook): Define.
894         (version_flag): Make globally visible.
895         (compile_file): Call late_init_hook.
896         (init_asm_output): Make output file seekable.
897         * gcc.c (default_compilers): Update c-header rule.
898         * flags.h (version_flag): Declare.
899         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
900         fields.
901         * cppfiles.c (struct include_file): Add 'pch' field.
902         (INCLUDE_PCH_P): New.
903         (open_file_pch): New.
904         (stack_include_file): Handle PCH files specially.
905         (find_include_file): Call open_file_pch instead of open_file.
906         (_cpp_read_file): Explain why open_file is used instead of
907         open_file_pch.
908         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
909         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
910         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
911         in cpplib callbacks.
912         * c-common.c (pch_file): Correct comment.
913         (allow_pch): Define.
914         (c_common_init): Call pch_init.
915         * c-common.h (allow_pch): Declare.
916         (pch_init): Declare.
917         (c_valid_pch): Declare.
918         (c_read_pch): Declare.
919         (c_write_pch): Declare.
920         * Makefile.in (c-pch.o): New.
921         (C_AND_OBJC_OBJS): Add c-pch.o.
922         * doc/invoke.texi (Precompiled Headers): Add index entries,
923         complete truncated paragraph.
924
925         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
926
927         * c-common.c: (pch_file): Define.
928         * c-common.h (pch_file): Declare.
929         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
930         (missing_arg): Require --output-pch= to have an argument.
931         (c_common_decode_option): Handle --output-pch=.
932         * gcc.c: Document new %V.
933         (default_compilers): Handle compiling C header files.
934         (do_spec_1): Implement %V.
935         (main): Handle "gcc foo.h" without trying to run linker.
936         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
937         (Overall Options): Document what the driver does with header files,
938         document new -x option possibilities.
939         (Invoking G++): More documentation for PCH.
940         (Precompiled Headers): New.
941
942         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
943
944         * ggc.h: Don't include varray.h.  Rearrange functions to be more
945         organized.
946         (ggc_add_root): Delete.
947         (ggc_mark_rtx): Delete.
948         (ggc_mark_tree): Delete.
949         (struct ggc_statistics): Remove contents.
950         * ggc-common.c: Remove unneeded includes.
951         (struct ggc_root): Delete.
952         (roots): Delete.
953         (ggc_add_root): Delete.
954         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
955         (ggc_print_common_statistics): Remove most of the contents.
956         * Makefile.in (GGC_H): No longer uses varray.h.
957         (ggc-common.o): Update dependencies.
958         (c-parse.o): Add varray.h to dependencies.
959         (c-common.o): Add varray.h.
960         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
961         (mark_ident_hash): Rename to ggc_mark_stringpool.
962         (init_stringpool): Don't use ggc_add_root.
963         * c-parse.in: Include varray.h.
964         * c-common.c: Include varray.h.
965         * objc/Make-lang.in (objc-act.o): Add varray.h.
966         * objc/objc-act.c: Include varray.h.
967
968         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
969
970         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
971         (dw_cfi_oprnd1_desc): Likewise.
972
973         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
974
975         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
976         move out of ifdef.
977         (alpha_links): Use gengtype to mark; move out of ifdef.
978         (mark_alpha_links_node): Delete.
979         (mark_alpha_links): Delete.
980         (alpha_need_linkage): Use GGC to allocate splay tree, struct
981         alpha_links, strings.  Don't use ggc_add_root.
982         * ggc-common.c (ggc_splay_alloc): New.
983         (ggc_splay_dont_free): New.
984         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
985         (ggc_mark_tree): Likewise.
986         (splay_tree_new_ggc): New.
987         (ggc_splay_alloc): Declare.
988         (ggc_splay_dont_free): Declare.
989         * dwarf2asm.c: Include gt-dwarf2asm.h.
990         (mark_indirect_pool_entry): Delete.
991         (mark_indirect_pool): Delete.
992         (indirect_pool): Use gengtype to mark.
993         (dw2_force_const_mem): Don't use ggc_add_root.
994         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
995         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
996         (gt-dwarf2asm.h): Depend on s-gtype.
997
998         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
999
1000         * tree.h (union tree_type_symtab): Mark `die' field.
1001         * Makefile.in (dwarf2out.o): Update dependencies.
1002         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
1003         hash tables.
1004         (dw_cfi_oprnd1_desc): New function.
1005         (dw_cfi_oprnd2_desc): New function.
1006         (indirect_string_alloc): Delete.
1007         (debug_str_do_hash): New function.
1008         (debug_str_eq): New function.
1009         (mark_limbo_die_list): Delete.
1010         (dwarf2out_init): Don't call ggc_add_root.
1011
1012 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
1013
1014         The following changes are merged from itanium-sched-branch:
1015
1016         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1017
1018         * doc/md.texi: Clarify assignment of units to automata description.
1019
1020         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
1021
1022         * genautomata.c (unit_decl): Remove members
1023         `the_same_automaton_unit' and
1024         `the_same_automaton_message_reported_p'.
1025         (process_unit_to_form_the_same_automaton_unit_lists,
1026         form_the_same_automaton_unit_lists_from_regexp,
1027         form_the_same_automaton_unit_lists, the_same_automaton_lists):
1028         Remove them.
1029         (annotation_message_reported_p): New global variable.
1030         (check_unit_distribution_in_reserv,
1031         check_regexp_units_distribution): New functions.
1032         (check_unit_distributions_to_automata): Rewrite it.
1033
1034         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
1035
1036         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
1037         Use continue instead of break if cycle is too big.
1038
1039         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
1040
1041         * genautomata.c (check_unit_distributions_to_automata): Output at
1042         most one message for a unit.
1043         (process_unit_to_form_the_same_automaton_unit_lists): Check
1044         automaton of units instead of units themself.
1045
1046         * doc/md.texi: Describe the constraint about assigning unit to
1047         automata.
1048
1049         2002-12-20  Jan Hubicka  <jH@suse.cz>
1050                     Vladimir Makarov  <vmakarov@redhat.com>
1051
1052         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
1053         and `in_set_p'.
1054         (gen_cpu_unit): Initialize the new members.
1055         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
1056         up `min_occ_cycle_num'.
1057         (evaluate_max_reserv_cycles): Change the function call.
1058         (CLEAR_BIT): New macro.
1059         (states_union, state_shift): Use the mask.
1060         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
1061         (form_reservs_matter): New function.
1062         (make_automaton): Call the function and use the mask.
1063         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
1064         account.
1065
1066         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1067
1068         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
1069
1070         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1071
1072         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
1073         for Itanium.
1074
1075         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1076
1077         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
1078         default cpu.
1079
1080         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1081                 2002-10-31  Dale Johannesen <dalej@apple.com>
1082
1083         * haifa-sched.c (find_set_reg_weight): New function.
1084         (find_insn_reg_weight): Use the new function.
1085         (schedule_block): Do sorting ready queue always
1086         after insn issue.
1087
1088         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
1089
1090         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
1091
1092         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
1093
1094         * haifa-sched.c (choice_entry): New structure.
1095         (choice_stack, cycle_issued_insns): New variables.
1096         (max_issue): Rewrite it.
1097         (choose_ready): Set up ready_try for unknown insns too.
1098         (schedule_block): Allocate and free choice_stack.  Set up
1099         and modify cycle_issued_insns.
1100
1101         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
1102         with and without filling the bundle.
1103         (bundling): Combine calls of issue_nops_and_insn.
1104
1105         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
1106
1107         * config/ia64/itanium1.md: New file.
1108
1109         * config/ia64/itanium2.md: New file.
1110
1111         * config/ia64/ia64.md: Move DFA descriptions into the new files.
1112         Remove the old pipeline description.
1113
1114         * config/ia64/ia64.c (ia64_override_options): Add aliases of
1115         itanium processor names.
1116
1117         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
1118
1119         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
1120         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
1121
1122         * config/ia64/ia64.md: Add descriptions for Itanium2.
1123
1124         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1125
1126         * config/ia64/ia64.h (processor_type): New enumeration.
1127         (ia64_tune, ia64_tune_string): New external declarations.
1128         (TARGET_OPTIONS): Add option `tune='.
1129
1130         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
1131         variables.
1132         (ia64_override_options): Set up `ia64_tune'.
1133         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
1134         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
1135         (bundling): Add nops for MM-insns only for Itanium.
1136         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
1137         Itanium.
1138
1139         * config/ia64/ia64.md (cpu): New attribute.
1140         (DFA description): Enable it only for Itanium.
1141
1142         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1143                     Richard Henderson  <rth@redhat.com>
1144
1145         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
1146         MASK_EARLY_STOP_BITS.
1147         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
1148         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
1149         `early-stop-bits'.
1150
1151         * config/ia64/ia64.c (ia64_dfa_new_cycle,
1152         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
1153         instead of TARGET_TUNE_STOP_BITS.
1154
1155         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
1156         `-mearly-stop-bits'.
1157
1158         * config/ia64/ia64.c (automata_option "v"): Comment it.
1159
1160         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
1161
1162         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
1163         New macros.
1164         (TARGET_SWITCHES): Add entries for the new option.
1165
1166         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
1167         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
1168         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
1169         global variables.
1170         (ia64_sched_reorder2): Set up `clocks'.
1171         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
1172         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
1173         queue when TARGET_TUNE_STOP_BITS.
1174         (bundling): Insert additional nops for MM-insns.
1175         (final_emit_insn_group_barriers): Add insertion of stop bits
1176         according `stops_p'.
1177         (ia64_reorg): Initiate the new varibales.
1178
1179         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
1180
1181         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
1182
1183         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
1184         insns at the end of block insn scheduling.
1185
1186         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
1187
1188         * sched-deps.c (remove_dependence, group_leader): Remove it.
1189         (add_dependence): Add dependence to group leader to.
1190         (set_sched_group_p): Add dependence to the first insn of the
1191         schedule group too.
1192         (sched_analyze_insn): Make dependence to jump as anti-dependence.
1193         Change true dependence by anti-dependence when
1194         `reg_pending_barrier'.
1195
1196         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
1197         add_branch_dependences): Ignore schedule groups.
1198
1199         * sched-ebb.c (init_ready_list): Ditto.
1200
1201         * (move_insn, set_priorities): Ditto.
1202
1203         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
1204         flag is clear after reload.
1205         (adjust_cost): Change cost only for output dependencies.
1206
1207         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
1208
1209         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
1210
1211         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
1212
1213         * target.h (gcc_target): Add member
1214         `dependencies_evaluation_hook'.
1215
1216         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
1217         macro.
1218         (TARGET_SCHED): Add initiatialization of the new member.
1219
1220         * sched-ebb.c: Include `target.h'.
1221         (schedule_ebb): Call `dependencies_evaluation_hook'.
1222
1223         * sched-rgn.c (schedule_region): Call
1224         `dependencies_evaluation_hook'.
1225
1226         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1227         New macro.
1228         (ia64_dependencies_evaluation_hook): New function.
1229
1230         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1231         Describe the new hook.
1232
1233         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
1234
1235         * target.h (gcc_target): Add members
1236         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
1237
1238         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
1239         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
1240         macros.
1241         (TARGET_SCHED): Add initiatialization of the new members.
1242
1243         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
1244         insn scheduling too.
1245         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
1246         initialize `ready_try'.
1247         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
1248         `dfa_new_cycle' says not to do it.
1249
1250         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
1251         bundling.
1252
1253         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
1254
1255         * config/ia64/ia64.c: Include `hashtab.h'.
1256         (ia64_first_cycle_multipass_dfa_lookahead_guard,
1257         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
1258         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
1259         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
1260         bundle_state_eq_p, insert_bundle_state,
1261         initiate_bundle_state_table, finish_bundle_state_table,
1262         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
1263         get_template, get_next_important_insn, bundling): New functions.
1264         (ia64_internal_sched_reorder): Remove it.
1265         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1266         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
1267         (ia64_safe_itanium_requires_unit0): Remove it.
1268         (group_barrier_needed_p): Place group barrier right before a real
1269         insn.
1270         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
1271         Remove them.
1272         (bundle_name): New variable.
1273         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
1274         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
1275         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
1276         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
1277         temp_dfa_state, prev_cycle_state): New global variables.
1278         (insn_matches_slot, maybe_rotate, finish_last_head,
1279         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
1280         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
1281         find_best_packet, itanium_reorder, dump_current_packet,
1282         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
1283         (sched_data, sched_ready, sched_types): Remove them.
1284         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
1285         `init_insn_group_barriers'.
1286         (ia64_sched_reorder, ia64_sched_reorder2): Call
1287         ia64_dfa_sched_reorder.
1288         (ia64_variable_issue): Rewrite it.
1289         (bundle_state): New structure.
1290         (index_to_bundle_states, bundle_states_num,
1291         allocated_bundle_states_chain, free_bundle_state_chain): New
1292         global variables.
1293         (ia64_sched_finish): Add stop bits and call `bundling' after the
1294         2nd insn scheduling.
1295         (ia64_use_dfa_pipeline_interface): Return zero always.
1296         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
1297         insn scheduling.
1298         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
1299         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
1300         (ia64_reorg): Add bundling insns.
1301
1302         * doc/tm.texi
1303         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1304         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
1305
1306         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
1307
1308         * config/ia64/ia64.md: Add Itanium1 DFA description.
1309         (itanium_class): Add `nop' and `pre_cycle'.  Add
1310         define_function_unit for `nop'.
1311         (nop): Change attribute `itanium_class'.
1312         (pre_cycle): New define_insn.
1313
1314         * config/ia64/ia64-protos.h (bundling_p): New external variable.
1315         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
1316         ia64_produce_address_p): New function prototypes.
1317
1318         * config/ia64/ia64.c (bundling_p): New global variable.
1319         (ia64_use_dfa_pipeline_interface,
1320         ia64_first_cycle_multipass_dfa_lookahead,
1321         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
1322         functions.
1323         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1324         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1325         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1326         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
1327         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
1328         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
1329         (dfa_pre_cycle_insn): New variable.
1330
1331         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1332
1333         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
1334         constructions.
1335
1336         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
1337         New function prototypes.
1338
1339         * genattrtab.c (main): Process the new constructions.
1340
1341         * genautomata.c (gen_presence_absence_set,
1342         process_presence_absence_names, process_presence_absence_patterns,
1343         add_presence_absence, check_absence_pattern_sets): Add parameter
1344         `final_p'.
1345         (unit_decl): Add new members `final_presence_list' and
1346         `final_absence_list'.
1347         (unit_pattern_rel_decl): Add new member `final_p'.
1348         (gen_final_presence_set, gen_final_absence_set): New functions.
1349         (process_decls): Use member `final_p'.
1350         (temp_reserv): New global variable.
1351         (reserv_sets_are_intersected): Add processing `final_presence_set'
1352         and `final_absence_set'.
1353         (initiate_states): Allocate `temp_reserv'.
1354         (unit_final_presence_set_table, unit_final_absence_set_table): New
1355         gloabal variables.
1356         (initiate_presence_absence_pattern_sets): Initiate them.
1357         (NDFA_to_DFA): Fix typo.
1358         (output_description): Output `final_presence_set' and
1359         `final_absence_set'.
1360
1361         * doc/md.texi (final_presence_set, final_absence_set): Describe
1362         them.
1363
1364         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1365
1366         * genautomata.c (transform_3): Process a missing case (nothing on
1367         unit place).
1368
1369         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1370
1371         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
1372         comments about queried units and the minimization.
1373
1374         * doc/md.texi: Ditto.
1375
1376         * genautomata.c (create_composed_state): Return nonzero if the new
1377         state has been created.
1378         (first_cycle_unit_presence): New function.
1379         (state_is_differed): Add new parameter.  Use the new function.
1380         Take queried units into account.
1381         (partition_equiv_class): Pass additional parameter to
1382         `state_is_differed'.
1383         (merge_states): Process composed states too.
1384         (build_automaton, create_automata, output_min_issue_delay_table,
1385         output_tables, output_statistics): Output more information.
1386         (output_reserved_units_table): Use function
1387         `first_cycle_unit_presence'.
1388         (output_tables): Output table of queried units even if the
1389         minimization is switched on.
1390         (write_automata): Output code for querying units even if the
1391         minimization is switched on.
1392
1393         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
1394
1395         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
1396         syntax of the constructions.
1397
1398         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
1399         extended syntax of the constructions.
1400
1401         * genautomata.c (unit_rel_decl): Rename it to
1402         `unit_pattern_rel_decl'.
1403         (pattern_set_el, pattern_reserv): New structures.
1404         (pattern_set_el_t, pattern_reserv_t): New types.
1405         (gen_presence_absence_set): New function.
1406         (process_presence_absence): Remove it.
1407         (process_presence_absence_names,
1408         process_presence_absence_patterns): New functions.
1409         (get_presence_absence_set): Remove it.
1410         (initiate_presence_absence_sets): Rename it on
1411         `initiate_presence_absence_pattern_sets'.  Use new function
1412         `form_reserv_sets_list'.
1413         (form_reserv_sets_list, check_presence_pattern_sets,
1414         check_absence_pattern_sets, output_pattern_set_el_list): New
1415         functions.
1416         (unit_decl): Change types of members `presence_list' and
1417         `absence_list'.
1418         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
1419         (decl): Change types of members `excl', `presence', and `absence'.
1420         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
1421         at the end of the vector.
1422         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1423         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
1424         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
1425         (gen_presence_set, gen_absence_set): Use new function
1426         `gen_presence_absence_set'.
1427         (add_presence_absence): Process `pattern_list' instead of
1428         `source_list'.
1429         (process_decls): USe new functions
1430         `process_presence_absence_names' and
1431         `process_presence_absence_patterns'.
1432         (reserv_sets_are_intersected): Use new function
1433         `check_presence_pattern_sets'.
1434         (presence_set, absence_set): Remove them.
1435         (unit_presence_set_table, unit_absence_set_table): New global
1436         variables.
1437         (output_description): Use new function
1438         `output_pattern_set_el_list'.
1439         (generate): Use `initiate_presence_absence_pattern_sets'.
1440
1441         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
1442
1443         * genattr.c (main): Add output of prototype of new interface
1444         function `dfa_clean_insn_cache'.
1445
1446         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
1447         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
1448         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
1449         the generated code.
1450         (write_automata): Call the new function.
1451
1452 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1453
1454         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
1455         correctly.
1456
1457 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
1458
1459         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
1460
1461 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
1462
1463         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
1464         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1465         (CONSTRAINT_LEN): Provide default definition.
1466         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1467         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
1468         (EXTRA_CONSTRAINT_STR): Likewise.
1469         (REG_CLASS_FROM_CONSTRAINT): Define.
1470         * genoutput.c (check_constraint_len, constraint_len): New functions.
1471         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
1472         constraint / modifier.
1473         (gen_insn): Call check_constraint_len.
1474         * local-alloc.c (block_alloc): Update to use new macros / pass
1475         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
1476         * ra-build.c (handle_asm_insn): Likewise.
1477         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
1478         (constrain_operands, peep2_find_free_register): Likewise.
1479         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1480         * regmove.c (find_matches): Likewise.
1481         * reload.c (push_secondary_reload, find_reloads): Likewise.
1482         (alternative_allows_memconst): Likewise.
1483         * reload1.c (maybe_fix_stack_asms): Likewise.
1484         (reload_cse_simplify_operands): Likewise.
1485         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1486         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
1487         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1488         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
1489         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
1490         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
1491
1492         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
1493
1494 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1495
1496         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
1497         length.
1498         (*extzv_1_r_h8300hs): Likewise.
1499         (*extzv_1_r_inv_h8300): Likewise.
1500         (*extzv_1_r_inv_h8300hs): Likewise.
1501
1502 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1503
1504         * config/h8300/h8300.h (PREDICATE_CODES): New.
1505
1506 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1507
1508         * config/h8300/h8300.md (*addsi3_upper): New.
1509         (*iorsi3_shift): Likewise.
1510         (two splitters): Likewise.
1511         (*addsi3_shift): Likewise.
1512         (two splitters): Likewise.
1513
1514 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
1515
1516         * Makefile.in (optabs.o): Add dependency on basic-block.h.
1517         * basic-block.h (control_flow_insn_p): Fuction was exported.
1518         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
1519         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
1520         notes only when the region is contained in a single basic block.
1521
1522 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1523
1524         PR inline-asm/8832
1525         * tree.h (expand_asm): New prototype.
1526         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
1527         to do so.
1528         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
1529         down to expand_asm.
1530         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
1531         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
1532         (volatile_refs_p) [ASM_INPUT]: Likewise.
1533         (side_effects_p) [ASM_INPUT]: Likewise.
1534
1535 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
1536
1537         * i386.md (*mul*): FIx constraints; remove confused comment; fix
1538         athlon_decode attributes
1539         (imul/k8 optimization peep2s): New.
1540
1541         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
1542         * i386.md (type attribute): Add ssecomi.
1543         (unit, memory, prefix attributes): Handle ssecomi.
1544         (cvt?2? patterns): Fix athlon_decode attribute
1545         (comi patterns): Set attribute to ssecomi.
1546
1547         PR target/8343
1548         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
1549
1550 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
1551
1552         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
1553         that match register_operands.
1554         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
1555         register_operand the default case.
1556
1557 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1558
1559         PR c/8032
1560         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
1561         an empty element, do not advance the pointer to unfilled
1562         fields if there are pending initializers.
1563
1564 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
1565
1566         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
1567         (install-gcc-tooldir, install-cpp, installdirs,
1568         install-common, install-driver, install-info, install-man,
1569         install-headers, install-include-dir, install-headers-tar,
1570         install-headers-cpio, install-headers-cp, install-mkheaders,
1571         install-collect2, uninstall): Prepend $(DESTDIR) to
1572         destination paths in all (un)installation commands.
1573         (install-driver): Rewrite $(LN) commands to support DESTDIR
1574         with "ln" as well as with "ln -s".
1575         (installdirs): Simply use mkinstalldirs.
1576         (install-libgcc, install-multilib): Also pass DESTDIR.
1577         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
1578         installation destination variable ldir.
1579         * config/alpha/t-osf4, config/arm/t-netbsd,
1580         config/ia64/t-hpux, config/mips/t-iris5-6,
1581         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
1582         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
1583         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
1584         in the definition of SHLIB_INSTALL.
1585         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
1586         $(libsubdir) in the installation commands.
1587
1588 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1589
1590         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
1591         non-optimizing compile.
1592         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
1593         compile.
1594
1595 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
1596
1597         * config/i386/i386.c (ix86_attribute_table): Add new attributes
1598         ms_struct and gcc_struct.
1599         (ix86_handle_struct_attribute): New function.
1600         (ix86_ms_bitfield_layout_p): Update to take new attributes
1601         into account.
1602         * doc/extend.texi: Document new attributes.
1603         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
1604
1605 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
1606
1607         PR optimization/8750
1608         * config/i386/i386.c (ix86_expand_prologue): Don't allow
1609         scheduling pass to move insns across __alloca call.
1610
1611 2003-01-08  Dale Johannesen  <dalej@apple.com>
1612
1613         * config/rs6000/rs6000.md:  Replace *store_multiple_string
1614         with *stmsi[3-8].
1615
1616 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
1617
1618         PR target/9210
1619         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
1620         Set SYMBOL_REF_FLAG on local data sym_ref.
1621
1622 2003-01-08  Dale Johannesen  <dalej@apple.com>
1623
1624         * function.c (assign_parms):  Don't set pretend_args_size if
1625           REG_PARM_STACK_SPACE.
1626           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
1627           pretend_args_size.
1628
1629 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1630
1631         * gcc.hlp: Delete.
1632
1633 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
1634
1635         * i386.c  (ix86_expand_int_addcc): Fix thinko.
1636
1637 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1638
1639         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
1640         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
1641         as hook_bool_tree_hwi_hwi_tree_true.
1642         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
1643         (rs6000_emit_epilogue): Same.
1644         (rs6000_output_mi_thunk): Re-implement as RTL.
1645         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
1646         xcoffout_declare_function if any debugging enabled.
1647
1648 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
1649
1650         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
1651         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
1652         * config/mips/mips.h (enum processor_type): Rename
1653         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
1654         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
1655         Add PROCESSOR_M4K.
1656         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
1657         (ISA_MIPS32R2): New define.
1658         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
1659         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
1660         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
1661         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
1662         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
1663         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
1664         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
1665         compiling MIPS16 code.
1666         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
1667         comment.
1668         (ISA_HAS_SEB_SEH): New define.
1669         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
1670         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
1671         processor_type value renaming.  Add support for MIPS32R2.
1672         Clean up comments, and move "sb1" entry with other MIPS64 CPU
1673         entries.
1674         (override_options): Reimplement -mipsN option handling so that
1675         it will work correctly for -mips32r2.  Avoid branch-likely
1676         instructions on MIPS32R2.
1677         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
1678         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
1679         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
1680         (extendhisi2_hw, extendqisi2_hw): New.
1681         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
1682         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
1683         MIPS32R2, and MIPS64.
1684         (LINK_SPEC): Pass -mips32r2 to linker.
1685         * config/mips/t-isa3264: Built -mips32r2 multilibs.
1686         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
1687         for mips32r2 in the -march description.  Alphabetically sort
1688         CPU names in the -march description.  Add long-missed -mips32
1689         and -mips64 to MIPS option summary.
1690
1691         * config.gcc: Update copyright years to include 2003.
1692         * config/mips/mips.c: Likewise.
1693         * config/mips/mips.h: Likewise.
1694         * config/mips/mips.md: Likewise.
1695         * config/mips/netbsd.h: Likewise.
1696         * doc/invoke.texi: Likewise.
1697
1698 2003-01-08  Andreas Schwab  <schwab@suse.de>
1699
1700         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
1701         variable.
1702         * configure: Regenerated.
1703
1704 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1705
1706         * config/h8300/h8300.c (output_logical_op): Replace byte/word
1707         extraction of det with b0, b1, w0, w2, etc.
1708         (compute_logical_op_length): Likewise.
1709         (compute_logical_op_cc): Likewise.
1710
1711 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1712
1713         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
1714         HIGH on all variants.
1715
1716 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
1717
1718         * Makefile.in (PARTITION_H): New.
1719         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
1720         * basic-block.h: Include hard-reg-set.h.
1721
1722 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
1723
1724         * arm.h (ENABLE_XF_PATTERNS): Delete.
1725         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
1726         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
1727         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
1728         (cmpxf_trap): Delete.
1729         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
1730
1731 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1732
1733         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
1734         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
1735         (add??cc): New expanders.
1736         * i386.c (expand_int_addcc): New function.
1737         * i386-protos.h (expand_int_addcc): Declare.
1738
1739         * alias.c (memory_modified_1): New static function.
1740         (memory_modified): New static varaible.
1741         (memory_modified_in_insn_p): New global function.
1742         * rtl.h (memory_modified_in_insn_p): Declare.
1743         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
1744         references.
1745
1746         * expr.h (emit_conditional_add): Declare.
1747
1748 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
1749
1750         PR other/8947
1751         * doc/invoke.texi (-malign-double): Explain that the option breaks
1752         binary compatibility.
1753
1754 2003-01-08  Andreas Schwab  <schwab@suse.de>
1755
1756         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
1757         should come from the generic *-*-linux* entry.
1758
1759 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
1760
1761         * cselib.c (cselib_current_insn_in_libcall): New static variable.
1762         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
1763         we are inside libcall.
1764         * cselib.h (elt_loc_list): Add in_libcall.
1765         * gcse.c (do_local_cprop): Do not copy propagate using insns
1766         in libcalls.
1767
1768 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
1769
1770         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
1771         not normally affect to issue rate.
1772
1773 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1774
1775         * genopinit.c (optabs): Add addc_optab.
1776         * ifcvt.c (noce_try_store_flag): Rename to ...
1777         (noce_try_addcc): ... this one; handle generic conditional increment.
1778         (noce_process_if_block): Update noce_try_addcc call.
1779         * optabs.c (emit_conditional_add): New.
1780         (init_obtabs): Initialize addc_optab.
1781         * optabs.h (optab_index): Add OTI_addcc.
1782         (addcc_optab): New macro.
1783         * md.texi: Document addMcc
1784
1785         PR target/8322
1786         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
1787         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1788         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1789
1790         * reload1.c (delete_output_reload): Avoid repeated attempts
1791         to delete insn.
1792
1793 2003-01-07  Andreas Schwab  <schwab@suse.de>
1794
1795         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
1796         Move --enable-initfini-array check ...
1797         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
1798         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
1799         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
1800         * configure: Rebuild.
1801
1802 2003-01-07  Richard Henderson  <rth@redhat.com>
1803
1804         * alias.c (find_base_value): Only use new_reg_base_value shortcut
1805         if the register is set once.
1806
1807 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
1808
1809         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
1810         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
1811         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
1812
1813 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
1814             Sunil Davasam  <sunil.k.davasam@intel.com>
1815
1816         PR libstdc++/9076
1817         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
1818         DW_CFA_same_value, read next and ignore.
1819
1820 2003-01-07  Richard Henderson  <rth@redhat.com>
1821
1822         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
1823
1824 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
1825
1826         * cfg.c: Include alloc-pool.h
1827         (edge_pool): New pool.
1828         (bb_pool): New pool.
1829         (first_deleted_edge): Remove.
1830         (first_deleted_block): Remove.
1831         (init_flow): Alloc/free the pools.
1832         (free_edge): Use pools.
1833         (alloc_block): Ditto.
1834         (expunge_block): Ditto.
1835         (cached_make_edge): Ditto.
1836
1837         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
1838
1839 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
1840
1841         * et-forest.c: Include alloc-pool.h.
1842         (struct et_forest): Add node_pool and occur_pool.
1843         (et_forest_create): Create the new pools.
1844         (et_forest_delete): Delete them.
1845         (et_forest_add_node): Allocate and free using pools.
1846         (et_forest_add_edge): Ditto.
1847         (et_forest_remove_node): Ditto.
1848         (et_forest_remove_edge): Ditto.
1849
1850         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
1851
1852 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
1853
1854         * config/h8300/h8300.c (output_logical_op): Simplify and
1855         optimize the handling of SImode.
1856         * config/h8300/h8300.c (compute_logical_op_length): Update
1857         accordingly.
1858         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
1859
1860 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
1861
1862         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
1863         big-endian correction to indirect arguments too.
1864
1865 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
1866
1867         Segher Boessenkool  <segher@koffie.nl>
1868
1869         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
1870         (alt_reg_names): Ditto, fix formatting.
1871         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
1872
1873 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1874
1875         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
1876         (output_logical_op): Constify intval and det.
1877         (compute_logical_length): Likewise.
1878         (compute_logical_cc): Likewise.
1879         (output_a_shift): Constify mask.
1880         (h8300_encode_label): Constify len.
1881
1882 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1883
1884         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
1885         (h8300_expand_epilogue): Likewise.
1886
1887 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
1888
1889         Segher Boessenkool  <segher@koffie.nl>
1890
1891         * config/rs6000/altivec.md: Remove spaces from assembler
1892         instruction argument lists.
1893
1894 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1895
1896         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
1897         c4x_assembler_function_p.
1898         (c4x_null_epilogue_p): Complement return value, all uses updated.
1899         (c4x_insert_attributes): Add naked.
1900         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
1901         * doc/extend.texi: Update C4x function attributes.
1902
1903 2003-01-06  Richard Henderson  <rth@redhat.com>
1904
1905         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
1906         properly when changing "local-ness".
1907         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
1908
1909 2003-01-06  Dale Johannesen  <dalej@apple.com>
1910
1911         * config/darwin-protos.h:  Add prototypes for new section functions.
1912
1913 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
1914
1915         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
1916         to EABI.
1917
1918 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
1919
1920         * hwint.h: If the current compiler has no 64-bit type at all,
1921         make HOST_WIDEST_INT 32 bits.
1922
1923 2003-01-06  Eric Christopher  <echristo@redhat.com>
1924
1925         * config/mips/mips.md (movdf_internal2): Fix constraints.
1926
1927 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1928
1929         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
1930
1931 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
1932
1933         * config/mips/mips.md (leadi): Use dla rather than la.
1934
1935 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
1936
1937         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
1938         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
1939
1940 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
1941
1942         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
1943         redefinition.
1944
1945 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
1946
1947         * config/h8300/h8300.md (*extzv_8_23): New.
1948
1949 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1950
1951         * pa64-hpux.h (JCR_SECTION_NAME): Define.
1952         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
1953         USE_EH_FRAME_REGISTRY when defining.
1954
1955 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
1956
1957         * config/h8300/h8300.c (output_a_shift): Do not output a
1958         variable shift.
1959         * config/h8300/h8300.md (two splitters): New.
1960
1961 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
1962
1963         * config/mips/mips.md: Disable the movstrsi define_split.
1964
1965 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1966
1967         * alloc-pool.c: Don't include "libiberty.h".
1968         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
1969         * convert.c (convert_to_real): Hide unused variable.
1970
1971 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1972
1973         * Makefile.in (gtyp-gen.h): Const-ify.
1974         * gcov-dump.c (tag_table): Likewise.
1975
1976 2003-01-04  Bruce Korb  <bkorb@gnu.org>
1977
1978         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
1979         of *both* the file name and the fix name.
1980
1981 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
1982
1983         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
1984         collect2.
1985         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
1986         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
1987         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
1988         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
1989         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
1990         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
1991         elfos.h.
1992         (EH_FRAME_IN_DATA_SECTION): Delete define.
1993         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
1994         (STARTFILE_SPEC): Use crtbegin.o.
1995         (ENDFILE_SPEC): Use crtend.o.
1996         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
1997         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
1998         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
1999         DTOR_LIST_BEGIN): Define.
2000         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
2001         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
2002         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
2003
2004 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
2005
2006         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
2007         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
2008         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
2009         Cleanup handling of replacement text.
2010         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
2011
2012 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2013
2014         * fixinc/tests/base/math.h: removed obsolete results
2015         * fixinc/tests/base/stdlib.h: ditto
2016         * fixinc/tests/base/sys/param.h: ditto
2017         * fixinc/tests/base/sys/stat.h: ditto
2018         * fixinc/tests/base/time.h: ditto
2019         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
2020         * fixinc/tests/base/sys/byteorder.h: ditto
2021         * fixinc/inclhack.def: Remove superfluous backslashes
2022
2023 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
2024
2025         * config/h8300/h8300-protos.h: Add prototypes for
2026         the new functions defined below.
2027         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
2028         define.
2029         (dosize): Emit RTL instead of assembly code.
2030         (push): Likewise.
2031         (pop): Likewise.
2032         (h8300_output_function_prologue): Remove.
2033         (h8300_expand_prologue): New.
2034         (h8300_expand_epilogue): New.
2035         (h8300_output_function_epilogue): Do only the reset of
2036         pragma_saveall.
2037         * config/h8300/h8300.md (push_h8300): New.
2038         (push_h8300hs): Likewise.
2039         (pop_h8300): Likewise.
2040         (pop_h8300hs): Likewise.
2041         (*stm_h8300s_2): Change the name to stm_h8300s_2.
2042         (*stm_h8300s_3): Change the name to stm_h8300s_3.
2043         (*stm_h8300s_4): Change the name to stm_h8300s_4.
2044         (*ldm_h8300s_2): New.
2045         (*ldm_h8300s_3): Likewise.
2046         (*ldm_h8300s_4): Likewise.
2047         (return): Likewise.
2048         (*return_1): Likewise.
2049         (prologue): Likewise.
2050         (epilogue): Likewise.
2051         (monitor_prologue): Likewise.
2052
2053 2003-01-03  Dale Johannesen  <dalej@apple.com>
2054
2055         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
2056           machopic_picsymbol_stub1.
2057           (EXTRA_SECTION_FUNCTIONS):  Ditto.
2058         * rs6000/rs6000.c:  Update copyright.
2059           (machopic_output_stub):  Use them.  Remove an insn from stub code.
2060
2061 2003-01-02  Jason Merrill  <jason@redhat.com>
2062
2063         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
2064
2065         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
2066         static/external decls.
2067
2068         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
2069         outermost scope.
2070         * c-decl.c (c_make_fname_decl): Push the decls there, too.
2071
2072 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
2073
2074         * config/h8300/h8300-protos.h: Add a prototype for
2075         h8300_current_function_interrupt_function_p.
2076         * config/h8300/h8300.c (interrupt_handler): Remove.
2077         (os_task): Likewise.
2078         (monitor): Likewise.
2079         (pragma_interrupt): New.
2080         (WORD_REG_USED): Use
2081         h8300_current_function_interrupt_function_p.
2082         (dosize): Likewise.
2083         (h8300_output_function_prologue): Likewise.
2084         Do not set interrupt_handler, os_task, monitor.
2085         (h8300_output_function_prologue): Use
2086         h8300_current_function_interrupt_function_p.
2087         Do not set interrupt_handler, os_task, monitor.
2088         (h8300_current_function_interrupt_function_p): New.
2089         (h8300_pr_interrupt): Set pragma_interrupt.
2090         (h8300_insert_attributes): Reset pragma_interrupt.
2091
2092 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2093
2094         * doc/install.texi (Configuration): Fix markup for reference to
2095         gcc/config.gcc.
2096
2097 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2098
2099         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
2100         (*iorhi3_two_qi): Likewise.
2101         (*iorsi3_zexthi): Likewise.
2102         (*xorhi3_zextqi): Likewise.
2103         (*xorsi3_zexthi): Likewise.
2104         (*xorsi3_zextqi): Likewise.
2105
2106 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2107
2108         * config/h8300/h8300.c (stack_pointer_operand): New.
2109         (const_int_gt_2_operand): Likewise.
2110         (const_int_ge_8_operand): Likewise.
2111         * config/h8300/h8300.md (a splitter): Likewise.
2112         (a peephole2): Likewise.
2113         * config/h8300/h8300-protos.h: Add prototypes for the new
2114         functions above.
2115
2116 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
2117
2118         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
2119         objc/objc-act.h: Fix copyright years.
2120
2121 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2122
2123         * doc/passes.texi: Fix documentation for -fssa-ccp
2124
2125 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
2126
2127         * gccbug.in: Update for new categories.
2128
2129 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2130
2131         * config/h8300/h8300.md: Reorder some patterns.
2132
2133 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2134
2135         * config/h8300/h8300.c (output_logical_op): Fix a warning.
2136
2137 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2138
2139         * config/darwin-protos.h, config/c4x/c4x-protos.h,
2140         config/cris/cris-protos.h, config/i370/i370-protos.h,
2141         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
2142         config/v850/v850-protos.h: Use struct, and don't conditionally
2143         compile on GCC_C_PRAGMA_H.
2144
2145 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2146
2147         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
2148         * config/h8300/h8300-protos.h: Likewise.
2149         * config/sh/sh-protos.h: Likewise.
2150
2151 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2152
2153         * config/arm/arm-protos.h: Use struct cpp_reader instead of
2154         cpp_reader.
2155         * config/h8300/h8300-protos.h: Likewise.
2156         * config/sh/sh-protos.h: Likewise.
2157
2158 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2159
2160         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
2161         arm_pr_long_calls_off): Use struct.
2162         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
2163         : Similarly.
2164         Don't include cpplib.h.
2165         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
2166         sh_pr_nosave_low_regs): Similarly.
2167
2168 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2169
2170         * config/h8300/h8300.c: Include cpplib.h.
2171
2172 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2173
2174         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
2175           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
2176           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
2177           "GCC" in the copyright header.
2178
2179 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2180
2181         * c-pragma.c (c_register_pragma): New.
2182         (init_pragma): Use it.
2183         * c-pragma.h (cpp_register_pragma): Don't declare.
2184         (c_register_pragma): New.
2185         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
2186         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
2187         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
2188         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2189         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
2190         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
2191         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
2192         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
2193         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
2194         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
2195         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
2196         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
2197
2198 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2199
2200         * config/h8300/h8300-protos.h: Update the prototypes.
2201         * config/h8300/h8300.c (const_le_2_operand): Change to
2202         const_int_le_2_operand.
2203         (const_int_le_6_operand): Change to const_int_le_6_operand.
2204         * config/h8300/h8300.md (two peepholes): Update the function
2205         names.
2206
2207 2002-12-31  Tom Tromey  <tromey@redhat.com>
2208
2209         * doc/install.texi (Testing): Fixed typo.
2210
2211 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2212
2213         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
2214         (TRAMPOLINE_SIZE): Support the normal mode.
2215         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
2216
2217 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
2218
2219         * c-common.h (pending_lang_change): Declare.
2220
2221 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2222
2223         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
2224         descriptions.
2225
2226 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2227
2228         * gcc/doc/invoke.texi (Optimization Options): List the options
2229         enabled by each -O flag.
2230
2231 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2232
2233         * doc/install.texi (Configuration): Explicitly refer
2234         gcc/config.gcc for a list of cpu models.
2235
2236 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2237
2238         * config/h8300/h8300.h: Fix comment typos.
2239
2240 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
2241
2242         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
2243
2244 2002-12-30  Tom Tromey  <tromey@redhat.com>
2245
2246         * doc/install.texi (Testing): Mention Jacks.
2247
2248 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2249
2250         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
2251
2252 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2253
2254         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
2255         cases.
2256         (compute_logical_op_length): Update to reflect the change in
2257         output_logical_op.
2258         (compute_logical_op_cc): Likewise.
2259
2260 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2261
2262         * doc/service.texi: Uncomment and update FAQ link.
2263
2264 2002-12-30  Andreas Jaeger  <aj@suse.de>
2265
2266         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
2267
2268 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2269
2270         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
2271
2272 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2273
2274         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
2275         are clearing the most significant byte.
2276         (compute_logical_op_length): Update to reflect the change in
2277         output_logical_op.
2278         (compute_logical_op_cc): Likewise.
2279
2280 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2281
2282         * config/h8300/h8300.md: Give internal names to anonymous
2283         insns.
2284
2285 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2286
2287         * config/h8300/h8300.md: Reorder some insns.
2288
2289 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2290
2291         * config/h8300/h8300-protos.h: Add prototypes for
2292         const_int_qi_operand and const_int_hi_operand.
2293         * config/h8300/h8300.c (const_int_qi_operand): New.
2294         (const_int_hi_operand): Likewise.
2295         * config/h8300/h8300.md (three peepholes): New.
2296
2297 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2298
2299         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
2300         Use @copying.
2301
2302 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2303
2304         * configure.in: Increase makeinfo version requirement to 4.[2-9].
2305         * configure: Regenerate.
2306         * doc/install.texi: Update Texinfo version requirement.
2307
2308 2002-12-28  Andreas Jaeger  <aj@suse.de>
2309
2310         * config/i386/i386.c (x86_function_profiler): Mark labelno as
2311         possibly unused.
2312
2313         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
2314         correct format.
2315
2316 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
2317
2318         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
2319         *iorhi_ashift_8.
2320         (*iorhi_lshiftrt_8): New.
2321
2322 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
2323
2324         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
2325
2326 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2327
2328         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
2329
2330 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2331
2332         * config/h8300/h8300-protos.h: Fix comment typos.
2333         Update copyright.
2334         * config/h8300/h8300.c: Fix comment typos.
2335
2336 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2337
2338         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
2339
2340 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2341
2342         * config/i386/athlon.md: Fix comment typos.
2343         * config/i386/crtdll.h: Likewise.
2344         * config/i386/djgpp.h: Likewise.
2345         * config/i386/i386-interix.h: Likewise.
2346         * config/i386/i386.c: Likewise.
2347         * config/i386/i386.h: Likewise.
2348         * config/i386/i386.md: Likewise.
2349         * config/i386/k6.md: Likewise.
2350         * config/i386/mingw32.h: Likewise.
2351         * config/i386/pentium.md: Likewise.
2352         * config/i386/sco5.h: Likewise.
2353         * config/i386/winnt.c: Likewise.
2354         * config/i386/xmmintrin.h: Likewise.
2355
2356 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
2357
2358         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
2359         INSN_P before checking to see if it is dead.
2360         (mark_all_insn_unnecessary): Similarly.
2361         (ssa_eliminate_dead_code): Similarly.
2362         * rtl.h (struct rtx_def): Update comments for in_struct usage
2363         in dead code elimination pass.
2364         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
2365
2366 2002-12-26  Andreas Schwab  <schwab@suse.de>
2367
2368         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
2369
2370 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
2371
2372         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
2373         tartet_flags_explicit.
2374         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
2375         Compact target_flags bits.
2376         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
2377         (TARGET_SWITCHES): Delete references to *_SET flags.
2378
2379 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
2380
2381         * i386.md (memory attribute): Fix setcc attribute.
2382
2383 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2384
2385         * output.h: Fix comment typos.
2386         * predict.c: Likewise.
2387         * print-tree.c: Likewise.
2388         * profile.c: Likewise.
2389         * ra-build.c: Likewise.
2390         * ra-colorize.c: Likewise.
2391         * ra-debug.c: Likewise.
2392         * ra-rewrite.c: Likewise.
2393         * ra.c: Likewise.
2394         * ra.h: Likewise.
2395         * real.c: Likewise.
2396         * recog.c: Likewise.
2397         * reg-stack.c: Likewise.
2398         * regclass.c: Likewise.
2399
2400 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2401
2402         * config/h8300/h8300.c (print_operand_address): Do not negate
2403         a negative number when printing one.
2404
2405 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2406
2407         * config/h8300/h8300-protos.h: Add prototypes for
2408         output_plussi, compute_plussi_length, and compute_plussi_cc.
2409         * config/h8300/h8300.c (output_plussi): New.
2410         (compute_plussi_length): Likewise.
2411         (compute_plussi_cc): Likewise.
2412         * config/h8300/h8300.md (addsi_h8300h): Call
2413         output_plussi, compute_plussi_length, and compute_plussi_cc.
2414
2415 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2416
2417         * config/h8300/h8300.md (two peepholes): Use match_dup instead
2418         of match_operand in the new patterns.
2419
2420 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
2421
2422         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
2423
2424 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
2425
2426         * configure.in (enable-coverage): Add SELF_COVERAGE.
2427         * profile.c (end_branch_prob): Use SELF_COVERAGE.
2428
2429 2002-12-24  Jim Wilson  <wilson@redhat.com>
2430
2431         * alias.c (record_set): Handle multi-reg hard registers.
2432
2433 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2434
2435         * regmove.c: Fix comment typos.
2436         * reload.c: Likewise.
2437         * reload1.c: Likewise.
2438         * resource.c: Likewise.
2439         * rtl.def: Likewise.
2440         * rtl.h: Likewise.
2441         * rtlanal.c: Likewise.
2442         * sched-deps.c: Likewise.
2443         * sched-rgn.c: Likewise.
2444         * sibcall.c: Likewise.
2445         * simplify-rtx.c: Likewise.
2446         * ssa-ccp.c: Likewise.
2447         * ssa.c: Likewise.
2448         * stmt.c: Likewise.
2449         * stor-layout.c: Likewise.
2450         * system.h: Likewise.
2451         * tlink.c: Likewise.
2452         * toplev.c: Likewise.
2453         * tracer.c: Likewise.
2454         * tree-inline.c: Likewise.
2455         * tree.c: Likewise.
2456         * tree.h: Likewise.
2457         * unroll.c: Likewise.
2458         * varasm.c: Likewise.
2459
2460 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
2461
2462         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
2463         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
2464         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
2465         DG/UX entries.
2466         * doc/md.texi: Remove AMD 29K entries.
2467         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
2468         1.38.1, NewsOS, RT PC, WE32K entries.
2469
2470 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
2471
2472         PR/8763
2473         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
2474         (altivec_vspltisw_v4sf): Name pattern.
2475         (altivec_vslw_v4sf): New pattern.
2476
2477 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2478
2479         * doc/include/gcc-common.texi: Define DEVELOPMENT.
2480
2481 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
2482
2483         * stor-layout.c (update_alignment_for_field): Correct handling of
2484         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
2485         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
2486         bitfield does not affect alignment.
2487
2488 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
2489
2490         * expr.c (expand_assignment): Apply special treatment to
2491         ARRAY_TYPE.
2492
2493 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2494
2495         * config/h8300/h8300-protos.h: Update the prototype of
2496         expand_a_shift.
2497         * config/h8300/h8300.c (expand_a_shift): Change the return
2498         type to void.
2499         * config/h8300/h8300.md: Update all the uses of
2500         expand_a_shift.
2501
2502 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
2503
2504         * tree.c (save_expr): Allow either side of a dyadic operand to be
2505         constant.
2506
2507         * doc/portability.texi (portability): Update portability goals.
2508
2509 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2510
2511         * config/h8300/h8300.c (output_a_shift): Remove unused code.
2512
2513 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
2514
2515         * stor-layout.c (update_alignment_for_field): Guard use of
2516         ADJUST_FIELD_ALIGN with #ifdef.
2517
2518         * stor-layout.c (update_alignment_for_field): Use
2519         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
2520         bitfield when PCC_BITFIELD_TYPE_MATTERS.
2521
2522 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2523
2524         * genautomata.c: Fix comment typos.
2525
2526 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2527
2528         * params.def (tracer-min-branch-probability-feedback): Fix default.
2529         * final.c (compute_alignments): Use profile to avoid code bloat.
2530
2531 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2532
2533         * config/h8300/h8300.c (get_shift_alg): Make shift insn
2534         sequences end with a valid cc0 whenever possible.
2535
2536 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2537
2538         * config/h8300/h8300.md (negsf2): New.
2539         (*negsf2_h8300): Likewise.
2540         (*negsf2_h8300hs): Likewise.
2541
2542 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
2543
2544         * integrate.c (output_inline_function): Don't hold private
2545         pointers to 'struct function' over GC calls.
2546
2547 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
2548
2549         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
2550         NO_FPSCR_VALUES.
2551         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
2552
2553 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2554
2555         * config/h8300/h8300.md (zero_extendqisi2): Correct the
2556         length.
2557
2558 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2559
2560         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
2561         second alternative "#".
2562         (*zero_extendqihi2_h8300hs): Likewise.
2563         (a define_split): New.
2564
2565 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2566
2567         * config/h8300/h8300-protos.h: Update the prototype for
2568         split_adds_subs.
2569         Add prototypes for const_le_2_operand and const_le_6_operand.
2570         * config/h8300/h8300.c (split_adds_subs): Add an argument to
2571         specify whether inc/dec should be used when possible.
2572         (const_le_2_operand): New.
2573         (const_le_6_operand): Likewise.
2574         * config/h8300/h8300.md (two peepholes): New.
2575
2576 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2577
2578         * config/fr30/fr30.md: Fix a comment typo.
2579         * config/i386/i386.c: Likewise.
2580         * config/ip2k/ip2k.h: Likewise.
2581
2582 2002-12-20  Jim Wilson  <wilson@redhat.com>
2583
2584         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
2585         (__ev_subw, __ev_subiw): New.
2586         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
2587         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
2588
2589 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
2590
2591         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
2592         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
2593         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
2594         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
2595
2596 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2597
2598         * config/h8300/h8300-protos.h: Add prototypes for
2599         incdec_operand and eqne_operator.
2600         * config/h8300/h8300.c (incdec_operand): New.
2601         (eqne_operator): Likewise.
2602         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
2603         (CONST_OK_FOR_O): Likewise.
2604         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
2605         CONST_OK_FOR_O.
2606         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
2607         (addhi3_incdec): New.
2608         (addsi3_incdec): Likewise.
2609         (two peepholes): Likewise.
2610
2611 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2612
2613         * config/h8300/h8300.c (dosize): Remove warnings.
2614         (print_operand): Likewise.
2615
2616 2002-12-20  Richard Henderson  <rth@redhat.com>
2617
2618         * config/alpha/alpha.c (decl_has_samegp): New.
2619         (samegp_function_operand): Use it.  Rename from
2620         current_file_function_operand.
2621         (direct_call_operand): Handle -msmall-text via symbol->jump.
2622         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
2623         (tls_symbolic_operand_type): Likewise.
2624         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
2625         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
2626         (alpha_end_function): Set symbol->jump for functions defined in
2627         the text section.
2628         * config/alpha/alpha-protos.h: Update.
2629         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
2630         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
2631         (PREDICATE_CODES): Update.
2632         * config/alpha/alpha.md (call patterns): Update for
2633         samegp_function_operand rename; use !samegp reloc if
2634         TARGET_EXPLICIT_RELOCS.
2635         * doc/invoke.text: Document -msmall-text and -mlarge-text.
2636
2637 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
2638
2639         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
2640         all registers capable of holding a double float.
2641         (*rcond): change name of "reverse branch" insns to
2642         something more meaningful.
2643         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
2644         comparisons properly.
2645         (*ffs): Change operand 0 from write to read-modify-write.
2646         (*ffsssi2): Drop constraints from define_expand.
2647
2648         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
2649         MOVE_RATIO as default for store operations.
2650
2651         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
2652         LONG_REGS class.
2653         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
2654         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
2655         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
2656
2657         * config/ns32k/STATUS: New File
2658         * config/ns32k/NOTES: New file.
2659
2660 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
2661
2662         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
2663         option for S/390 and zSeries.
2664         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
2665         s390_arch_string): New variables.
2666         (override_options): Checking for options and setting of
2667         appropriate target_flags, cpu and arch flags.
2668         * config/s390/s390.h: (processor_type): New enum.
2669         (TARGET_SWITCHES): New switches -mesa/zarch.
2670         * config/s390/s390.md: New attribute 'cpu'.
2671
2672 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2673
2674         * c-pretty-print.h: Fix comment typos.
2675         * integrate.c: Likewise.
2676         * varasm.c: Likewise.
2677         * config/c4x/c4x.h: Likewise.
2678         * config/c4x/c4x.md: Likewise.
2679         * config/fr30/fr30.md: Likewise.
2680         * config/frv/frv.c: Likewise.
2681         * config/h8300/h8300.c: Likewise.
2682         * config/i386/i386.c: Likewise.
2683         * config/i386/i386.h: Likewise.
2684         * config/ia64/ia64.c: Likewise.
2685         * config/ia64/ia64.h: Likewise.
2686         * config/ip2k/ip2k.md: Likewise.
2687         * config/m68hc11/m68hc11-crt0.S: Likewise.
2688         * config/m68hc11/m68hc11.h: Likewise.
2689         * config/m68hc11/m68hc11.md: Likewise.
2690         * config/m68hc11/m68hc12.h: Likewise.
2691         * config/mcore/mcore.md: Likewise.
2692         * config/mips/mips.c: Likewise.
2693         * config/mips/mips.md: Likewise.
2694         * config/mmix/mmix-modes.def: Likewise.
2695         * config/pa/pa.c: Likewise.
2696         * config/rs6000/rs6000.c: Likewise.
2697         * config/rs6000/rs6000.h: Likewise.
2698         * config/rs6000/rs6000.md: Likewise.
2699
2700 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2701
2702         * config/h8300/h8300.md (output_a_shift): Clean up the code to
2703         output shifts using rotation.
2704
2705 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2706
2707         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
2708
2709 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2710
2711         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
2712         pointer.
2713         (pushqi_h8300hs): Likewise.
2714         (pushhi_h8300): Likewise.
2715         (pushhi_h8300hs): Likewise.
2716
2717 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
2718
2719         * sched-rgn.c (init_regions): Update comment.
2720
2721 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
2722
2723         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
2724         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
2725         attributes.
2726         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
2727         (get_vrsave_internal,set_vrsave_internal): Same.
2728         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
2729         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
2730         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
2731
2732 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
2733             Danny Smith  <dannysmith@users.sourceforge.net>
2734             Eric Kohl  <ekohl@rz-online.de>
2735
2736         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
2737         attributes incompatible with fastcall attribute.
2738         (ix86_handle_regparm_attribute): Likewise.
2739
2740         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
2741         fastcall types.
2742
2743         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2744         attributes.
2745         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
2746         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
2747         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
2748         i386_pe_output_labelref rather than here.
2749         (gen_fastcall_suffix): New function. Decorates a label name with the
2750         fastcall prefix (@) and the stdcall suffix.
2751         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
2752         has a fastcall attribute.
2753         (i386_pe_output_labelref): New function. Outputs a label reference.
2754         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
2755         valid attribute.
2756         (ix86_return_pops_args): Fastcall functions pop the stack.
2757         (init_cumulative_args): Reserve registers ECX and EDX if function has
2758         fastcall attribute.
2759         (function_arg): Use registers ECX and EDX if function has fastcall
2760         attribute.
2761         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
2762         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
2763         (FASTCALL_PREFIX): Define as '@'.
2764         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2765         attributes.
2766         * doc/extend.texi: Add documentation of fastcall attribute.
2767
2768 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2769
2770         * configure.in: FORBUILD when build!=host changed from
2771         ../$build-alias to ../build-$build_alias to match change made
2772         in top directory.
2773         * configure: Regenerated.
2774
2775 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2776
2777         PR optimization/8988
2778         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
2779         the biv when eliminating.
2780
2781 2002-12-19  Devang Patel  <dpatel@apple.com>
2782         * gcc.c (struct default_compiler): Recognizes input file name with
2783         .CPP extension as C++ source files
2784         * cp/lang-spec.h: Same
2785         * doc/invoke.texi:  Add documentation for .CPP support.
2786
2787 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
2788
2789         PR 8553
2790         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
2791         registers.
2792         ("absv16qi2"): Same.
2793         ("absv4si2"): Same.
2794         ("absv4sf2"): Same.
2795         ("altivec_abss_v16qi"): Same.
2796         ("altivec_abss_v8hi"): Same.
2797         ("altivec_abss_v4si"): Same.
2798
2799 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
2800
2801         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
2802         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
2803
2804 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2805
2806         PR target/8340
2807         * stmt.c (expand_asm_operands): Produce an error when
2808         the PIC register is clobbered.
2809
2810 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
2811
2812         * Makefile.in (OBJS): Add alloc-pool.o
2813         (alloc-pool.o): New object.
2814
2815         * alloc-pool.c: New file.
2816         * alloc-pool.h: New file.
2817
2818 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
2819
2820         * gcc.c (validate_switches): Robustify against skipping past '\0'.
2821
2822 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2823
2824         * config.gcc: Set extra_objs in the generic Darwin rule,
2825         not in the machine-specific rules.
2826
2827 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2828
2829         * ChangeLog: Follow spelling conventions.
2830         * ChangeLog.2: Likewise.
2831         * ChangeLog.4: Likewise.
2832         * ChangeLog.5: Likewise.
2833         * cppexp.c: Likewise.
2834         * df.c: Likewise.
2835         * gcov.c: Likewise.
2836         * gengtype.c: Likewise.
2837         * reload1.c: Likewise.
2838         * sched-rgn.c: Likewise.
2839         * stmt.c: Likewise.
2840         * stor-layout.c: Likewise.
2841         * timevar.c: Likewise.
2842         * toplev.c: Likewise.
2843         * tree.h: Likewise.
2844         * varasm.c: Likewise.
2845         * config/fr30/fr30.md: Likewise.
2846         * config/i386/i386.c: Likewise.
2847         * config/ia64/ia64.c: Likewise.
2848         * config/pa/pa.c: Likewise.
2849
2850 2002-12-18  Roger Sayle  <roger@eyesopen.com>
2851
2852         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
2853
2854 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
2855
2856         PR 8551
2857         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
2858         macro.
2859         (vec_cmplt C++ functions): Reverse arguments.
2860
2861 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2862
2863         * config/rs6000/t-rs6000: Move contents to t-fprules,
2864         add rules for dependencies of rs6000.o and to build rs6000-c.o
2865         * config/rs6000/t-fprules: New file from t-rs6000.
2866         * config/rs6000/t-beos: Remove soft-fp rules.
2867         * config/rs6000/t-ppccomm: Likewise.
2868         * config/rs6000/t-newas: Likewise.
2869         * config/rs6000/t-rs6000-c-rule: Delete.
2870         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
2871         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
2872         Create generic Darwin rules.
2873
2874         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
2875
2876 2002-12-18  Doug Evans  <dje@sebabeach.org>
2877
2878         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
2879         and LIT_NAME_P.
2880         (move_src_operand): Remove compile-time warning.
2881         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
2882
2883 2002-12-18  Jason Merrill  <jason@redhat.com>
2884
2885         * unwind-dw2-fde.c (frame_downheap): Split out from...
2886         (frame_heapsort): Here.
2887
2888 2002-12-17  Jason Merrill  <jason@redhat.com>
2889
2890         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
2891         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
2892
2893         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
2894
2895         * calls.c (expand_call): Don't try to be clever about expanding
2896         the return slot address.
2897
2898 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
2899
2900         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
2901         Define.
2902
2903 2002-12-17  Jason Merrill  <jason@redhat.com>
2904
2905         * genmultilib: Use 'cd ./foo'.
2906
2907 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
2908
2909         * doc/c-tree.texi: Restore deliberate spelling mistakes.
2910
2911 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
2912
2913         * doc/c-tree.texi: Fix typos and follow spelling conventions.
2914         * doc/cpp.texi: Likewise.
2915         * doc/extend.texi: Likewise.
2916         * doc/gty.texi: Likewise.
2917         * doc/install.texi: Likewise.
2918         * doc/invoke.texi: Likewise.
2919         * doc/md.texi: Likewise.
2920         * doc/passes.texi: Likewise.
2921         * doc/rtl.texi: Likewise.
2922         * doc/sourcebuild.texi: Likewise.
2923         * doc/tm.texi: Likewise.
2924
2925 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
2926
2927         * doc/invoke.texi: Minor spelling and grammar fixes.
2928
2929 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
2930
2931         * config/s390/s390.c (s390_output_constant_pool): Replace
2932         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
2933
2934 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
2935
2936         * convert.c (convert_to_real): Disable function transformation for
2937         now.
2938
2939 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
2940
2941         * gcc.c (handle_braces): Allow '@' as a switch name.
2942
2943 2002-12-16  Jason Merrill  <jason@redhat.com>
2944
2945         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
2946         with special struct-return ABIs.
2947
2948         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
2949         doesn't match the begin SCOPE_STMT in partialness.
2950
2951 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
2952
2953         * genmultilib: Create temporary files in unique subdirectory.
2954
2955         * gcc.c (validate_switches): Allow '@' as a switch name.
2956
2957 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
2958
2959         * Makefile.in (gcov-iov.h): Improve portability.
2960
2961 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2962
2963         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
2964         gas
2965         * mips.md (tablejump insn): Likewise.
2966
2967 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
2968
2969         * doc/include/gcc-common.texi: Change version number to 3.4.
2970
2971 2002-12-16  Bruce Korb  <bkorb@gnu.org>
2972
2973         * fixinc/fixlib.h: add: #include <signal.h>
2974         * fixinc/fixincl.c: remove: #include <signal.h>
2975
2976 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
2977
2978         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
2979         (EXTRA_CONSTRAINT): Use it.
2980         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
2981
2982 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
2983
2984         * config.gcc (need_64bit_hwint): New variable.
2985         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
2986         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
2987         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
2988         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
2989         Set it.
2990         (powerpc*-*-darwin*): Unset it.
2991         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
2992         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
2993         deleted/nonexistent xm-*.h headers.
2994         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
2995         target set need_64bit_hwint in config.gcc.
2996         * configure, config.in: Regenerate.
2997
2998         * hwint.h: Overhaul.  Don't bother trying int for
2999         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
3000         decision to force 64-bit HOST_WIDE_INT on
3001         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
3002         not visible at this point.  Don't allow prior definition of
3003         any macro defined by this file.
3004
3005         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
3006         HOST_BITS_PER_WIDE_INT.
3007         * config/c4x/c4x.h: Adjust redefinition of
3008         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
3009         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
3010         config/i386/xm-i386-interix.h: Delete file.
3011
3012 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
3013             John David Anglin  <dave@hiauly1.hia.nrc.ca>
3014
3015         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
3016         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
3017
3018 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3019
3020         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
3021
3022 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3023
3024         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
3025         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
3026         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
3027         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
3028         config/v850/t-v850:  Correct dependencies and normalize
3029         compilation commands for files that include coretypes.h and tm.h.
3030
3031         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
3032         not config.h and system.h.
3033
3034 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
3035
3036         * i386.c (flags_reg_operand):  New function.
3037         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
3038         * i386.md (cmov splitter, movqicc): Use new predicate.
3039
3040 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
3041
3042         * i386.md (movqicc splitter): Fix template.
3043
3044 2002-12-13  Jason Merrill  <jason@redhat.com>
3045
3046         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
3047         * calls.c (expand_call): Handle it.
3048         * tree-inline.c (struct inline_data): Remove target_exprs field.
3049         (optimize_inline_calls): Don't initialize it.
3050         (expand_call_inline): Don't modify it.  Handle
3051         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
3052         (declare_return_variable): Take return slot addr.
3053         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
3054         to return_slot_addr.
3055         * langhooks-def.h, langhooks.c: Adjust.
3056         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
3057         a decl with no DECL_INITIAL.
3058
3059         * expr.c (expand_expr): Don't discard the target of a call which
3060         returns in memory.
3061
3062 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
3063
3064         * cppinit.c (path_include): Take an environment variable name.
3065         Tidy up.
3066         (init_standard_includes): Simplify environment handling, and
3067         move to ...
3068         (cpp_read_main_file): ...here as -nostdinc should not affect
3069         environment variable paths.
3070
3071 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3072
3073         * pa.c (output_millicode_call): Correct typo.
3074         (output_call): Likewise.
3075
3076 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
3077
3078         * config/mn10300/mn10300.c (print_operand) <case N>: Check
3079         operand's range.  Print value directly, without aid from
3080         output_address.
3081         <case U>: New.
3082         <case S>: Make sure argument to fprintf has the right type.
3083         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
3084         (EXTRA_CONSTRAINT): Adjust.
3085         * config/mn10300/mn10300.md: Add new all-QImode pattern for
3086         bclr.  Use %U for immediate operands of bset and bclr.
3087         (iorqi3): New expand, with insns for AM33 and mn10300.
3088
3089 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
3090
3091         * sh.c (sh_register_operand): New function.
3092         (prepare_move_operands): Use it.
3093         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
3094         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
3095         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
3096         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
3097         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
3098         (movv2si_i): Likewise.
3099
3100 2002-12-13  Jim Wilson  <wilson@redhat.com>
3101
3102         * doc/extend.texi (Complex Numbers): Update info on debug info.
3103
3104 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
3105
3106         * config/h8300/h8300.md (addhi3_h8300): Remove the last
3107         alternative.
3108
3109 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3110
3111         * hooks.h (hook_tree_tree_bool_false): Declare
3112         hook_bool_tree_tree_false instead.
3113
3114 2002-12-12  Devang Patel  <dpatel@apple.com>
3115
3116         * doc/invoke.texi: Document Darwin linker options, -bundle
3117         -bind_at_load, -all_load and -arch_errors_fatal
3118
3119 2002-12-12  Jim Wilson  <wilson@redhat.com>
3120
3121         * dbxout.c (dbxout_fptype_value): New.
3122         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
3123
3124 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3125
3126         * c-decl.c: Fix a comment typo.
3127         * cfg.c: Likewise.
3128         * cfgcleanup.c: Likewise.
3129         * cfglayout.c: Likewise.
3130         * cfgrtl.c: Likewise.
3131         * c-typeck.c: Likewise.
3132         * dominance.c: Likewise.
3133         * dwarf2asm.c: Likewise.
3134         * dwarfout.c: Likewise.
3135         * expmed.c: Likewise.
3136         * expr.c: Likewise.
3137         * final.c: Likewise.
3138         * flow.c: Likewise.
3139         * function.c: Likewise.
3140         * gcc.c: Likewise.
3141         * genautomata.c: Likewise.
3142         * integrate.c: Likewise.
3143         * loop.c: Likewise.
3144         * loop.h: Likewise.
3145         * output.h: Likewise.
3146         * profile.c: Likewise.
3147         * ra.h: Likewise.
3148         * reload1.c: Likewise.
3149         * reload.c: Likewise.
3150         * sched-rgn.c: Likewise.
3151         * stmt.c: Likewise.
3152         * tree.h: Likewise.
3153         * vmsdbgout.c: Likewise.
3154
3155 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3156
3157         * config/h8300/h8300.md: Add a new peephole2.
3158
3159 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3160
3161         * config/h8300/h8300.md (a peephole2): Accept a constant
3162         that's accepted by CONST_OK_FOR_J.
3163
3164 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3165
3166         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
3167         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
3168         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
3169         (*addhi_h8300hs): Likewise.
3170
3171 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
3172
3173         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
3174         (sh_register_move_cost): Add clause for SImode fp-fp moves.
3175         Increase cost for moves involving multiple general purpose registers.
3176         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
3177         TARGET_FMOVD.
3178         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
3179         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
3180         (enum reg_class reg_class_from_letter): No longer const.
3181         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
3182         REGCLASS_HAS_GENERAL_REG.
3183         Handle SImode moves from/to fp registers.
3184         ! TARGET_SHMEDIA && TARGET_FMOVD.
3185         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
3186         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
3187
3188 2002-12-12  Andreas Schwab  <schwab@suse.de>
3189
3190         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
3191         change and some warnings.
3192
3193 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3194
3195         * doc/md.texi (pushm): Fix a typo.
3196
3197 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
3198
3199         * config/mips/mips.c (mips_output_conditional_branch): Support
3200         PIC-safe out-of-range branch and branch-likely.
3201         * config/mips/mips.md (attr length): PIC-safe out-of-range
3202         branches are longer.
3203         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
3204         unused code to support indirect jumps.
3205
3206 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
3207
3208         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
3209         $(tm_file_list).
3210
3211 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
3212
3213         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
3214
3215 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
3216
3217         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
3218
3219 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3220
3221         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
3222         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
3223         BIGGEST_ALIGNMENT.
3224         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
3225         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
3226
3227 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3228
3229         * doc/invoke.texi: Correct dump file names.
3230
3231 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3232
3233         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
3234         name to globalize_label or assemble_name.
3235
3236 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
3237
3238         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
3239         if not TARGET_SHMEDIA.
3240
3241 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
3242
3243         * sh.h (REG_CLASS_HAS_FP_REG): New.
3244         (REGISTER_MOVE_COST) Use it.  Put body into a function and
3245         move it into:
3246         * sh.c (sh_register_move_cost).
3247         * sh-protos.h (sh_register_move_cost): Declare.
3248
3249         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
3250         (sh_adjust_cost): Always return a value.
3251
3252 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
3253
3254         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
3255         (REGISTER_MOVE_COST): Use it.
3256
3257 2002-12-11  Richard Henderson  <rth@redhat.com>
3258
3259         * tree.h (MODULE_LOCAL_P): Kill.
3260         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
3261
3262 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3263
3264         * config/h8300/h8300.md (two define_peephole2): New.
3265
3266 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3267
3268         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
3269         (CONST_OK_FOR_K): Likewise.
3270         (CONST_OK_FOR_M): Likewise.
3271         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
3272
3273 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
3274
3275         * c-common.c (builtin_define_type_max): Handle unsigned
3276         types too.
3277
3278 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
3279
3280         * haifa-sched.c (rank_for_schedule): Correct style.
3281
3282 2002-12-10  Per Bothner  <pbothner@apple.com>
3283
3284         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
3285         directive_index into an unsigned field and a new is_directive field.
3286         * cppinit.c (mark_named_operators):  Update to set new fields.
3287         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
3288         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
3289         No longer need to subtract 1 from directive_index.
3290         (_cpp_init_directives):  No longer need to add 1 to directive_index.
3291         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
3292
3293 2002-12-10  Roger Sayle  <roger@eyesopen.com>
3294
3295         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
3296         check for evaluating sqrt of a constant at compile time.
3297         * simplify-rtx.c (simplify_unary_operation): Likewise.
3298
3299 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
3300
3301         PR other/8882
3302         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
3303
3304 2002-12-10  Devang Patel  <dpatel@appple.com>
3305
3306         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
3307         * doc/invoke.texi: Add new "Darwin Options" section.
3308
3309 2002-12-10  Jim Wilson  <wilson@redhat.com>
3310
3311         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
3312         memory.
3313
3314 2002-12-10  Andrew Haley  <aph@redhat.com>
3315
3316         * cse.c (cse_insn): Don't cse past a basic block boundary.
3317
3318 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
3319
3320         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
3321         -shared.
3322         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
3323         * config/alpha/linux.h (LIB_SPEC): Likewise.
3324         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
3325         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
3326         * config/sparc/linux.h (LIB_SPEC): Likewise.
3327         * config/sparc/linux64.h (LIB_SPEC): Likewise.
3328
3329 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
3330
3331         * doc/invoke.texi: Document UltraSparc III option.
3332
3333 2002-12-09  Richard Henderson  <rth@redhat.com>
3334
3335         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
3336         __tune_pentium2__ and __tune_pentium3__ as necessary.
3337
3338 2002-12-09  Richard Henderson  <rth@redhat.com>
3339
3340         * target.h (gcc_target): Add cannot_force_const_mem.
3341         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
3342         (TARGET_INITIALIZER): Add it.
3343         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
3344         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
3345         * reload1.c (reload): Likewise.
3346         * hooks.c (hook_bool_rtx_false): New.
3347         * hooks.h: Declare it.
3348
3349         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
3350         (TARGET_CANNOT_FORCE_CONST_MEM): New.
3351         (ix86_expand_move): Remove de-const-pooling hack.
3352
3353 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
3354
3355         * toplev.c (dump_file): Fix order to match reality.
3356
3357 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
3358
3359         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
3360         (store_multiple): Likewise.
3361
3362 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3363
3364         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
3365         function pointers in page 0.
3366
3367 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3368
3369         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
3370         definition
3371         (MEMBER_TYPE_FORCES_BLK): Move.
3372         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
3373         aggregate arguments.
3374         (ia64_function_value): Use PARALLEL to return aggregate values.
3375
3376 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3377
3378         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3379         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3380         * calls.c (store_unaligned_arguments_into_pseudos) Remove
3381         FUNCTION_ARG_REG_LITTLE_ENDIAN.
3382         * stmt.c (expand_return): Ditto.
3383         * expr.c (move_block_from_reg): Ditto.
3384         (copy_blkmode_from_reg): Ditto.
3385         * expmed.c (store_bit_field): Ditto.
3386
3387 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
3388
3389         * config.gcc: Added tic4x-* target as an alias to c4x-*
3390
3391 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3392
3393         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
3394         constructing insn directly.
3395
3396 2002-12-06  Per Bothner  <pbothner@apple.com>
3397
3398         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
3399         char to an int bit-field, for hosts where char is unsigned.
3400
3401 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3402             Richard Henderson <rth@redhat.com>
3403
3404         * real.c (ieee_extended_motorola_format,
3405         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
3406         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
3407         Provide appropriate values for new signbit field.
3408
3409 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3410
3411         * real.h (real_format): Add signbit field.
3412         * real.c (ieee_single_format, ieee_double_format,
3413         ieee_extended_motorola_format, ieee_extended_intel_96_format,
3414         ieee_extended_intel_128_format, ibm_extended_format,
3415         ieee_quad_format, vax_f_format, vax_d_format,
3416         vax_g_format, i370_single_format, i370_double_format,
3417         c4x_single_format, c4x_extended_format, real_internal_format):
3418         Provide suitable signbit value, or -1 to avoid bit twiddling.
3419
3420         * optabs.c (expand_unop): Try implementing negation of
3421         floating point modes by flipping the sign bit.
3422         (expand_abs): Try implementing abs of floating point modes
3423         by clearing the sign bit.
3424
3425 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3426
3427         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
3428         of constructing insn directly.
3429
3430 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
3431
3432         * config/h8300/h8300.md (*iorhi_shift_8): New.
3433
3434 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
3435
3436         * doc/invoke.texi: Document FRV port options.
3437         * doc/md.texi: Document FRV register classes.
3438
3439 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3440
3441         * doc/install.texi (Configuration): Improve description of cases
3442         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
3443
3444 2002-12-06  Per Bothner  <pbothner@apple.com>
3445
3446         * cpplib.h (NODE_MACRO_ARG):  New flag.
3447         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
3448         Remove value.operator field.  Move arg_index field to value union.
3449         (directive_index):  Make signed, since also used for C++ operators.
3450         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
3451         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
3452         Save node->value, and set node->value.arg_index.
3453         (_cpp_create_definition):  For each paramater, restore node->value.
3454         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
3455         * cpptrad.c (scan_out_logical_line): Likewise.
3456         (scan_out_logical_line): Check for directive > 0.
3457         * cpplib.c (cpp_handle_directive):  Likewise.
3458         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
3459         by negative of directive_index.
3460         * cppinit.c (mark_named_operators):  Likewise.
3461
3462         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
3463
3464 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
3465
3466         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
3467         FPU.
3468         (push): Generate push_fpscr.
3469         (pop): Generate pop_fpscr.
3470         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
3471         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
3472
3473 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
3474
3475         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
3476         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
3477
3478 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
3479
3480         * sh.md (movdi_i): Name.  Remove inappropriate comment.
3481
3482 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
3483         Merged from basic improvements branch (excerpt):
3484
3485         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
3486         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
3487
3488 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
3489
3490         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
3491
3492 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
3493
3494         * i386.md (dimode peep2s): Re-add "&& 1".
3495
3496 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3497
3498         * i386.c (ix86_expand_prologue):  Add comment, do not use
3499         fast prologues for cold and normal functions.
3500
3501 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
3502
3503         * i386.c (x86_rep_movl_optimal): New variable.
3504         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
3505         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
3506
3507         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
3508         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
3509         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
3510         generate unnecesary subregs.
3511
3512 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3513
3514         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
3515         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
3516
3517 2002-12-05  Dale Johannesen  <dalej@apple.com>
3518
3519         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
3520
3521 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
3522
3523         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
3524         PROFILE_HOOK.
3525         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
3526
3527 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
3528
3529         * config/rs6000/spe.h (__ev_mwlufi): Remove.
3530         (__ev_mwlufia): Remove.
3531         (__ev_mwlumfaaw): Remove.
3532         (__ev_mwlusfaaw): Remove.
3533         (__ev_mwlumfanw): Remove.
3534         (__ev_mwlusfanw): Remove.
3535
3536 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3537
3538         * config/h8300/h8300.md (*andorsi3_shift_8): New.
3539
3540 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3541
3542         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
3543         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
3544         (get_shift_alg): Return optimal assembly instructions for the
3545         shifts mentioned above.
3546
3547 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
3548
3549         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
3550         condtiional moves.
3551
3552 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3553
3554         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
3555         implement ashiftrt:HI by 13 bits on H8S.
3556
3557 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3558
3559         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
3560         * pa.md (canonicalize_funcptr_for_compare): Output library call to
3561         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
3562         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
3563         CTOR_LIST_BEGIN): New defines.
3564         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
3565         (fptr.c): Add make rules.
3566
3567 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
3568
3569         * combine.c (combine_simplify_rtx): Add new canonicalizations.
3570         * doc/md.texi (Insn Canonicalizations): Document new
3571         canonicalizations for multiply/add combinations.
3572         * config/rs6000/rs6000.md: Add and modify floating add/multiply
3573         patterns to ensure they're used whenever they can be.
3574
3575 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3576
3577         * config/h8300/h8300.c: Update the comments related to shifts.
3578
3579 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3580
3581         * config/mips/mips.md (get_fnaddr): Correct length attribute.
3582
3583 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3584
3585         * config/h8300/h8300.md (*extzv_8_8): New.
3586         (*extzv_8_16): Likewise.
3587
3588 2002-12-04  Jason Merrill  <jason@redhat.com>
3589
3590         PR c++/8461, c++/8625
3591         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
3592         references.
3593         * tree-inline.c (initialize_inlined_parameters): Likewise.
3594
3595         * tree.c (variably_modified_type_p): Just return an error_mark_node.
3596
3597 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3598
3599         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
3600         macro instruction in a branch delay slot, to avoid assembler
3601         warnings.
3602
3603 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3604
3605         PR c/7622
3606         * c-semantics (genrtl_scope_stmt): Do not output inlined
3607         nested functions that contain no code.
3608
3609 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
3610
3611         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
3612         to be forced into nonfallthru.
3613
3614 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
3615
3616         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
3617
3618 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
3619
3620         * config/rs6000/spe.md (*movv1di_const0): New pattern.
3621
3622 2002-12-03  Richard Henderson  <rth@redhat.com>
3623
3624         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
3625
3626 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
3627
3628         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
3629         Initialize tmp.using_obstack to 0.
3630
3631 2002-12-03  Andreas Schwab  <schwab@suse.de>
3632
3633         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
3634         (EH_RETURN_STACKADJ_RTX): Define.
3635         (EH_RETURN_HANDLER_RTX): Define.
3636         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3637         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
3638         registers and don't save fixed registers.
3639         (m68k_output_function_prologue): Use it.
3640         (use_return_insn): Likewise.
3641         (m68k_output_function_epilogue): Likewise.
3642
3643 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
3644
3645         * config/h8300/h8300.c (single_one_operand): Fix a warning.
3646         (single_zero_operand): Likewise.
3647
3648 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
3649
3650         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
3651         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
3652         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
3653         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
3654         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
3655         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
3656         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
3657         doc/install-old.texi: Replace hconfig.h with bconfig.h.
3658         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
3659
3660 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
3661
3662         * config/rs6000/rs6000.md (ffssi): Convert to expander.
3663         (ffsdi): Likewise.
3664         (cntlzw2, cntlzd2): New patterns.
3665
3666 2002-12-02  H.J. Lu <hjl@gnu.org>
3667
3668         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
3669         (mips*-*-linux*): Remove mips/t-linux.
3670
3671 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
3672
3673         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3674
3675 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3676
3677         * config/h8300/h8300.c (dosize): Replace argument op with
3678         sign.
3679         (h8300_output_function_prologue): Update the call to dosize.
3680         (h8300_output_function_epilogue): Likewise.
3681
3682 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
3683
3684         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
3685
3686 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3687
3688         * configure.in: Use "missing" script to generate warning if
3689         flex or bison programs not found, instead of invoking "false".
3690         * configure: Rebuilt.
3691
3692 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
3693
3694         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
3695
3696 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
3697
3698         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3699
3700 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3701
3702         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
3703         (push): Likewise.
3704         (pop): Likewise.
3705         (h8300_output_function_prologue): Likewise.
3706         (h8300_output_function_epilogue): Likewise.
3707
3708 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
3709
3710         * expmed.c (store_bit_field): Use int_mode_for_mode to find
3711         corresponding mode of non-integer mode, unless it is VOIDmode.
3712
3713 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3714
3715         * config/h8300/h8300.md (stm_h8300s_2): New.
3716         (stm_h8300s_3): Likewise.
3717         (stm_h8300s_4): Likewise.
3718         (five define_peephole2): Likewise.
3719
3720 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3721
3722         * ra-build.c: Fix a comment typo.
3723
3724 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3725
3726         * i386.c (ix86_expand_int_movcc): fix
3727         reversed BRANCH_COST test; be curefull about infinite recursion.
3728
3729 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3730
3731         * config/h8300/h8300.c (h8300_output_function_prologue):
3732         Remove variable idx.
3733         (h8300_output_function_epilogue): Likewise.
3734
3735 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
3736
3737         * config/frv/xm-frv.h: Delete, unnecessary.
3738
3739 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3740
3741         * config/h8300/h8300.md: Add comments for define_peephole2.
3742
3743 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
3744
3745         * builtin-types.def (BT_SIZE): Use size_type_node.
3746         * builtins.c (fold_builtin): Make the builtin strlen returns a
3747         size_t, not a sizetype.
3748         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
3749         c_size_type_node.
3750         (c_alignof_expr): Likewise.
3751         (c_common_nodes_and_builtins): Likewise.
3752         * c-common.h (CTI_C_SIZE_TYPE): Remove.
3753         (c_size_type_node): Likewise.
3754         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
3755         * tree.h (TI_SIZE_TYPE): New enumeral.
3756         (size_type_node): Likewise.
3757
3758 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
3759
3760         * configure.in: Don't put ${tm_file} into host_xm_file,
3761         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
3762         Take location of tm-preds.h into account when calculating
3763         tm_p_file_list.
3764         * configure: Regenerate.
3765         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
3766         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
3767         Remove special case code for tm_p.h and *config.h; add new
3768         special case code for tm.h and tconfig.h. Clean up a bit.
3769
3770         * Makefile.in (tm_file, tm_file_list): New variables set from
3771         @-substitutions.
3772         (GCONFIG_H): Deleted.
3773         (GTM_H, TM_H): New.
3774         (CONFIG_H): Is now just config.h $(host_xm_file_list).
3775         (TM_P_H): Move up with the other mkconfig.sh-generated
3776         headers; don't mention tm-preds.h explicitly.
3777         (tm.h, cs-tm.h): New rule.
3778         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
3779         invocations of mkconfig.sh for changes to that program.
3780         (mostlyclean): Delete print-rtl1.c.
3781         (clean): Delete tm.h.
3782         Update dependencies for the files listed below.
3783
3784         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
3785
3786         * coretypes.h: New file.
3787         * system.h: #define malloc to xmalloc and realloc to xrealloc
3788         when FLEX_SCANNER or YYBISON is defined, independent of the
3789         value of GCC_VERSION.
3790         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
3791         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
3792         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
3793         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
3794         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
3795         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
3796         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
3797         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
3798         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
3799         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
3800         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
3801         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
3802         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
3803         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
3804         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
3805         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
3806         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
3807         genconstants.c, genemit.c, genextract.c, genflags.c,
3808         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
3809         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
3810         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
3811         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
3812         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
3813         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
3814         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
3815         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
3816         print-tree.c, profile.c, protoize.c, ra-build.c,
3817         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
3818         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
3819         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
3820         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
3821         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
3822         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
3823         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
3824         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
3825         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
3826         xcoffout.c, config/darwin-c.c, config/darwin.c,
3827         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
3828         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
3829         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
3830         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
3831         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
3832         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
3833         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
3834         config/i960/i960-c.c, config/i960/i960.c,
3835         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
3836         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
3837         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
3838         config/mips/irix6-libc-compat.c, config/mips/mips.c,
3839         config/mmix/mmix.c, config/mn10200/mn10200.c,
3840         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
3841         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
3842         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
3843         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
3844         config/sparc/sparc.c, config/stormy16/stormy16.c,
3845         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
3846         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
3847         Include coretypes.h and tm.h.
3848
3849         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
3850         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
3851         genrecog.c: Include coretypes.h and tm.h from the file
3852         generated by this program.
3853
3854         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
3855         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
3856         coretypes.h and tm.h, and tsystem.h when not already included.
3857         No need to include stddef.h nor stdlib.h.
3858
3859         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
3860         include auto-host.h or ansidecl.h/
3861         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
3862         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
3863         include auto-host.h, ansidecl.h, or system.h.
3864         * fixinc/server.c: Likewise.  Also, do not include signal.h,
3865         and do not redefine volatile.
3866
3867 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
3868
3869         * i386.md (movdf_integer):  Always enable in 64bit.
3870         (movdf_nointeger): Always disable in 64bit.
3871
3872 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3873
3874         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
3875         pseudo register number plus 1.
3876
3877 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
3878
3879         * expmed.c (store_bit_field): Use int_mode_for_mode to find
3880         corresponding mode of non-integer mode, unless it is VOIDmode.
3881
3882 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
3883
3884         * cpplib.c (_cpp_test_assertion): Default *value to 0.
3885
3886         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
3887
3888 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
3889
3890         * config/s390/t-crtstuff: New target makefile fragment.
3891         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
3892
3893 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
3894
3895         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
3896         alternatives to correct the length when the memory operand is
3897         either pre_dec or post_inc.
3898
3899 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
3900
3901         * config/h8300/h8300.md (an anonymous pattern): Give an
3902         internal name *tst_extzv_bitqi_1_n.
3903         Accept bit_operand instead of bit_memory_operand.
3904         Do not accept bit tests with the MSB.
3905         (*tst_extzv_memqi_1_n): New.
3906
3907 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
3908
3909         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
3910         sharing when operand is SUBREG.
3911
3912 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
3913
3914         * athlon.md (athlon-decodev): New reservation unit.
3915         (athlon-direct0): New reservation.
3916         (athlon-vector): New use athlon-decodev.
3917         (athlon-double, athlon-direct): Better model.
3918         (athlon_imul_k8): Use athlon-direct0.
3919         (athlon_movlpd_load): New insn reservation.
3920
3921 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3922
3923         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
3924         Fix a comment typo.
3925         (h8300_tiny_constant_address_p): Likewise.
3926
3927 2002-11-28  Michael Matz  <matz@suse.de>
3928
3929         * doc/passes.texi: Mention the other register allocator.
3930
3931 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3932
3933         * config/h8300/h8300.md (6 new peephole2 patterns): New.
3934
3935 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
3936
3937         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
3938         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
3939         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
3940
3941 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3942
3943         * config/h8300/h8300.c (h8300_and_costs): New.
3944         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
3945         * config/h8300/h8300-protos.h: Add a prototype for
3946         h8300_and_costs.
3947
3948 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
3949
3950         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
3951         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
3952         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
3953         * i386.md (truncdfsf patterns and splitters): Use
3954         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
3955
3956 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
3957
3958         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
3959         pointer argument in the prototypes of the following builtins
3960         be (const TYPE *) rather than (TYPE *):
3961          + __builtin_altivec_ld_internal_4sf
3962          + __builtin_altivec_ld_internal_4si
3963          + __builtin_altivec_ld_internal_8hi
3964          + __builtin_altivec_ld_internal_16qi
3965          + __builtin_altivec_lvsl
3966          + __builtin_altivec_lvsr
3967          + __builtin_altivec_lvebx
3968          + __builtin_altivec_lvehx
3969          + __builtin_altivec_lvewx
3970          + __builtin_altivec_lvxl
3971          + __builtin_altivec_lvx
3972          + __builtin_altivec_dst
3973          + __builtin_altivec_dstt
3974          + __builtin_altivec_dstst
3975          + __builtin_altivec_dststt
3976
3977 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3978
3979         * except.c (default_exception_section): Move variable into the
3980         scope where it is used.
3981
3982 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
3983
3984         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
3985         correct version.
3986
3987 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
3988
3989         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
3990
3991 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
3992
3993         * config/h8300/h8300.c (h8300_shift_costs): New.
3994         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
3995         * config/h8300/h8300-protos.h: Add a prototype for
3996         h8300_shift_costs.
3997
3998 2002-11-27  Jim Wilson  <wilson@redhat.com>
3999
4000         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
4001         in output template.
4002
4003 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
4004
4005         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
4006         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
4007         DLL_IMPORT_EXPORT_PREFIX, not '@'.
4008         (i386_pe_dllimport_name_p): Likewise.
4009         (i386_pe_mark_dllexport): Likewise.
4010         (i386_pe_mark_dllimport): Likewise.
4011         (i386_pe_encode_section_info): Likewise.
4012         (i386_pe_strip_name_encoding): Likewise.
4013
4014 2002-11-27  Richard Henderson  <rth@redhat.com>
4015
4016         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
4017         (nm && NF == 3): Set sawsymbol true.
4018         (END): Exit if no symbols seen.
4019         (output): Fix map syntax error if no globals for the version.
4020
4021 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4022
4023         * builtins.def (DEF_C99_BUILTIN): Fix.
4024
4025 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
4026
4027         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
4028         (all): Add .size and .type information.
4029
4030 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
4031
4032         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
4033         partial_reg_stall target.
4034
4035 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4036
4037         * i386.md (movhicc): Allow general operand.
4038         (movqicc): New expander.
4039         (movqicc_noc): New pattern.
4040         * i386.c (ix86_expand_carry_flag_compare): New function.
4041         (ix86_expand_int_movcc): Optimize harder using sbb; support more
4042         HImode conversion; support QImode conditional moves
4043
4044 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
4045
4046         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
4047         (ix86_expand_prologue): Multiply the count by amount of registers to be
4048         pushed.
4049
4050 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4051
4052         * i386.c (override_options): Error about wrong -mcpu on x86-64
4053         compilation.
4054
4055 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
4056
4057         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
4058
4059 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
4060
4061         * i386-protos.h (x86_extended_QIreg_mentioned_p,
4062         x86_extended_reg_mentioned_p): Declare.
4063         * i386.c (extended_reg_mentioned_1): New static function.
4064         (x86_extended_QIreg_mentioned_p,
4065         x86_extended_reg_mentioned_p): New global functions.
4066         * i386.h (REX_SSE_REGNO_P): New macro.
4067         * i386.md (prefix_rex): New attribute.
4068         (length attribute): Add rex.
4069
4070 2002-11-26  Andrew Haley  <aph@redhat.com>
4071
4072         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
4073         from_Unwind_Find_Enclosing_Function.
4074         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
4075         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
4076         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
4077         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
4078         * unwind.h (_Unwind_FindEnclosingFunction): Add.
4079
4080 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4081
4082         * config/s390/s390.c (390_output_constant_pool): Set alignment
4083         before label in 64 bit mode, behind otherwise.
4084
4085 2002-11-26  Richard Henderson  <rth@redhat.com>
4086
4087         * c-common.c (handle_visibility_attribute): Accept "default".
4088         * tree.h (enum symbol_visibility): New.
4089         (decl_visibility): Declare.
4090         * target.h (gcc_target.visibility): Take visibility arg as integer.
4091         * varasm.c (default_assemble_visibility): Likewise.
4092         (decl_visibility): New.
4093         (maybe_assemble_visibility): Use it.
4094         * output.h (default_assemble_visibility): Update prototype.
4095         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
4096         visibility arg as integer.
4097         * doc/extend.texi: Document default visibility.
4098
4099 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
4100
4101         * config/h8300/h8300.c: Adjust spacing.
4102         * config/h8300/h8300.h: Likewise.
4103
4104 2002-11-26  Richard Henderson  <rth@redhat.com>
4105
4106         * hooks.c (hook_bool_void_false, hook_void_tree_int,
4107         hook_void_FILEptr_constcharptr): Rename so that the return
4108         type is first.
4109         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
4110         hook_bool_tree_false): New.
4111         * hooks.h: Update.
4112         * langhooks-def.h: Update for renames.
4113         * target-def.h: Likewise.
4114         * tree.c (default_comp_type_attributes,
4115         default_set_default_type_attributes, default_insert_attributes,
4116         default_function_attribute_inlinable_p,
4117         default_ms_bitfield_layout_p): Remove.
4118         * tree.h: Update.
4119
4120 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4121
4122         * pa-protos.h (function_value): New prototype.
4123         * pa.c (function_value): Use a PARALLEL to return small aggregates on
4124         TARGET_64BIT.
4125         * pa.h (FUNCTION_VALUE): Use function_value.
4126         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
4127         call_value_internal_reg, sibcall_value_internal_symref,
4128         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
4129         value.
4130
4131 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4132
4133         * expr.c (gen_group_rtx, emit_group_move): New functions.
4134         * expr.h (gen_group_rtx, emit_group_move): Prototype.
4135         * function.c (expand_function_start): Use gen_group_rtx to create a
4136         PARALLEL rtx to hold the return value when the real return rtx is a
4137         PARALLEL.
4138         (expand_function_end): Use emit_group_move to move the return value
4139         from a PARALLEL to the real return registers.
4140         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
4141         in PARALLELs.
4142
4143 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4144
4145         * config/t-libc-ok: Fix typo.
4146
4147 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4148
4149         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
4150         before AC_PROG_CC.
4151         * configure: Rebuilt.
4152
4153 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
4154
4155         * c-decl.c: (start_struct): Commonize flag setting.
4156
4157 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4158
4159         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
4160         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
4161         RS6000_CPU_CPP_ENDIAN_BUILTINS.
4162         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
4163
4164 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4165
4166         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
4167         insns.
4168         * config/s390/s390.c (struct machine_function): Introduction of
4169         struct machine_function.
4170         (s390_output_symbolic_const): Use of cfun.
4171         (s390_optimize_prolog): Likewise.
4172         (s390_fixup_clobbered_return_reg): Likewise.
4173         (s390_frame_info): Likewise.
4174         (s390_emit_prologue, s390_emit_epilogue): Likewise.
4175         (s390_init_machine_status): New function.
4176         (override_options): call s390_init_machine_status.
4177         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
4178         prototype.
4179
4180 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4181
4182         * varasm.c (output_constant_pool): For pool constants in mergeable
4183         section ensure each constant is padded to multiple of entity size.
4184
4185 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4186
4187         * varasm.c (default_exception_section): Move to...
4188         * except.c (default_exception_section): ... here. Make
4189         .gcc_except_table read-only if it is not expected to have any
4190         dynamic relocations and linker handles it.
4191         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
4192         if it is not expected to have any dynamic relocations and linker
4193         handles it.
4194         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
4195         when linking read-only and read-write sections together.
4196         * configure, config.in: Rebuilt.
4197         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
4198         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
4199
4200 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
4201
4202         * i386.md (pushsf_rex64): Fix typo.
4203
4204 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4205
4206         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
4207         new function.
4208         (__ev_create_ufix32_fs): Same.
4209         (__ev_get_sfix32_fs_internal): New.
4210         (__ev_get_sfix32_fs): Define to use function.
4211         (__ev_get_ufix32_fs_internal): New.
4212         (__ev_get_ufix32_fs): Define to use function.
4213         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
4214         (__ev_get_lower_ufix32_fs): Same.
4215         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
4216         (__ev_get_lower_sfix32_fs): Same.
4217         (__ev_set_sfix32_fs_internal): New.
4218         (__ev_set_ufix32_fs_internal): New.
4219         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
4220         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
4221         (__ev_set_upper_sfix32_fs): Call function.
4222         (__ev_set_lower_sfix32_fs): Same.
4223         (__ev_set_upper_ufix32_fs): Same.
4224         (__ev_set_lower_ufix32_fs): Same.
4225
4226 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
4227
4228         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
4229
4230 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4231
4232         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
4233         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4234         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4235         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
4236         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
4237         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4238         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
4239         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
4240         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4241         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4242         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
4243         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
4244         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
4245         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4246         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
4247         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
4248         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
4249         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
4250         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
4251         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
4252         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4253         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
4254         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
4255         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
4256         defining.
4257         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
4258         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
4259
4260 2002-11-25  Dave Pitts  <dpitts@cozx.com>
4261
4262         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
4263
4264 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4265
4266         * config/h8300/h8300.md (an anonymous pattern): New.
4267
4268 2002-11-25  Richard Henderson  <rth@redhat.com>
4269
4270         * alias.c (find_base_value): Use new_reg_base_value if it's live.
4271         (copying_arguments): Make boolean.
4272
4273 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4274
4275         * gcc.c (static_spec_functions): Add if-exists-else spec
4276         function.
4277         (if_exists_else_spec_function): New function.
4278         * doc/invoke.texi: Document the if-exists-else spec function.
4279
4280         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
4281         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
4282
4283 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4284
4285         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
4286         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
4287         "${tmake_file} rs6000/t-netbsd".
4288         * config/rs6000/netbsd.h: Rewrite.
4289         * config/rs6000/t-netbsd: New file.
4290
4291 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4292
4293         * config/h8300/h8300.md (an anonymous pattern): Relax the
4294         condition for the pattern.
4295
4296 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4297
4298         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
4299         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
4300         evmwlssfanw, evmwlsmfanw.
4301
4302         * config/rs6000/rs6000.c (bdesc_2arg): Same.
4303
4304         * config/rs6000/spe.md: Same for patterns.
4305
4306 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
4307
4308         PR c/8639
4309         * fold-const.c (extract_muldiv): Don't propagate division unless
4310         both arguments are multiples of C.
4311
4312 2002-11-25  Andrew Haley  <aph@redhat.com>
4313
4314         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
4315         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
4316         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
4317         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
4318
4319 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
4320
4321         * i386.c (x86_use_ffreep): New global variable.
4322         * i386.h (x86_use_frfeep): Declare
4323         (TARGET_USE_FFREEP): New macro
4324         * i386.md  (movs?f*): Use freep when asked for.
4325         (push?f): Remove dead code.
4326
4327 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
4328
4329         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
4330         target help message.
4331
4332 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4333
4334         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
4335         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
4336         crtbeginT.o".
4337         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
4338         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
4339         to "" for a.out configurations.
4340         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
4341
4342 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4343
4344         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
4345         NETBSD_CPP_SPEC directly.
4346         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
4347         netbsd_endfile_spec.
4348         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
4349
4350 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4351
4352         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
4353         NETBSD_STARTFILE_SPEC.
4354         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
4355         (ENDFILE_SPEC): Likewise.
4356         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
4357
4358 2002-11-24  Andreas Schwab  <schwab@suse.de>
4359
4360         * Makefile.in (install-driver): Remove versioned link before
4361         trying to create it.
4362
4363         * config/m68k/m68k.c: Fix typo in last change defining
4364         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
4365
4366 2002-11-23  H.J. Lu <hjl@gnu.org>
4367
4368         * aclocal.m4: Include ../config/accross.m4.
4369         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
4370         (gcc_AC_C_COMPILE_ENDIAN): Removed.
4371         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
4372         instead of $ac_cv_c_compile_endian.
4373
4374         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
4375         AC_COMPILE_CHECK_SIZEOF.
4376         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
4377         * configure: Rebuild.
4378
4379 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
4380
4381         * config/h8300/h8300.c (print_operand): Update the use of
4382         h8300_tiny_constant_address_p.
4383         (h8300_adjust_insn_length): Likewise.
4384         (h8300_tiny_constant_address_p): Check if the given rtx is a
4385         variable declared with __attribute__ ((tiny_data)).
4386
4387 2002-11-22  Dale Johannesen  <dalej@apple.com>
4388
4389         * toplev.c (rest_of_compilation):  Fix comments.
4390
4391 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
4392
4393         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
4394         allow mmap from /dev/zero.  Don't make decisions for the host
4395         based on presence or absence of /dev/zero on the build machine.
4396         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
4397         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
4398         * configure: Regenerate.
4399
4400 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4401
4402         * gcc.c (make_relative_prefix, split_directories)
4403         (free_split_directories): Removed.
4404
4405 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4406
4407         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
4408         * configure: Regenerated.
4409
4410 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
4411
4412         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
4413         length computation when xor.l is output.
4414
4415 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
4416
4417         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
4418         (call_vms_1, call_value_vms_1): Cleanup syntax.
4419
4420 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4421
4422         * athlon.md (define_atuomaton): Add athlon_load.
4423         (athlon-double): New reservation.
4424         (athlon-ieu0): New CPU unit.
4425         (athlon-load?): Use athlon_load automaton.
4426         (*_k8 reservations): New.
4427         (other insn revervations): Activate for K8.
4428
4429 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
4430
4431         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
4432
4433 2002-11-21  Jim Wilson  <wilson@redhat.com>
4434
4435         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
4436         vectors to SI.
4437
4438 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
4439
4440         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
4441         * config/xtensa/xtensa.c (struct machine_function): Add
4442         incoming_a7_copied flag.
4443         (xtensa_copy_incoming_a7): Define.
4444         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
4445         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
4446
4447 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
4448
4449         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
4450         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
4451         x86_64_nonmemory_operand, x86_64_movabs_operand,
4452         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4453         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
4454         (local_symbolic_operand): Do not care the 64bit limits.
4455         (x86_64_sign_extended_value): Remove allow_rip support.
4456         (legitimate_pic_address_disp_p): Handle all cases allowed
4457         with RIP addressing.
4458         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
4459         (legitimize_pic_address): Reorganize.
4460         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
4461
4462 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4463
4464         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
4465         * config/arm/netbsd-elf.h: New file.
4466
4467 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4468
4469         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
4470         subtarget_asm_float_spec.
4471         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
4472         defaults from...
4473         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
4474
4475 2002-11-21  Nick Clifton  <nickc@redhat.com>
4476
4477         * config/fr30/fr30.md (movsf_constant_store): Move code to
4478         detect 0.0 into fr30.c.
4479         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
4480         Prototype.
4481         * config/fr30/fr30.c (fr30_const_double_is_zero): New
4482         function.  Return true if the rtx is 0.0.
4483
4484 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4485
4486         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
4487         if -mlittle-endian is specified.
4488
4489 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4490
4491         PR optimization/2903
4492         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
4493         (anddi_notsesidi_di): Likewise.
4494
4495 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
4496
4497         * config/h8300/h8300.c (print_operand): Use
4498         h8300_eightbit_constant_address_p and
4499         h8300_tiny_constant_address_p.
4500         (h8300_adjust_insn_length): Likewise.
4501         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
4502         (TINY_CONSTANT_ADDRESS_P): Likewise.
4503         (OK_FOR_U): Use eightbit_constant_address_p.
4504
4505 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
4506
4507         * config/s390/libgcc-libc.ver: Add multilib support.
4508         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
4509         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
4510         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
4511         EXTRA_MULTILIB_PARTS): Define.
4512
4513 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4514
4515         * arm.c (arm_get_frame_size): A leaf function does not need its
4516         stack padding to an aligned boundary if it has no frame.
4517         (thumb_get_frame_size): Likewise.
4518
4519 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
4520
4521         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
4522         (override_options): Likewise.
4523
4524 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
4525
4526         * config.gcc: Add k8 target alias support
4527         * i386.c (_cost): Declare costs for various variants of divides and
4528         multiplies.
4529         (k8_cost): New.
4530         (m_K8, m_ATHLON_K8): New macros.
4531         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
4532         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
4533         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
4534         x86_integer_DFmode_moves, x86_partial_reg_dependency,
4535         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
4536         x86_prologue_using_move, x86_epilogue_using_move,
4537         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
4538         x86_sse_typeless_stores): Set for K8
4539         (override_options): Add k8 support; fix athlon alignment;
4540         complain about non-x86-64 capable CPU being used in x86-64 compilation.
4541         (ix86_issue_rate): Set for K8.
4542         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
4543         x86_machine_dependent_reorg): Handle K8 like
4544         * i386.h
4545         (x86_costs):  Change mult_init and divide into array.
4546         (TARGET_K8, TARGET_ATHLON): New macros.
4547         (MODE_INDEX): New macro.
4548         (RTX_COST): Use new costs.
4549         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
4550         (TARGET_CPU_DEFAULT_NAMES): Add k8
4551         (TARGET_CPU_DEFAULT_k8): New constant
4552         (enum processor_type): Add PROCESSOR_K8.
4553         * i386.md (cpu attribute): Add k8.
4554
4555         * invoke.texi: Document -march=k8.
4556
4557         * i386.md (type attribute): Add leave
4558         (mode attribute): Remove unknownfp.
4559         (length_immediate, modrm, memory attributes): Handle leave correctly.
4560         (fp comparison patterns): Determine FP mode.
4561         (leave, leave_rex64): Remove special cases.
4562         * ppro.md (ppro_uops, ppro_p2): Add leave
4563         * pentiun.md (pent_pop): Handle leave too.
4564         * k6.md (k6_load): Handle leave.
4565         * athlon.md (athlon_leave, athlon_pop): Fix.
4566         (athlon_decode): Handle leave.
4567
4568 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
4569
4570         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
4571         to component type using GET_MODE_INNER.
4572         * expr.c (emit_move_insn_1): Ditto.
4573         * optabs.c (expand_binop): Ditto.
4574         (expand_unop): Ditto.
4575         (expand_complex_abs): Ditto.
4576
4577 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
4578
4579         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
4580
4581 2002-11-20  DJ Delorie  <dj@redhat.com>
4582
4583         * config/stormy16/stormy16.c (s16builtins,
4584         xstormy16_init_builtins, xstormy16_expand_builtin): New.
4585         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
4586
4587 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
4588
4589         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
4590         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
4591         (executing gencheck, genconfigs, genconditions, genflags,
4592         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
4593         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
4594         gengtype, genprotos): Prepend $(RUN_GEN).
4595         * configure.in: Move host compiler tests before --enable-checking
4596         tests.
4597         (--enable-checking=valgrind): New.
4598         * config.in, configure: Regenerate.
4599         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4600         Define as empty.
4601         (read_include_file): When doing the mmap+1 trick,
4602         valgrind-annotate the byte after the mmap:ed area as readable.
4603         (purge_cache): Remove above annotation.
4604         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
4605         VALGRIND_PATH -q to each command.
4606
4607         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4608         Define as empty.
4609         (ggc_realloc): Update valgrind annotations.
4610         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4611         Define as empty.
4612         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
4613         valgrind-annotate memory.
4614
4615 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
4616
4617         * recog.c (constrain_operands): Prefer exact match over reloadable
4618         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
4619
4620         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
4621         operands in Pmode.
4622
4623 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
4624
4625         PR c/8518
4626         * c-decl.c (duplicate_decls): Outline the second definition
4627         of an extern inline function in all cases.
4628
4629 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4630
4631         * stor-layout.c (place_field): Update rli->offset as well as
4632         rli->bitpos.
4633
4634 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4635
4636         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
4637
4638 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4639
4640         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
4641         into a libcall block.
4642         (divsi3): Likewise divsi3_i4_media.
4643
4644 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4645
4646         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
4647         out another register.
4648
4649 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
4650
4651         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
4652         (not just mask) are set in C.
4653
4654 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
4655
4656         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
4657
4658 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4659
4660         * profile.c (index_counts_file): Fix obvious mistake.
4661
4662 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4663
4664         * Makefile.in (profile.o): Add hashtab.h dependency.
4665         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
4666         * profile.c: Include hashtab.h.
4667         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
4668         cleanup_counts_index, index_counts_file, struct section_reference,
4669         struct da_index_entry, counts_file_name, counts_file_index): New.
4670         (get_exec_counts, init_branch_prob): Modified.
4671
4672 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
4673
4674         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
4675         to tmake_file. Remove setting gas and gnu_ld here.
4676         * config/sh/libgcc-glibc.ver: New file.
4677         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
4678         (SHLIB_MAPFILES): New.
4679         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
4680         (MD_STARTFILE_PREFIX): Likewise.
4681         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
4682         (DWARF2_UNWIND_INFO): Redefine.
4683         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4684         (LINK_EH_SPEC): Redefine.
4685         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
4686         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
4687         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
4688         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
4689         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
4690         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
4691         SH_DWARF_FRAME_FPSCR): Likewise.
4692         * config/sh/sh-protos.h (sh_set_return_address): Declare.
4693         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
4694         registers if the current function calls EH return.
4695         (sh_expand_epilogue): Handle EH stack adjustments.
4696         (sh_set_return_address): New function.
4697         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
4698         Don't abort even if the number is mapped to -1.
4699         (EH_RETURN_DATA_REGNO): Define.
4700         (EH_RETURN_STACKADJ_RTX): Define.
4701         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
4702         (eh_return): New pattern.
4703         (eh_set_ra_di, eh_set_ra_si): Likewise.
4704         Add splitter to perform EH return after reload.
4705
4706 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
4707
4708         * stor-layout.c (excess_unit_span): New function.
4709         (place_field): Use it.
4710
4711 2002-11-19  Andreas Schwab  <schwab@suse.de>
4712
4713         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
4714         not valid in C++.
4715
4716 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
4717
4718         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
4719         * configure: Regenerate.
4720
4721 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
4722
4723         * convert.c (strip_float_extensions): New function.
4724         (convert_to_real): Optimize some cases.
4725
4726 2002-11-19  Andreas Jaeger  <aj@suse.de>
4727
4728         * loop.c (record_giv): Initialize not_replaceable.
4729         (check_final_value): Likewise.
4730
4731 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4732
4733         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
4734         MASK_H8300S.
4735
4736 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
4737
4738         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
4739         only if -mh or -ms present.
4740         (h8300_eightbit_constant_address_p): Support the normal mode.
4741         (h8300_tiny_constant_address_p): Likewise.
4742         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
4743         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
4744         (Pmode): Evaluate to HImode for the normal mode.
4745         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
4746         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
4747         (ASM_WORD_OP): Evaluate to word for the normal mode.
4748         * config/h8300/h8300.md (tablejump_normal_mode): New.
4749         (indirect_jump_normal_mode): New.
4750         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
4751         directory.
4752         (MULTILIB_DIRNAMES): Create target dependent directory
4753         'normal'.
4754         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
4755         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
4756
4757 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
4758
4759         * i386.md (length_immediate): Do not refer to insn address.
4760         (jcc*, jmp patterns):  Compute length explicitly.
4761
4762 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
4763
4764         PR c/8588
4765         * optabs.c (expand_binop): Convert CONST_INTs in shift
4766         operations too.
4767
4768 2002-11-19  Roger Sayle  <roger@eyesopen.com>
4769
4770         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
4771
4772 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4773
4774         * config/h8300/h8300.md (an anonymous pattern): Relax the
4775         condition to accept the same operands and/or subregs.
4776
4777 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
4778
4779         * config/sh/sh.c (gen_shl_and): Revert previous patch.
4780         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
4781         reload_completed.
4782
4783 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4784
4785         * config/h8300/h8300.c (print_operand): Update the use of
4786         EIGHTBIT_CONSTANT_ADDRESS_P.
4787         (h8300_adjust_insn_length): Likewise.
4788         (h8300_eightbit_constant_address_p): Check if the given rtx is
4789         a variable with __attribute__((eightbit_data)).
4790         * config/h8300/h8300.h (OK_FOR_U): Update the use of
4791         EIGHTBIT_CONSTANT_ADDRESS_P.
4792
4793 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4794
4795         * doc/contrib.texi (Contributors): Add self as second contact in
4796         addition to Jeff Law.
4797
4798 2002-11-19  Andreas Jaeger  <aj@suse.de>
4799
4800         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
4801         find_alloca_call to right place.
4802
4803 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4804
4805         * cppfiles.c: Fix formatting.
4806
4807 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
4808
4809         * gcc.c (The Specs Language): Document spec functions.
4810         (static_spec_functions, lookup_spec_function)
4811         (eval_spec_function, handle_spec_function)
4812         (if_exists_spec_function, alloc_args): New.
4813         (execute): Abort if processing_spec_function is true.
4814         (do_spec_1): Hand off spec to handle_spec_function if %:
4815         is encountered.  If processing_spec_function is true,
4816         end any pending argument when the end of the string is reached.
4817         (main): Use alloc_args to allocate the initial argument vector.
4818         * gcc.h (struct spec_function): New.
4819         (lang_specific_spec_functions): New extern.
4820
4821         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
4822         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
4823         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
4824
4825         * doc/invoke.texi: Document spec functions.
4826
4827         * cppspec.c (lang_specific_spec_functions): New.
4828         * gccspec.c: Likewise.
4829
4830 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
4831
4832         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
4833         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
4834         (fixunstfsi_libfunc): Change.
4835         (fixunstfdi_libfunc): Change.
4836         (sdiv_optab): Don't zero out SImode handler.
4837         (udiv_optab): Don't zero out SImode handler.
4838         (smod_optab): Don't zero out SImode handler.
4839         (umod_optab): Don't zero out SImode handler.
4840
4841 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
4842
4843         PR preprocessor/8524
4844         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
4845         Add a new one in its place, which hopefully works.
4846         (skip_rest_of_line): Change test for bottom-of-context-stack.
4847
4848 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
4849
4850         * i386.md (addqi_1_slp): Fix output template.
4851         (subqi_1_slp): Fix type.
4852
4853 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
4854
4855         * calls.c (alloca_call_p): New global function.
4856         * tree.h (alloca_call_p): New.
4857         * tree-inline.c (inlinable_function_p):  Do not inline when
4858         function calls alloca.
4859         (find_alloca_call, find_alloca_call_1): New functions.
4860
4861 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
4862
4863         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
4864         bst.  Update the insn length.
4865         (*andorhi3): Likewise.
4866         (*andorsi3): Likewise.
4867
4868 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4869
4870         * config/sh/sh-protos.h (sh_mark_label): Declare.
4871         * config/sh/sh.c (sh_mark_label): New function, taken from
4872         movdi_const, but fixing the case when the address has an addend.
4873         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
4874
4875 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4876
4877         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
4878         (add_constant): Set it.
4879         (dump_table): Don't reorder a constant if part_of_sequence_p.
4880         (machine_dependent_reorg): Assume that float constants will
4881         stay in their original order if used as a sequence.
4882
4883 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4884
4885         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
4886         in compact code.
4887
4888 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4889
4890         * config/sh/sh.md (initialize_trampoline): Do not force the
4891         trampoline address into R0_REGS here.
4892
4893 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
4894
4895         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
4896         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
4897         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
4898         generate unnecesary subregs.
4899
4900 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4901
4902         * df.c: Fix formatting.
4903
4904 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4905
4906         * config/h8300/h8300.md (two anonymous patterns): Fix insn
4907         lengths.
4908
4909 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
4910
4911         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
4912         is not an arith_reg_operand.
4913
4914 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
4915
4916         * real.c (real_to_decimal): Fix buffer overrun when buffer size
4917         is smaller than representation.
4918
4919 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4920
4921         * builtins.c: Fix formatting.
4922
4923 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
4924
4925         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
4926         floats?dff2_i387):
4927         Work around regclass stupidity.
4928         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
4929
4930 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
4931
4932         * i386.md (fop_df_6): New pattern.
4933         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
4934         (fop_xf_6): Rewrite
4935         (fop_xf_7): Delete.
4936         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
4937         (fop_tf_6): Rewrite
4938         (fop_tf_7): Delete.
4939
4940 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4941
4942         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
4943
4944 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4945
4946         * config/h8300/h8300.md: Fix formatting.
4947
4948 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4949
4950         * config/h8300/h8300.md: Replace spaces with tabs.
4951         * config/h8300/t-h8300: Remove a trailing empty line.
4952
4953 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4954
4955         * tlink.c: Fix formatting.
4956
4957 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
4958
4959         PR 8362
4960         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
4961         * config/rs6000/rs6000.md (movti_string): Remove output modifier
4962         when scratch register never needed.
4963         (ldmsi[3-8]): New patterns.
4964
4965 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4966
4967         * hard-reg-set.h: Follow spelling conventions.
4968         * real.c: Likewise.
4969         * target.h: Likewise.
4970
4971 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
4972
4973         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
4974
4975 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4976
4977         * optabs.c: Fix formatting.
4978
4979 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
4980
4981         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
4982         * i386.md (attribute type): Add type shift1 and rotate1.
4983         (*_slp): Rewrite to have just two operands to avoid reload problems.
4984
4985 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
4986
4987         * config/h8300/h8300.md (4 anonymous patterns): New.
4988
4989 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
4990
4991         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
4992         * doc/invoke.texi: Correct description of what needs to be done to
4993         force collection at every ggc_collect call.
4994
4995 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
4996
4997         * config/s390/s390.c (optimization_options): Set
4998         flag_asynchronous_unwind_tables to 1 by default.
4999
5000 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5001
5002         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5003
5004 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5005
5006         * i386-protos.h (x86_function_profiler): New function
5007         * i386.h (MCOUNT_NAME): New.
5008         (PROFILE_COUNT_REGISTER): New.
5009         (FUNCTION_PROFILER): Move offline to ...
5010         * i386.c (x86_function_profiler) ... here; fix 64bit support
5011         * beos-elf.h (FUNCTION_PROFILER): Kill.
5012         (MCOUNT_NAME): New.
5013         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
5014         (MCOUNT_NAME): New.
5015         (PROFILE_COUNT_REGISTER): New.
5016         * linux.h (FUNCTION_PROFILER): Kill.
5017         (MCOUNT_NAME): New.
5018         * x86-64.h (FUNCTION_PROFILER): Kill.
5019         (MCOUNT_NAME): New.
5020         * freebsd.h (FUNCTION_PROFILER): Kill.
5021         (MCOUNT_NAME): New.
5022
5023 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
5024
5025         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
5026         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
5027         * config/arm/arm.c (arm_va_arg,
5028         arm_function_arg_pass_by_reference): New.
5029         * config/arm/arm-protos.h: Add prototypes.
5030
5031 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5032
5033         * gthr-single.h: Fix formatting.
5034
5035 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
5036
5037         * tree.c (tree_vec_elt_check_failed): New function.
5038         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
5039         (TREE_VEC_ELT): Use it.
5040
5041         * tree-inline.c (optimize_inline_calls): Don't copy a
5042         zero-length vector.
5043
5044 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5045
5046         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
5047
5048 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
5049
5050         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
5051         both operands contain local relocations.
5052         (categorize_decl_for_section): Don't use mergeable sections if
5053         initializer has any relocations.
5054
5055 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5056
5057         * gthr-vxworks.h: Fix formatting.
5058
5059 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
5060
5061         * doc/install.texi (Testing): Document extra Java testing.
5062         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
5063
5064 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5065
5066         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
5067         beginning of the spec.
5068         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
5069         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
5070         regarding problems with global constructors when using GNU ld.
5071
5072 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5073
5074         * gthr-solaris.h: Fix formatting.
5075
5076 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5077
5078         * gthr-posix.h: Fix formatting.
5079
5080 2002-11-12  Devang Patel <dpatel@apple.com>
5081         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
5082         (process_command): Same.
5083         * doc/invoke.texi: Info about these two new options.
5084
5085 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5086
5087         * config/h8300/h8300.md (*andorsi3): New.
5088
5089 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5090
5091         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
5092
5093 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5094
5095         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
5096         expressions appropriately.
5097
5098 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5099
5100         * gthr-win32.h: Fix formatting.
5101
5102 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5103
5104         * config/h8300/h8300.c (single_one_operand): Correctly compute
5105         mask when mode is SImode.
5106         (single_zero_operand): Likewise.
5107         * config/h8300/h8300.md (two new anonymous insns): New.
5108
5109 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5110
5111         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
5112         to that entire project.
5113
5114 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5115
5116         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
5117         directories.
5118
5119 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
5120
5121         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
5122         * doc/invoke.texi: Document them.
5123
5124         * ggc-page.c: Include params.h.  Remove definitions of
5125         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
5126         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
5127         (init_gcc): Don't set G.allocated_last_gc here.
5128         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
5129         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
5130         perform collection.
5131         * ggc-simple.c: Similarly.
5132         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
5133         dependencies.
5134
5135 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5136
5137         * gthr-dce.h: Fix formatting.
5138
5139 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5140
5141         PR c/8467
5142         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
5143         mode of DECL_RTL case.
5144
5145 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
5146
5147         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
5148
5149 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
5150
5151         * i386.c (construct_container): Fix handling of SSE_CLASS.
5152
5153 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
5154
5155         * config/m68k/t-crtstuff (crti.o): Use this...
5156         ($(T)crti.o): ... instead.
5157         (crtn.o): Use this...
5158         ($(T)crtn.o): ... instead.
5159
5160 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
5161
5162         PR c/8439
5163         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
5164         if there is something new to be simplified.
5165
5166 2002-11-10  H.J. Lu <hjl@gnu.org>
5167
5168         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
5169         * expr.c (PUSH_ARGS_REVERSED): Likewise.
5170
5171         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
5172
5173 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
5174
5175         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
5176         * config/rs6000/linux.h, config/rs6000/linux64.h,
5177         config/rs6000/windiss.h: ... not here.
5178
5179 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
5180
5181         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
5182         __ABICALLS__ if TARGET_ABICALLS.
5183
5184 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
5185
5186         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
5187
5188 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
5189
5190         * c-decl.c (grokdeclarator): Make error for duplicate type
5191         qualifiers into a pedwarn, disabled for C99.
5192
5193 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
5194
5195         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
5196         as FUNCTION_ARG_PASS_BY_REFERENCE.
5197
5198 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
5199
5200         * doc/install.texi: Add *-*-vxworks* specific installation
5201         instructions.
5202
5203         * config/vxlib.c: Rewrite using generation numbers to identify
5204         valid TSD keys.
5205
5206 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
5207
5208         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
5209
5210 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5211
5212         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
5213
5214         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
5215         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
5216         * pa.c (output_millicode_call): Use symbol difference rather than
5217         $PIC_pcrel$0 when using HP assembler.
5218         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
5219         not elfos.h (i.e., gas) is being used.
5220         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
5221         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
5222         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
5223         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
5224         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
5225         using elfos.h.
5226         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
5227         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
5228         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
5229         using elfos.h.
5230         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5231         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
5232         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
5233         Don't define when not using elfos.h.
5234         (ASM_DECLARE_RESULT): Don't define.
5235         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
5236         doesn't work on hppa64-hp-hpux11.
5237         (hppa*-hp-hpux11): Update.
5238
5239 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
5240
5241         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
5242         to the assembler if -mno-abicalls was specified.
5243
5244 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5245
5246         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
5247         ASM_OUTPUT_DEF): Delete.
5248
5249 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
5250
5251         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
5252
5253 2002-11-08  Roger Sayle  <roger@eyesopen.com>
5254
5255         * real.c (real_sqrt): Update comment with bibliographic reference.
5256
5257 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5258
5259         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
5260
5261 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
5262
5263         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
5264
5265 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
5266
5267         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
5268         (expand_builtin): Likewise.
5269         * builtins.def: Add
5270         __builtin_floor, __builtin_floorf, __builtin_floorl
5271         __builtin_ceil, __builtin_ceilf, __builtin_ceill
5272         __builtin_round, __builtin_roundf, __builtin_roundl
5273         __builtin_trunc, __builtin_truncf, __builtin_truncl
5274         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
5275         * genopinit.c (optabs): Initialize the new optabs.
5276         * optab.c (init_optabs): Likewise.
5277         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
5278         OTI_round, OTI_nearbyint.
5279         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
5280         * doc/md.texi: Document new named patterns.
5281         * doc/extend.texi (builtin functions)  Document
5282         floor, floorf, floorl, ceil, ceilf,
5283         ceill, round, roundf, roundl, trunc,
5284         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
5285
5286 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
5287
5288         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
5289
5290 2002-11-08  Dale Johannesen  <dalej@apple.com>
5291
5292         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
5293
5294 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5295
5296         PR preprocessor/8497
5297         PR preprocessor/8501
5298         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
5299         start a directive.  In assembler, #NUM is not a line directive.
5300
5301 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5302
5303         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
5304         buffers.
5305
5306 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5307
5308         * config/h8300/h8300.md (two anonymous test insns): New.
5309
5310 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5311
5312         * jump.c (mark_jump_label): Handle subregs of label_refs.
5313
5314 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
5315
5316         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
5317         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
5318
5319 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
5320
5321         * config/ia64/crtend.asm: Include "auto-host.h".
5322         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
5323         * config/ia64/crtbegin.asm: Similarly.
5324         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
5325         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
5326
5327         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
5328         * configure.in: Use it if --enable-initfini-array not specified.
5329         * doc/install.texi (Configuration): Document --enable-initfini-array.
5330         * configure, config.in: Rebuild.
5331
5332 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
5333
5334         * config/arm/arm-protos.h (arm_get_frame_size)
5335         (thumb_get_frame_size): New prototypes.
5336         * config/arm/arm.c (arm_get_frame_size)
5337         (thumb_get_frame_size): New functions.
5338         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
5339         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
5340         arm_get_frame_size.
5341         (thumb_expand_prologue, thumb_expand_epilogue): Use
5342         thumb_get_frame_size.
5343         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
5344         (machine_function): Add frame_size member.
5345         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
5346
5347 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5348
5349         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
5350         Adjust code to use portable unsigned bit manipulation.
5351         (insn_flags, tune_flags): Change type to unsigned.
5352         (struct processors): Make flags unsigned long.
5353         (arm_override_options): Change type of count and current_bit_count
5354         to unsigned.
5355
5356 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5357
5358         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
5359
5360 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
5361
5362         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
5363
5364 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
5365
5366         * reg-stack.c (compensate_edge): Fix sanity check.
5367
5368 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
5369
5370         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
5371         crt2.o.  Rearrange t-darwin makefiles.
5372         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
5373         * unwind-dw2-fde-darwin.c: New.
5374         * unwind-dw2-fde-glibc.c: Correct comment.
5375         * unwind-dw2-fde.c (__register_frame_info_bases)
5376         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
5377         (classify_object_over_fdes): Use last_fde.
5378         (add_fdes): Likewise.
5379         (linear_search_fdes): Likewise.
5380         * unwind-dw2-fde.h (struct object)
5381         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
5382         (last_fde): New.
5383         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
5384         (ENDFILE_SPEC): No crtend.o.
5385         * config/t-darwin: New.
5386         * config/i386/t-darwin: Delete.
5387         * config/darwin-crt2.c: New.
5388         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
5389         or config/t-darwin.
5390
5391 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
5392
5393         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
5394         MASK_MS_BITFIELD_LAYOUT
5395         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
5396         MS bitfields for Objective-C.
5397         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
5398         defines.
5399
5400         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
5401         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
5402         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
5403
5404         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
5405         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
5406         (TARGET_SWITCHES): Add above mask.
5407
5408         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
5409         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
5410         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
5411         flags for interix.
5412
5413 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
5414
5415         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
5416         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
5417         assembler.
5418         * config/mips/mips.md (tablejump_internal3): Output .cpadd
5419         before jump on ABI_N32 too.
5420         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
5421         length to match.
5422
5423 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
5424
5425         * i386.md (negsf splitter): Accept memory operand in second register.
5426         (abssf/absdf splitters): Simplify
5427         (sse_loadss, sse_loadsd): Turn into expander.
5428
5429 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
5430
5431         PR target/8480
5432         * config/rs6000/rs6000.md (movdi_internal64): Discourage
5433         FPR to FPR moves.
5434
5435 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
5436
5437         * doc/contrib.texi: Merge in the list from the Java web pages.
5438
5439 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
5440
5441         * config/sparc/freebsd: Fix typo.
5442
5443 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5444
5445         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
5446
5447 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
5448
5449         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
5450         non-SImode addresses.
5451
5452 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
5453
5454         * i386.md (float_truncate SSE splitter): Ensure that operand is not
5455         stack register.
5456         (float SSE splitters): Reorder conditional.
5457
5458 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
5459
5460         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
5461
5462 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
5463
5464         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
5465         (STARTFILE_SPEC): Remove p and pg options.
5466
5467 2002-11-05  Andrew Haley  <aph@redhat.com>
5468
5469         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
5470         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
5471
5472 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
5473
5474         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
5475         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
5476
5477 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
5478
5479         * gthr-vxworks.h: Rewritten from scratch.
5480         * config/vxlib.c: New file.
5481         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
5482         * config/rs6000/t-vxworks: Add config/vxlib.c to
5483         LIB2FUNCS_EXTRA here too, because of clash with
5484         config/rs6000/t-ppccomm.
5485
5486 2002-11-04  Dale Johannesen  <dalej@apple.com>
5487
5488         * doloop.c (doloop_modify_runtime):  Fix loop count computation
5489         for unrolled loops.
5490         * loop.c (loop_invariant_p):  Support calling from unroller.
5491
5492 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
5493
5494         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
5495         for comparison.
5496
5497 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
5498
5499         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
5500
5501         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
5502         (CLASS_CANNOT_CHANGE_MODE): Remove.
5503         (CANNOT_CHANGE_MODE_CLASS): New.
5504
5505         * config/alpha/alpha.h: Same.
5506
5507         * config/ia64/ia64.h: Same.
5508
5509         * config/mips/mips.h: Same.
5510
5511         * config/s390/s390.h: Same.
5512
5513         * config/sh/sh.h: Same.
5514
5515         * config/pa/pa64-regs.h: Same.
5516
5517         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
5518
5519         * config/sh/sh.c (sh_cannot_change_mode_class): New.
5520
5521         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
5522         prototype.
5523
5524         * config/mips/mips.c (mips_cannot_change_mode_class): New.
5525
5526         * doc/tm.texi (Register Classes): Remove
5527         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
5528         Document CANNOT_CHANGE_MODE_CLASS.
5529
5530         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
5531         (push_reload): Same.
5532
5533         * simplify-rtx.c (simplify_subreg): Same.
5534
5535         * reload1.c (choose_reload_regs): Same.
5536
5537         * recog.c (register_operand): Same.
5538
5539         * regrename.c (mode_change_ok): Change to use new
5540         CANNOT_CHANGE_MODE_CLASS infrastructure.
5541
5542         * regclass.c (cannot_change_mode_set_regs): New.
5543         Declare subregs_of_mode.
5544         (regclass): Use subregs_of_mode.
5545         Remove references to reg_changes_mode.
5546         (init_reg_sets_1): Remove class_can_change_mode and
5547         reg_changes_mode code.
5548         (invalid_mode_change_p): New.
5549         (dump_regclass): Use invalid_mode_change_p instead of
5550         class_can_change_mode.
5551         (regclass): Same.
5552         (record_operand_costs): Do not set reg_changes_mode.
5553
5554         * local-alloc.c (struct qty): Remove changes_mode field.
5555         (alloc_qty): Remove changes_mode initialization.
5556         (update_qty_class): Remove set of changes_mode.
5557         (find_free_reg): Use subregs_of_mode.
5558
5559         * global.c (find_reg): Use subregs_of_mode info.
5560
5561         * rtl.h (cannot_change_mode_set_regs): New prototype.
5562         (invalid_mode_change_p): Same.
5563         (REG_CANNOT_CHANGE_MODE_P): New macro.
5564
5565         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
5566         REG_CHANGES_MODE.
5567         (life_analysis): Clear subregs_of_mode.
5568
5569         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
5570         Remove use of CLASS_CANNOT_CHANGE_MODE.
5571         (simplify_set): Same.
5572         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
5573         REG_CHANGES_MODE.
5574
5575         * regs.h: Add extern for subregs_of_mode;
5576         Include hard-reg-set and basic-block.
5577         (REG_CHANGES_MODE): Delete.
5578
5579 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5580
5581         * real.c (real_sqrt): New function to calculate square roots.
5582         * real.h (real_sqrt): Add function prototype.
5583         * builtins.c (fold_builtin): Fold sqrt of constant argument.
5584         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
5585         of constant argument.
5586
5587 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5588
5589         * jump.c (never_reached_warning): Don't set contains_insn until the
5590         first line note is seen.
5591
5592 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
5593
5594         * config/rs6000/rs6000.md (movti_string): Use string instructions.
5595
5596 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5597
5598         PR c/7128
5599         * c-typeck.c (c_expand_asm_operands): Defend against
5600         error_mark_nodes in the output argument to avoid ICE.
5601
5602 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
5603
5604         PR middle-end/8408
5605         * genrecog.c (preds): Handle ADDRESSOF.
5606         (validate_pattern): Mark it as an lvalue.
5607
5608 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
5609
5610         * config/rs6000/rs6000.c (rs6000_override_options): Use string
5611         instructions when optimizing for size.
5612
5613 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
5614
5615         * config/h8300/h8300.h: Fix comment typos.
5616         * config/h8300/h8300.md: Likewise.
5617         * config/h8300/lib1funcs.asm: Likewise.
5618
5619 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5620
5621         Revert this change:
5622
5623         *doc/install.texi (Installing GCC: Configuration): Clarify
5624         the only supported ways to configure gcc.
5625
5626 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5627
5628         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
5629         instead of 'O' for the constraint for the second operand.
5630
5631 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
5632
5633         PR c++/8391
5634         * toplev.c (rest_of_compilation): Do not refuse to output code for
5635         an inline function in a local class.
5636
5637 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
5638
5639         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
5640         (TRANSFER_FROM_TRAMPOLINE): Reformat.
5641         Add comment.
5642
5643 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5644
5645         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
5646
5647 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
5648
5649         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
5650
5651 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
5652
5653         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
5654         (MASK_INLINE_DIV_THR): Remove.
5655         (TARGET_INLINE_DIV_LAT): Remove.
5656         (TARGET_INLINE_DIV_THR): Remove.
5657         (TARGET_INLINE_DIV): Remove.
5658         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
5659         (MASK_INLINE_FLOAT_DIV_THR): New macro.
5660         (MASK_INLINE_INT_DIV_LAT): New macro.
5661         (MASK_INLINE_INT_DIV_THR): New macro.
5662         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
5663         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
5664         (TARGET_INLINE_INT_DIV_LAT): New macro.
5665         (TARGET_INLINE_INT_DIV_THR): New macro.
5666         (TARGET_INLINE_FLOAT_DIV): New macro.
5667         (TARGET_INLINE_INT_DIV): New macro.
5668         * config/ia64/ia64.md (divsi3): Change to use new macros.
5669         (modsi3): Ditto.
5670         (udivsi3): Ditto.
5671         (umodsi3): Ditto.
5672         (divsi3_internal): Ditto.
5673         (divdi3): Ditto.
5674         (moddi3): Ditto.
5675         (udivdi3): Ditto.
5676         (umoddi3): Ditto.
5677         (divdi3_internal_lat): Ditto.
5678         (divdi3_internal_thr): Ditto.
5679         (divsf3): Ditto.
5680         (divsf3_internal_lat): Ditto.
5681         (divsf3_internal_thr): Ditto.
5682         (divdf3): Ditto.
5683         (divdf3_internal_lat): Ditto.
5684         (divdf3_internal_thr): Ditto.
5685         (divtf3): Ditto.
5686         (divtf3_internal_lat): Ditto.
5687         (divtf3_internal_thr): Ditto.
5688         * config/ia64/ia64.c (ia64_override_options): Change
5689         to check new macros for conflicts in settings.
5690         * doc/invoke.texi (-minline-divide-min-latency): Remove.
5691         (-minline-divide-max-throughput): Remove.
5692         (-minline-float-divide-min-latency): New.
5693         (-minline-float-divide-max-throughput): New.
5694         (-minline-int-divide-min-latency): New.
5695         (-minline-int-divide-max-throughput): New.
5696
5697 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
5698
5699         PR target/7856
5700         * arm.c (use_return_insn): Don't use a return insn if there are
5701         saved integer regs, but LR is not one of them.
5702
5703 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
5704
5705         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
5706         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
5707
5708 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
5709
5710         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
5711         (movps, movpd splitters): Use canonical form.
5712         (movv2di): Fix merge problem.
5713
5714 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
5715
5716         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5717
5718 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
5719
5720         PR optimization/6162
5721         * doc/md.texi: Document restriction on commutative operand
5722         specification.
5723
5724 2002-10-31  Eric Christopher  <echristo@redhat.com>
5725
5726         * explow.c (convert_memory_address): Use shallow_copy_rtx.
5727
5728 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5729
5730         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
5731
5732 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5733
5734         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
5735
5736 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5737
5738         * config/rs6000/darwin.h:  Correct formatting in previous.
5739
5740 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5741
5742         * config/rs6000/darwin.h:  Enable -falign-xxx options.
5743
5744 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
5745
5746         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
5747         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
5748         * i386.c (optimization_options): Set flag_omit_frame_pointer,
5749         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
5750         Do not clear -momit-leaf-frame-pointer when profiling.
5751         (ix86_frame_pointer_required): Frame pointer is always required when
5752         profiling.
5753
5754 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
5755
5756         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5757
5758 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
5759
5760         * sh.h (binary_logical_operator): Declare.
5761         * sh.c (binary_logical_operator): New function.
5762         * sh.md (xordi3+1): New combiner splitter pattern.
5763
5764 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
5765
5766         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
5767         __enable_execute_stack function.
5768
5769 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
5770
5771         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
5772         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
5773         * unwind-sjlj.c (fc_key_dtor): Delete.
5774         (fc_key_init): Adjust __gthread_key_create call to match.
5775
5776 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
5777
5778         * c-common.c: Add GTY to vector_type_node_list.
5779
5780 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
5781
5782         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
5783         * pa-protos.h (attr_length_millicode_call, attr_length_call,
5784         pa_init_machine_status): Declare new global functions.
5785         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
5786         implement new functions.
5787         (attr_length_millicode_call, attr_length_call): Implement.
5788         (total_code_bytes): Change type to long.
5789         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
5790         Reset counter if flag_function_sections.
5791         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
5792         (output_cbranch): Move call to gen_label_rtx.
5793         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
5794         delay slot in all variants, shorten pc-relative calls.
5795         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
5796         slot usage and exposure, various new call variants, and shortened
5797         sequences for some variants on TARGET_PA_20.
5798         Miscellaneous format changes.
5799         * pa.h (total_code_bytes): Change type to long.
5800         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
5801         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
5802         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
5803         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
5804         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
5805         stores on TARGET_ELF32.
5806         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
5807         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
5808         canonicalize_funcptr_for_compare expanders): Calculate attribute length
5809         attr_length_millicode_call().
5810         (call_internal_symref, call_value_internal_symref): Clobber register 1.
5811         Calculate attribute length using attr_length_call().
5812         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
5813         to delay slot.
5814         (sibcall, sibcall_value): Rewrite.
5815         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
5816         register 1.  Use attr_length_call().
5817         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
5818         New patterns.
5819         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
5820         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
5821         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
5822         * doc/invoke.texi (mlong-calls): Document.
5823
5824 2002-10-30  Roger Sayle  <roger@eyesopen.com>
5825
5826         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
5827         handling of cases where one or both branches of the conditional
5828         have void type, i.e. throw an exception or don't return.
5829         (fold): Only apply (and undo) type conversion to the non-void
5830         branches of a COND_EXPR.
5831
5832 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
5833
5834         PR c++/8333
5835         * varasm.c (asm_output_aligned_bss): Do not call
5836         ASM_GLOBALIZE_LABEL.
5837
5838 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
5839             Torbjorn Granlund  <tege@swox.com>
5840
5841         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
5842         for addressibility.
5843         (load_toc_v4_PIC_1b): Same.
5844
5845 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
5846
5847         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
5848         Truncate the addresses for H8/300 using HImode.
5849
5850 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
5851
5852         * i386.md (negdf splitter): Fix construction of the constant.
5853
5854 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
5855
5856         * i386.md (negsf, negdf): Reorganize to use vector modes
5857         for SSE variants.
5858         (abssf, absdf): Use force_reg.
5859         (movv4sf, movv2df): New splitters.
5860         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
5861         * i386.c (zero_extended_scalar_load_operand
5862
5863         * i386-protos.h (ix86_expand_call): Update prototype.
5864         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
5865         (ix86_expand_call): Use r11 for indirect sibcalls.
5866         * i386.md (call, call_value, untyped_call, call_value_pop):
5867         update x86_expand_call call.
5868         (sibcall, sibcall_value): new patterns
5869         (call_rex64, call_value_rex64): Do not accept sibcalls.
5870         (sibcall_rex64, sibcall_value_rex64,
5871         sibcall_rex64_v, sibcall_value_rex64_v): New.
5872
5873 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
5874
5875         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
5876         before final pass.
5877
5878 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
5879
5880         * toplev.c (rest_of_type_compilation): Return early in case of
5881         errors.
5882         (check_global_declarations): Don't call debug_hooks->global_decl
5883         in case of errors.
5884
5885 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
5886
5887         * doc/c-tree.texi (Tree overview): Fix typos.
5888
5889 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
5890
5891         * Makefile.in (gnucompare*):  Only record bad comparisons
5892         if there really was a bad comparison.
5893
5894 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
5895
5896         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
5897         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
5898         * md.texi (machine dependent constraints): Document 'C'
5899
5900         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
5901
5902         * i386.c (ix86_expand_vector_move): Fix.
5903
5904         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
5905         * i386.md (sse2_maskmovdqu_rex64): New pattern
5906
5907         PR target/8322
5908         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
5909         (ix86_init_mmx_sse_builtins): Fix type.
5910
5911 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
5912
5913         * gthr-posix.h: Include <unistd.h> for feature tests.
5914         (sched_get_priority_max, sched_get_priority_min)
5915         (pthread_getschedparam, pthread_setschedparam): Only use
5916         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
5917         (__gthread_objc_thread_set_priority): Don't treat all nonzero
5918         returns from sched_get_priority_max and sched_get_priority_min
5919         as an error.
5920
5921 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5922
5923         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
5924         MASK_QUICKCALL.
5925
5926 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5927
5928         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
5929         (h8300_tiny_constant_address_p): Likewise.
5930         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
5931         h8300_eightbit_constant_address_p.
5932         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
5933         * config/h8300/h8300-protos.h: Add the prototypes for the two
5934         new functions.
5935
5936 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5937
5938         * reload1.c (update_eliminables): Unconditionally check if
5939         frame_pointer_needed has changed.
5940
5941 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
5942
5943         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
5944         before final pass.
5945
5946 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
5947
5948         PR optimization/8334
5949         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
5950         check for zero operands explicitly.
5951
5952 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
5953
5954         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
5955         memory after adjusting to BLKmode.
5956
5957 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5958
5959         * config/h8300/h8300.h (MASK_*): New.
5960         (TARGET_*): Use MASK_*.
5961
5962 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
5963
5964         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
5965         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
5966         config/rs6000/vxworks.h: New files.
5967         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
5968
5969         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
5970         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
5971         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
5972         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
5973         sparc-*-vxsim*): Delete stanzas.
5974         * gthr-vxworks.h: Rip out all substantive code and just
5975         include gthr-single.h.
5976
5977         * config/alpha/vxworks.h, config/arm/vxarm.h,
5978         config/i386/vxi386.h, config/i960/t-vxworks960,
5979         config/i960/vx960-coff.h, config/i960/vx960.h,
5980         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
5981         config/mips/vxworks.h, config/rs6000/vxppc.h,
5982         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
5983         config/sparc/vxsim.h, config/sparc/vxsparc.h,
5984         config/sparc/vxsparc64.h: Delete files.
5985
5986 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
5987
5988         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
5989         tm_defines if pthreads are enabled.
5990         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
5991         if NETBSD_ENABLE_PTHREADS is defined.
5992
5993 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
5994
5995         * ChangeLog.1: Fix typos.
5996         * cse.c: Fix a comment typo.
5997         * reload1.c: Likewise.
5998
5999 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
6000
6001         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
6002         * fixinc/tests/base/_G_config.h: New file.
6003
6004 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6005
6006         * combine.c: Fix comment formatting.
6007         * loop.c: Likewise.
6008         * real.c: Likewise.
6009         * regclass.c: Likewise.
6010         * regmove.c: Likewise.
6011         * regrename.c: Likewise.
6012         * reg-stack.c: Likewise.
6013         * reload1.c: Likewise.
6014         * reload.c: Likewise.
6015         * reload.h: Likewise.
6016         * unroll.c: Likewise.
6017
6018 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6019
6020         * reload1.c (reload): Fix a comment typo.
6021
6022 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
6023
6024         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
6025
6026 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6027
6028         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
6029         * dwarf2out.c: Include hashtab.h.
6030         (is_main_source): New static variable.
6031         (attr_checksum, die_checksum): Modified to handle die references.
6032         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
6033         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
6034         record_comdat_symbol_number): New static functions.
6035         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
6036         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
6037         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
6038         declarations added.
6039
6040 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
6041
6042         * config/h8300/h8300.c (initial_offset): Change to
6043         h8300_initial_elimination_offset.
6044         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
6045         h8300_initial_elimination_offset.
6046         * config/h8300/h8300-protos.h: Update the prototype.
6047
6048 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
6049
6050         * config/mmix/mmix.h (LIBCALL_VALUE): Use
6051         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
6052         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
6053         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
6054         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
6055         and RTX_CODE.
6056         (mmix_function_value_regno_p): Declare.
6057
6058         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
6059         invalid for floating point mode result, with fix.
6060
6061 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
6062
6063         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
6064         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
6065         (stage1_build): Likewise.
6066
6067 2002-10-25  Mike Stump  <mrs@apple.com>
6068
6069         Fixes gcc.dg/warn-1.c.
6070         * c-typeck.c (warn_for_assignment): Don't print argument number,
6071         if zero.
6072
6073 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
6074
6075         * toplev.c (dump_file_index): Add DFI_ce3.
6076         (dump_file_info): Likewise.
6077         (rest_of_compilation): Run first ifcvt pass before tracer.
6078
6079 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
6080
6081         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
6082
6083 2002-10-25  Richard Henderson  <rth@redhat.com>
6084
6085         * real.c (real_to_decimal): If the >1 tens reduction loop results
6086         in a negative exponent, fall into the <1 pten computation.
6087
6088 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
6089
6090         PR middle-end/6994
6091         * c-objc-common.c (inline_forbidden_p): Can not inline
6092         functions containing structures or unions containing VLAs.
6093         * tree-inline.c (walk_tree): For all class 't' nodes, walk
6094         TYPE_SIZE and TYPE_SIZE_UNIT.
6095         (copy_tree_r): Copy types if they are variably modified.
6096
6097 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6098
6099         * config/s390/s390.md: Remove old-style peepholes.
6100
6101 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6102
6103         * config/s390/s390.c (s390_decompose_address): Do not range check the
6104         displacement if base or index is the argument pointer register.
6105
6106 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
6107
6108         PR other/3337
6109         PR bootstrap/6763
6110         PR bootstrap/8122
6111         * fixinc/inclhack.def (libc1_G_va_list): New fix.
6112         * fixinc/fixincl.x: Regenerate.
6113         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
6114         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
6115         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
6116         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
6117         * config.in, configure: Regenerate.
6118
6119 2002-10-24  Igor Shevlyakov <igor@microunity.com>
6120
6121         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
6122
6123 2002-10-24  Richard Henderson  <rth@redhat.com>
6124
6125         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
6126
6127 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6128
6129         * config/h8300/h8300.c (initial_offset): Simplify by using
6130         round_frame_size.
6131
6132 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
6133
6134         * doc/install.texi (avr): Update required binutils version.
6135
6136 2002-10-24  Theodore A. Roth  <troth@openavr.org>
6137
6138         * doc/install.texi: Point avr users at more up-to-date information.
6139
6140 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6141
6142         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
6143         to pull operands out of the literal pool where possible.
6144
6145 2002-10-24  Denis Chertykov  <denisc@overta.ru>
6146
6147         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
6148
6149 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
6150
6151         * expr.c (convert_move): If unsignedp is less then zero there
6152         is no equivalent code.
6153
6154 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
6155
6156         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
6157
6158 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6159
6160         * config/s390/s390.h: Rework comments; re-sort target macro definitions
6161         according to the sequence they are defined in the manual.
6162         (POINTER_BOUNDARY): Remove.
6163
6164 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6165
6166         * config/h8300/h8300.c (round_frame_size): Replace 8 with
6167         BITS_PER_UNIT.
6168
6169 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6170
6171         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
6172         64-bit safe.
6173         (TINY_CONSTANT_ADDRESS_P): Likewise.
6174
6175 2002-10-24  Richard Henderson  <rth@redhat.com>
6176
6177         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6178         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
6179         vcall offset.
6180
6181 2002-10-24  Richard Henderson  <rth@redhat.com>
6182
6183         PR opt/7944
6184         * reload.c (find_reloads_toplev): Mode of X is not important
6185         when simplifying subregs of constants.
6186
6187 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6188
6189         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
6190         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
6191         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
6192         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
6193         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
6194
6195 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6196
6197         * optabs.c (expand_binop): Don't reuse the shift target in the
6198         middle of shift sequences.
6199
6200 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
6201
6202         * i386.md (abs splitters): Do not produce nested subregs.
6203
6204 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
6205
6206         * i386.md (movti_rex64): Fix constraints.
6207
6208 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
6209
6210         * i386.md (abssf,absdf): Use vector operands for SSE
6211         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
6212         vector operand.
6213
6214 2002-10-23  Ziemowit Laski <zlaski@apple.com>
6215
6216         * objc/objc-act.c (get_static_reference): Remove unneeded
6217         TYPE_BINFO initialization.
6218         (get_object-reference): Likewise.
6219         (build_constructor): Tighten precondition check.
6220         (finish_message_expr): Likewise.
6221
6222 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
6223
6224         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
6225         after CONST test.
6226
6227 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
6228
6229         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
6230         in HFAs.
6231
6232 2002-10-23  Richard Henderson  <rth@redhat.com>
6233
6234         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6235         (alpha_output_mi_thunk_osf): Handle vcall_offset.
6236
6237 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
6238
6239         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
6240         var_mod_type_p.
6241         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
6242         hook_tree_bool_false.
6243
6244         * tree.c (variably_modified_type_p): Moved here from
6245         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
6246         language-specific cases.  Due to this, must weaken some 'if
6247         and only if' checks to merely 'if'.
6248         * tree.h: Prototype variably_modified_type_p.
6249
6250         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
6251
6252 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6253
6254         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
6255         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
6256
6257         * config/s390/s390-protos.h (fp_operand): Remove.
6258         * config/s390/s390.c (fp_operand): Remove.
6259         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
6260         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
6261         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
6262         (movdi_31, movdf_31 splitters): Likewise.
6263
6264         * config/s390/s390.h (IEEE_FLOAT): Remove.
6265         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
6266         (INT_REGNO_P): Rename to ...
6267         (GENERAL_REGNO_P): ... this.
6268         (FLOAT_REGNO_P): Rename to ...
6269         (FP_REGNO_P): ... this.
6270         (ADDR_REGNO_P): New macro.
6271         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
6272         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
6273         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
6274         (HARD_REGNO_NREGS): Adapt to macro renaming.
6275         (HARD_REGNO_MODE_OK): Likewise.
6276
6277 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
6278             Geoff Keating  <geoffk@apple.com>
6279
6280         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
6281         (rs6000_memory_move_cost): New function.
6282         * config/rs6000/rs6000-protos.h: Declare them.
6283         * config/rs6000/rs6000.h: Use them.
6284
6285 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6286
6287         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
6288         inlining it into other libgcc2 routines.
6289         (__udivmoddi4): Likewise.
6290
6291 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
6292
6293         * doc/sourcebuild.texi (Test Suites): Improve.
6294
6295 2002-10-22  Stan Shebs  <shebs@apple.com>
6296
6297         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
6298         case for Darwin.
6299
6300 2002-10-22  Jim Wilson  <wilson@redhat.com>
6301
6302         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
6303
6304 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
6305
6306         PR other/8289
6307         * xmmintrin.h: Add const to the argument of loads.
6308
6309         * i386.md (pushv2di): New pattern.
6310         PR target/6890
6311         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
6312
6313 2002-10-22  Richard Henderson  <rth@redhat.com>
6314
6315         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
6316         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
6317         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
6318         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6319         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6320         (TARGET_ASM_OUT): Update.
6321         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
6322         (hook_bool_tree_hwi_hwi_tree_true): New.
6323         (default_can_output_mi_thunk_no_vcall): New.
6324         * hooks.h: Declare them.
6325         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
6326
6327         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6328         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
6329         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
6330         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
6331         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
6332         config/stormy16/stormy16.c: Similarly.
6333
6334         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
6335         Handle 64-bit properly.  Streamline.
6336         (x86_output_mi_vcall_thunk): Remove.
6337         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
6338         (x86_can_output_mi_thunk): New.
6339         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6340         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6341         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
6342
6343         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
6344         output_mi_thunk; make static; always use function_section.
6345         (TARGET_ASM_OUTPUT_MI_THUNK): New.
6346         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6347         (rs6000_ra_ever_killed): Test no_new_pseudos not
6348         targetm.asm_out.output_mi_thunk in conjunction with thunks.
6349         * config/rs6000/rs6000-protos.h: Update.
6350         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6351         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
6352         xcoffout_declare_function when using rs6000_output_mi_thunk.
6353
6354         * config/s390/s390.c (s390_output_mi_thunk): Rename from
6355         s390_output_mi_vcall_thunk.
6356         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6357         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6358
6359         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
6360         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6361         * config/vax/vax-protos.h: Update.
6362         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
6363
6364 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
6365
6366         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
6367         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
6368         * i386.md (movti_internal): Use 'C'
6369
6370         * xmmintrin.h (_mm_cmplt_epi*): New.
6371
6372 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6373
6374         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
6375         ("*movdf_64"): Likewise.
6376         ("*lshrdi3_64"): Likewise.
6377         ("blockage"): Add length attribute.
6378         ("lit"): Likewise.
6379
6380 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
6381
6382         * i386.md: FIx typo.
6383         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
6384         (sse2_umulv2siv2di3): Fix predicate.
6385         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
6386         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
6387         * xmmintrin.h (_mm_mul_epu16): Rename to...
6388         (_mm_mul_epu32): This one.
6389         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
6390
6391         (contains_128bit_aligned_vector_p): Undo accidental checkin.
6392
6393 2002-10-22  Eric Christopher  <echristo@redhat.com>
6394
6395         * config/sparc/sparc.h: Add #error.
6396
6397 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6398
6399         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
6400         [s390x-*-linux*]: Likewise.
6401         * config/s390/t-linux: Remove.
6402         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
6403
6404 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
6405
6406         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
6407         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
6408         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
6409         * i386.md (mmx_punpck?dq): Simplify.
6410         (sse2_pubpcklqdq): Fix.
6411         (sse2_pubpckhqdq): New.
6412         * xmmintrin.h (_mm_unpackhi_epi32): New.
6413
6414         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
6415         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
6416
6417 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
6418
6419         PR c++/7209
6420         * fold_const.c (fold_binary_op_with_conditional_arg): Always
6421         build compound_expr if we used save_expr.
6422
6423 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
6424
6425         * output.h (SECTION_NOTYPE): Define.
6426         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
6427         init array sections.
6428         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
6429         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
6430         merge TLS support.
6431
6432 2002-10-21  Richard Henderson  <rth@redhat.com>
6433
6434         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
6435         the function type, not the return type.
6436
6437 2002-10-21  Richard Henderson  <rth@redhat.com>
6438
6439         * real.c (sticky_rshift_significand): Return inexact, don't
6440         or it in immediately.
6441         (sub_significands): Accept incomming carry.
6442         (div_significands, rtd_divmod): Update for sub_significands change.
6443         (round_for_format): Update for sticky_rshift_significand change.
6444         (do_add): Don't involve the inexact bit in addition, do give the
6445         inexact bit as the subtraction carry-in.
6446         (encode_internal, decode_internal, real_internal_format): New.
6447         * real.h (real_internal_format): Declare.
6448
6449 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6450
6451         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
6452         don't define sdiv_qrnnd.
6453
6454 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6455
6456         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
6457         using IN_RANGE.
6458         (TINY_CONSTANT_ADDRESS_P): Likewise.
6459
6460 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
6461
6462         * i386.c (builtin_description): Add punpcklqdq and movdq2q
6463         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
6464         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
6465         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
6466         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
6467         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
6468         __builtin_ia32_setzero128.
6469         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
6470         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
6471         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
6472         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
6473         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
6474         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
6475         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
6476         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
6477         sse2_movq): New patterns.
6478         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
6479         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
6480         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
6481         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
6482         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
6483         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
6484         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
6485         (_mm_insert_epi16): Fix.
6486
6487 2002-10-21  Dale Johannesen  <dalej@apple.com>
6488
6489         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
6490             unsafe math reversals correctly for RTL generation.
6491           (output_cbranch):  Replace rs6000_reverse_condition call
6492             by its former definition.
6493
6494 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
6495
6496         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
6497         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
6498         from constant pool or LABEL_REFs as sign extended if allow_rip.
6499         Change all +-1GB limits to +-16MB.
6500         (x86_64_general_operand, x86_64_szext_general_operand,
6501         x86_64_nonmemory_operand, x86_64_movabs_operand,
6502         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
6503         legitimate_address_p, ix86_expand_int_movcc): Update callers.
6504         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
6505         in CM_SMALL_PIC model.
6506         (legitimate_pic_address_disp_p): Don't check offsets before
6507         calling local_symbolic_operand.
6508         (legitimize_pic_address): Force offsets bigger than +-16MB into
6509         register.
6510         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
6511         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
6512         prototype.
6513
6514         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
6515         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
6516         * configure: Rebuilt.
6517         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
6518         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
6519         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
6520         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
6521         -fpic.
6522         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
6523         non-pic code if TARGET_64BIT.
6524         (legitimize_address): Generate 64-bit TLS sequences.
6525         (output_pic_addr_const): Support x86-64 TLS operators.
6526         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
6527         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
6528         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
6529         (output_addr_const_extra): Support x86-64 TLS operators.
6530         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
6531         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
6532         unconditionally.
6533         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
6534         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
6535         (*tls_global_dynamic_sun): Renamed to...
6536         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
6537         (tls_global_dynamic): Renamed to...
6538         (tls_global_dynamic_32): ... this.
6539         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
6540         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
6541         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
6542         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
6543         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
6544         (tls_local_dynamic_base_dynamic): Renamed to...
6545         (tls_local_dynamic_base_dynamic_32): ... this.
6546         (tls_local_dynamic_base_dynamic_64,
6547         *tls_local_dynamic_base_dynamic_64): New.
6548         (*tls_local_dynamic_once): Renamed to...
6549         (*tls_local_dynamic_32_once): ... this.
6550
6551 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6552
6553         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
6554         __divdi3, __umoddi3, or __moddi3.
6555
6556 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6557
6558         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
6559         instead of just opt_index as switch expression.
6560
6561         * calls.c (store_one_arg): Change type of 'excess_align'
6562         to unsigned int.
6563
6564         * profile.c (output_gcov_string): Change type of 'temp'
6565         to size_t.
6566
6567 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6568
6569         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
6570         (__fixunssfdi, __fixsfdi): Likewise.
6571         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
6572         (s390_single_qi): Likewise.
6573         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
6574         unsigned comparison warning.
6575         (s390_return_addr_rtx): New function.
6576         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
6577         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
6578         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
6579
6580 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6581
6582         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
6583         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
6584         (s390_output_mi_thunk): Remove.
6585         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6586
6587 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6588
6589         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
6590
6591 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
6592
6593         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
6594         inverted test in the conditional determining the possibility
6595         of sibcalls in PIC mode.
6596
6597 2002-10-20  Richard Henderson  <rth@redhat.com>
6598
6599         * target.h (struct gcc_target): Line wrap.
6600
6601         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
6602         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
6603         * config/alpha/alpha.h: ... not here.
6604         * config/alpha/alpha-protos.h: Update.
6605
6606         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
6607         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
6608         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6609         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
6610         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
6611         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
6612         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
6613         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6614         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
6615         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
6616         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
6617         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
6618         config/sparc/sparc.c, config/sparc/sparc.h,
6619         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
6620         config/stormy16/stormy16.h: Similarly.
6621
6622         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
6623         selection logic from call patterns.
6624
6625 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
6626
6627         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
6628
6629 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6630
6631         PR other/8202
6632         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
6633         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
6634         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
6635         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
6636
6637 2002-10-20  Roger Sayle  <roger@eyesopen.com>
6638
6639         PR c/761
6640         * toplev.c (flag_unsafe_profile_arcs): Remove.
6641         (flag_bounded_pointers): Remove.
6642         (flag_bounds_check): Correct comments.
6643         (lang_independent_options): Remove -funsafe-profile-arcs and
6644         -fbounded-pointers.  Correct -fbounds-check comments.
6645
6646         * flags.h: Correct flag_schedule_interblock comments.
6647         (flag_bounded_pointers): Remove prototype.
6648         (flag_bounds_check): Correct comments.
6649
6650         * c-opts.c (c_common_init_options): No need to mark
6651         flag_bounds_check as unspecified.
6652         (c_common_post_options): And no need to set it from
6653         flag_bounded_pointers if its still unspecified.
6654
6655         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
6656         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
6657         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
6658         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
6659
6660 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
6661         Angela Marie Thomas  <angela@releasedominatrix.com>
6662         Brendan Kehoe  <brendan@zen.org>
6663         Nick Clifton  <nickc@redhat.com>
6664         Andrew Haley  <aph@redhat.com>
6665
6666         * configure.in (--with-sysroot): New.  Don't inhibit libc if
6667         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
6668         and CROSS_SYSTEM_HEADER_DIR.
6669         * configure: Rebuilt.
6670         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
6671         (TARGET_SYSTEM_ROOT): New.
6672         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
6673         CROSS_SYSTEM_HEADER_DIR.
6674         (install-gcc-tooldir): New target.
6675         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
6676         if SYSTEM_HEADER_DIR does not exist and it's not the default
6677         sys-include directory.
6678         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
6679         (install-mkheaders): Likewise.
6680         * gcc.c (target_system_root): New variable.
6681         (add_sysrooted_prefix): New function.
6682         (process_command): Recompute run-time target_system_root from
6683         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
6684         does not exist.
6685         (do_spec_1): Process 'R' spec.
6686         (main): Add md_exec_prefix to exec_prefixes regardless of
6687         startfile_prefix_spec.  Use add_sysrooted_prefix for
6688         startfile_prefixes, and don't skip the default ones when cross
6689         compiling with sysroot enabled.  Removed unused case of
6690         non-absolute standard_startfile_prefix.
6691         * config/interix.h: Remove the only potential, yet disabled,
6692         occurrence of non-absolute (empty) standard_startfile_prefix.
6693         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
6694         linking.
6695         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
6696         * doc/install.texi (--with-sysroot): Document.
6697         (--with-headers, --with-libs): Deprecate.
6698
6699 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6700             Mark Mitchell  <mark@codesourcery.com>
6701
6702         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
6703         match target.h.
6704         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
6705         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
6706         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
6707         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
6708         x86_output_mi_thunk): Likewise.
6709         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
6710         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
6711         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
6712         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
6713         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
6714         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
6715         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
6716         Likewise.
6717         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
6718
6719         * target.h (gcc_target): Update output_mi_thunk and
6720         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
6721         vcall_index.
6722
6723         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
6724         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6725         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
6726         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
6727         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
6728         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
6729         signature.
6730         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
6731         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6732         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6733         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
6734         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
6735         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6736         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6737         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
6738         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
6739
6740         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
6741         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
6742
6743 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
6744
6745         * real.c (do_add): Fix 0+0 sign corner case.
6746         (do_divide): Fix Inf/0 corner case.
6747
6748 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
6749
6750         * i386.c (classify_argument): Pass MMX arguments in memory
6751         (ix86_expand_builtin): Expand proper address mode for cflush.
6752         * i386.md (movdqa): Fix typo.
6753         (sse2_cflush): Accept DImode addresses.
6754
6755         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
6756         (_mm_max_sd): Fix pasto.
6757         (_mm_storeh_pd, _mm_storel_pd): Fix.
6758
6759         * i386.c (bdesc_comi): Fix to match specification.
6760         (ix86_expand_sse_comi): Emit the comparison properly.
6761         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
6762         Do not use comparison operator.
6763         (vnmaskcmp): Fix template.
6764
6765         * xmmintrin.h (_mm_cvtps_pi16): Fix.
6766
6767 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
6768
6769         * dependence.c : Removed.
6770         * Makefile.in : Remove dependence.o.
6771
6772 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
6773
6774         * mmintrin.h (__m64): typedef it to v2si.
6775         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
6776         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
6777         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
6778         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
6779         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
6780         * xmmintrin.h (_mm_setzero_si64): Likewise.
6781
6782         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
6783         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
6784
6785         PR target/7693
6786         Patch by Shawn Wagner
6787         * mmintrin.h: Replace pi64 by si64.
6788
6789 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
6790
6791         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
6792         Use length of 4 not *.
6793         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
6794         (movdf_softfloat64): Likewise.
6795         (movdi_internal32): Use length of 4 not *.
6796         (movti_power): Same.
6797         (ctrsi, ctrdi): Same.
6798
6799 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
6800
6801         * c-decl.c (start_decl): Point users of the old initialized-
6802         typedef extension at __typeof__.
6803
6804 2002-10-18  Richard Henderson  <rth@redhat.com>
6805
6806         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
6807         (real_to_decimal): Re-implement using the logic from the
6808         gcc 3.2 etoasc.  Comment heavily.
6809         (div_significands): Simplify loop startup and comparison logic.
6810
6811 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
6812
6813         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
6814         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
6815         (TARGET_ASM_OUT): Add them.
6816         * target.h (asm_out): Add output_mi_thunk and
6817         output_mi_vcall_thunk.
6818         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6819         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6820         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
6821         * config/arm/arm.c (arm_output_mi_thunk): Define.
6822         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6823         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6824         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6825         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6826         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6827         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6828         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
6829         prototype.
6830         (x86_output_mi_vcall_thunk): Declare.
6831         * config/i386/i386.c (override_options): Clear
6832         output_mi_vcall_thunk in 64-bit mode.
6833         (ix86_fntype_regparm): New function.
6834         (ix86_return_pops_args): Use it.
6835         (ia32_this_parameter): New function.
6836         (x86_output_mi_vcall_thunk): New function.
6837         (x86_output_mi_thunk): Use it
6838         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
6839         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
6840         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
6841         * config/i960/i960.c (i960_output_mi_thunk): New function.
6842         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
6843         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
6844         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
6845         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6846         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6847         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
6848         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6849         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6850         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6851         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6852         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6853         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6854         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6855         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6856         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6857         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6858         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
6859         * config/s390/s390.c (s390_output_mi_thunk): Define.
6860         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6861         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6862         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6863         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6864         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6865         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6866         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
6867         * config/vax/vax.c (vax_output_mi_thunk): Define.
6868         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6869         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6870         * doc/tm.texi: Adjust documentation.
6871
6872 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
6873
6874         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
6875         __enable_execute_stack function.
6876         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
6877         as NETBSD_ENABLE_EXECUTE_STACK.
6878         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6879         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6880         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6881         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6882         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6883
6884 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
6885
6886         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
6887         to __enable_execute_stack with the address of the trampoline
6888         if TRANSFER_FROM_TRAMPOLINE is defined.
6889         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
6890         constant if building libgcc2.
6891
6892 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
6893
6894         * i386.c (pentium4_cost): Fix according to Intel recommendations.
6895         (ix86_memory_move_cost): Fix for 64bit compilation.
6896
6897 2002-10-17  Roger Sayle  <roger@eyesopen.com>
6898
6899         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
6900
6901 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
6902
6903         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
6904         in CTR/LR/MQ.
6905         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
6906         to/from CTR/LR/MQ.
6907         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
6908         (movsf_softfloat): Likewise.
6909
6910 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
6911
6912         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
6913
6914 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
6915
6916         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
6917         tramp, not addr, to pass the trampoline address to
6918         __enable_execute_stack.
6919
6920 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
6921
6922         * mmintrin.h: Guard by __MMX__
6923         * xmmintrin.h: Guard by __SSE__
6924
6925         PR other/8062
6926         * xmmintrin.h (_MM_SHUFFLE2): New macro.
6927         (_mm_load*_?d): New functions.
6928         (_mm_set*_?d): New functions.
6929         (_mm_store*_?d): New functions.
6930
6931 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
6932
6933         Really commit patch announced at Oct 14
6934         PR c/7344
6935         * predict.c (can_predict_insn_p): New function.
6936         (estimate_probability): Avoid unnecesary work.
6937         (process_note_prediction): Likewise.
6938         * toplev.c (rest_of_compilation): Account early branch prediction pass
6939         as TV_BRANCH_PROB.
6940
6941         PR other/8048
6942         Found by Ian Ollmann
6943         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
6944         (_mm_load?_pd): Likewise.
6945         (_mm_store?_pd): Likewise.
6946
6947         PR target/7386
6948         * i386.c (builtin_description):Drop cmpg[te]s[sd].
6949         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
6950         swapped alternative.
6951
6952         PR opt/7630
6953         * reload1.c (reload_inner_reg_of_subreg): New argument output;
6954         (push_reload): Update call.
6955
6956 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
6957
6958         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
6959         if using mips/elf.h or mips/elf64.h.
6960         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
6961         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
6962
6963 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
6964
6965         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
6966         SI.
6967
6968 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
6969
6970         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
6971         (LPREFIX): Likewise.
6972         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
6973         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
6974         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
6975         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
6976         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
6977
6978         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
6979         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
6980         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
6981         BSS_SECTION_ASM_OP): Move from linux.h.
6982         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
6983         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
6984
6985         * config/s390/s390.c (s390_function_profiler): Use
6986         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
6987
6988 2002-10-15  Eric Christopher  <echristo@redhat.com>
6989
6990         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
6991         * java/parse.y (obtain_incomplete_type): Make pointer
6992         ptr_mode.
6993
6994 2002-10-15  Richard Henderson  <rth@redhat.com>
6995
6996         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
6997         as arguments.  Bound DIGITS by the available buffer size.
6998         (real_to_hexadecimal): Likewise.
6999         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
7000         (REAL_VALUE_TO_DECIMAL): Remove.
7001         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
7002         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
7003         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
7004         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7005         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
7006         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
7007         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
7008         use real_to_decimal directly, and with the proper arguments.
7009         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
7010
7011 2002-10-15  Jim Wilson  <wilson@redhat.com>
7012
7013         * reload1.c (merge_assigned_reloads): After converting overlapping
7014         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
7015
7016         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
7017
7018 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
7019
7020         * expr.c (do_tablejump): Fix typo in my previous commit.
7021
7022 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
7023
7024         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
7025
7026 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7027
7028         * config/s390/s390.c (s390_split_branches): Add return
7029         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
7030
7031         (find_base_register_in_addr): New function.
7032         (find_base_register_ref): New function.
7033         (replace_base_register_ref): New function.
7034
7035         (struct constant_pool): Add members pool_insn, insns, and anchor.
7036         Remove member last_insn.
7037         (s390_start_pool): Initialize them.
7038         (s390_end_pool): Emit pool placeholder insn.
7039         (s390_add_pool_insn): New function.
7040         (s390_find_pool): Use insns bitmap instead of addresses.
7041         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
7042         Replace unspec 104 by local-pool-relative references.
7043         (s390_output_constant_pool): Output anchor label if required.
7044         (s390_output_symbolic_const): Handle unspec 104 and 105.
7045         (s390_add_pool): Remove, replace by ...
7046         (s390_add_constant, s390_find_constant): ... these new functions.
7047         (s390_add_anchor): New function.
7048
7049         (s390_chunkify_pool): Delete, replace by ...
7050         (s390_chunkify_start, s390_chunkify_finish,
7051         s390_chunkify_cancel): ... these new functions.
7052         (s390_optimize_prolog): Add parameter TEMP_REGNO.
7053         Recompute register live data for special registers.
7054         (s390_fixup_clobbered_return_reg): New function.
7055         (s390_machine_dependent_reorg): Rewrite to use new
7056         s390_chunkify_... routines.
7057
7058         config/s390/s390.md ("reload_base"): Rename to ...
7059         ("reload_base_31"): ... this.
7060         ("reload_base_64"): New insn.
7061         ("reload_base2"): Remove.
7062         ("reload_anchor"): New insn.
7063         ("pool"): New insn.
7064
7065         s390.c (s390_pool_overflow): Remove.
7066         s390.h (s390_pool_overflow): Likewise.
7067         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
7068
7069 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
7070
7071         * sh.md (movv8qi_i+2): Don't split if source is -1.
7072
7073 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
7074
7075         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
7076
7077 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7078
7079         PR opt/7409
7080         * loop.c (loop_regs_scan): Mark registers used for function
7081         argument passing as MAY_NOT_OPTIMIZE.
7082
7083 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7084
7085         * gcov-io.h (gcov_info): Fix type.
7086         * profile.c (create_profiler): Fix type mismatch.
7087
7088 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
7089
7090         * i386.md (movv2di_internal): New pattern.
7091         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
7092         (movv2di): New expander.
7093         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
7094
7095         * i386.c (ix86_expand_timode_binop_builtin): Delete.
7096         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
7097         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
7098         (ix86_expand_builtin): Likewise.
7099         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7100         sse_andti3,
7101         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7102         sse_andnti3,
7103         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
7104         sse_orti3,
7105         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
7106         sse_xorti3): Kill.
7107         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
7108          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
7109         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
7110          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7111         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
7112          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7113
7114         * xmmintrin.h (__m128i): Define as __v2di.
7115
7116         PR c++/6419
7117         (expand_expr): Use DECL_RTL_SET_P.
7118
7119 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7120
7121         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
7122
7123 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7124             Zack Weinberg <zack@codesourcery.com>
7125
7126         * config/i386/i386.c (k6_cost): Correct typo.
7127
7128 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
7129
7130         PR optimization/6631
7131         * alias.c (objects_must_conflict_p): Check honor_readonly when
7132         examining TYPE_READONLY.
7133         * function.c (assign_stack_temp_for_type): Likewise.
7134
7135 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
7136
7137         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
7138         Swap zero extension arguments.
7139         (umaxhi3): Fix instruction class.
7140         PR target/7211
7141         (prefetch): Fix prefetch instructions.
7142         PR target/7238
7143         (pkwb): Fix output constraint.
7144
7145 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
7146
7147         * config/mips/mips.c (print_operand): Increase buffer size for
7148         real numbers.
7149
7150 2002-10-14  Richard Henderson  <rth@redhat.com>
7151
7152         PR opt/8165
7153         * gcse.c (adjust_libcall_notes): Revert last change.
7154         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
7155
7156 2002-10-14  Andrew Haley  <aph@redhat.com>
7157
7158         * tree-inline.c (remap_block): All local class initialization
7159         flags go in the outermost scope.
7160         (expand_call_inline): Call java_inlining_map_static_initializers.
7161         (expand_call_inline): Call java_inlining_merge_static_initializers.
7162         * java/lang.c (merge_init_test_initialization): New.
7163         (java_inlining_merge_static_initializers): New.
7164         (inline_init_test_initialization): New.
7165         (java_inlining_map_static_initializers): New.
7166
7167         * tree-inline.c (expand_call_inline): Convert retvar to expected
7168         type.
7169
7170 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
7171
7172         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
7173
7174 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
7175
7176         * stmt.c: Fix typo in comment.
7177
7178 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7179
7180         * c-common.c (c_common_type_for_mode): Add V2HImode case.
7181         * tree.c (build_common_tree_nodes_2): Initialize
7182         unsigned_V2HI_type_node and V2HI_type_node.
7183         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
7184         (unsigned_V2HI_type_node, V2HI_type_node): Define.
7185
7186 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
7187
7188         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
7189         Handle TARGET_64BIT.
7190
7191 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7192
7193         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
7194         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
7195         (MULTILIB_DIRNAMES): Remove long32.
7196         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
7197         (MULTILIB_REDUNDANT_DIRS): Remove.
7198
7199 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7200
7201         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
7202         * gcc.c (driver_self_specs): New variable.
7203         (do_self_spec): New function.
7204         (main): Use it to process driver_self_specs.
7205
7206 2002-10-13  Richard Henderson  <rth@redhat.com>
7207
7208         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
7209         indirect sibcalls when regparm >= 3.
7210
7211         * config/i386/i386.c (sibcall_insn_operand): New.
7212         * config/i386/i386.h (PREDICATE_CODES): Update.
7213         * config/i386/i386-protos.h: Update.
7214         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
7215
7216         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
7217
7218 2002-10-12  Roger Sayle  <roger@eyesopen.com>
7219
7220         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
7221         arithmetic right shifts of ~0 during RTL simplifications.
7222
7223 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
7224
7225         PR preprocessor/7862
7226         PR preprocessor/8190
7227         * gcc.c (cpp_unique_options): Don't delete .d files.
7228         Remove stray whitespace.
7229
7230 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
7231
7232         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
7233         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
7234         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
7235         (pdp11_output_function_epilogue, output_ascii): Likewise.
7236         (output_addr_const_pdp11): Likewise.
7237         * pdp11.md (movdi): Use offsetable memory for floating store.
7238         (lshrsi3, negsi2): Delete irrelevant comment.
7239
7240 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
7241
7242         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
7243         indirect calls to be sibcall optimized.
7244         * config/i386/i386.md (sibcall_1): New.
7245         (call_1): Add no-sibcalls condition.
7246         (sibcall_value_1): New.
7247         (call_value_1): Add no-sibcalls condition.
7248
7249 2002-10-11  Eric Christopher  <echristo@redhat.com>
7250
7251        * output.h (default_valid_pointer_mode): Declare.
7252        * varasm.c (default_valid_pointer_mode): Define.
7253        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
7254        * target.h: Ditto.
7255        * tree.c (build_pointer_type_for_mode): New function.
7256        (build_pointer_type): Use.
7257        (build_reference_type_for_mode): New function.
7258        (build_reference_type): Use.
7259        * tree.h: Declare new functions.
7260        * c-common.c (handle_mode_attribute): Use new functions, check
7261        for type.
7262        * stor-layout.c (layout_type): Depend on machine mode for
7263        REFERENCE_TYPE and POINTER_TYPE.
7264        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
7265        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
7266        and REFERENCE_TYPE.
7267        * config/mips/mips.c (mips_valid_pointer_mode): New function.
7268        (TARGET_VALID_POINTER_MODE): Use and define.
7269        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
7270
7271 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
7272
7273         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
7274         not the address of the REG.
7275         (struct cse_reg_info): Make subreg_ticked unsigned.
7276
7277 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
7278
7279         * doc/compat.texi: Add info about C++ libraries.
7280
7281 2002-10-11  Richard Henderson  <rth@redhat.com>
7282
7283         PR opt/8165
7284         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
7285
7286 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7287
7288         * cfganal.c (dfs_enumerate_from): Use PARAMS.
7289         * genautomata.c (output_insn_code_cases): Likewise.
7290         * real.c (real_format): Likewise.
7291         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
7292         ensure value is promoted before doing subtraction.
7293
7294 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
7295
7296         * calls.c (expand_call): Simplify noreturn call.
7297
7298         PR c/7344
7299         * cfgbuild.c (make_edges): Create edge cache when we do have
7300         large jumptable.
7301         * expr.c (do_tablejump): Note size of maximal jumptable.
7302         * function.c (prepare_function_start): Zero out size.
7303         * function.h (function): Add max_jumptable_ents.
7304
7305         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7306
7307 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
7308
7309         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
7310         register for mperm_w operation.
7311
7312 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
7313
7314         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
7315         an integer, use simplify_gen_subreg.
7316
7317 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
7318
7319         * calls.c (flags_from_decl_or_type): Make extern.
7320         (ECF_*): Move ...
7321         * rtl.h (ECF_*): ... here.
7322         (flags_from_decl_or_type): Declare.
7323
7324 2002-10-10  Roger Sayle  <roger@eyesopen.com>
7325             Nathan Sidwell <nathan@codesourcery.com>
7326
7327         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
7328         shifts of the form -1 >> x.
7329
7330 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
7331
7332         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7333
7334 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
7335
7336         * extend.texi (Vector Extensions): Remove comment about single
7337         element vectors.
7338
7339 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7340
7341         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
7342         * function.c (insns_for_mem_hash): Likewise.
7343         * varasm.c (STRHASH): Likewise.
7344
7345 2002-10-10  Stuart Hastings  <stuart@apple.com>
7346
7347         * cse.c (struct cse_reg_info): Add subreg_ticked.
7348         (SUBREG_TICKED): New.
7349         (get_cse_reg_info): Initialize SUBREG_TICKED.
7350         (mention_regs): Use it.
7351         (invalidate): Set SUBREG_TICKED.
7352         (invalidate_for_call): Likewise.
7353         (addr_affects_sp_p): Likewise.
7354
7355 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
7356
7357         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
7358         into proper operand.
7359
7360 2002-10-10  Denis Chertykov  <denisc@overta.ru>
7361
7362         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
7363         deallocation.
7364         * config/ip2k/libgcc.S: Combine routines used by function
7365         epilogue.
7366
7367 2002-10-10  Jim Wilson  <wilson@redhat.com>
7368
7369         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
7370         UDIV.
7371
7372 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
7373
7374         * config/rs6000/aix52.h: New file.
7375         * config/rs6000/t-aix52: New File.
7376         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
7377         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
7378
7379 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
7380
7381         PR target/5610
7382         * invoke.texi (-msse-math): Kill
7383         (-msse): Add note to mfpmath=sse.
7384
7385 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
7386
7387         PR target/7723
7388         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
7389
7390 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
7391
7392         PR preprocessor/8179
7393         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
7394         as cc1_options.
7395         (default_compilers): Pass debug options when preprocessing
7396         stdin.
7397
7398 2002-10-06  Richard Henderson  <rth@redhat.com>
7399
7400         * toplev.c (rest_of_compilation): Revert opt/2960 change.
7401
7402 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
7403
7404         * i386.c (*_cost): Add branch costs.
7405         (override_options): set ix86_branch_cost.
7406         (ix86_expand_int_movcc): Use BRANCH_COST.
7407         * i386.h (costs): Add branch_cost.
7408
7409 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
7410
7411         PR c/7353
7412         * c-decl.c (start_decl): Unconditionally issue error for
7413         'typedef foo = bar'.
7414         (finish_decl): Remove special case for TYPE_DECL with initializer.
7415
7416         * doc/extend.texi: Delete "Naming Types" section.  Change all
7417         cross-references to that section to refer to "Typeof" instead.
7418         Add the useful safe-max()-macro example from "Naming Types" to
7419         "Typeof", rewritten using that extension.  Add some compatibility
7420         notes to "Typeof."
7421
7422 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7423
7424         * loop.c: Revert 2002-08-15 change.
7425         (LOOP_REGNO_NREGS): Ensure type is int.
7426
7427 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7428
7429         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
7430         which copies first FPR and clears second.
7431         (extendsftf2): Same.
7432         (floatditf2): Fix typo.
7433         (floatsitf2): Same.
7434         (fix_trunctfdi2): Same.
7435         (fix_trunctfsi2): Same.
7436
7437 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7438
7439         * conflict.c (arc_hash): Change return type to hashval_t.
7440         * cselib.c (get_value_hash): Likewise.
7441         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
7442         state_hash, automata_list_hash): Likewise.
7443         * read-rtl.c (def_hash): Likewise.
7444         * tree.c (type_hash_hash): Likewise.
7445
7446 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
7447
7448         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
7449         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
7450
7451 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7452
7453         * sh.md (ffssi2): Fix emitted code.
7454
7455 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
7456
7457         * cse.c (insn_live_p): Pass insn pattern, not full insn
7458         to may_trap_p.
7459
7460 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
7461
7462         * cppmacro.c (paste_tokens): Only allow / to paste with =.
7463
7464 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7465
7466         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
7467         64-bit hosts.
7468         (movtf_internal): Reference correct displacement for second value
7469         in memory.
7470         (movtf splitter): Correct generation of constants in 64-bit mode.
7471
7472 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
7473
7474         * libgcc2.c (__floatdisf): Properly cure double rounding.
7475
7476 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7477
7478         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
7479         * doc/cpp.texi (Common Predefined Macros): Document.
7480
7481 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7482
7483         PR doc/7484
7484         * doc/invoke.texi (Option Summary): List
7485         -Wmissing-declarations as a C only option.
7486
7487 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7488
7489         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
7490         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
7491         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
7492
7493 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7494
7495         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7496         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
7497         variables.
7498         (safe_vector_operand): Update sse_clrv4sf call.
7499         (ix86_expand_buildin): Likewise
7500         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7501         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
7502         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
7503         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
7504         macros.
7505         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
7506         movv4si):  Obey the new flags.
7507         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
7508         reformating penalty.
7509         (anddf, cmov patterns): Avoid reformating by first converting.
7510         (sse_cvtsd2ss): Fix predicate.
7511         (sse2_clrti): Fix mode,
7512         (sse_clrv4sf): Avoid unspec.
7513
7514 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
7515
7516         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
7517         mno-app-regs|mcmodel=medany.
7518         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
7519         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
7520         (CRTSTUFF_T_CFLAGS): Define.
7521
7522 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7523
7524         PR target/8087
7525         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
7526         pool references that are constructed using LO_SUM.
7527
7528 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
7529
7530         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
7531         -Wall.
7532         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
7533         message.
7534         * flags.h (warn_strict_aliasing): Declare.
7535         * toplev.c (warn_strict_aliasing): Define.
7536         (lang_independent_options): Add it.
7537         * doc/invoke.texi (-Wstrict-aliasing): Document it.
7538
7539 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
7540
7541         * system.h (GCCBUGURL): Delete.
7542         * version.c (bug_report_url): New.  Add commentary about
7543         modifying both these strings in modified distributions.
7544         * version.h: Declare bug_report_url.
7545
7546         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
7547         bug_report_url.
7548
7549 2002-10-08  Nick Clifton  <nickc@redhat.com>
7550
7551         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
7552         convert uint64_t into __ev64_opaque__.
7553         (__ev_set_acc_s64): Likewise, but using signed types.
7554
7555 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
7556
7557         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
7558         ("*doloop_di_long"): Likewise.
7559
7560 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
7561
7562         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
7563
7564 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
7565
7566         * config/mips/mips.md (define_attr cpu): Add r4111.
7567
7568 2002-10-08  Anthony Green  <green@redhat.com>
7569
7570         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
7571
7572 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7573
7574         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
7575         for REAL_VALUE_TO_DECIMAL output.
7576
7577 2002-10-07  Richard Henderson  <rth@redhat.com>
7578
7579         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
7580         function; cleanup PLUS case by using recursion.  Update all users.
7581         (NONZERO_BASE_PLUS_P): Remove.
7582         (find_comparison_args): Use rtx_addr_can_trap_p instead.
7583         (fold_rtx): Use nonzero_address_p.
7584         * rtl.h (nonzero_address_p): Declare.
7585         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
7586         (rtx_addr_can_trap_p): Likewise.
7587         (nonzero_address_p): New.
7588         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
7589         (simplify_relational_operation): Use nonzero_address_p.
7590
7591 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
7592
7593         * config/rs6000/rs6000.c (rs6000_override_options): Set
7594         real_format_for_mode for IBM extended format, if enabled.
7595         (easy_fp_constant): Add TFmode.
7596         (rs6000_legitimize_address): Add TFmode.
7597         (rs6000_legitimate_address): Same.
7598         (function_arg_advance): TFmode uses two FPRs.
7599         (rs6000_emit_prologue): Fix warning.
7600         (rs6000_output_function_epilogue): Add TFmode.
7601         (output_toc): Add TFmode.
7602         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
7603         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
7604         * rs6000.md (movtf splitter): Load TFmode constant.
7605
7606 2002-10-07  Dale Johannesen  <dalej@apple.com>
7607
7608         * rtl.h:  Add NOTE_PRECONDITIONED.
7609         * unroll.c:  Set it.
7610         * loop.c:  Set loop_info->preconditioned from it.
7611         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
7612
7613 2002-10-07  Richard Henderson  <rth@redhat.com>
7614
7615         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
7616         new rtx for comparing the argument pointer against zero.
7617         (i960_va_start): Similarly.
7618
7619 2002-10-07  Richard Henderson  <rth@redhat.com>
7620
7621         * config/i960/i960.md (*): Use TFmode, not XFmode.
7622         * config/i960/i960.c (*): Likewise.
7623         (i960_arg_size_and_align): Remove XFmode alignment hack.
7624         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
7625         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
7626         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
7627         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
7628
7629 2002-10-07  Richard Henderson  <rth@redhat.com>
7630
7631         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
7632         entry points; use void return value and argument list.
7633
7634 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
7635
7636         * calls.c (expand_call): Fix function-is-volatile check.
7637
7638 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
7639
7640         * t-pdp11: Add MULTILIB support for msoft-float.
7641         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
7642
7643         * t-pdp11: Add LIB2FUNCS_EXTRA.
7644         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
7645         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
7646         'fldd' to 'ldd', rename 'fstd' to 'std'.
7647         (pdp11_output_function_epilogue): Likewise.
7648         (output_move_quad): Make the comment gas compatible.
7649         (output_ascii): Add preceding 0 to the octal constant.
7650         (print_operand_address): Add pre_modify, post_modify.
7651         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
7652         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
7653         with the indication of Paul Koning.
7654         (PRINT_OPERAND): Fix floating constant.
7655         * pdp11.md (movdi): Restrict matching pattern.
7656         (movqi): Generalize the matching pattern.
7657         (movdf): Restrict matching pattern.
7658         (zero_extendqihi2): Change constant representation.
7659         (floatsidf2): Fix wrong operands.
7660         (addqi3): Fix wrong instruction name.
7661         (subqi3): Fix wrong instruction name.
7662         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
7663         (xorsi3): Fix wrong insn.
7664         (one_cmplqi2): Add two operand pattern.
7665         (lsrsi3): New.
7666         (negsi2): New.
7667         (call): Add register indirect case.
7668         (mod): Fix wrong subreg.
7669
7670 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
7671             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7672
7673         PR c/7411
7674         * expr.c (expand_expr) [PLUS]: Simplify after the operands
7675         have been expanded in EXPAND_NORMAL mode.
7676
7677 2002-10-06  Richard Henderson  <rth@redhat.com>
7678
7679         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
7680
7681 2002-10-06  Richard Henderson  <rth@redhat.com>
7682
7683         PR optimization/2960
7684         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
7685         optimize_size.
7686
7687 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
7688
7689         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
7690         previously definitions.
7691
7692 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
7693
7694         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
7695         * c-opts.c (find_opt): Similarly.
7696
7697 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
7698
7699         * athlon.md: rewrite to DFA.
7700         * i386 (ix86_adjust_cost): Drop memory latency code.
7701         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
7702
7703 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
7704
7705         * gcc.c (set_multilib_dir): Don't access *end.
7706         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
7707         (print_multilib_info): Don't show paths starting with ".:".
7708         * genmultilib: Add new option, "yes" if multilibs are enabled.
7709         Update comments.  If multilibs not enabled, print .:${osdirout}
7710         for each directory.  If multilibs are enabled, always print
7711         ${dirout}:${osdirout}, even if the two are the same.
7712         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
7713         Pass all MULTILIB_* variables to genmultilib even if
7714         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
7715
7716 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
7717
7718         * gcc.c (process_command): Set .validated for -pipe.  Correct
7719         grammar in comment.
7720
7721 2002-10-04  Bruce Korb  <bkorb@gnu.org>
7722
7723         * fixinc/inclhack.def(hpux11_abs):  use format fix
7724         * fixinc/fixincl.x: regenerate
7725         * fixinc/tests/base/stdlib.h: accommodate new fix test
7726
7727 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
7728
7729         * c-common.c (cb_register_builtins):  Use really_no_inline.
7730
7731 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
7732
7733         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
7734         copied instruction if the note is not loop invariant.
7735
7736 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
7737
7738         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
7739
7740 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7741
7742         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
7743         and -mhp-ld options to list of options.  Add -mgnu-ld
7744         and -mhp-ld option descriptions.
7745
7746 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7747
7748         * fixinc/inclhack.def (hpux11_abs):  New.
7749         (stdio_va_list): change __va_list__ to __gnuc_va_list.
7750         * fixinc/fixincl.x: Rebuild.
7751
7752 2002-10-04  Roger Sayle  <roger@eyesopen.com>
7753
7754         * config/i386/i386.h (processor_costs): Add new fields fadd,
7755         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
7756         (RTX_COSTS): Use these fields to determine the RTX costs
7757         of floating point addition/subtraction, multiplication,
7758         division, fabs, negation and square root respectively.
7759         * config/i386/i386.c (size_cost): Provide instruction sizes
7760         for these new fields.
7761         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
7762         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
7763         counts for these new fields for all x86 processor variants.
7764
7765 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7766
7767         * mips.c (mips_const_double_ok): Delete unused variable.
7768
7769         * gengtype.c (rtx_next): Change type to int.
7770
7771 2002-10-04  Andreas Jaeger  <aj@suse.de>
7772
7773         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
7774
7775 2002-10-04  Richard Henderson  <rth@redhat.com>
7776
7777         * real.h (SIGNIFICAND_BITS): Add one more word.
7778         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
7779         * real.c (times_pten): New.
7780         (real_to_decimal, real_from_string): Use it.
7781         (sticky_rshift_significand): Use & to find modulus.
7782         (rshift_significand, lshift_significand): Likewise.
7783         (do_divide): Apply sticky bit after normalization.
7784         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
7785
7786 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
7787
7788         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
7789         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
7790
7791 2002-10-03  Andreas Jaeger  <aj@suse.de>
7792
7793         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
7794         to unsigned long, adjust printf format string.
7795         (output_mangled_typename): Likewise.
7796
7797 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
7798
7799         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
7800         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
7801         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
7802         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
7803         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
7804         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
7805         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
7806         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
7807
7808 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
7809
7810         * doc/invoke.texi (-Wabi): Document mangling bug.
7811
7812 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
7813
7814         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
7815         name for the tbtab label that depends on the function asm name.
7816         Don't output tbtab label unless optional_tbtab.
7817         (output_mi_thunk): Formatting.
7818
7819 2002-10-03  Richard Henderson  <rth@redhat.com>
7820
7821         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
7822         * config/m68k/m68k.c (override_options): ... here.
7823         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
7824         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
7825         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7826         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7827
7828 2002-10-03  Richard Henderson  <rth@redhat.com>
7829
7830         * real.h (struct real_value): Use ENUM_BITFIELD.
7831
7832 2002-10-03  Richard Henderson  <rth@redhat.com>
7833
7834         * config/i960/i960.md (call, call_value): Use emit_call_insn.
7835
7836 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
7837
7838         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
7839
7840 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
7841
7842         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
7843         * config/pa/pa.h (MASK_GNU_LD): New.
7844         (TARGET_GNU_LD): New.
7845         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
7846         on gnu-ld and MASK_GNU_LD.
7847         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
7848
7849 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
7850
7851         * i386.c (athlon_cost): Fix the move costs.
7852
7853 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
7854
7855         * final.c (final): Use symbol name as function name for profiling.
7856         * profile.c (get_exec_counts): Likewise.
7857         (branch_prob): Likewise.
7858
7859 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
7860
7861         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
7862
7863 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
7864
7865         * gcc.c (print_multi_os_directory): New variable.
7866         (option_map): Support --print-multi-os-directory.
7867         (struct prefix_list): Add os_multilib field.
7868         (multilib_os_dir): New variable.
7869         (static_specs): Add multilib_options.
7870         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
7871         subdirs if nonzero.
7872         (read_specs, execute): Update callers.
7873         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
7874         pass 1 as multilib option.
7875         (display_help): Include --print-multi-os-directory.
7876         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
7877         (process_command): Update callers.  Handle --print-multi-os-directory.
7878         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
7879         set.
7880         (main): Update find_a_file and add_prefix callers.
7881         Handle print_multi_os_directory.
7882         (struct mdswitchstr): New.
7883         (mdswitches, n_mdswitches): New variables.
7884         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
7885         present on the command line nor their mutually incompatible
7886         switches.
7887         (default_arg): Optimize.
7888         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
7889         array.
7890         (print_multilib_info): Only print GCC multilib dir name, not OS
7891         multilib dirname.
7892         * genmultilib: Add osdirnames parameter.  Output multilib_options
7893         variable.  If osdirnames is specified, output dirnames as
7894         dirname:osdirname.
7895         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
7896         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
7897         to compute libgcc_s soname and install path.
7898         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
7899         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
7900         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
7901         argument.
7902
7903         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
7904         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7905         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
7906         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
7907         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
7908         and -m64.
7909         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
7910         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7911         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
7912         (STARTFILE_ARCH_SPEC): Remove.
7913         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
7914         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7915         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
7916         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
7917         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7918
7919 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
7920
7921         * predict.c (choose_function_section): Avoid choice for linkonce functions.
7922
7923 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
7924
7925         * i386.md (lea to mul peep2): Fix condition.
7926
7927 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7928
7929         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
7930         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
7931
7932 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
7933
7934         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
7935         attribute "unused".
7936
7937         * config/t-libunwind: Mention unwind-sjlj.c.
7938         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
7939         to #ifndef __USING_SJLJ_EXCEPTIONS__.
7940
7941         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
7942         before inclusion of config.gcc, but after configuring the compiler etc.
7943         Determine default value for --enable-libunwind-exceptions based on
7944         whether the host has a libunwind library (not guaranteed to be correct,
7945         but it's a reasonable first guess and can always be overridden with an
7946         explicit --enable/disable-libunwind-exceptions.
7947         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
7948         tmake_file when $use_libunwind_exceptions is enabled.
7949         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
7950         ia64 (e.g., config/t-linux also updates it).
7951         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
7952         along with the shared version of libgcc since the latter requires
7953         the former.
7954         * unwind-libunwind.c: New file.
7955         * config/t-libunwind: Ditto.
7956
7957 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
7958
7959         * config.gcc: Remove support for vax-*-vms*.
7960         * config/vax/vms.h: Remove.
7961         * config/vax/xm-vms.h: Remove.
7962         * config/vax/vax-protos.h: Remove VMS-specific code.
7963         * config/vax/vax.c: Remove VMS-specific code.
7964
7965 2002-10-02  Richard Henderson  <rth@redhat.com>
7966
7967         PR opt/7124
7968         * config/i386/i386.c (ix86_register_move_cost): Increase cost
7969         for secondary_memory_needed pairs.
7970
7971 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
7972
7973         * doc/vms.texi: Blow away false include file section.
7974
7975 2002-10-02  Roger Sayle  <roger@eyesopen.com>
7976
7977         PR optimization/6627
7978         * toplev.c (force_align_functions_log): New global variable.
7979         * flags.h (force_align_functions_log): Add extern prototype.
7980         * varasm.c (assemble_start_function): Use it to force minimum
7981         function alignment.
7982         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
7983         minimum function alignment to one byte.
7984         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
7985         the least significant bit of vtable member function pointers.
7986         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
7987         here from cp/cp-tree.h.
7988
7989 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
7990
7991         * i386.c (print_operand_address): Use RIP addressing for offsetted
7992         label refs too.
7993
7994 2002-09-30  David S. Miller  <davem@redhat.com>
7995
7996         PR middle-end/7151
7997         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
7998         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
7999
8000 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
8001
8002         * calls.c (expand_call): Remove the `no indirect check'
8003         for sibcall optimization; use function_ok_for_sibcall
8004         target hook; refine check for `function is volatile'.
8005         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
8006         * hooks.c (hook_tree_tree_bool_false): New.
8007         * hooks.h (hook_tree_tree_bool_false): Declare.
8008         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8009         (TARGET_INITIALIZER): Add it.
8010         * target.h (struct gcc_target): Add function_ok_for_sibcall.
8011         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
8012         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8013         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8014         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
8015         Remove function declaration.
8016         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
8017         function static and accept another argument of type `tree'.
8018         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8019         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8020         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8021         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
8022         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8023         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8024         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8025         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
8026         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
8027         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8028         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8029         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
8030         Remove function declaration.
8031         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
8032         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
8033         rename first argument to `decl'; accept another argument
8034         of type `tree'; make static.
8035         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8036         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8037         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
8038         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8039         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8040         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
8041         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8042         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8043         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8044
8045 2002-10-01  Roger Sayle  <roger@eyesopen.com>
8046
8047         * unroll.c (loop_iterations): Revert 2002-09-08 change.
8048
8049 2002-10-01  Richard Henderson  <rth@redhat.com>
8050
8051         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
8052         (real_to_hexadecimal): Likewise.
8053         * print-rtl.c (print_rtx): If we are linked with real.c, don't
8054         dump the XWINT fields of a floating point CONST_DOUBLE.
8055
8056 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
8057
8058         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
8059
8060 2002-10-01  Richard Henderson  <rth@redhat.com>
8061
8062         * calls.c (precompute_register_parameters): Force non-legitimate
8063         constants into pseudos.
8064
8065 2002-10-01  Nick Clifton  <nickc@redhat.com>
8066
8067         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
8068         to assembler template.
8069
8070 2002-10-01  Richard Henderson  <rth@redhat.com>
8071
8072         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
8073         for TLS debug info to !DECL_EXTERNAL.
8074
8075 2002-10-01  Matt Thomas  <matt@3am-software.com>
8076             Jason Thorpe  <thorpej@wasabisystems.com>
8077
8078         * config.gcc (vax-*-netbsdelf*): Enable configuration.
8079         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
8080         if not already defined.
8081         * config/vax/elf.h: New file.
8082         * config/vax/netbsd-elf.h: New file.
8083         * config/vax/vax.c: Include "debug.h".
8084         (vax_output_function_prologue): Add dwarf2 support.  Use
8085         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
8086         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
8087         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
8088         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
8089         (VAX_ISTREAM_SYNC): Remove.
8090         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
8091         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8092         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
8093         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
8094         and assemble_name.
8095         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8096         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
8097         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
8098         (INCOMING_RETURN_ADDR_RTX): Define.
8099         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
8100         (VUNSPEC_SYNC_ISTREAM): Define.
8101         (blockage): Use VUNSPEC_BLOCKAGE.
8102         (sync_istream): New insn.
8103
8104 2002-10-01  Richard Henderson  <rth@redhat.com>
8105
8106         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
8107         (*call_value_pop, call, call_value): Add dwarf2 EH support.
8108         (*call): New insn.
8109
8110 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8111
8112         PR c/8083
8113         * c-typeck.c (build_c_cast): Warn about type punning which breaks
8114         type based aliasing.
8115
8116 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
8117
8118         * stor-layout.c (update_alignment_for_field): New function.
8119         (place_union_field): Use it.
8120         (place_field): Likewise.
8121
8122 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8123
8124         PR other/8077
8125         * gcc.c (cc1_options): Add space on -auxbase-strip.
8126
8127 2002-10-01  Jim Wilson  <wilson@redhat.com>
8128
8129         * config/v850/v850.h (EPILOGUE_USES): Define.
8130
8131 2002-09-30  Andrew Haley  <aph@redhat.com>
8132
8133         * flow.c (insn_dead_p): When using non-call-exceptions, don't
8134         eliminate insns that may trap.
8135         * cse.c (insn_live_p): Likewise.
8136
8137 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8138
8139         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
8140         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
8141         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
8142         * config/mips/mips.md: Apply same renaming here.
8143
8144 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8145
8146         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
8147         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
8148         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
8149         * config/mips/mips.md (define_attr cpu): Remove r4320.
8150         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
8151
8152 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8153
8154         * config/mips/mips.c (mips16_strings): New variable.
8155         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
8156         symbol in mips16_strings.  Free the list.
8157         (mips_encode_section_info): Keep track of local strings.
8158
8159 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8160
8161         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
8162         (sordered_df, sordered_sf): Remove.
8163         * config/mips/mips.c (get_float_compare_codes): New fn.
8164         (gen_int_relational, gen_conditional_move): Use it.
8165
8166 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8167
8168         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
8169         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
8170         * config/mips/mips.c (fcc_register_operand): New function.
8171         (mips_emit_fcc_reload): New function, extracted from reload_incc.
8172         (override_options): Allow TFmode values in float registers
8173         if ISA_HAS_8CC.
8174         * cnfig/mips/mips.md (reload_incc): Change destination prediate
8175         to fcc_register_operand.  Remove misleading source constraint.
8176         Use mips_emit_fcc_reload.
8177         (reload_outcc): Duplicate reload_incc.
8178
8179 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
8180
8181         * gcc.c (validate_switches): Handle all new forms of spec
8182         syntax introduced recently.  Now returns a char *.
8183         (validate_all_switches): Repetitive logic broken out to...
8184         (validate_switches_from_spec): ...here.
8185         * mklibgcc.in: Don't @-flag commands to generate .oS files.
8186
8187 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
8188
8189         * longlong.h: Partially synchronize with GMP-4.1 version:
8190         Use i370 definitions also for s390.
8191         Add generic definition of umul_ppmm in terms of smul_ppmm.
8192         [s390] (umul_ppmm): Remove.
8193         [s390] (smul_ppmm): Fix incorrect assembler constraints.
8194         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
8195
8196 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
8197
8198         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
8199         Add new RL_REGS register class.
8200         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
8201         Call xtensa_preferred_reload_class for both input and output reloads.
8202         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
8203         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
8204         instead of either AR_REGS or GR_REGS classes.
8205         (xtensa_secondary_reload_class): Use new RL_REGS class.
8206         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
8207
8208 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8209
8210         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
8211         (pa_strip_name_encoding): Strip '@' and '*', in that order.
8212         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
8213         there is a '*' prefix in NAME.
8214
8215 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
8216
8217         * reload.c (push_reload): Handle subregs and secondary memory.
8218         * reload1.c (gen_reload): Likewise.
8219
8220         * jump.c (reg_or_subregno): New function.
8221         * rtl.h (reg_or_subregno): Declare
8222         * unroll.c (find_splittable_givs): Handle subregs.
8223
8224 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
8225
8226         * store-layout.c (finish_record_layout): Add free_p parameter.
8227         (layout_type): Pass it.
8228         * tree.h (finish_record_layout): Update prototype.
8229
8230 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
8231
8232         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
8233
8234         * gcse.c (cprop_jump): Check that the register has not
8235         been modified
8236         (cprop_jump): Likewise.
8237
8238 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
8239
8240         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
8241         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
8242         that we have a SImode access, and only then if reload hasn't completed;
8243         for all other cases, use LO_REGS.
8244
8245 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8246
8247         * openbsd.h: Fix typo in last change.
8248
8249 2002-09-29  Richard Henderson  <rth@redhat.com>
8250
8251         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
8252
8253 2002-09-29  Richard Henderson  <rth@redhat.com>
8254
8255         PR c/8002
8256         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
8257         for CONST_INT.
8258
8259 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
8260
8261         * real.h (ibm_extended_format): Declare.
8262         * real.c (encode_ibm_extended, decode_ibm_extended): New
8263         functions.
8264
8265 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8266
8267         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
8268
8269         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
8270
8271 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8272
8273         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
8274
8275 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
8276
8277         * builtins.def: Fix comment formatting.
8278         * c-common.def: Likewise.
8279         * cfgcleanup.c: Likewise.
8280         * combine.c: Likewise.
8281         * gengtype.c: Likewise.
8282         * params.def: Likewise.
8283         * predict.def: Likewise.
8284         * rtl.def: Likewise.
8285         * stab.def: Likewise.
8286         * stor-layout.c: Likewise.
8287         * tree.def: Likewise.
8288         * config/darwin.c: Likewise.
8289         * config/darwin.h: Likewise.
8290         * config/dbxcoff.h: Likewise.
8291         * config/elfos.h: Likewise.
8292         * config/fp-bit.c: Likewise.
8293         * config/freebsd-spec.h: Likewise.
8294         * config/interix.h: Likewise.
8295         * config/libgloss.h: Likewise.
8296         * config/linux-aout.h: Likewise.
8297         * config/linux.h: Likewise.
8298         * config/lynx-ng.h: Likewise.
8299         * config/lynx.h: Likewise.
8300         * config/netbsd-aout.h: Likewise.
8301         * config/netbsd.h: Likewise.
8302         * config/netware.h: Likewise.
8303         * config/psos.h: Likewise.
8304         * config/ptx4.h: Likewise.
8305
8306 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
8307
8308         * ChangeLog.4: Fix typos.
8309         * ChangeLog.6: Likewise.
8310         * FSFChangeLog.10: Likewise.
8311         * genattrtab.c: Fix comment typos.
8312         * haifa-sched.c: Likewise.
8313         * real.c: Likewise.
8314         * tree.h: Likewise.
8315         * config/arm/arm.c: Likewise.
8316         * config/arm/crti.asm: Likewise.
8317         * config/arm/crtn.asm: Likewise.
8318         * config/frv/frv.c: Likewise.
8319         * config/frv/frv.md: Likewise.
8320         * config/h8300/h8300.md: Likewise.
8321         * config/i386/rtemself.h: Likewise.
8322         * config/ia64/unwind-ia64.c: Likewise.
8323         * config/ip2k/ip2k.h: Likewise.
8324         * config/m88k/m88k.c: Likewise.
8325         * config/m88k/m88k.md: Likewise.
8326         * config/mips/sr71k.md: Likewise.
8327         * config/mmix/mmix.c: Likewise.
8328         * config/rs6000/rs6000.c: Likewise.
8329         * config/sh/sh.md: Likewise.
8330
8331 2002-09-26  Theodore A. Roth  <troth@verinet.com>
8332
8333         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
8334         * config/avr/avr.md: Ditto.
8335
8336 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
8337
8338         PR preprocessor/8055
8339         * cppmacro.c (stringify_arg): Do not overflow the buffer
8340         with the terminating NUL when the argument to be stringified
8341         has no tokens.
8342
8343 2002-09-27  Richard Henderson  <rth@redhat.com>
8344
8345         * unroll.c (simplify_cmp_and_jump_insns): New.
8346         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
8347         instead of expand_simple_foo.
8348
8349 2002-09-27  Richard Henderson  <rth@redhat.com>
8350
8351         PR optimization/7520
8352         * cfganal.c (flow_active_insn_p): New.
8353         (forwarder_block_p): Use it.
8354
8355 2002-09-27  Richard Henderson  <rth@redhat.com>
8356
8357         * emit-rtl.c (active_insn_p): Revert last change.
8358
8359 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
8360
8361         * doc/extend.texi (tls_model): Document.
8362         * varasm.c (decl_tls_model): New.
8363         * c-common.c (handle_tls_model_attribute): New.
8364         (c_common_attribute_table): Add tls_model.
8365         * config/alpha/alpha.c (alpha_encode_section_info): Use
8366         decl_tls_model.
8367         * flags.h (enum tls_model, flag_tls_default): Move...
8368         * tree.h (enum tls_model, flag_tls_default): ...here.
8369         (decl_tls_model): New prototype.
8370         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
8371         * config/i386/i386.c (ix86_encode_section_info): Likewise.
8372         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
8373         Allow !flag_pic.
8374
8375 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8376
8377         * LANGUAGES: Follow spelling conventions.
8378         * rtl.def: Likewise.
8379         * sbitmap.c: Likewise.
8380         * sched-int.h: Likewise.
8381         * sched-rgn.c: Likewise.
8382         * sibcall.c: Likewise.
8383         * simplify-rtx.c: Likewise.
8384         * ssa.c: Likewise.
8385         * stab.def: Likewise.
8386         * stmt.c: Likewise.
8387         * stor-layout.c: Likewise.
8388         * target.h: Likewise.
8389         * timevar.c: Likewise.
8390         * toplev.c: Likewise.
8391         * tree-dump.c: Likewise.
8392         * tree-inline.c: Likewise.
8393         * tree.c: Likewise.
8394         * tree.def: Likewise.
8395         * tree.h: Likewise.
8396         * unroll.c: Likewise.
8397         * varasm.c: Likewise.
8398         * vmsdbgout.c: Likewise.
8399         * treelang/treelang.texi: Likewise.
8400         * treelang/treetree.c: Likewise.
8401
8402 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8403
8404         * config/h8300/h8300.c (compute_saved_regs): Use a macro
8405         instead of a hard register number.
8406         (get_shift_alg): Use an enumerated type instead of numbers.
8407         (h8300_shift_needs_scratch_p): Likewise.
8408
8409 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8410
8411         * varasm.c (force_data_section): Remove.
8412         (assemble_constant_align): Likewise.
8413         * output.h: Remove corresponding prototypes.
8414
8415 2002-09-26  Roger Sayle  <roger@eyesopen.com>
8416
8417         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
8418         jump, if the loop to exit is the top of the current nesting stack.
8419
8420 2002-09-26  Torbjorn Granlund  <tege@swox.com>
8421
8422         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
8423         arithmetic.
8424
8425 2002-09-26  David S. Miller  <davem@redhat.com>
8426
8427         PR optimization/7335
8428         * calls.c (emit_library_call_value_1): Passing args by reference
8429         converts a CONST function into a PURE one.
8430
8431 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8432
8433         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
8434         text_section.
8435         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
8436         text section.
8437         * config/rs6000/rs6000.c (rs6000_override_options): Allow
8438         function-sections and data-sections functionality on AIX.
8439
8440 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8441             Dale Johannesen  <dalej@apple.com>
8442
8443         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
8444         in RTL for sub-word loads from memory.
8445
8446 2002-09-26  Richard Henderson  <rth@redhat.com>
8447
8448         PR c/7160
8449         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
8450         on call insns.
8451
8452 2002-09-26  Richard Henderson  <rth@redhat.com>
8453
8454         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
8455
8456 2002-09-26  Chris Lattner  <sabre@nondot.org>
8457
8458         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
8459         handling undefined values.
8460
8461 2002-09-26  Richard Henderson  <rth@redhat.com>
8462
8463         PR opt/7520
8464         * emit-rtl.c (active_insn_p): Consider a clobber of the
8465         function return value to be active even after reload.
8466
8467 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
8468
8469         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
8470         by absolute loop increment, not loop increment.
8471
8472 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8473
8474         * c-common.h: Follow spelling conventions.
8475         * cpplex.c: Likewise.
8476         * cpplib.h: Likewise.
8477         * gthr-dce.h: Likewise.
8478         * gthr-posix.h: Likewise.
8479         * optabs.c: Likewise.
8480         * output.h: Likewise.
8481         * profile.c: Likewise.
8482         * protoize.c: Likewise.
8483         * ra-rewrite.c: Likewise.
8484         * real.c: Likewise.
8485         * recog.c: Likewise.
8486         * reg-stack.c: Likewise.
8487         * regclass.c: Likewise.
8488         * regmove.c: Likewise.
8489         * reload.c: Likewise.
8490         * reload.h: Likewise.
8491         * reload1.c: Likewise.
8492         * reorg.c: Likewise.
8493         * resource.c: Likewise.
8494         * rtl.h: Likewise.
8495         * rtlanal.c: Likewise.
8496
8497 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8498
8499         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
8500         for symbol address.
8501
8502 2002-09-24  Eric Christopher  <echristo@redhat.com>
8503
8504         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
8505         * config/mips/elf64.h: Ditto.
8506
8507 2002-09-24  Eric Christopher  <echristo@redhat.com>
8508
8509         * except.c (expand_builtin_extract_return_address): Handle case
8510         where Pmode != ptr_mode.
8511
8512 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8513
8514         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
8515
8516 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8517
8518         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
8519
8520 2002-09-26  Igor Shevlyakov <igor@microunity.com>
8521
8522         * combine.c (simplify_set): Don't call to force_to_mode if size
8523         of integer type is larger than HOST_BITS_PER_WIDE_INT.
8524
8525 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
8526
8527         * Makefile.in (qmtest-g++): Fix file path.
8528
8529 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8530
8531         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
8532         A + (-const) on RTX level, even for unsigned types.
8533
8534 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8535
8536         * reload.c (dup_replacements): New function.
8537         (find_reloads): Use it to duplicate replacements at the top level
8538         of match_dup operands.
8539
8540 2002-09-26  Miles Bader  <miles@gnu.org>
8541
8542         * v850.md ("length"): Change default value to 4.
8543
8544 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8545
8546         * ChangeLog.1: Follow spelling conventions.
8547         * ChangeLog.4: Likewise.
8548         * ChangeLog.6: Likewise.
8549         * FSFChangeLog.11: Likewise.
8550         * doc/cpp.texi: Likewise.
8551         * doc/invoke.texi: Likewise.
8552         * doc/tm.texi: Likewise.
8553
8554 2002-09-26  Nick Clifton  <nickc@redhat.com>
8555
8556         * config.gcc: Add x prefix to v850e case for handling
8557         --with-cpu=v850e.
8558
8559 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
8560
8561         * gcc.c (input_suffix_matches, switch_matches,
8562         mark_matching_switches, process_marked_switches,
8563         process_brace_body): New functions - split from handle_braces.
8564         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
8565         and ignore whitespace in more places.
8566         (specs documentation comment): Document %{S:X;T:Y;:D}.
8567         Clarify other %{...} docs.
8568         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
8569         %{...} docs.
8570
8571         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
8572         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
8573
8574 2002-09-25  David S. Miller  <davem@redhat.com>
8575
8576         PR target/7842
8577         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
8578         extend.
8579
8580 2002-09-25  Richard Henderson  <rth@redhat.com>
8581
8582         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
8583         fp CONST_DOUBLE; use real_identical.
8584
8585 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
8586
8587         * doc/invoke.texi: Add more -Wabi examples.
8588
8589 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
8590
8591         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
8592
8593 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
8594
8595         * profile.c (end_branch_prob): Only look for __gcov_init on
8596         weak-enabled native compilers.
8597
8598 2002-09-24  Denis Chertykov  <denisc@overta.ru>
8599
8600         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
8601         cases of optimizing "add sp,w" to "inc sp".
8602
8603 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8604
8605         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
8606         epilogue for naked functions.
8607
8608 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8609             Nick Clifton  <nickc@redhat.com>
8610
8611         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
8612         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
8613         is defined.
8614
8615 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
8616
8617         * config/s390/s390.c (preferred_la_operand_p): New function.
8618         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
8619         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
8620         ("*la_64_cc", "*la_31_cc", splitters): ... these.
8621         ("*la_31"): Deactivate for TARGET_64BIT.
8622         ("*la_31_and", "*la_31_and_cc"): New.
8623
8624 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8625
8626         * real.h (real_value): Make `exp' explicitly signed.
8627
8628 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
8629
8630         * config/elfos.h: Follow spelling conventions.
8631         * config/alpha/alpha.h: Likewise.
8632         * config/arc/arc.h: Likewise.
8633         * config/arm/arm.md: Likewise.
8634         * config/avr/avr.h: Likewise.
8635         * config/cris/cris.md: Likewise.
8636         * config/d30v/d30v.h: Likewise.
8637         * config/frv/frv.c: Likewise.
8638         * config/frv/frv.h: Likewise.
8639         * config/h8300/h8300.c: Likewise.
8640         * config/h8300/h8300.h: Likewise.
8641         * config/h8300/h8300.md: Likewise.
8642         * config/i386/cygwin.h: Likewise.
8643         * config/i386/i386.h: Likewise.
8644         * config/i386/sysv3.h: Likewise.
8645         * config/i960/i960.h: Likewise.
8646         * config/ia64/ia64.h: Likewise.
8647         * config/ia64/ia64.md: Likewise.
8648         * config/ip2k/ip2k.h: Likewise.
8649         * config/m32r/m32r.h: Likewise.
8650         * config/m68k/m68k.h: Likewise.
8651         * config/m88k/m88k.h: Likewise.
8652         * config/mcore/mcore.c: Likewise.
8653         * config/mcore/mcore.h: Likewise.
8654         * config/mcore/mcore.md: Likewise.
8655         * config/mips/mips.h: Likewise.
8656         * config/mmix/mmix.h: Likewise.
8657         * config/mmix/mmix.md: Likewise.
8658         * config/ns32k/netbsd.h: Likewise.
8659         * config/ns32k/ns32k.h: Likewise.
8660         * config/ns32k/ns32k.md: Likewise.
8661         * config/pa/pa.h: Likewise.
8662         * config/romp/romp.h: Likewise.
8663         * config/rs6000/rs6000.h: Likewise.
8664         * config/rs6000/rs6000.md: Likewise.
8665         * config/sparc/sparc.h: Likewise.
8666         * config/stormy16/stormy-abi: Likewise.
8667         * config/stormy16/stormy16.h: Likewise.
8668         * config/vax/vax.h: Likewise.
8669
8670 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8671
8672         * config/alpha/alpha.h: Remove commented-out macro
8673         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
8674         * config/avr/avr.h: Likewise.
8675         * config/d30v/d30v.h: Likewise.
8676         * config/dsp16xx/dsp16xx.h: Likewise.
8677         * config/i370/i370.h: Likewise.
8678         * config/i386/i386.h: Likewise.
8679         * config/i960/i960.h: Likewise.
8680         * config/m68k/m68k.h: Likewise.
8681         * config/m88k/m88k.h: Likewise.
8682         * config/mips/mips.h: Likewise.
8683         * config/ns32k/ns32k.h: Likewise.
8684         * config/pdp11/pdp11.h: Likewise.
8685         * config/romp/romp.h: Likewise.
8686         * config/rs6000/rs6000.h: Likewise.
8687         * config/s390/s390.h: Likewise.
8688         * config/sh/sh.h: Likewise.
8689         * config/sparc/sparc.h: Likewise.
8690         * config/stormy16/stormy16.h: Likewise.
8691         * config/vax/vax.h: Likewise.
8692
8693 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8694
8695         * function.c (push_temp_slots_for_block): Remove.
8696         (push_temp_slots_for_target): Likewise.
8697         (get_target_temp_slot_level): Likewise.
8698         (set_target_temp_slot_level): Likewise.
8699         (get_first_block_beg): Likewise.
8700         * function.h: Remove corresponding prototypes.
8701
8702 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
8703
8704         * version.c (version_string): Now const char[].
8705         * version.h: Update to match.
8706
8707 2002-09-23  Richard Henderson  <rth@redhat.com>
8708
8709         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
8710         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
8711         (TARGET_SWITCHES): Don't reference them.
8712         * config/i386/i386.c (override_options): Use target_flags_explicit
8713         to examine bits set by the user.
8714
8715 2002-09-23  Dale Johannesen  <dalej@apple.com>
8716
8717         * dbxout.c (dbxout_parms):  Set current_sym_code for params
8718         passed on stack by invisible reference.
8719
8720 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
8721
8722         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
8723         at least one byte of space.
8724
8725 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8726
8727         * c-common.h (flag_abi_version): Fix typo in comment.
8728         * doc/invoke.texi (flag_abi_version): Document default value.
8729
8730 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
8731
8732         * doc/extend.texi (Extended Asm): Clarify that overlap between
8733         asm-declared register variables used in an asm and the asm clobber
8734         list is not allowed.
8735         * stmt.c (decl_conflicts_with_clobbers_p): New function.
8736         (expand_asm_operands): Keep track of clobbered registers.  Call
8737         decl_conflicts_with_clobbers_p for each input and output operand.
8738         If no conflicts found before, also do conflict sanity check when
8739         emitting clobbers.
8740
8741 2002-09-23  Richard Henderson  <rth@redhat.com>
8742
8743         * c-common.c (cpp_define_data_format): Remove.
8744         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
8745         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
8746         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
8747         * doc/cpp.texi: Don't document them either.
8748         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
8749         __LONG_LONG_MAX__): Document.
8750         (__TARGET_FLOAT_FORMAT__): Remove.
8751
8752 2002-09-23  Richard Henderson  <rth@redhat.com>
8753
8754         * real.c (do_multiply): Normalize U before addition.
8755
8756 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8757
8758         * c-common.c (flag_abi_version): New variable.
8759         * c-common.h (flag_abi_version): Declare it.
8760         * c-opts.c (missing_arg): Add -fabi-version.
8761         (c_common_decode_option): Process -fabi-version.
8762         * doc/invoke.texi (-fabi-version): Document it.
8763         (-Wabi): Add information about bit-fields in unions.
8764
8765 2002-09-22  Roger Sayle  <roger@eyesopen.com>
8766
8767         * expr.c (STORE_BY_PIECES_P): New target macro.
8768         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
8769         instead of MOVE_BY_PIECES_P.
8770         * doc/tm.texi: Document this new macro.
8771
8772 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8773
8774         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
8775         unless -fno-pic or -fno-PIC is specified.
8776
8777 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8778
8779         * c-common.c (preprocessing_trad_p): Define.
8780         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
8781         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
8782         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8783         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
8784         * pa-linux.h (CPP_PREDEFINES): Delete.
8785         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8786         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
8787         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
8788         (TARGET_OS_CPP_BUILTINS): Define.
8789         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
8790         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
8791         (SUBTARGET_SWITCHES): Provide default definition.
8792         (TARGET_OPTIONS): Reformat.  Use N_() macro.
8793         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
8794         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
8795         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
8796         (TARGET_CPU_CPP_BUILTINS): Define.
8797         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
8798         * doc/invoke.texi (msio, mwsio): Document new hppa options.
8799         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
8800         preprocessing_trad_p().
8801
8802 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8803
8804         * doc/install.texi: Document behavior of --with-headers and
8805         --with-libs when arguments are omitted.
8806
8807 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
8808
8809         * dbxout.c: Follow spelling conventions.
8810         * defaults.h: Likewise.
8811         * df.c: Likewise.
8812         * diagnostic.h: Likewise.
8813         * doloop.c: Likewise.
8814         * dwarf2out.c: Likewise.
8815         * dwarfout.c: Likewise.
8816         * emit-rtl.c: Likewise.
8817         * except.c: Likewise.
8818         * explow.c: Likewise.
8819         * expmed.c: Likewise.
8820         * expr.c: Likewise.
8821         * expr.h: Likewise.
8822         * flags.h: Likewise.
8823         * flow.c: Likewise.
8824         * fold-const.c: Likewise.
8825         * function.c: Likewise.
8826         * function.h: Likewise.
8827         * gcc.c: Likewise.
8828         * gcov-io.h: Likewise.
8829         * gcov.c: Likewise.
8830         * gcse.c: Likewise.
8831         * genattrtab.c: Likewise.
8832         * genconfig.c: Likewise.
8833         * genrecog.c: Likewise.
8834         * ggc-page.c: Likewise.
8835         * ggc.h: Likewise.
8836         * global.c: Likewise.
8837         * gthr-win32.h: Likewise.
8838         * integrate.c: Likewise.
8839         * jump.c: Likewise.
8840         * langhooks.c: Likewise.
8841         * langhooks.h: Likewise.
8842         * line-map.h: Likewise.
8843         * local-alloc.c: Likewise.
8844         * longlong.h: Likewise.
8845         * loop.c: Likewise.
8846         * loop.h: Likewise.
8847
8848 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
8849
8850         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
8851
8852 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
8853
8854         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
8855         for -Os/TARGET_64BIT too.
8856
8857 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
8858
8859         * ChangeLog: Follow spelling conventions.
8860         * ChangeLog.0: Likewise.
8861         * ChangeLog.1: Likewise.
8862         * ChangeLog.2: Likewise.
8863         * ChangeLog.3: Likewise.
8864         * ChangeLog.4: Likewise.
8865         * ChangeLog.5: Likewise.
8866         * ChangeLog.6: Likewise.
8867         * FSFChangeLog.10: Likewise.
8868         * FSFChangeLog.11: Likewise.
8869         * alias.c: Likewise.
8870         * basic-block.h: Likewise.
8871         * c-aux-info.c: Likewise.
8872         * c-common.c: Likewise.
8873         * c-common.h: Likewise.
8874         * c-decl.c: Likewise.
8875         * c-format.c: Likewise.
8876         * c-semantics.c: Likewise.
8877         * c-typeck.c: Likewise.
8878         * calls.c: Likewise.
8879         * cfganal.c: Likewise.
8880         * cfgloop.c: Likewise.
8881         * collect2.c: Likewise.
8882         * combine.c: Likewise.
8883         * conflict.c: Likewise.
8884         * cppexp.c: Likewise.
8885         * cppfiles.c: Likewise.
8886         * cpphash.h: Likewise.
8887         * cppinit.c: Likewise.
8888         * cpplex.c: Likewise.
8889         * cpplib.c: Likewise.
8890         * cpplib.h: Likewise.
8891         * cppmacro.c: Likewise.
8892         * cse.c: Likewise.
8893
8894 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
8895
8896         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
8897         LINK_SPEC.
8898         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
8899         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
8900         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
8901
8902 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
8903
8904         PR opt/7930
8905         * cse.c (fold_rtx): Calculate old_cost before we fold each
8906         operand.
8907
8908 2002-09-21  Richard Henderson  <rth@redhat.com>
8909
8910         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
8911         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
8912         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
8913         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
8914         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
8915         * doc/cpp.texi: Don't document them.
8916
8917 2002-09-21  Richard Henderson  <rth@redhat.com>
8918
8919         * c-common.c (builtin_define_float_constants): Use real_format
8920         to get the floating-point parameters.
8921
8922 2002-09-21  Richard Henderson  <rth@redhat.com>
8923
8924         * real.c (struct real_format): Move to real.h.
8925         (real_format_for_mode): Rename from fmt_for_mode; update all users;
8926         initialize with ieee defaults.
8927         (real_to_target_fmt, real_from_target_fmt): New.
8928         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
8929         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
8930         ieee_quad_format, i370_single_format, i370_double_format,
8931         c4x_single_format, c4x_extended_format): Rename from s/_format//.
8932         (ieee_quad_format): Fix emin.
8933         (format_for_size, init_real_once): Remove.
8934         * real.h (struct real_format): Move from real.c.
8935         (real_format_for_mode): Declare.
8936         (real_to_target_fmt, real_from_target_fmt): Declare.
8937         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
8938         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
8939         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
8940         i370_single_format, i370_double_format, c4x_single_format,
8941         c4x_extended_format): Declare.
8942         * toplev.c (do_compile): Don't call init_real_once.
8943
8944         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8945         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8946
8947         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
8948         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
8949         * config/alpha/alpha.c (override_options): Set real_format_for_mode
8950         for VAX, if enabled.
8951
8952         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
8953         for C4X.
8954
8955         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
8956         * config/i370/i370.c (override_options): New.
8957         * config/i370/i370-protos.h: Update.
8958
8959         * config/i386/i386.c (override_options): Set real_format_for_mode
8960         for Intel 80-bit extended.
8961         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8962
8963         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
8964         (OVERRIDE_OPTIONS): Move code...
8965         * config/i960/i960.c (i960_initialize): ... here.  Set
8966         real_format_for_mode for Intel 80-bit extended.
8967
8968         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
8969         for Intel 80-bit extended, if enabled.
8970
8971         * config/m68k/m68k.c (override_options): Set real_format_for_mode
8972         for Motorola 96-bit extended.
8973
8974         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
8975         * config/vax/vax.c (override_options): New.
8976         * config/vax/vax-protos.h: Update.
8977
8978 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
8979
8980         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
8981         #if TARGET_MACHO.
8982
8983         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
8984         insns.  Supply missing clobber of scratch reg.
8985
8986 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
8987
8988         * config/m32r/m32r.c: Follow spelling conventions.
8989         * config/m32r/m32r.h: Likewise.
8990         * config/m32r/m32r.md: Likewise.
8991         * config/m68k/m68k.c: Likewise.
8992         * config/m88k/m88k.c: Likewise.
8993         * config/mcore/mcore.c: Likewise.
8994         * config/mips/mips.c: Likewise.
8995         * config/mips/mips.h: Likewise.
8996         * config/mmix/mmix.c: Likewise.
8997         * config/mn10200/mn10200.c: Likewise.
8998         * config/ns32k/ns32k.h: Likewise.
8999         * config/pa/pa.c: Likewise.
9000         * config/pa/pa64-linux.h: Likewise.
9001         * config/pdp11/pdp11.h: Likewise.
9002         * config/romp/romp.c: Likewise.
9003         * config/romp/romp.h: Likewise.
9004         * config/rs6000/eabi.asm: Likewise.
9005         * config/rs6000/linux64.h: Likewise.
9006         * config/rs6000/rs6000.c: Likewise.
9007         * config/rs6000/rs6000.h: Likewise.
9008         * config/rs6000/rs6000.md: Likewise.
9009         * config/rs6000/sysv4.h: Likewise.
9010         * config/rs6000/xcoff.h: Likewise.
9011
9012 2002-09-20  Jim Wilson  <wilson@redhat.com>
9013
9014         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
9015
9016 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9017
9018         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
9019         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
9020         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
9021         (legitimate_address_p): Likewise.
9022         (legitimize_address): Use @gotntpoff and @indntpoff.
9023         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
9024         (output_addr_const_extra): Likewise.
9025
9026 2002-09-20  Jim Wilson  <wilson@redhat.com>
9027
9028         * combine.c (try_combine): When split an instruction pair, where the
9029         first has a sign_extend src, verify that the src and dest modes match.
9030
9031 2002-09-20  Richard Henderson  <rth@redhat.com>
9032
9033         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
9034         (override_options): Do not initialize them.
9035         (mips_const_double_ok): Allow no fp constants except zero,
9036         and not even that for mips16.
9037         (const_float_1_operand): Use dconst1.
9038         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
9039         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
9040         Don't allow arbitrary constants; fix predicates and C constraint.
9041
9042 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
9043
9044         * cppmacro.c: Don't warn about function-like macros without
9045         '(' during pre-expansion.
9046
9047 2002-09-20  Jim Wilson  <wilson@redhat.com>
9048
9049         * config/v850/v850.c (current_function_anonymous_args): Delete.
9050         (expand_prologue): Use current_function_args_info.anonymous_args.
9051         (expand_epilogue): Delete use of current_function_anonymous_args.
9052         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
9053         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
9054         (current_function_anonymous_args): Delete extern declaration.
9055         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
9056
9057 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
9058
9059         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
9060         to load_macho_picbase.
9061         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
9062         (load_macho_picbase): Take the symbol to use as a parameter.
9063         (macho_correct_pic): New insn.
9064         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
9065
9066         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
9067         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
9068         (CAN_ELIMINATE): Likewise.
9069         (INITIAL_ELIMINATION_OFFSET): Likewise.
9070         (TOC_REGISTER): Likewise.
9071
9072 2002-09-20  Richard Henderson  <rth@redhat.com>
9073
9074         * real.c (real_hash): New.
9075         * real.h: Declare it.
9076         * cse.c (canon_hash): Use it.
9077         * cselib.c (hash_rtx): Likewise.
9078         * emit-rtl.c (const_double_htab_hash): Likewise.
9079         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
9080         * varasm.c (struct rtx_const): Reduce vector size; separate
9081         integer and fp vectors.
9082         (HASHBITS): Remove.
9083         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
9084         take modulus MAX_HASH_TABLE.
9085         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
9086         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
9087         (SYMHASH): Don't use HASHBITS.
9088         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
9089         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
9090         (simplify_subtraction): Fix kind comparison.
9091         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
9092         Use a union to pun integer array.
9093         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
9094         only hash two words of integral CONST_DOUBLE.
9095
9096 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
9097
9098         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
9099         (STARTFILE_PREFIX_SPEC): New.
9100         (LINK_SPEC): Modify.
9101         (LIB_SPEC): Modify.
9102         (LIBGCC_SPEC): New.
9103
9104 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9105
9106         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
9107         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
9108
9109 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
9110
9111         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
9112         Add clobber of the condition code register.
9113
9114 2002-09-20  Richard Henderson  <rth@redhat.com>
9115
9116         * real.c (do_fix_trunc): Static.
9117         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
9118         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
9119         encode_i370_single, encode_i370_double, encode_c4x_single,
9120         encode_c4x_extended): Add default abort case.
9121
9122 2002-09-20  Richard Henderson  <rth@redhat.com>
9123
9124         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
9125         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
9126         (struct realvaluetype): Remove.
9127         (REAL_VALUE_TYPE): Use struct real_value.
9128         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
9129         (test_real_width): New.
9130         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
9131         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
9132         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
9133         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
9134         real_to_integer, real_to_integer2, real_to_decimal,
9135         real_to_hexadecimal, real_from_string, real_from_integer,
9136         real_inf, real_nan, real_2expN, real_convert, real_to_target,
9137         real_from_target): Likewise.
9138         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
9139         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
9140
9141 2002-09-20  Richard Henderson  <rth@redhat.com>
9142
9143         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
9144         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
9145         * defaults.h: ... here.
9146         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
9147         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
9148         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
9149         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
9150
9151 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
9152
9153         * config/mmix/mmix.md ("negdf2"): Rewrite.
9154         ("*expanded_negdf2"): New.
9155
9156 2002-09-19  Jim Wilson  <wilson@redhat.com>
9157
9158         * combine.c (simplify_set): When optimizing a subreg src with a
9159         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
9160
9161 2002-09-19  Dale Johannesen <dalej@apple.com>
9162         * combine.c (make_extraction): Don't create
9163         invalid subreg.
9164
9165 2002-09-19  Roger Sayle  <roger@eyesopen.com>
9166
9167         * tree.c (integer_nonzerop): New predicate for nonzero integers.
9168         * tree.h (integer_nonzerop): Add function prototype.
9169         * stmt.c (expand_end_loop):  Don't rotate the loop when there
9170         are no instructions in the test, i.e. the loop is unconditional.
9171         (expand_exit_loop_if_false):  Optimize RTL generation of loop
9172         tests when the condition is always true or always false.
9173         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
9174         do-loops when the condition is always true.
9175         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
9176         the for-expression is empty.
9177
9178 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
9179
9180         * gcc.c (use_pipes): New flag.
9181         (process_command): Set it.  Adjust check for -pipe conflicting
9182         with -time or -save-temps.
9183         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
9184         %<SWITCH.  Drop %| (without a SUFFIX).
9185         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
9186         (give_switch): Third argument eliminated.
9187         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
9188         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
9189         (specs documentation comment): Update.
9190
9191         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
9192         config/svr4.h, config/i386/freebsd-aout.h,
9193         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
9194         config/m68k/openbsd.h, config/mips/openbsd.h,
9195         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
9196         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
9197         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
9198         * config/cris/cris.h: Update comment.
9199
9200         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
9201         error messages.  Don't use %{^SWITCH}.
9202         * ada/misc.c (gnat_decode_option): Handle -I with a
9203         separate argument.
9204
9205         * f/lang-specs.h: Use %| and %m.
9206         * java/jvspec.c: Use %m and %(invoke_as).  Change all
9207         uses of %{<SWITCH} to %<SWITCH.
9208
9209         * doc/invoke.texi: Update documentation of specs.
9210         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
9211
9212 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
9213
9214         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
9215         and STRICT_LOW_PART within SET_DEST.
9216         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
9217         splitters, replacing pre-reload splitters.
9218         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
9219         "*zero_extendqihi2_31"): New insns.
9220         ("*zero_extendqihi2_64"): Do not clobber CC.
9221
9222 2002-09-18  Devang Patel  <dpatel@apple.com>
9223
9224         * cp/cp-tree.h: New prototype for walk_vtables().
9225         * cp/decl.c (walk_vtables_r): New function.
9226         (struct cp_binding_level): Add new members, namespaces,
9227         names_size and vtables.
9228         (add_decl_to_level): Add decl in namespaces or vtables
9229         chain, if conditions match.
9230         (walk_vtables): New function.
9231         (walk_namespaces_r): Travers separate namespace chain
9232         for namespace decls.
9233         (wrapup_globals_for_namespace): Use names_size instead
9234         of list_length().
9235         * cp/decl2.c (finish_file): Use walk_vtables() instead of
9236         walk_globals() to walk vtable decls.
9237
9238 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
9239
9240         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
9241         (DTORS_SECTION_ASM_OP): Ditto.
9242         (READONLY_DATA_SECTION_ASM_OP): Moved.
9243         (DATA_SECTION_ASM_OP): New.
9244         (SDATA_SECTION_ASM_OP): New.
9245         (BSS_SECTION_ASM_OP): New.
9246         (SBSS_SECTION_ASM_OP): New.
9247         (TEXT_SECTION_ASM_OP): New.
9248
9249 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
9250
9251         * config/fp-bit.c: Follow spelling conventions.
9252         * config/d30v/d30v.c: Likewise.
9253         * config/d30v/d30v.h: Likewise.
9254         * config/fr30/fr30.c: Likewise.
9255         * config/fr30/fr30.h: Likewise.
9256         * config/fr30/fr30.md: Likewise.
9257         * config/frv/frv.c: Likewise.
9258         * config/frv/frv.h: Likewise.
9259         * config/h8300/h8300.c: Likewise.
9260         * config/h8300/lib1funcs.asm: Likewise.
9261         * config/i370/i370.c: Likewise.
9262         * config/i386/i386.h: Likewise.
9263         * config/i386/i386.md: Likewise.
9264         * config/i386/pentium.md: Likewise.
9265         * config/i386/winnt.c: Likewise.
9266         * config/i960/i960.c: Likewise.
9267         * config/ia64/ia64.h: Likewise.
9268         * config/ip2k/ip2k.c: Likewise.
9269         * config/ip2k/ip2k.h: Likewise.
9270         * config/ip2k/ip2k.md: Likewise.
9271         * config/ip2k/libgcc.S: Likewise.
9272
9273 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
9274
9275         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
9276         (GOTOFF_P): Extend to allow gotoff plus constant.
9277
9278 2002-09-18  Richard Henderson  <rth@redhat.com>
9279
9280         * ifcvt.c (noce_process_if_block): Correctly detect X modified
9281         with INSN_B before COND_EARLIEST.  Don't check A and B for
9282         modification in condition range.  Reorder INSN_B for A==B properly.
9283         (if_convert): Iterate until no matches for a block.
9284
9285 2002-09-18  Richard Henderson  <rth@redhat.com>
9286
9287         * calls.c (store_one_arg): Rename default_align to parm_align;
9288         always adjust parm_align for downward padding.
9289
9290 2002-09-18  Richard Henderson  <rth@redhat.com>
9291
9292         * toplev.c (backend_init): Move init_real_once invocation ...
9293         (do_compile): ... here.
9294
9295 2002-09-18  Richard Henderson  <rth@redhat.com>
9296
9297         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
9298         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
9299
9300 2002-09-18  Richard Henderson  <rth@redhat.com>
9301
9302         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
9303
9304 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
9305
9306         * config/rs6000/rs6000.md: (floatdisf2): Rename to
9307         floatdisf2_internal1.
9308         (floatdisf2): New define_expand.
9309         (floatdisf2_internal2): Likewise.
9310
9311 2002-09-18  Richard Henderson  <rth@redhat.com>
9312
9313         * real.c (sticky_rshift_significand): Collect sticky as
9314         unsigned long, not bool.
9315
9316 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
9317
9318         * config/s390/s390.c (s390_address_cost): New function.
9319         config/s390/s390-protos.h (s390_address_cost): Add prototype.
9320         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
9321         (RTX_COST): Use COSTS_N_INSNS.
9322
9323 2002-09-18  Douglas Rupp  <rupp@gnat.com>
9324             Donn Terry  <donnte@microsoft.com>
9325
9326         * stor-layout.c (place_field): Handle alignment of whole
9327         structures when MSVC compatible bitfields are involved.
9328         Change method of computing location of MS bitfields to
9329         be compatible with #pragma pack(n).
9330
9331         * tree.h (record_layout_info): Add new field
9332         remaining_in_alignment.
9333
9334         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
9335         (pragma pack): Add paragraph on MSVC bitfield packing.
9336
9337 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
9338
9339         PR optimization/7967
9340         * arm.md (ne_zeroextractsi): Add clobber of the condition code
9341         register.
9342
9343 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
9344
9345         * config/s390/s390.c: Follow spelling conventions.
9346         * config/sh/lib1funcs.asm: Likewise.
9347         * config/sh/sh.c: Likewise.
9348         * config/sh/sh.h: Likewise.
9349         * config/sparc/sparc.c: Likewise.
9350         * config/sparc/sparc.h: Likewise.
9351         * config/sparc/sparc.md: Likewise.
9352         * config/stormy16/stormy16.c: Likewise.
9353         * config/stormy16/stormy16.h: Likewise.
9354         * config/v850/v850.c: Likewise.
9355         * config/v850/v850.h: Likewise.
9356         * config/vax/vax.c: Likewise.
9357         * config/vax/vax.h: Likewise.
9358
9359 2002-09-18  Nick Clifton  <nickc@redhat.com>
9360
9361         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
9362         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
9363         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
9364
9365 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9366
9367         * function.c (max_parm_reg_num): Remove.
9368         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
9369         drop_through_at_end_p, move_cleanups_up,
9370         expand_end_case_dummy, case_index_expr_type): Likewise.
9371         * stor-layout.c (pos_from_byte): Likewise.
9372         * tree.c (chain_member_value, chain_member_purpose, listify,
9373         tree_int_cst_msb, index_type_equal): Likewise.
9374         * tree.h: Remove prototypes for unused functions.
9375
9376 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
9377
9378         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
9379         statement that the only translation is to en_UK.
9380
9381 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9382
9383         * config/alpha/alpha.c: Follow spelling conventions.
9384         * config/alpha/alpha.h: Likewise.
9385         * config/alpha/alpha.md: Likewise.
9386         * config/arc/arc.h: Likewise.
9387         * config/arm/arm.c: Likewise.
9388         * config/arm/arm.h: Likewise.
9389         * config/arm/arm.md: Likewise.
9390         * config/arm/pe.c: Likewise.
9391         * config/arm/unknown-elf.h: Likewise.
9392         * config/avr/avr.c: Likewise.
9393         * config/avr/avr.h: Likewise.
9394         * config/c4x/c4x.c: Likewise.
9395         * config/cris/cris.c: Likewise.
9396         * config/cris/cris.h: Likewise.
9397
9398 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
9399
9400         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
9401         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
9402         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
9403
9404 2002-09-17  Dale Johannesen  <dalej@apple.com>
9405
9406         * cfgcleanup.c (try_forward_edges):  Do not forward a
9407         branch to just after a loop exit before loop optimization;
9408         this interfered with doloop detection.
9409
9410 2002-09-17  Nick Clifton  <nickc@redhat.com>
9411
9412         * config/arm/arm.c (output_return_instruction): Do not
9413         writeback the stack pointer when it is being loaded.
9414         (arm_output_epilogue): Likewise.
9415
9416 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9417
9418         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
9419         generate a pseudo reg that receives the result of a libcall.
9420         (prepare_float_lib_cmp): Likewise.
9421
9422 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
9423
9424         * config/ia64/elf.h: Remove CPP_PREDEFINES.
9425
9426 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9427
9428         Fix PR/7014 and related objc bugs:
9429         * c-typeck.c (comp_target_types): Added a reflexive argument.
9430         Pass it to ObjC when/if calling objc_comptypes().  Updated all
9431         callers to provide the appropriate reflexive argument.
9432         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
9433         typechecking for all cases of comparisons and assignments,
9434         particularly the obscure and less common ones involving protocols.
9435
9436 2002-09-17  Nick Clifton  <nickc@redhat.com>
9437
9438         * machmode.def (V1DImode): New mode.  A single element vector.
9439         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
9440         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
9441         * tree.c (build_common_tree_nodes_2): Build
9442         unsigned_V1DI_type_node and V1D1_type_node.
9443         * c-common.c (c_common_type_for_mode): Return
9444         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
9445         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
9446
9447 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9448
9449         * doc/objc.texi (Constant string objects): Extended documentation
9450         to make clear that the constant string class ivar layout is
9451         completely fixed.
9452
9453 2002-09-17  Roger Sayle  <roger@eyesopen.com>
9454
9455         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
9456         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
9457
9458 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9459
9460         * config/mips/mips.c (save_restore_insns): Remove unused variable.
9461         * gcc.c (make_relative_prefix): Likewise.
9462         * loop.c (check_final_value): Likewise.
9463         * jump.c (init_label_info): Remove return value.
9464         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
9465
9466 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9467
9468         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
9469         (ASM_PN_FORMAT): Define.
9470
9471 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9472
9473         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
9474         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
9475         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
9476         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
9477         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
9478         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
9479         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
9480         Delete.
9481         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
9482         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
9483         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
9484
9485         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
9486         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
9487
9488 2002-09-16  Richard Henderson  <rth@redhat.com>
9489
9490         * expr.c (emit_block_move): Set memory block size as appropriate
9491         for the copy.
9492
9493 2002-09-16  Richard Henderson  <rth@redhat.com>
9494
9495         PR fortran/3924
9496         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
9497
9498 2002-09-16  Richard Henderson  <rth@redhat.com>
9499
9500         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
9501         as well as OFFSET for BITPOS.
9502
9503 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
9504
9505         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
9506         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
9507         winchip2 and c3.
9508         * doc/invoke.texi: Mention new aliases.
9509
9510 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9511
9512         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
9513         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
9514         downward.
9515         * function.c (pad_below):  Always compile.
9516         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
9517         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
9518         Pad below when the argument is not in a register and the padding
9519         direction is downward.
9520
9521         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
9522         (PAD_VARARGS_DOWN): Define.
9523         * pa.c (function_arg_padding): Revise padding directions to make them
9524         compatible with the 32 and 64-bit runtime architecture documentation.
9525         (hppa_va_arg):  Add code to handle variable and size zero arguments
9526         passed by reference on TARGET_64BIT.  Reformat.
9527         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
9528         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
9529         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
9530         Add comments.
9531         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
9532         (RETURN_IN_MEMORY): Return size zero types in memory.
9533         (FUNCTION_VALUE): Return TFmode in general registers.
9534         (MUST_PASS_IN_STACK): Define.
9535         (FUNCTION_ARG_BOUNDARY): Simplify.
9536         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
9537         by reference.
9538         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
9539
9540 2002-09-16  Richard Henderson  <rth@redhat.com>
9541
9542         * real.c (do_fix_trunc): New.
9543         (real_arithmetic): Call it.
9544         * simplify-rtx.c (simplify_unary_operation): Handle FIX
9545         with a floating-point result mode.
9546
9547 2002-09-16  Richard Henderson  <rth@redhat.com>
9548
9549         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
9550         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
9551         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
9552         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
9553         * builtins.c (fold_builtin_nan): New.
9554         (fold_builtin): Call it.
9555         * real.c (real_nan): Parse a non-empty string.
9556         (round_for_format): Fix NaN significand truncation.
9557         * real.h (real_nan): Return bool.
9558         * doc/extend.texi: Document new builtins.
9559
9560 2002-09-16  Jason Merrill  <jason@redhat.com>
9561             Danny Smith  <dannysmith@users.sourceforge.net>
9562
9563         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
9564         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
9565         (i386_pe_mark_dllimport): Not here.
9566
9567 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
9568
9569         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
9570
9571 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
9572
9573         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
9574         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
9575         < 64.
9576         (rs6000_emit_cmove): Use real_isinf not target_isinf.
9577
9578 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9579
9580         * calls.c (emit_library_call_value_1): Don't refer to
9581         hard_libcall_value.
9582         * optabs.c (prepare_float_lib_cmp): Likewise.
9583
9584 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
9585
9586         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
9587         mangling.
9588
9589         The following changes are merged from pch-branch:
9590
9591         * doc/gty.texi (GTY Options): Document %a.
9592         * gengtype.c (do_scalar_typedef): New function.
9593         (process_gc_options): Handle `length' option.
9594         (set_gc_used_type): A pointer to an array of structures doesn't
9595         qualify as a pointer to a structure.
9596         (output_escaped_param): Add `%a' escape.
9597         (write_gc_structure_fields): Allow 'desc' on array of unions.
9598         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
9599         do_scalar_typedef.
9600
9601         * gengtype.c (enum rtx_code): Make global.
9602         (rtx_format): Make global.
9603         (rtx_next): New.
9604         (gen_rtx_next): New.
9605         (write_rtx_next): New.
9606         (adjust_field_rtx_def): Skip fields marked by chain_next.
9607         (open_base_files): Delete redundant prototype.
9608         (write_enum_defn): New.
9609         (output_mangled_typename): Correct abort call.
9610         (write_gc_marker_routine_for_structure): Handle chain_next and
9611         chain_prev options.
9612         (finish_root_table): Don't output redundant \n.
9613         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
9614         * c-tree.h (union lang_tree_node): Add chain_next option.
9615
9616         * gengtype.h (NUM_PARAM): New definition.
9617         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
9618         * gengtype.c (find_param_structure): New.
9619         (adjust_field_type): Handle param<n>_is option.
9620         (process_gc_options): Detect use_params option.  Update callers.
9621         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
9622         'use_params' option.
9623         (open_base_files): Add splay-tree.h to list of files included.
9624         (output_mangled_typename): New.
9625         (write_gc_structure_fields): Update 'param' parameter to support
9626         multiple parameters.  Change name mangling.  Allow parameterized
9627         fields to have an apparent scalar type.  Handle param<n>_is options,
9628         use_param option.
9629         (write_gc_marker_routine_for_structure): Update for change to name
9630         mangling.  Better guess the output file for parameterized types.
9631         (write_gc_types): Update for change to name mangling.
9632         (write_gc_root): Update for change to name mangling.  Handle (ignore)
9633         param<n>_is options.
9634         * doc/gty.texi (GTY Options): Add description of param<n>_is
9635         options, use_params option.
9636         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
9637         * gengtype-lex.l: Produce token for param<n>_is.
9638         * gengtype-yacc.y: Parse param<n>_is.
9639
9640         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
9641
9642         * rtl.c: Update comment describing rtx_format.
9643         * rtl.h (union rtunion): Separate definition and typedef.
9644         (struct rtx_def): Use gengtype to mark.
9645         * Makefile.in (gengtype.o): Also depend on rtl.def.
9646         * ggc.h (ggc_mark_rtx_children): Delete prototype.
9647         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
9648         * ggc-common.c (ggc_mark_rtx_children): Delete.
9649         (ggc_mark_rtx_children_1): Delete.
9650         (gt_ggc_m_rtx_def): Delete.
9651         * gengtype.c (adjust_field_rtx_def): New.
9652         (adjust_field_type): Call adjust_field_rtx_def.
9653         (write_gc_structure_fields): Add 'default' case to switch if none
9654         is specified; remove unused code.
9655
9656         * tree.h (struct tree_exp): Update for change to meaning
9657         of special.
9658         * gengtype.c (adjust_field_tree_exp): New function.
9659         (adjust_field_type): Handle `tree_exp' special here.
9660         (write_gc_structure_fields): Don't handle `tree_exp' special here.
9661         Handle new `dot' option.
9662
9663         * gengtype.h: Make `info' a pointer-to-const.
9664         * gengtype-yacc.y (yacc_ids): Use xasprintf.
9665
9666         * gengtype.c (write_gc_structure_fields): Remove implementation
9667         of `always' option, add `default' option.
9668         * doc/gty.texi (GTY Options): Remove documentation of `always',
9669         add `default'.
9670
9671 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
9672
9673         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
9674
9675 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9676
9677         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
9678
9679         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
9680         instead of the *-protos.h file directly.
9681         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
9682         * darwin.c (machopic_output_stub): Move prototype ...
9683         * darwin-protos.h (machopic_output_stub): ... here.
9684         * rs6000-protos.h (machopic_output_stub): Don't declare.
9685
9686 2002-09-16  Richard Henderson  <rth@redhat.com>
9687
9688         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
9689
9690 2002-09-16  Richard Henderson  <rth@redhat.com>
9691
9692         * real.c, real.h: Rewrite from scratch.
9693
9694         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
9695         (paranoia): New target.
9696         * builtins.c (fold_builtin_inf): Use new real.h interface.
9697         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
9698         * c-lex.c (interpret_float): Likewise.
9699         * emit-rtl.c (gen_lowpart_common): Likewise.
9700         * optabs.c (expand_float): Use real_2expN.
9701         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
9702         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
9703         (FLOAT_WORDS_BIG_ENDIAN): New.
9704         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
9705         directly to REAL_VALUE_NEGATIVE.
9706         * loop.c (canonicalize_condition): Likewise.
9707         * simplify-rtx.c: Include tree.h.
9708         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
9709         with floating-point result modes.
9710         * toplev.c (backend_init): Call init_real_once.
9711
9712         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
9713         * tree.c (build_real): Likewise.
9714         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
9715         float_values, inited_float_values, check_float_value): Remove.
9716         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
9717         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
9718         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
9719         (VAX_HALFWORD_ORDER): Remove.
9720
9721 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
9722
9723         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
9724         (s390_load_address): ... this new function.
9725         (s390_decompose_address): Allow the argument pointer and all
9726         virtual registers as 'pointer' registers.
9727         (s390_expand_plus_operand): Use s390_load_address.
9728         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
9729         ("force_la_31"): New insn pattern.
9730         config/s390/s390-protos.h (legitimize_la_operand): Remove.
9731         (s390_load_address): Add prototype.
9732
9733         * config/s390/s390.c: Include "optabs.h".
9734         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
9735         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
9736         s390_expand_cmpstr): Add prototypes.
9737         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
9738         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
9739         for operands 0 and 1 to "memory_operand".  Add type attribute.
9740         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
9741         for operands 0 and 1 to "memory_operand".  Add type attribute.
9742         ("movstrdi_long", "movstrsi_long"): Remove.
9743         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
9744         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
9745         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
9746         ("clrstrsico"): Remove, replace by ...
9747         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
9748         ("clrstrsi_64"): Rename to "clrstr_long_64".
9749         ("clrstrsi_31"): Rename to "clrstr_long_31".
9750         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
9751         ("cmpstr_const"): Remove, replace by ...
9752         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
9753         ("cmpstr_64"): Rename to "cmpstr_long_64".
9754         ("cmpstr_31"): Rename to "cmpstr_long_31".
9755
9756 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9757
9758         * ABOUT-NLS: Follow spelling conventions.
9759         * ChangeLog: Likewise.
9760         * ChangeLog.1: Likewise.
9761         * ChangeLog.2: Likewise.
9762         * ChangeLog.3: Likewise.
9763         * ChangeLog.4: Likewise.
9764         * ChangeLog.5: Likewise.
9765         * ChangeLog.6: Likewise.
9766         * FSFChangeLog.10: Likewise.
9767         * FSFChangeLog.11: Likewise.
9768         * c-common.c: Likewise.
9769         * c-lex.c: Likewise.
9770         * c-objc-common.c: Likewise.
9771         * cppexp.c: Likewise.
9772         * cppinit.c: Likewise.
9773         * cpplex.c: Likewise.
9774         * doloop.c: Likewise.
9775         * flow.c: Likewise.
9776         * function.c: Likewise.
9777         * integrate.c: Likewise.
9778         * loop.c: Likewise.
9779         * reg-stack.c: Likewise.
9780         * reload.h: Likewise.
9781         * ssa.c: Likewise.
9782
9783 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9784
9785         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
9786         * vmsdbgout.c: Include "target.h".
9787
9788 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9789
9790         * ChangeLog: Follow spelling conventions.
9791         * ChangeLog.0: Likewise.
9792         * ChangeLog.1: Likewise.
9793         * ChangeLog.2: Likewise.
9794         * ChangeLog.4: Likewise.
9795         * ChangeLog.6: Likewise.
9796         * config.gcc: Likewise.
9797         * dwarfout.c: Likewise.
9798         * reload1.c: Likewise.
9799         * simplify-rtx.c: Likewise.
9800         * unwind-sjlj.c: Likewise.
9801         * config/avr/avr.h: Likewise.
9802         * config/d30v/d30v.h: Likewise.
9803         * config/frv/frv.c: Likewise.
9804         * config/frv/frv.h: Likewise.
9805         * config/ip2k/ip2k.h: Likewise.
9806         * config/m88k/m88k-move.sh: Likewise.
9807         * config/stormy16/stormy16.c: Likewise.
9808         * config/stormy16/stormy16.h: Likewise.
9809         * doc/extend.texi: Likewise.
9810         * doc/interface.texi: Likewise.
9811         * doc/invoke.texi: Likewise.
9812         * doc/md.texi: Likewise.
9813         * doc/rtl.texi: Likewise.
9814         * doc/tm.texi: Likewise.
9815         * doc/trouble.texi: Likewise.
9816         * ginclude/float.h: Likewise.
9817         * treelang/treelang.texi: Likewise.
9818
9819 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9820
9821         * i386-protos.h (i386_pe_dllexport_name_p,
9822         i386_pe_dllimport_name_p, i386_pe_unique_section,
9823         i386_pe_declare_function_type, i386_pe_record_external_function,
9824         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
9825         prototype.
9826         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
9827         * i386/t-interix (winnt.o): Likewise.
9828
9829         * v850-protos.h (v850_output_addr_const_extra): Prototype.
9830
9831 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9832
9833         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
9834         MIPS ABI CPP macros.
9835         (TARGET_CPU_CPP_BUILTINS): Redefine.
9836         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
9837         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
9838
9839 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9840
9841         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
9842
9843 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9844
9845         * ChangeLog: Follow spelling conventions.
9846         * ChangeLog.0: Likewise.
9847         * ChangeLog.1: Likewise.
9848         * ChangeLog.2: Likewise.
9849         * ChangeLog.3: Likewise.
9850         * ChangeLog.4: Likewise.
9851         * ChangeLog.5: Likewise.
9852         * ChangeLog.6: Likewise.
9853         * FSFChangeLog.10: Likewise.
9854         * FSFChangeLog.11: Likewise.
9855         * c-common.c: Likewise.
9856         * c-common.h: Likewise.
9857         * c-format.c: Likewise.
9858         * c-opts.c: Likewise.
9859         * cpplib.c: Likewise.
9860         * langhooks.h: Likewise.
9861         * real.c: Likewise.
9862         * reg-stack.c: Likewise.
9863         * toplev.c: Likewise.
9864         * config/arm/arm.c: Likewise.
9865         * config/arm/arm.md: Likewise.
9866         * config/arm/linux-gas.h: Likewise.
9867         * config/arm/netbsd.h: Likewise.
9868         * config/c4x/c4x.c: Likewise.
9869         * config/c4x/c4x.h: Likewise.
9870         * config/c4x/c4x.md: Likewise.
9871         * config/c4x/libgcc.S: Likewise.
9872         * config/fr30/fr30.md: Likewise.
9873         * config/frv/frv.md: Likewise.
9874         * config/ia64/ia64.md: Likewise.
9875         * config/mips/mips.h: Likewise.
9876         * config/mn10300/mn10300.c: Likewise.
9877         * config/stormy16/stormy16.c: Likewise.
9878         * config/v850/v850.md: Likewise.
9879         * doc/extend.texi: Likewise.
9880         * doc/invoke.texi: Likewise.
9881         * doc/md.texi: Likewise.
9882
9883 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9884
9885         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
9886         library if -pthread is specified.
9887
9888 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9889
9890         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
9891         for --enable-threads=yes and --enable-threads=posix.
9892
9893 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9894
9895         * config/sparc/cypress.md: Replace Sparc with SPARC.
9896         * config/sparc/freebsd.h: Likewise.
9897         * config/sparc/gmon-sol2.c: Likewise.
9898         * config/sparc/hypersparc.md: Likewise.
9899         * config/sparc/lb1spc.asm: Likewise.
9900         * config/sparc/lb1spl.asm: Likewise.
9901         * config/sparc/linux.h: Likewise.
9902         * config/sparc/linux64.h: Likewise.
9903         * config/sparc/lynx.h: Likewise.
9904         * config/sparc/sol2.h: Likewise.
9905         * config/sparc/sparc-modes.def: Likewise.
9906         * config/sparc/sparc.c: Likewise.
9907         * config/sparc/sparc.h: Likewise.
9908         * config/sparc/sparc.md: Likewise.
9909         * config/sparc/sparclet.md: Likewise.
9910         * config/sparc/supersparc.md: Likewise.
9911         * config/sparc/sysv4.h: Likewise.
9912         * config/sparc/vxsim.h: Likewise.
9913         * config/sparc/vxsparc64.h: Likewise.
9914
9915 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9916
9917         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
9918         * collect2.c (ignore_library, aix_std_libs): Move into the context
9919         where it is used.
9920         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
9921         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
9922         * m88k.c (output_call): Wrap variables with macro controlling use.
9923         * rs6000.md: Likewise.  Const-ify variable.
9924         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
9925         * final.c (only_leaf_regs_used): Likewise.
9926         * regrename.c (maybe_mode_change): Mark parameter with
9927         ATTRIBUTE_UNUSED.
9928         * reload.c (find_valid_class): Likewise.  Likewise for variable.
9929         (find_reloads_address_1): Likewise.
9930         * varasm.c (weak_finish): Wrap variable with macro controlling use.
9931
9932 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
9933
9934         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
9935
9936 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9937
9938         * ChangeLog: Follow spelling conventions.
9939         * ChangeLog.0: Likewise.
9940         * ChangeLog.2: Likewise.
9941         * ChangeLog.3: Likewise.
9942         * ChangeLog.4: Likewise.
9943         * ChangeLog.5: Likewise.
9944         * ChangeLog.6: Likewise.
9945         * cppfiles.c: Likewise.
9946         * cppinit.c: Likewise.
9947         * cpplib.h: Likewise.
9948         * cse.c: Likewise.
9949         * debug.h: Likewise.
9950         * df.c: Likewise.
9951         * dominance.c: Likewise.
9952         * hashtable.c: Likewise.
9953         * hashtable.h: Likewise.
9954         * loop.c: Likewise.
9955         * config/arm/README-interworking: Likewise.
9956         * config/arm/arm.c: Likewise.
9957         * config/arm/arm.h: Likewise.
9958         * config/arm/arm.md: Likewise.
9959         * config/dsp16xx/dsp16xx.h: Likewise.
9960         * config/frv/frv.c: Likewise.
9961         * config/frv/frv.h: Likewise.
9962         * config/ip2k/ip2k.h: Likewise.
9963         * config/rs6000/rs6000.c: Likewise.
9964         * config/stormy16/stormy-abi: Likewise.
9965         * config/stormy16/stormy16.h: Likewise.
9966         * config/v850/v850.c: Likewise.
9967
9968 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9969
9970         * loop.c: Fix a comment typo.
9971
9972 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9973
9974         * config/fr30/fr30.h: Fix comment typos.
9975         * config/frv/frv.c: Likewise.
9976         * config/i386/xmmintrin.h: Likewise.
9977         * config/mips/mips.c: Likewise.
9978         * config/sh/sh.c: Likewise.
9979
9980 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9981
9982         * haifa-sched.c: Follow spelling conventions.
9983         * regclass.c: Likewise.
9984         * regrename.c: Likewise.
9985         * config/fp-bit.c: Likewise.
9986         * config/frv/frv.h: Likewise.
9987         * config/m88k/m88k.c: Likewise.
9988         * config/mcore/mcore.c: Likewise.
9989         * config/rs6000/darwin.h: Likewise.
9990         * config/rs6000/gnu.h: Likewise.
9991         * config/rs6000/linux.h: Likewise.
9992         * config/rs6000/linux64.h: Likewise.
9993         * config/rs6000/rs6000.c: Likewise.
9994         * config/rs6000/rs6000.h: Likewise.
9995         * config/sh/sh.c: Likewise.
9996         * config/sparc/sparc.c: Likewise.
9997         * config/sparc/ultra1_2.md: Likewise.
9998
9999 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
10000
10001         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
10002         memory operand when source is 0 (K constraint).
10003         ("movsi_internal"): Likewise.
10004         ("movdf_internal"): Likewise.
10005         ("movsf_internal"): Likewise.
10006
10007 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10008
10009         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
10010         targetm.binds_local_p to set SYMBOL_REF_FLAG.
10011         (rs6000_xcoff_encode_section_info): Likewise.
10012         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10013
10014 2002-09-10  Theodore A. Roth  <troth@verinet.com>
10015
10016         * gcc/config/avr/avr.h: Set default options for C++ for avr.
10017
10018 2002-09-13  Roger Sayle  <roger@eyesopen.com>
10019
10020         * stmt.c (struct nexting): Remove unused alt_end_label field.
10021         (expand_start_loop): Delete initialization of alt_end_label.
10022         (expand_start_null_loop): Likewise.
10023         (expand_exit_loop_if_false): Delete updating of alt_end_label.
10024
10025 2002-09-13  Richard Henderson  <rth@redhat.com>
10026
10027         * Makefile.in (toplev.o): Depend on real.h.
10028         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
10029
10030 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10031
10032         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
10033         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
10034         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
10035
10036 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
10037
10038         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
10039
10040 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10041
10042         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
10043         ia64*-*-linux*): Set extra_parts.
10044         * config/ia64/t-aix (EXTRA_PARTS): Remove.
10045         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
10046
10047 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10048
10049         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
10050         * config/h8300/h8300.c: Likewise.
10051         * config/h8300/h8300.h: Likewise.
10052         * config/h8300/h8300.md: Likewise.
10053         * doc/invoke.texi: Likewise.
10054
10055 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10056
10057         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
10058
10059 2002-09-13  Richard Henderson  <rth@redhat.com>
10060
10061         * config/alpha/alpha.md (attr type): Add callpal.
10062         (imb, trap, load_tp, set_tp): Use it.
10063         * config/alpha/ev4.md (ev4_callpal): New.
10064         * config/alpha/ev5.md (ev5_callpal): New.
10065         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
10066         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
10067         (alphaev5_insn_pipe): Likewise.
10068
10069 2002-09-13  Andreas Jaeger  <aj@suse.de>
10070
10071         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
10072
10073 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10074
10075         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
10076         LIB2ADDEH): New, set to NULL.
10077         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
10078
10079 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10080
10081         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
10082         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
10083         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
10084         Add declarations.
10085         (_U_Qfneg): Remove.
10086
10087 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
10088
10089         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
10090         for H8/300, H8S aa:8 mode.
10091         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
10092         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
10093         for H8/300 aa:8 mode.
10094
10095 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
10096
10097         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
10098         insns.
10099
10100 2002-09-12  Richard Henderson  <rth@redhat.com>
10101
10102         * Makefile.in (HOST_PRINT): Use print-rtl1.o
10103         (print-rtl.o): Don't define GENERATOR_FILE.
10104         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
10105         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
10106         unless GENERATOR_FILE.
10107
10108 2002-09-12  Stan Shebs  <shebs@apple.com>
10109
10110         * config/darwin.h (USER_LABEL_PREFIX): Define here...
10111         * config/i386/darwin.h: ... instead of here.
10112
10113         * target.h (struct gcc_target): New field
10114         terminate_dw2_eh_frame_info.
10115         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10116         (TARGET_INITIALIZER): Add it.
10117         * dwarf2out.c (output_call_frame_info): Use target hook.
10118         * dwarf2asm.c (dw2_asm_output_delta): Use macro
10119         ASM_OUTPUT_DWARF_DELTA if defined.
10120         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
10121         (ASM_OUTPUT_DWARF_DELTA): Ditto.
10122         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
10123         (ASM_OUTPUT_DWARF_PCREL): Ditto.
10124         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
10125         (powerpc-*-darwin*): Ditto.
10126         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
10127         to work correctly for Darwin.
10128         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
10129         (STARTFILE_SPEC): Add crtbegin.o.
10130         (ENDFILE_SPEC): Define.
10131         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
10132         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
10133         (ASM_OUTPUT_DWARF_DELTA): Define.
10134         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10135         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
10136
10137 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
10138
10139         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
10140         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
10141         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
10142
10143 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
10144
10145         * toplev.c: Move default definition of USER_LABEL_PREFIX...
10146         * defaults.h: ... here.
10147
10148 2002-09-12  Richard Henderson  <rth@redhat.com>
10149
10150         * vax.c: Include tree.h earlier.
10151
10152 2002-09-12  Stan Shebs  <shebs@apple.com>
10153
10154         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
10155         (machopic_operand_p): Ditto.
10156
10157 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10158
10159         * config/arm/arm.c (arm_compute_initial_elimination_offset):
10160         Fix a comment typo.
10161
10162 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10163
10164         * toplev.c (do_abort): Fix a comment typo.
10165
10166 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10167
10168         * cselib.c: Fix comment formatting.
10169         * gengtype.c: Likewise.
10170
10171 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10172
10173         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
10174         (udivmodhi4): Likewise.
10175
10176 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
10177             Roger Sayle  <roger@eyesopen.com>
10178
10179         * i386.c (any_fp_register_operand, fp_register_operand,
10180         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
10181         New predicate functions.
10182         * i386-protos.h:  Add their prototypes.
10183         * i386.h: Add them to PREDICATE_CODES.
10184         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
10185         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
10186         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
10187         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
10188         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
10189         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
10190         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
10191         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
10192         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
10193         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
10194         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
10195         Use these new predicates to simplify and correct the use of
10196         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
10197
10198 2002-09-12  Jason Merrill  <jason@redhat.com>
10199
10200         * diagnostic.c (output_add_identifier): New fn.
10201         * diagnostic.h: Declare it.
10202
10203         * calls.c (store_one_arg): Use size_in_bytes to determine the
10204         amount of space to push.
10205
10206 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
10207
10208         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
10209
10210 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
10211
10212         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
10213         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
10214         (s390_select_ccmode): Likewise.
10215         (s390_branch_condition_mask): Likewise.
10216         (optimization_options): Do not set flag_branch_on_count.
10217         (s390_split_branches): Handle doloop branches.
10218         (s390_chunkify_pool): Likewise.
10219         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
10220         ("doloop_end"): New expander.
10221         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
10222         associated splitters): New.
10223
10224 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10225
10226         * genattrtab.c (simplify_cond): Remove unused variable(s).
10227         * global.c (record_conflicts): Likewise.
10228         * jump.c (rebuild_jump_labels): Likewise.
10229         * loop.c (scan_loop, check_final_value): Likewise.
10230         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
10231         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
10232         * rtlanal.c (reg_set_p): Likewise.
10233         * stmt.c (expand_asm_operands, expand_decl): Likewise.
10234         * genautomata.c (empty_reserv): Remove.
10235         * loop.c (max_luid): Likewise.
10236         * sched-rgn.c (bitlst_table_size): Likewise.
10237
10238 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
10239
10240         Reimplement gcov format.
10241         * gcov-io.h: Replace.
10242         * gcov.c: Reimplement.
10243         * gcov-iov.c: New file.
10244         * gcov-dump.c: New file.
10245         * libgcc2.c (L_bb): Replace with ...
10246         (L_gcov): ... this.
10247         (struct bb_function_info, struct bb): Remove.
10248         (inhibit_libc): Never inhibit.
10249         (gcov_list, gcov_crc): New static variables.
10250         (gcov_version_mismatch): New static function.
10251         (__bb_exit_func): Renamed to ...
10252         (__gcov_exit): ... here. Made static. Reimplement.
10253         (__gcov_init_func): Rename to ...
10254         (__gcov_init): ... here. Check version, update crc.
10255         (__bb_fork_func): Rename to ...
10256         (__gcov_flush): ... here.
10257         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
10258         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
10259         * calls.c (expand_call): Call __gcov_flush.
10260         * profile.c (bb_file, last_bb_file_name): Remove.
10261         (bbg_file_name): New global variable.
10262         (output_gcov_string): Remove.
10263         (get_exec_counts): Reimplement.
10264         (branch_prob): Reimplement gcov file writing.
10265         (init_branch_prob): Create bbg_file_name, don't create
10266         bb_file_name.
10267         (end_branch_prob): Adjust. Don't remove counter file when
10268         instrumenting ourselves.
10269         (create_profiler): Adjust.
10270         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
10271         point to gcov-io.h.
10272         * Makefile.in (LANGUAGES): Add gcov-dump.
10273         (coverageexts): Remove .bb.
10274         (STAGESTUFF): Add gcov-dump.
10275         (LIB2FUNCS_ST): Replace _bb with _gcov.
10276         (profile.o): Depend on gcov-iov.h.
10277         (final.o): Don't depend on profile.h, gcov.h.
10278         (gcov.o): Depend on gcov-iov.h.
10279         (gcov-iov.o): New target.
10280         (gcov-iov): New target.
10281         (gcov-iov.h): New target.
10282         (gcov-dump.o): New target.
10283         (GCOV_DUMP_OBJS): New variable.
10284         (gcov-dump): New target.
10285         (distclean): Remove coverageexts.
10286         (stage1): Remove coverageexts.
10287
10288 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
10289
10290         * fold-const.c (make_range): Only narrow to signed range if
10291         the signed range is smaller than the unsigned range.
10292
10293 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
10294
10295         * emit-rtl.c (set_mem_size): New function.
10296         * expr.h (set_mem_size): Declare.
10297         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
10298         (expand_block_move): Instead, use adjust_address and
10299         replace_equiv_address to generate proper aliasing info.
10300         Move common code out of conditionals.  Localize vars.
10301
10302 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
10303
10304         * optabs.c (expand_binop): Minor cleanup.
10305         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
10306
10307 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
10308
10309         * print-tree.c (print_node): Print the restrict qualifier.
10310
10311 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
10312
10313         * doc/install.texi: Fix typos.
10314
10315 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
10316
10317         * Makefile.in: Remove all references to s-under and underscore.c.
10318         * collect2.c, tlink.c: Change all uses of prepends_underscore
10319         to look directly at USER_LABEL_PREFIX.
10320
10321 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
10322
10323         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
10324         alignment to csect.
10325         (rs6000_xcoff_unique_section): Only set section name for public
10326         data.
10327         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
10328         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
10329         duplicate definition.
10330
10331 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10332
10333         * pa.md (extzv): Check predicates before emitting extzv_32.
10334         (insv): Likewise.
10335
10336 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
10337
10338         * config/s390/s390.h (MOVE_MAX): Define to correct value.
10339         (MAX_MOVE_MAX): Define.
10340         (MOVE_BY_PIECES_P): Define.
10341         (CLEAR_BY_PIECES_P): Define.
10342
10343 2002-09-10  Denis Chertykov  <denisc@overta.ru>
10344
10345         * config/avr/avr.md (movstrhi): Use right operands for conversion.
10346
10347 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
10348
10349         PR c/7873
10350         * arm.md (insv): Use reg_or_int_operand for operand[3].
10351
10352 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
10353
10354         * rs6000.c (rs6000_assemble_visibility): Protect declaration
10355         inside macro.  Correct function definition typo.
10356         (rs6000_xcoff_section_type_flags): New function.
10357         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
10358         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
10359         with appropriate PIC test.
10360         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
10361         determine readonly.
10362         (rs6000_binds_local_p): Combine PIC flags.
10363         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
10364         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
10365
10366 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10367
10368         * h8300.md: Fix signed/unsigned warnings.
10369         * mcore.md: Likewise.
10370         * mn10300.c (mask_ok_for_mem_btst): Likewise.
10371
10372 2002-09-09  Per Bothner  <per@bothner.com>
10373
10374         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
10375         characters, and only print TREE_STRING_LENGTH chars.
10376
10377 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
10378
10379         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
10380         (ASM_FILE_END) New.
10381         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
10382         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
10383         * config/ia64/ia64.c (ia64_asm_output_external): Create list
10384         of external functions if TARGET_HPUX_LD is true.
10385         (ia64_hpux_add_extern_decl): New, routine to put names on
10386         list of external functions.
10387         (ia64_hpux_asm_file_end): Put out declarations for external
10388         functions if and only if they are used.
10389
10390 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10391
10392         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
10393         on TARGET_64BIT before pic register restore.
10394
10395 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
10396
10397         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
10398         (TARGET_HAVE_TLS): New description.
10399
10400 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
10401
10402         * doc/extend.texi (Statement Exprs): Fix broken link.
10403
10404 2002-09-09  Denis Chertykov  <denisc@overta.ru>
10405
10406         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
10407         right conversion of operands[1].
10408
10409 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
10410
10411         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
10412         commutative.  Use "nonimmediate_operand" instead of "register_operand"
10413         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
10414
10415         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
10416         as commutative.
10417
10418         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
10419         mark as commutative.  Use "nonimmediate_operand" instead of
10420         "register_operand" as predicate for operand 1.
10421
10422         ("movstrictsi"): Fix typo in insn name.
10423
10424 2002-09-09  Jan Hubicka  <jh@suse.cz>
10425
10426         * i386.c (index_register_operand): New.
10427         * i386.h (predicate_codes): Add new predicate.
10428         * i386.md (lea_general_*): Use index_register_operand
10429         (ashift to lea splitter): Do not produce invalid leas
10430         (ashift to mov+ashift split): New.
10431
10432 2002-09-09  Nick Clifton  <nickc@redhat.com>
10433
10434         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
10435         Fix folding marks.
10436
10437 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10438             J"orn Rennecke <joern.rennecke@superh.com>
10439
10440         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
10441
10442 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
10443
10444         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
10445         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
10446         attributes.
10447
10448 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
10449
10450         * basic_block.h (gcov_type): Explain why it is signed.
10451         * final.c: Don't include profile.h.
10452         (struct function_list, functions_head, functions_tail,
10453         end_final): Moved to profile.c
10454         (final): Move arc chaining code to profile.c.
10455         * function.c (prepare_function_start): Remove duplicate line.
10456         * output.h (end_final): Remove prototype.
10457         * predict.c (estimate_loops_at_level): Use gcov_type.
10458         * profile.c (struct function_list, functions_head,
10459         functions_tail): Moved from final.c
10460         (need_func_profiler): Remove.
10461         (instrument_edges): Don't set need_func_profiler.
10462         (get_exec_counts): Avoid signed/unsigned warning.
10463         (compute_checksum): Use crc32.
10464         (branch_prob): Adjust. Chain onto functions_head.
10465         (init_branch_prob): Absorb init_edge_profiler.
10466         (init_edge_profiler): Remove.
10467         (create_profiler): Moved and renamed from final.c:end_final.
10468         Emit data and constructor.
10469         (output_func_start_profiler): Remove.
10470         * profile.h (struct profile_info): checksum is unsigned.
10471         * rtl.h (output_func_start_profiler): Remove prototype.
10472         (create_profiler): Declare.
10473         * toplev.c (compile_file): Call create_profiler, if instrumenting
10474         arcs. Don't call end_final.
10475
10476 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10477
10478         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
10479
10480 2002-09-08  Richard Henderson  <rth@redhat.com>
10481
10482         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
10483         (DW_OP_GNU_push_tls_address): New.
10484         (DW_OP_lo_user): Fix.
10485         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
10486         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
10487         (size_of_loc_descr): Likewise.
10488         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
10489         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
10490         (loc_descriptor_from_tree): Handle TLS variables.
10491         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
10492         (add_location_or_const_value_attribute): ... not here.  Defer
10493         to loc_descriptor_from_tree for TLS variables.
10494
10495         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
10496         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
10497         * config/i386/i386-protos.h: Update.
10498
10499 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10500
10501         PR optimization/6405
10502         * unroll.c (loop_iterations): last_loop_insn should be the previous
10503         non-note instruction before loop->end.
10504         * loop.c (strength_reduce): The conditional jump is the last
10505         non-note instruction before loop->end (as above).
10506
10507 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10508
10509         * combine.c (try_combine): Handle the case that undobuf.other_insn
10510         has been turned into a return or unconditional jump, by inserting
10511         a BARRIER if necessary.
10512         (simplify_set):  Test if a condition code setter has a constant
10513         comparison at compile time, if so convert this insn to a no-op move
10514         and update/simplify the condition code user (undobuf.other_insn).
10515
10516 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
10517
10518         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
10519         (CLEAR_INSN_CACHE): Define.
10520
10521 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10522
10523         * basic-block.h: Fix comment formatting.
10524         * c-common.c: Likewise.
10525         * c-common.h: Likewise.
10526         * c-lex.c: Likewise.
10527         * c-pretty-print.c: Likewise.
10528         * cfglayout.c: Likewise.
10529         * cfgloop.c: Likewise.
10530         * defaults.h: Likewise.
10531         * et-forest.c: Likewise.
10532         * explow.c: Likewise.
10533         * function.h: Likewise.
10534         * gcov.c: Likewise.
10535         * genattrtab.c: Likewise.
10536         * gengtype.c: Likewise.
10537         * ifcvt.c: Likewise.
10538         * libgcc2.c: Likewise.
10539         * loop.c: Likewise.
10540         * profile.c: Likewise.
10541         * ra-build.c: Likewise.
10542         * real.c: Likewise.
10543         * rtl.h: Likewise.
10544         * tracer.c: Likewise.
10545         * tree-inline.c: Likewise.
10546         * varasm.c: Likewise.
10547
10548 2002-09-08  Jan Hubicka  <jh@suse.cz>
10549
10550         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
10551         handling.
10552
10553         * loop.c (loop_givs_reduce):  Emit addition after.
10554
10555 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10556
10557         * varasm.c (default_assemble_visibility): Rename from
10558         assemble_visibility.
10559         * output.h: Here too.
10560         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
10561         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
10562
10563 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10564
10565         * reload.c (find_reloads <p constraint>): Pass operand_mode to
10566         find_reloads_address.
10567
10568 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10569
10570         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
10571         (anonymous pattern): Likewise.
10572
10573 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10574
10575         * machmode.def: Add modes for half-float vectors.
10576
10577 2002-09-07  Scott Snyder  <snyder@fnal.gov>
10578
10579         PR target/7374
10580         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
10581
10582 2002-09-07  Roger Sayle  <roger@eyesopen.com>
10583
10584         * basic-block.h (struct loop): Remove unused cont_dominator field.
10585
10586 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10587
10588         * varasm.c (decode_rtx_const): Don't check undefined field for
10589         CONST_VECTOR.
10590
10591 2002-09-07  Glen Nakamura  <glen@imodulo.com>
10592
10593         PR opt/7814
10594         * sched-deps.c (sched_analyze_insn): Make sure to add insn
10595         to reg_last->sets after flushing the dependency lists to guarantee
10596         that subsequent clobbers will be dependent on it.
10597
10598 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10599
10600         * combine.c (simplify_shift_const): Calculate rotate count
10601         correctly for vector operands.
10602
10603 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
10604
10605         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
10606         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
10607         tree_expr_nonnegative_p.
10608         (build_conditional_expr): Likewise.
10609         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
10610
10611 2002-09-07  Richard Henderson  <rth@redhat.com>
10612
10613         * builtins.def (inf, inff, infl): Mark const.
10614         (huge_val, huge_valf, huge_vall): Likewise.
10615         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
10616
10617         * real.c (ereal_inf): Clear E before use.
10618
10619 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10620
10621         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
10622         an expander and an anonymous pattern.  Zero out the upper half
10623         of the dividend in the expander.
10624         (udivmodqi4): Likewise.
10625
10626 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10627
10628         * config/h8300/h8300.c: Fix formatting.
10629         * config/h8300/h8300.h: Likewise.
10630         * config/h8300/h8300.md: Likewise.
10631
10632 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10633
10634         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
10635         information.
10636
10637 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
10638
10639        * rtlanal.c (dead_or_set_regno_p): Fix typo.
10640
10641 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
10642
10643         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10644
10645         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
10646         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10647         (TARGET_ASM_OUT): Add the above here.
10648         * target.h (struct gcc_target): Add "visibility" field.
10649         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
10650         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
10651         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10652         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
10653
10654 2002-09-06  Ziemowit Laski <zlaski@apple.com>
10655
10656         * c-lang.c (objc_is_id): New stub.
10657         * c-tree.h (objc_is_id): New forward declaration.
10658         * c-typeck.c (build_c_cast): Do not strip protocol
10659         qualifiers from 'id' type.
10660         * objc/objc-act.c (objc_comptypes): Correct handling
10661         of protocol qualifiers.
10662         (objc_is_id): New.
10663
10664 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
10665
10666         * pentium.md (pentium-firstvboth): Fix typo.
10667
10668 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
10669
10670         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
10671         (enum shift_type, enum h8_cpu): Likewise.
10672         (INL, ROT, LOP, SPC macros): Likewise.
10673         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
10674         const designator.
10675         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
10676         space efficient algorithms when optimize for codesize.
10677
10678 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10679
10680         Fix PR/1727 and long-standing failing testcase
10681         objc/formal-protocol-6.m.
10682         * objc-act.c (build_protocol_expr): If compiling for the GNU
10683         runtime, create a list of Protocol statically allocated instances
10684         if it doesn't exist, then add the Protocol object to this same
10685         list.
10686         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
10687         instead of TREE_CHAIN.
10688
10689 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10690
10691         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
10692         10k.  Fixed category dumping - print out category names with the
10693         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
10694         interface.
10695         (finish_objc): Fixed the -gen-decls option.  It was printing out
10696         only the last class.  Dump an interface declaration of all classes
10697         being compiled instead.
10698
10699 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
10700
10701         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
10702         prototype.
10703         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
10704         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
10705         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
10706         rather than GEN_INT.
10707         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
10708         (return_addr_mask, *check_arch2): New.
10709
10710 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
10711
10712         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
10713         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
10714         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
10715         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
10716         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
10717         "adddf3", "*adddf3", "*adddf3_ibm",
10718         "addsf3", "*addsf3", "*addsf3_ibm",
10719         "muldi3", "mulsi3", "mulsidi3",
10720         "muldf3", "*muldf3", "*muldf3_ibm",
10721         "mulsf3", "*mulsf3", "*mulsf3_ibm",
10722         "*anddi3_cc", "*anddi3_cconly", "anddi3",
10723         "*andsi3_cc", "*andsi3_cconly", "andsi3",
10724         "*iordi3_cc", "*iordi3_cconly", "iordi3",
10725         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
10726         "*xordi3_cc", "*xordi3_cconly", "xordi3",
10727         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
10728         instead of "register_operand" as predicate for "%0" operand.
10729
10730 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
10731
10732         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
10733         unconditionally when gcc_cv_as_flags64 checks are gone.
10734         * configure: Rebuilt.
10735
10736 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
10737
10738         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
10739         2002-07-26 change.  Comment.
10740
10741 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10742
10743         * frv.c (frv_unique_section, frv_select_section,
10744         frv_select_rtx_section): Delete.
10745         (frv_in_small_data_p): New.
10746         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
10747         TARGET_ASM_SELECT_RTX_SECTION): Delete.
10748         (TARGET_IN_SMALL_DATA_P): Define.
10749
10750 2002-09-05  Dale Johannesen  <dalej@apple.com>
10751
10752         * reload1.c (reload):  Retain only those memory clobbers
10753         added for variable-array handling.
10754
10755 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10756
10757         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
10758         return-in-memory rules.
10759         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
10760
10761 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10762
10763         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
10764         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
10765
10766 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10767
10768         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
10769         not a compile-time constant for the non-IBM case.
10770         * config/arm/arm-protos.h (arm_float_words_big_endian): New
10771         prototype.
10772         * config/arm/arm.c (arm_float_words_big_endian): New function.
10773         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
10774         if TARGET_VFP  and not TARGET_HARD_FLOAT.
10775         (ARM_FLAG_VFP, TARGET_VFP): Define.
10776         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
10777
10778 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10779
10780         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
10781         URLs.  Fix AIX wording.
10782
10783 2002-09-05  Stan Shebs  <shebs@apple.com>
10784
10785         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
10786         -fPIC equivalent on Darwin.
10787
10788 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
10789
10790         * sh.c (sh_expand_builtin): Return early if encountering an
10791         error_mark for a type.
10792
10793 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
10794
10795         * config/s390/s390.c (s390_expand_plus_operand): Do not require
10796         double-word scratch register.
10797         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
10798
10799         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
10800         "*cli"): Replace s_operand by memory_operand.
10801         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
10802
10803 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
10804
10805         * config/h8300/h8300.c (asm_file_start): Add a missing
10806         semicolon.
10807
10808 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10809
10810         * c-typeck.c (build_function_call): Remove unused variable(s).
10811         (build_c_cast): Likewise.
10812         * calls.c (rtx_for_function_call): Likewise.
10813         * cfglayout.c (duplicate_insn_chain): Likewise.
10814         * cfgloop.c (flow_loop_nodes_find): Likewise.
10815         * cfgrtl.c (split_edge): Likewise.
10816         * df.c (df_ref_create): Likewise.
10817         * except.c (expand_end_catch): Likewise.
10818         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
10819         * function.c (emit_return_into_block): Likewise.
10820         (reposition_prologue_and_epilogue_notes): Likewise.
10821         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
10822         * combine.c (subst_prev_insn, need_refresh): Remove.
10823         * dwarf2out.c (primary_filename): Remove.
10824         * final.c (new_block): Remove.
10825         * gcse.c (orig_bb_count): Remove.
10826
10827 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10828
10829         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
10830         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
10831         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
10832         directly instead of using a function pointer.
10833
10834 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
10835
10836         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
10837         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
10838         (ix86_output_addr_diff_elt) Likewise.
10839         (x86_output_mi_thunk) Likewise.
10840         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
10841
10842 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10843
10844         * frv.c (frv_encode_section_info): Fix error in last change.
10845
10846 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
10847
10848         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
10849         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
10850         (TARGET_BINDS_LOCAL_P): Define.
10851         (rs6000_override_options): Save original flag_pic value.
10852         (rs6000_elf_select_section): Call default_elf_select_section_1.
10853         (rs6000_elf_unique_section): Call default_unique_section_1.
10854         (rs6000_elf_in_small_data_p): New function.
10855         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
10856         (rs6000_xcoff_select_section): Update based on defaults.
10857         (rs6000_xcoff_unique_section): Set to basic name if not common.
10858         (rs6000_binds_local_p): New function.
10859         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
10860         targetm.have_srodata_section if SDATA_EABI.
10861         (TARGET_IN_SMALL_DATA_P): Define.
10862
10863 2002-09-04  Dale Johannesen  <dalej@apple.com>
10864
10865         * varasm.c (struct rtx_const, decode_rtx_const):
10866         Make veclo and vechi fields not share storage.
10867
10868 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
10869
10870         * loop.c (scan_loop): Don't mark separate insns out of a libcall
10871         for moving.
10872         (move_movables): Abort if we see the first insn of a libcall.
10873
10874 2002-09-04  Richard Henderson  <rth@redhat.com>
10875
10876         * builtin-types.def (BT_FN_FLOAT): New.
10877         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
10878         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
10879         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
10880         * builtins.c (fold_builtin_inf): New.
10881         (fold_builtin): Call it.
10882         * real.c (ereal_inf): New.
10883         * real.h: Declare it.
10884         * doc/extend.texi: Document new builtins.
10885
10886 2002-09-04  Richard Henderson  <rth@redhat.com>
10887
10888         * cse.c (cse_insn): Avoid subreg games if the equivalence
10889         is already in the proper mode.
10890
10891 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
10892
10893         PR c/7102
10894         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
10895
10896 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10897
10898         * pa.md (setccfp0, setccfp1): New patterns.
10899
10900 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10901
10902         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
10903         frv_select_section, frv_select_rtx_section,
10904         frv_encode_section_info, frv_unique_section): Delete.
10905         * frv.c: Update for target hooks.
10906         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
10907         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
10908         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
10909
10910 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10911
10912         * ip2k-protos.h (function_prologue, function_epilogue,
10913         encode_section_info): Update to match target hook specification.
10914         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
10915         (function_prologue, function_epilogue, encode_section_info):
10916         Update to match target hook specification.
10917         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
10918         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
10919         (NOTICE_UPDATE_CC): Cast to void.
10920         * ip2k.md: Add defaults in switch statements.
10921
10922 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
10923
10924         * doc/trouble.texi (Interoperation): Update information about C++ ABI
10925         issues.
10926
10927 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
10928
10929         * config/sparc/t-netbsd64: Disable multilib for now.
10930
10931 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
10932
10933         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
10934         * target.h (gcc_target): Add have_srodata_section member.
10935         * varasm.c (section_category): Add SECCAT_SRODATA.
10936         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
10937         READONLY_SDATA_SECTION defined.
10938         (decl_readonly_section_1): True for SECCAT_SRODATA also.
10939         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
10940         (default_unique_section_1): Likewise.
10941
10942 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10943
10944         * expr.c (emit_group_load): Revise to allow splitting TCmode source
10945         into DImode pieces.
10946
10947         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
10948         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
10949         for floating-point register class.
10950         * pa.c (function_arg): Fix handling of modes wider than one word for
10951         TARGET_64BIT.
10952
10953 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
10954
10955         * combine.c (make_compound_operation): Don't generate zero / sign
10956         extensions in floating point modes.
10957
10958 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
10959
10960         * doc/c-tree.texi: Fix overfull hboxes.
10961         * doc/cppopts.texi: Ditto.
10962         * doc/extend.texi: Ditto.
10963         * doc/gty.texi: Ditto.
10964         * doc/invoke.texi: Ditto.
10965         * doc/makefile.texi: Ditto.
10966         * doc/rtl.texi: Ditto.
10967         * doc/standards.texi: Ditto.
10968         * doc/tm.texi: Ditto.
10969
10970 2002-09-04  Richard Henderson  <rth@redhat.com>
10971
10972         * c-common.c (builtin_define_with_hex_fp_value): New.
10973         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
10974
10975 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
10976
10977         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
10978         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
10979         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
10980         Warn that these options can break ABI compatibility.
10981
10982 2002-09-04  Richard Henderson  <rth@redhat.com>
10983
10984         * real.c (ereal_to_decimal): Add digits parameter.
10985         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
10986         * c-pretty-print.c (pp_c_real_literal): Update call.
10987         * print-rtl.c (print_rtx): Likewise.
10988         * print-tree.c (print_node_brief, print_node): Likewise.
10989         * sched-vis.c (print_value): Likewise.
10990         * config/arc/arc.c (arc_print_operand): Likewise.
10991         * config/c4x/c4x.c (c4x_print_operand): Likewise.
10992         * config/i370/i370.h (PRINT_OPERAND): Likewise.
10993         * config/i386/i386.c (print_operand): Likewise.
10994         * config/i960/i960.c (i960_print_operand): Likewise.
10995         * config/ip2k/ip2k.c (asm_output_float): Likewise.
10996         * config/m32r/m32r.c (m32r_print_operand): Likewise.
10997         * config/m68hc11/m68hc11.c (print_operand): Likewise.
10998         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
10999         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11000         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
11001         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11002         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
11003         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11004         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
11005         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11006         * config/mips/mips.c (print_operand): Likewise.
11007         * config/ns32k/ns32k.c (print_operand): Likewise.
11008         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
11009         * config/vax/vax.h (PRINT_OPERAND): Likewise.
11010         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
11011
11012 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
11013
11014         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
11015         xtensa_multibss_section_type_flags.
11016         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
11017
11018 2002-09-04  Richard Henderson  <rth@redhat.com>
11019
11020         * doc/install-old.texi: Don't mention enquire.
11021         * doc/sourcebuild.texi: Update float.h description.
11022
11023 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
11024
11025         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
11026
11027 2002-09-03  Roger Sayle  <roger@eyesopen.com>
11028
11029         * builtins.c (build_function_call_expr): Remove prototype, export
11030         as non-static and add a comment above function definition.
11031         (builtin_mathfn_code): New function to check for math builtins.
11032         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
11033         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
11034         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
11035         log(sqrt(x)) as log(x)/2.0.
11036
11037         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
11038         in new "builtins.c" section.  Place the build_range_type prototype
11039         with the other prototypes from "tree.c".
11040
11041         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
11042         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
11043         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
11044         x/exp(y) as x*exp(-y).
11045
11046 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
11047
11048         * varasm.c (default_section_type_flags): Append _1 to name with
11049         shlib parameter.  Use original name to call new function with
11050         implicit flag_pic.
11051         (decl_readonly_section): Likewise.
11052         (default_elf_select_section): Likewise.
11053         (default_unique_section): Likewise.
11054         (default_bind_local_p): Likewise.
11055         (categorize_decl_for_section): Add shlib parameter to use in place
11056         of implicit flag_pic.
11057         * output.h: Declare new functions with _1 and shlib argument.
11058
11059 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
11060
11061         * doc/install.texi: Fix typos, formatting problems, and obvious
11062         overfull/underfull boxes.
11063
11064         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
11065         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
11066         include its file, compat.texi.
11067         * doc/compat.texi: New file with new chapter, Binary Compatibility.
11068
11069 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
11070
11071         Debian BTS Bug #157416
11072         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
11073         * cpplib.c (destringize_and_run): Kludge around getting
11074         tokens from in-progress macros.
11075         (_cpp_do__Pragma): Simplify.
11076
11077 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11078
11079         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
11080         (CPP_CPU_SPEC): Remove.
11081         (TARGET_CPU_CPP_BUILTINS): New.
11082         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
11083         (CPP_SPEC): Remove.
11084         (TARGET_OS_CPP_BUILTINS): New.
11085         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
11086         (TARGET_OS_CPP_BUILTINS): New.
11087         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
11088         TARGET_OS_CPP_BUILTINS.
11089         (CPP_PREDEFINES): Remove.
11090         (CPLUSPLUS_CPP_SPEC): Remove.
11091         (TARGET_OS_CPP_BUILTINS): New.
11092
11093 2002-09-03  Richard Henderson  <rth@redhat.com>
11094
11095         * Makefile.in (USER_H): Add ginclude/float.h.
11096         (FLOAT_H): Remove.
11097         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
11098         (mostlyclean): Don't remove float.h intermediate files.
11099         (distclean): Don't remove float.h.
11100         * config.gcc: Remove all float_format references.
11101         * configure.in (float_format, float_h_file): Remove.
11102
11103         * c-common.c: Include tree-inline.h.
11104         (builtin_define_with_int_value): New.
11105         (builtin_define_type_precision): Use it.
11106         (builtin_define_float_constants): New.
11107         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
11108         __FLT_EVAL_METHOD__.
11109         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
11110         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
11111         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
11112         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
11113         (TARGET_FLT_EVAL_METHOD): New.
11114
11115         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
11116         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
11117         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
11118         * ginclude/float.h: New.
11119
11120 2002-09-03  Stan Shebs  <shebs@apple.com>
11121
11122         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
11123         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
11124         (PREFERRED_DEBUGGING_TYPE): Ditto.
11125         (ASM_OUTPUT_IDENT): Remove empty definition.
11126
11127 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11128
11129         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
11130         cxx_target.
11131         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
11132         handling routine for builtin pragma.
11133         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
11134         Registered pragma handling routine.
11135         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
11136         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
11137         If builtin pragma seen for math routine and C89 conformance is
11138         requested use different math function in order to set errno.
11139         * t-ia64 (ia64-c.o): Add new rule for new file.
11140
11141 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11142
11143         * config/s390/s390.md ("movti"): Add Q->Q alternative.
11144         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
11145         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
11146
11147         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
11148         "*movsf_ss"): Remove.
11149
11150 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11151
11152         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
11153         Delete macros.
11154
11155 2002-09-03   Arati Dikey  <aratid@kpit.com>
11156
11157         * h8300.c (asm_file_start): Corrected optimization comment.
11158
11159 2002-09-03  Stan Shebs  <shebs@apple.com>
11160
11161         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
11162         * c-tree.h (recognize_objc_keyword): Remove decl.
11163         * c-typeck.c (comp_target_types): Update a comment.
11164
11165 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11166
11167         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
11168         and register validity checks.
11169         (general_s_operand): Adapt to s390_decompose_address interface change.
11170         (q_constraint): Likewise.
11171         (s390_expand_plus_operand): Likewise.
11172         (legitimiate_address_p): Likewise.
11173         (legitimate_la_operand_p): Likewise.
11174         (legitimize_la_operand): Likewise.
11175         (print_operand_address): Likewise.
11176         (print_operand): Likewise.
11177
11178 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11179
11180         PR objc/5956:
11181         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
11182         was causing the new selector never to match the existing ones
11183         (Patch by Alexander Malmberg <alexander@malmberg.org>).
11184
11185 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11186
11187         * config/i386/i386.md ("femms"): Add "memory" attr "none".
11188
11189 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11190
11191         * expr.c (expand_expr): Remove extraneous comment and code.
11192
11193 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
11194
11195         * stor-layout (finish_builtin_struct): Renamed and moved from c++
11196         frontend. Take chain of fields. Allow NULL alignment type.
11197         * tree.h (finish_builtin_struct): Declare.
11198
11199 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11200
11201         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
11202         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
11203         config/arc/arc.c config/arc/arc.h config/arm/aout.h
11204         config/arm/arm.c config/arm/arm.h config/arm/arm.md
11205         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
11206         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
11207         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
11208         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
11209         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
11210         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
11211         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
11212         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
11213         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
11214         config/pa/pa.h config/pa/pa.md config/romp/romp.h
11215         config/rs6000/linux64.h config/rs6000/lynx.h
11216         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
11217         config/s390/s390.c config/s390/s390.md config/sh/sh.c
11218         config/sparc/sparc.c config/sparc/sysv4.h
11219         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
11220         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
11221         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
11222
11223         * doc/tm.texi: Update docs.
11224         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
11225         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
11226
11227 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11228
11229         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
11230         * arc.c (arc_internal_label): New function.
11231         (TARGET_ASM_INTERNAL_LABEL): Set.
11232         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11233         * arm.c (arm_internal_label): New function.
11234         (TARGET_ASM_INTERNAL_LABEL): Set.
11235         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11236         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11237         * i370.c (i370_internal_label): New function.
11238         (TARGET_ASM_INTERNAL_LABEL): Set.
11239         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11240         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11241         * m68k.c (m68k_hp320_internal_label): New function.
11242         (TARGET_ASM_INTERNAL_LABEL): Set.
11243         * m88k.c (m88k_internal_label): New function.
11244         (TARGET_ASM_INTERNAL_LABEL): Set.
11245         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11246         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
11247         * genoutput.c (output_prologue): Include target.h in output file.
11248         * output.h (default_internal_label): Declare.
11249         * sdbout.c: Include target.h.
11250         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
11251         TARGET_ASM_OUT.
11252         * target.h (internal_label): Add to struct gcc_target.
11253         * varasm.c (default_internal_label): New function.
11254
11255 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11256
11257         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11258         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11259         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11260         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11261         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11262         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11263         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11264         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11265         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11266         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11267         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11268         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11269         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11270         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11271         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11272         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11273         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11274         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11275         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11276         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11277         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11278         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11279         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11280         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11281         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11282         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
11283         * mmix.c (mmix_asm_output_internal_label): Likewise.
11284         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11285         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11286         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11287         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11288         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11289         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11290         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11291         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11292         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11293         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11294         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11295         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11296         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11297         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11298         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11299         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11300         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11301         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11302         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11303
11304         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
11305
11306 2002-08-31  Richard Henderson  <rth@redhat.com>
11307
11308         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
11309
11310 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11311
11312         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
11313
11314 2002-08-30  Richard Henderson  <rth@redhat.com>
11315
11316         PR opt/7515
11317         * c-objc-common.c: Include target.h.
11318         (c_cannot_inline_tree_fn): Don't auto-inline functions that
11319         don't bind locally.  Factor setting DECL_UNINLINABLE.
11320         * Makefile.in (c-objc-common.o): Update.
11321
11322 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
11323
11324         * doc/install.texi (Configuration, Building): Fix a typo and
11325         some formatting directives.
11326
11327 2002-08-30  Paul Koning <pkoning@equallogic.com>
11328
11329         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
11330         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
11331         implemented" note.
11332         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
11333         for alphabetic order.
11334         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
11335         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
11336         (VAX_HALFWORD_ORDER): Document.
11337         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
11338         IEEE float format.
11339         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
11340         (ASM_OUTPUT_LABEL_REF): Fix font.
11341         (CASE_VECTOR_SHORTEN_MODE): Ditto.
11342
11343 2002-08-30  Denis Chertykov  <denisc@overta.ru>
11344
11345         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
11346         stuff.
11347         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
11348         CONST_DOUBLE constants.
11349
11350 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
11351
11352         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
11353         related defines to...
11354         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
11355         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
11356         as a no-op.
11357
11358 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
11359
11360         * config/arm/arm.c (arm_asm_output_labelref): New function.
11361         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
11362         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
11363
11364 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
11365
11366         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
11367         memory exhausted" workarounds.
11368
11369 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11370
11371         * diagnostic.c (fancy_abort): Don't repeat "internal error".
11372         * toplev.c (crash_signal): Likewise.
11373
11374 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11375
11376         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
11377         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
11378         Extended, updated documentation.
11379         (-Wundeclared-selector): Documented.
11380
11381 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
11382
11383         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
11384         the value 1.  Do not undef before defining.
11385         * config/darwin.h: Likewise.
11386         * config/dbx.h: Likewise.
11387         * config/dbxcoff.h: Likewise.
11388         * config/dbxelf.h: Likewise.
11389         * config/elfos.h: Likewise.
11390         * config/interix.h: Likewise.
11391         * config/lynx-ng.h: Likewise.
11392         * config/lynx.h: Likewise.
11393         * config/netware.h: Likewise.
11394         * config/psos.h: Likewise.
11395         * config/svr3.h: Likewise.
11396         * config/alpha/alpha.h: Likewise.
11397         * config/alpha/elf.h: Likewise.
11398         * config/alpha/vms.h: Likewise.
11399         * config/arc/arc.h: Likewise.
11400         * config/arm/aout.h: Likewise.
11401         * config/arm/coff.h: Likewise.
11402         * config/c4x/c4x.h: Likewise.
11403         * config/h8300/h8300.h: Likewise.
11404         * config/i386/cygwin.h: Likewise.
11405         * config/i386/djgpp.h: Likewise.
11406         * config/i386/gas.h: Likewise.
11407         * config/i386/gstabs.h: Likewise.
11408         * config/i386/i386-coff.h: Likewise.
11409         * config/i386/i386-interix.h: Likewise.
11410         * config/i386/sco5.h: Likewise.
11411         * config/i386/svr3dbx.h: Likewise.
11412         * config/i386/sysv3.h: Likewise.
11413         * config/i386/win32.h: Likewise.
11414         * config/i386/x86-64.h: Likewise.
11415         * config/i960/i960.h: Likewise.
11416         * config/ia64/ia64.h: Likewise.
11417         * config/ip2k/ip2k.h: Likewise.
11418         * config/m32r/m32r.h: Likewise.
11419         * config/m68k/3b1.h: Likewise.
11420         * config/m68k/3b1g.h: Likewise.
11421         * config/m68k/ccur-GAS.h: Likewise.
11422         * config/m68k/coff.h: Likewise.
11423         * config/m68k/hp2bsd.h: Likewise.
11424         * config/m68k/hp310g.h: Likewise.
11425         * config/m68k/hp320g.h: Likewise.
11426         * config/m68k/hp3bsd.h: Likewise.
11427         * config/m68k/hp3bsd44.h: Likewise.
11428         * config/m68k/linux-aout.h: Likewise.
11429         * config/m68k/m68k-aout.h: Likewise.
11430         * config/m68k/mot3300.h: Likewise.
11431         * config/m68k/netbsd.h: Likewise.
11432         * config/m68k/openbsd.h: Likewise.
11433         * config/m68k/pbb.h: Likewise.
11434         * config/m68k/plexus.h: Likewise.
11435         * config/m68k/sun2.h: Likewise.
11436         * config/m68k/sun3.h: Likewise.
11437         * config/m68k/tower-as.h: Likewise.
11438         * config/m68k/vxm68k.h: Likewise.
11439         * config/m88k/aout-dbx.h: Likewise.
11440         * config/m88k/m88k-aout.h: Likewise.
11441         * config/mcore/mcore-elf.h: Likewise.
11442         * config/mcore/mcore-pe.h: Likewise.
11443         * config/mips/elf.h: Likewise.
11444         * config/mips/elf64.h: Likewise.
11445         * config/mips/iris5gas.h: Likewise.
11446         * config/mips/iris6.h: Likewise.
11447         * config/mips/mips.h: Likewise.
11448         * config/mips/sni-gas.h: Likewise.
11449         * config/mmix/mmix.h: Likewise.
11450         * config/ns32k/netbsd.h: Likewise.
11451         * config/pa/pa64-hpux.h: Likewise.
11452         * config/romp/romp.h: Likewise.
11453         * config/rs6000/sysv4.h: Likewise.
11454         * config/rs6000/xcoff.h: Likewise.
11455         * config/sh/coff.h: Likewise.
11456         * config/sh/elf.h: Likewise.
11457         * config/sparc/linux64.h: Likewise.
11458         * config/sparc/liteelf.h: Likewise.
11459         * config/sparc/netbsd.h: Likewise.
11460         * config/sparc/openbsd.h: Likewise.
11461         * config/sparc/pbd.h: Likewise.
11462         * config/sparc/sp64-elf.h: Likewise.
11463         * config/sparc/sp86x-elf.h: Likewise.
11464         * config/sparc/sparc.h: Likewise.
11465         * config/vax/vax.h: Likewise.
11466         * config/vax/vaxv.h: Likewise.
11467
11468 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
11469
11470         * h8300.c (shift_alg_hi): Various tweaks to improve performance
11471         of HImode shifts.
11472         (get_shift_alg): Corresponding changes.
11473
11474 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11475
11476         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
11477
11478 2002-08-29  Richard Henderson  <rth@redhat.com>
11479
11480         * expr.h (enum block_op_methods): New.
11481         (emit_block_move): Update prototype.
11482         * expr.c (block_move_libcall_safe_for_call_parm): New.
11483         (emit_block_move_via_loop): New.
11484         (emit_block_move): Use them.  New argument METHOD.
11485         (emit_push_insn): Always respect the given alignment.
11486         (expand_assignment): Update call to emit_block_move.
11487         (store_expr, store_field, expand_expr): Likewise.
11488         * builtins.c (expand_builtin_apply): Likewise.
11489         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
11490         * function.c (expand_function_end): Likewise.
11491         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
11492         * config/sparc/sparc.c (sparc_va_arg): Likewise.
11493         * calls.c (expand_call, emit_library_call_value_1): Likewise.
11494         (save_fixed_argument_area): Use emit_block_move with
11495         BLOCK_OP_CALL_PARM instead of move_by_pieces.
11496         (restore_fixed_argument_area): Likewise.
11497         (store_one_arg): Fix alignment parameter to emit_push_insn.
11498
11499 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11500
11501         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
11502
11503 2002-08-29  Catherine Moore  <clm@redhat.com>
11504
11505         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
11506         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
11507         (PREDICATE_CODES): Include new predicates.
11508         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
11509         (TARGET_SWITCHES):  Add strict-align.
11510         (TARGET_STRICT_ALIGN): New.
11511         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
11512         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
11513         Define.
11514         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
11515         v850_muldi3.
11516         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
11517         L_callt_save_r2_r31, L_return_r2_r31,
11518         L_save_all_interrupt): Change addi to add.
11519         (L_save_interrupt, L_return_interrupt): Rework.
11520         (__return_r31):  Correct .size directive.
11521         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
11522         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
11523         New routines.
11524         * config/v850/v850.c (expand_prologue): Call
11525         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
11526         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
11527         (reg_or_int9_operand): New predicate.
11528         (reg_or_const_operand): New routine.
11529         * config/v850/v850.md (return_interrupt): Changed from
11530         restore_interrupt.
11531         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
11532         (callt_save_interrupt): Change save sequence.
11533         (callt_return_interrupt): New.
11534         (save_interrupt): Don't use runtime function for LONG_CALLS
11535         and TARGET_PROLOG_FUNCTION.
11536         (save_all_interrupt): Likewise.
11537         (mulsi3): Use new predicate.
11538         (moviscc): Disallow some combination of constants.
11539         Fix define_split for sasf insns, so that it will not generate bad
11540         code if operand0 and operand5 are the same.
11541         * config/v850/v850-protos.h: Prototype new predicates.
11542
11543 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
11544
11545         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
11546         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
11547
11548 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11549
11550         * c-common.c (builtin_define_type_precision): New function.
11551         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
11552         wchar_t is unsigned in C++.
11553         * doc/cpp.texi (Common Predefined Macros): Document
11554         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
11555         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11556         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11557
11558 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
11559
11560         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
11561         section.  Mention that it is enabled by -Wall.
11562         (-Wall): Mention that there can be language-specific warnings as well.
11563         (-Wctor-dtor-privacy): Mention that it is enabled by default.
11564         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
11565
11566 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
11567
11568         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
11569         if it is ever live.
11570
11571         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
11572         attribute for SHCOMPACT.
11573
11574         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
11575         appropriately.
11576         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
11577         by the ABI.
11578
11579         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
11580
11581 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
11582
11583         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
11584         "MASK_GAS|MASK_ABICALLS".
11585         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
11586         (TARGET_DEFAULT): Remove.
11587         (MACHINE_TYPE): Undefine before defining.
11588         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
11589
11590 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
11591
11592         * c-common.c (warn_abi): New variable.
11593         * c-common.h (warn_abi): Likewise.
11594         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
11595         (c_common_decode_option): Handle it.
11596         * doc/invoke.texi: Document -Wabi.
11597
11598 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11599
11600         * c-common.c (warn_undeclared_selector): New variable.
11601         * c-common.h (warn_undeclared_selector): Idem.
11602         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
11603         to on when -Wundeclared-selector is found.
11604         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
11605         * objc/objc-act.c (build_selector_expr): If
11606         warn_undeclared_selector is set, check that the selector has
11607         already been defined, and emit a warning if not.
11608
11609 2002-08-27  Nick Clifton  <nickc@redhat.com>
11610             Catherine Moore  <clm@redhat.com>
11611             Jim Wilson  <wilson@cygnus.com>
11612
11613         * config.gcc: Add v850e-*-* target.
11614         Add --with-cpu= support for v850.
11615         * config/v850/lib1funcs.asm: Add v850e callt functions.
11616         * config/v850/v850.h: Add support for v850e target.
11617         * config/v850/v850.c: Add functions to support v850e target.
11618         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
11619         * config/v850/v850.md: Add patterns for v850e instructions.
11620         * doc/invoke.texi: Document new v850e command line switches.
11621
11622 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11623                           Aldy Hernandez <aldyh at redhat dot com>
11624
11625         * doc/tm.texi: Applied numerous fixes to the automaton based
11626         scheduler descrition.
11627
11628 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
11629
11630         * i386.c (classify_argument): Handle variable sized objects.
11631
11632 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
11633
11634         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
11635
11636 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
11637
11638         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
11639
11640 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
11641
11642         * i386.c (classify_argument): Properly compute word size of the analyzed object.
11643
11644 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
11645
11646         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
11647         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
11648         accordingly.
11649         (attribute insn_class): Provide default definitions based on type.
11650         Remove all insn-specific settings.
11651         (various function units): Remove old SH4 scheduling.
11652         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
11653         New attributes.  Set them where appropriate.
11654         (cpu unit FS): Don't define / use.
11655         (F3, load_store): New cpu units.
11656         (F01): New reservation.
11657         (all insn_reservations): Make dependent on sh4 pipeline model.
11658         Fix latencies.
11659         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
11660         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
11661         (mt insn_reservation): Use type mt_group.
11662         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
11663         sh4_fload and sh4_store.
11664         (insn_reservation branch_zero and branch): Replace with sh4_branch.
11665         (insn_reservation branch_far): Replace with sh4_return.
11666         (insn_reservation return_from_exp): Rename to:
11667         (sh4_return_from_exp).  Change to be just d_lock*5.
11668         (insn_reservation lds_to_pr): Rename to:
11669         (sh4_lds_to_pr).  Change to be just d_lock*2.
11670         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
11671         d_lock*2.
11672         (insn_reservation prload_mem): Rename to:
11673         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
11674         (insn_reservation fpscr_store): Rename to:
11675         (fpscr_load).  Change to d_lock,nothing,F1*3.
11676         (insn_reservation fpscr_store_mem): Rename to:
11677         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
11678         (insn_reservation multi): Change to
11679         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
11680         (insn_reservation fp_arith): Change to issue,F01,F2.
11681         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
11682         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
11683         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
11684         (insn_reservation fp_double_cmp): Change to
11685         d_lock,(d_lock+F01),F1+F2,F2.
11686         (insn_reservation dp_div): Change to
11687         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
11688         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
11689         (sh_adjust_cost, SHcompact): Differentiate between different
11690         kinds of dependencies.  Drop factor of ten for superscalar.
11691         Use new instruction types.  Add new exception rules.
11692
11693         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
11694
11695         * sh.md (mperm_w): Add DONE.
11696
11697 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
11698
11699         * longlong.h: Import current PowerPC defintion from GMP-4.1.
11700
11701         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
11702
11703         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
11704
11705 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
11706
11707         * sh.h (MAX_FIXED_MODE_SIZE): Define.
11708
11709 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
11710
11711         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
11712         delimiter.
11713
11714 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11715
11716         * c-common.c (cpp_define_data_format): New function.
11717         (cb_register_builtins): Call it.
11718
11719         * doc/cpp.texi (Common Predefined Macros): Document
11720         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
11721         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
11722         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
11723         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
11724         __TARGET_USES_VAX_H_FLOAT__.
11725
11726 2002-08-26  Ziemowit Laski <zlaski@apple.com>
11727
11728         * objc/objc-act.c (get_super_receiver): If inside a class method
11729         of a category, cast the receiver to 'id' before accessing the 'isa'
11730         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
11731
11732 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
11733
11734         * config/s390/s390-protos.h (s390_function_prologue,
11735         s390_function_epilogue): Remove.
11736         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
11737         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
11738
11739         config/s390/s390.c (s390_machine_dependent_recorg): New function.
11740         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
11741         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
11742         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
11743         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
11744
11745         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
11746         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
11747         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
11748         function is not a leaf function.  Use save_gprs and restore_gprs.
11749         (s390_emit_epilogue): Likewise.
11750         (save_gprs, restore_gprs): New functions.
11751         (struct s390_frame): Remove return_reg_saved_p member.
11752         (save_fprs_p): Remove.
11753         (s390_optimize_prolog): New function.
11754         (s390_legitimate_reload_constant): Remove now unnecessary check.
11755
11756         (s390_function_count): Remove.
11757         (s390_output_symbolic_const): Replace s390_function_count by
11758         current_function_funcdef_no.
11759         (s390_output_constant_pool): Likewise.
11760
11761         (legitimize_pic_address): Use regs_ever_live to track PIC register
11762         instead of current_function_uses_pic_offset_table.
11763         (s390_emit_prologue): Likewise.
11764         config/s390/s390.md ("call", "call_value"): Likewise.
11765
11766 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
11767
11768         * c-opts.c (find_opt): Don't complain about wrong languages
11769         here.  Return exact matches even for wrong language.
11770         (c_common_decode_option): Complain about wrong languages
11771         here.
11772
11773 2002-08-24  Stuart Hastings  <stuart@apple.com>
11774
11775         * function.h (struct function): Add flag
11776         all_throwers_are_sibcalls.
11777         * except.c (set_nothrow_function_flags): Replaces
11778         nothrow_function_p. Set new flag.
11779         * except.h (set_nothrow_function_flags): Replaces
11780         nothrow_function_p.
11781         * dwarf2out.c (struct dw_fde_struct): Add flag
11782         all_throwers_are_sibcalls.
11783         (output_call_frame_info): Test it.
11784         (dwarf2out_begin_prologue) Propagate it from cfun to
11785         dw_fde_struct.
11786         * toplev.c (rest_of_compilation): Update calls to
11787         nothrow_function_p.
11788
11789 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
11790
11791         * ggc-page.c (compute_inverse): Short circuit calculation for
11792         object sizes larger than half a page.
11793
11794 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
11795
11796         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
11797         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
11798         default.
11799         (rs6000_elf_unique_section): Likewise.
11800
11801 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11802
11803         * ns32k.c (ns32k_globalize_label): Delete.
11804         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
11805
11806 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
11807
11808         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
11809         for loading delta with num_insns_constant_wide.  Calculate
11810         delta_low, delta_high without using a conditional.
11811
11812 2002-08-22  Jason Merrill  <jason@redhat.com>
11813
11814         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
11815         * c-common.def: Adjust.
11816         * c-dump.c (c_dump_tree): Adjust.
11817         * c-semantics.c (genrtl_return_stmt): Adjust.
11818         * c-pretty-print.c (pp_c_statement): Adjust.
11819         * tree-inline.c (copy_body_r): Adjust.
11820
11821 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
11822
11823         * ggc-page.c: Avoid division in ggc_set_mark.
11824         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
11825         compute_inverse): New.
11826         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
11827         (init_ggc): Initialize inverse_table.
11828
11829 2002-08-22  Tom Tromey  <tromey@redhat.com>
11830
11831         * doc/install.texi (Configuration): Document --datadir.
11832
11833 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
11834
11835         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
11836
11837 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
11838
11839         * gengtype-lex.l (ID): Allow underscore as first character.
11840
11841 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
11842
11843         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
11844         function.
11845         (rs6000_xcoff_asm_named_section): Rename.
11846         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
11847
11848 2002-08-21  Tom Tromey  <tromey@redhat.com>
11849
11850         For PR java/6005 and PR java/7611:
11851         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
11852         (fold): Likewise.
11853         * langhooks.c (lhd_can_use_bit_fields_p): New function.
11854         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
11855         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
11856         (LANG_HOOKS_INITIALIZER): Use it.
11857         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
11858         field.
11859
11860 2002-08-21  Stan Shebs  <shebs@apple.com>
11861
11862         * tree.c (finish_vector_type): Fix a typo in a comment.
11863         * Makefile.in: Fix "the the" stutters in comments.
11864         * genautomata.c: Ditto.
11865         * ifcvt.c: Ditto.
11866         * regrename.c: Ditto.
11867         * config/alpha/alpha.c: Ditto.
11868         * config/alpha/vms-crt0-64.c: Ditto.
11869         * config/alpha/vms-crt0.c: Ditto.
11870         * config/alpha/vms-psxcrt0-64.c: Ditto.
11871         * config/alpha/vms-psxcrt0.c: Ditto.
11872         * config/d30v/d30v.h: Ditto.
11873         * config/fr30/fr30.h: Ditto.
11874         * config/rs6000/rs6000.c: Ditto.
11875         * config/stormy16/stormy16.h: Ditto.
11876         * doc/md.texi: Ditto.
11877
11878 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11879
11880         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
11881
11882 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
11883
11884         * c-decl.c (grokdeclarator): Make invalid combinations with long,
11885         short, signed or unsigned into hard errors.  Fixes PR c/4319.
11886         Also make duplicate modifiers such as "short short" into hard
11887         errors.
11888
11889 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
11890             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11891
11892         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
11893         to the actual end.  Add '@end table' and '@table @code'.
11894
11895 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
11896
11897         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
11898
11899         * unroll.c (biv_total_increment): Don't try to compute the total
11900         increment for FP BIVs.
11901
11902 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11903
11904         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
11905         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
11906         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11907         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
11908         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
11909         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
11910         (GLOBAL_ASM_OP): Define.
11911         * arm.c (aof_globalize_label): New function.
11912         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
11913         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11914         * c4x.c (c4x_globalize_label): New function.
11915         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
11916         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
11917         (GLOBAL_ASM_OP): Define.
11918         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
11919         * darwin-protos.h (darwin_globalize_label): Declare.
11920         * darwin.c (darwin_globalize_label): New function.
11921         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
11922         (ASM_GLOBALIZE_LABEL): Delete.
11923         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
11924         * dsp16xx.c (asm_output_common): Use target hook.
11925         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
11926         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
11927         (GLOBAL_ASM_OP): Define.
11928         * i370.c (i370_globalize_label): New function.
11929         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
11930         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
11931         * i386.c (ix86_asm_file_end): Use target hook.
11932         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
11933         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
11934         * ia64.c (ia64_asm_output_external): Likewise.
11935         * ia64/sysv4.h: Update comment.
11936         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11937         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11938         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
11939         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11940         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
11941         * mmix-protos.h (mmix_asm_globalize_label): Delete.
11942         * mmix.c (mmix_asm_globalize_label): Likewise.
11943         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
11944         (GLOBAL_ASM_OP): Define.
11945         * ns32k.c (ns32k_globalize_label): New function.
11946         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
11947         (ASM_GLOBALIZE_LABEL): Delete.
11948         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
11949         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
11950         * pa.c (pa_globalize_label): New function.
11951         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
11952         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
11953         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
11954         (GLOBAL_ASM_OP): Define.
11955         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
11956         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11957         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
11958         (GLOBAL_ASM_OP): Define.
11959         * v850.c (v850_output_aligned_bss): Use target hook.
11960         * vax.c (vms_globalize_label): New function.
11961         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
11962         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
11963         (GLOBAL_ASM_OP): Define.
11964         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
11965         * doc/tm.texi: Update docs.
11966         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
11967         target hook.
11968         * final.c (output_alternate_entry_point): Likewise.
11969         * hooks.c (hook_FILEptr_constcharptr_void): New function.
11970         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
11971         * output.h (assemble_global): Delete.
11972         (default_globalize_label): Declare.
11973         * system.h (ASM_GLOBALIZE_LABEL): Poison.
11974         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
11975         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
11976         * target.h (gcc_target): Add globalize_label member.
11977         * varasm.c (asm_output_bss, asm_output_aligned_bss,
11978         globalize_decl): Use target hook.
11979         (assemble_global): Delete.
11980         (default_globalize_label): New function.
11981
11982 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11983
11984         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
11985
11986 2002-08-20  Devang Patel  <dpatel@apple.com>
11987         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
11988
11989 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11990
11991         * arc.c (output_shift): Use stdio instead of asm_fprintf.
11992         * arm.c (thumb_output_function_prologue): Likewise.
11993         * avr.c (print_operand): Likewise.
11994         * c4x.c (c4x_print_operand): Likewise.
11995         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
11996         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
11997         * cris.c (cris_target_asm_function_prologue,
11998         cris_asm_output_mi_thunk): Likewise.
11999         * h8300.c (print_operand): Likewise.
12000         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12001         * ip2k.c (print_operand): Likewise.  Fix format specifier.
12002         * m68hc11.c (asm_print_register, print_operand,
12003         print_operand_address): Use stdio instead of asm_fprintf.
12004         (print_operand_address): Fix format specifier.
12005         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
12006         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
12007         asm_fprintf.
12008         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12009         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12010         * m68k.c (m68k_output_function_prologue,
12011         m68k_output_function_epilogue, print_operand): Likewise.
12012         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
12013         Likewise.  Fix format specifier.
12014         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12015         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12016         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12017
12018 2002-08-15  Eric Christopher  <echristo@redhat.com>
12019             Jeff Knaggs  <jknaggs@redhat.com>
12020
12021         * config.gcc (mipsisa64sr71k-elf): New target.
12022         * config/mips/sr71k.md: New file.
12023         * config/mips/mips.md: Use it.
12024         (rot*): Add sr71k specifics.
12025         * config/mips/t-sr71k: New file.
12026         * config/mips/mips.h (sr71k): New cpu.
12027         (TARGET_SR71K): Use it.
12028         (TUNE_SR71K): Ditto.
12029         (GENERATE_BRANCHLIKELY): Ditto.
12030         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
12031         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
12032         * config/mips/mips.c (sr71k): New cpu.
12033         (mips_use_dfa_pipeline_interface): Use.
12034
12035 2002-08-15  Eric Christopher  <echristo@redhat.com>
12036             Richard Sandiford <rsandifo@redhat.com>
12037             Aldy Hernandez  <aldyh@redhat.com>
12038             Graham Stott    <grahams@redhat.com>
12039             Michael Meissner  <meissner@redhat.com>
12040             Gavin Romig-Koch  <gavin@redhat.com>
12041             Ken Raeburn  <raeburn@cygnus.com>
12042             Alexandre Oliva <aoliva@redhat.com>
12043
12044         * config.gcc (mips64vr-elf): New target.
12045         * config/mips/5400.md: New file.
12046         * config/mips/5500.md: Ditto.
12047         * config/mips/mips.md: Use them.
12048         (frsqrt): New.
12049         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
12050         cpus.
12051         (mips_issue_rate): Use them.
12052         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
12053         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
12054         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
12055         cpus.
12056         (TARGET_MIPSx): Use them.
12057         (TUNE_MIPSx): Ditto.
12058         (GETNATE_MULT3_SI): Ditto.
12059         (ISA_HAS_BRANCHLIKELY): Ditto.
12060         (ISA_HAS_CONDMOVE): Ditto.
12061         (ISA_HAS_NMADD_NMSUB): Ditto.
12062         (ISA_HAS_MULHI): New. Ditto.
12063         (ISA_HAS_MULS): Ditto.
12064         (ISA_HAS_MSAC): Ditto.
12065         (ISA_HAS_MACC): Ditto.
12066         (ISA_HAS_ROTR_SI): Ditto.
12067         (ISA_HAS_ROTR_DI): Ditto.
12068         (RTX_COSTS): Use.
12069
12070 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12071
12072         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
12073         at head.
12074         (remove_dup_nonsys_dirs): New function.
12075         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
12076         (merge_include_chains): Remove non-system include directories from
12077         quote and bracket include chains when they duplicate equivalent system
12078         directories.
12079         * doc/cpp.texi (-I): Update.
12080         * doc/cppopts.texi (-I): Update.
12081         * doc/install.texi (--with-local-prefix): Further document usage of
12082         this option.
12083         * doc/invoke.texi (-I): Update.
12084
12085 2002-08-20  Richard Henderson  <rth@redhat.com>
12086
12087         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
12088         (emit_block_move): Split out subroutines.
12089         (emit_block_move_via_movstr): New.
12090         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
12091         (emit_block_move_libcall_fn): New.  Construct function prototype for
12092         bcopy as well.
12093         (clear_storage): Split out subroutines.
12094         (clear_storage_via_clrstr): New.
12095         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
12096         (clear_storage_libcall_fn): New.  Construct function prototype for
12097         bzero as well.
12098         (emit_push_insn): Use emit_block_move.
12099         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
12100         (store_constructor): Likewise.
12101
12102 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12103
12104         * objc/objc-act.c (building_objc_message_expr): Rename to
12105         current_objc_message_selector.
12106
12107 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12108
12109         * objc/objc-act.c (build_ivar_chain): Remove.
12110         (objc_copy_list): Likewise.
12111         (get_class_ivars): Inline call to removed build_ivar_chain
12112         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
12113         slot; use that slot (rather than CLASS_IVARS) when accessing
12114         ivars for base classes.  Call copy_list and chainon instead of
12115         objc_copy_list.
12116         (build_private_template): Call get_class_ivars instead of
12117         build_ivar_chain.
12118         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
12119         (continue_class): Call get_class_ivars instead of
12120         build_ivar_chain.
12121         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
12122         of DECL_BIT_FIELD (which may have been cleared).
12123         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
12124
12125 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12126
12127         * genautomata.c (output_translate_vect, output_state_ainsn_table,
12128         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
12129         in output file.
12130         (output_internal_min_issue_delay_func): Initialize variable in
12131         output file.
12132
12133 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
12134
12135         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
12136         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
12137
12138 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
12139             Steve Ellcey  <sje@cup.hp.com>
12140
12141         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
12142         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
12143         * explow.c (trunc_int_for_mode): Abort when the mode is not
12144         a scaler integer mode.
12145         * combine.c (expand_compound_operation): Don't expand Vector
12146         or Complex modes into shifts.
12147         (expand_field_assignment): Don't do bitwise arithmatic and
12148         shifts on Vector or Complex modes.
12149         (simplify_comparison): Don't call trunc_int_for_mode
12150         for VOIDmode.
12151         * recog.c (general_operand): Likewise.
12152         (immediate_operand): Likewise.
12153         (nonmemory_operand): Likewise.
12154
12155 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
12156
12157         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
12158         multi-instruction SImode constant.  Add REG_EQUAL note.
12159         * config/rs6000/rs6000.md (movsi splitter): Use
12160         rs6000_emit_set_const.
12161
12162 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12163
12164         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
12165         the macro test controlling its use.
12166
12167 2002-08-18  H.J. Lu  (hjl@gnu.org)
12168
12169         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
12170         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
12171         gnu_ld=yes.
12172         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
12173         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
12174         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
12175         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
12176         here.
12177         (cris-*-linux*): Remove setting thread_file here.
12178
12179 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
12180
12181         PR preprocessor/7602
12182         * cppinit.c (path_include): Treat the system environment
12183         variables as being cxx_aware.
12184
12185 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
12186
12187         * c-decl.c (flexible_array_type_p): New function.
12188         (grokdeclarator, finish_struct): Use it.
12189         * doc/extend.texi: Document constraints on use of structures with
12190         flexible array members.
12191
12192 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
12193
12194         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
12195         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
12196         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
12197
12198 2002-08-16  Stan Shebs  <shebs@apple.com>
12199
12200         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
12201         for ObjC with -fnext-runtime.
12202         * doc/cpp.texi: Document it.
12203
12204 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
12205
12206         * doc/install.texi (Final installation): Replace links to individual
12207         build status pages with a link to a common page that lists them all.
12208
12209 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
12210
12211         * doc/invoke.texi: Fix typo.
12212
12213 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
12214
12215         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
12216
12217 2002-08-16  Andrew Haley  <aph@redhat.com>
12218
12219         * tree-inline.c: Add includes for Java inliner.
12220         (remap_decl): Don't handle anonymous types for Java.
12221         (remap_block): Add handling for Java trees.
12222         (copy_scope_stmt): Conditionalize for non-Java use only.
12223         (copy_body_r): Handle Java trees.  Add handling for
12224         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
12225         (initialize_inlined_parameters):  Handle Java trees.
12226         (declare_return_variable): Likewise.
12227         (expand_call_inline): Handle Java trees.
12228         (walk_tree): Likewise.
12229         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
12230         (add_stmt_to_compound): New function.
12231
12232 2002-08-15  Richard Henderson  <rth@redhat.com>
12233
12234         * Makefile.in (LOOSE_WARN): Remove -fno-common.
12235         (NOCOMMON_FLAG): New substitution point.
12236         (GCC_WARN_CFLAGS): Include it.
12237         * configure.in (ac_checking): Set nocommon_flag.
12238         (nocommon_flag): New substitution point.
12239
12240 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
12241
12242         * c-tree.h (skip_evaluation): Move declaration...
12243         * c-common.h: ... here.
12244         * c-typeck.c (build_external_ref): Don't assemble_external nor
12245         mark a tree as used if skip_evaluation is set.
12246         * c-parse.in (typeof): New non-terminal to set skip_evaluation
12247         around TYPEOF.
12248         (typespec_nonreserved_nonattr): Use it.
12249
12250 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
12251
12252         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
12253         (xcoff_debug_hooks): Update end_prologue.
12254         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
12255         * debug.h (end_prologue): Add file arg.
12256         (end_epilogue): Add line and file args.
12257         (dwarf2out_end_epilogue): Add line and file args.
12258         (vmsdbgout_after_prologue): Remove.
12259         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
12260         (dwarf2_debug_hooks): Update end_prologue.
12261         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
12262         (dwarfout_end_prologue): Add file arg.
12263         * final.c (vmsdbgout_after_prologue): Remove
12264         (final_end_function): Update end_epilogue call.
12265         (final_scan_insn): Update end_prologue call.
12266         * sdbout.c (sdbout_end_epilogue): Add line and file args.
12267         (sdbout_end_prologue): Add file arg.
12268         (sdb_debug_hooks): Update end_prologue.
12269         (sdb_begin_prologue): Update sdbout_end_prologue call.
12270         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
12271         vmsdbgout_end_function.
12272         (vmsdbgout_end_prologue): New function renamed from
12273         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
12274         (vmsdbgout_end_function): New function.
12275         (vmsdbgout_end_epilogue): Add line and file args. Call
12276         vmsdbgout_source_line.
12277         (write_pclines): Write only valid line numbers.
12278         (write_srccorr): Don't write source correlation records if 0 lines.
12279         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
12280
12281 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
12282
12283         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
12284         (_Unwind_Internal_Ptr): 32 bit version for use in
12285         read_encoded_value_with_base.
12286         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
12287         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
12288         right size.
12289
12290 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12291
12292         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
12293         signed/unsigned warnings.
12294
12295         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
12296         record_reg_classes): Likewise.
12297
12298         * reload.c (reload_inner_reg_of_subreg, push_reload,
12299         find_reloads_address_1): Likewise.
12300
12301 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
12302
12303         * rs6000.c (output_mi_thunk): Return to function section on
12304         TARGET_ELF.
12305
12306         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
12307
12308 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
12309
12310         * config/s390/s390.c (legitimize_address): Optimize loading
12311         of large displacements.
12312
12313 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
12314
12315         * config/alpha/alpha-protos.h: Update.
12316
12317         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
12318         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
12319         (alpha_linkage_symbol_p): New static function.
12320         (print_operand_address): Print linkage operand.
12321
12322         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
12323         variables.
12324         (reloc_kind): New enum.
12325         (struct alpha_funcs): New struct.
12326         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
12327
12328         (alpha_need_linkage): Rewrite.
12329         (alpha_use_linkage): New global function.
12330         (alpha_write_linkage): Rewrite and make static.
12331         (alpha_write_one_linkage): Rewrite
12332
12333         (alpha_start_function): Remove procedure descriptor output.
12334         (alpha_end_function): Write linkages at end of each function.
12335
12336         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
12337         (call_vms_1, call_value_vms_1): Rewrite.
12338
12339         * config/alpha/vms.h (ASM_FILE_END): Remove.
12340
12341 2002-08-14  Richard Henderson  <rth@redhat.com>
12342
12343         * ggc-page.c (RTL_SIZE): New.
12344         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
12345         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
12346
12347 2002-08-14  Richard Henderson  <rth@redhat.com>
12348
12349         * calls.c: Include target.h.
12350         * Makefile.in (calls.o): Update.
12351
12352         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
12353         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
12354
12355 2002-08-14  Richard Henderson  <rth@redhat.com>
12356
12357         * Makefile.in (LOOSE_WARN): Add -fno-common.
12358         * c-common.h (constant_string_class_name): Add missing extern.
12359
12360 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
12361
12362         PR preprocessor/7358
12363         * c-opts.c (check_deps_environment_vars): Ignore main file
12364         for SUNPRO_DEPENDENCIES.
12365         * cppfiles.c (stack_include_file): Ignore main file if
12366         appropriate.
12367         * cpplib.h (struct cpp_options): New member in deps.
12368         * doc/cppenv.texi: Update.
12369
12370 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12371
12372         PR preprocessor/7526
12373         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
12374
12375 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
12376
12377         * doc/invoke.texi (-a): Remove documentation.
12378         (-fprofile-arcs): Remove reference to -a, -ax options.
12379         * doc/gcov.texi (Gcov Data Files): Data might be merged.
12380
12381 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12382
12383         Fix PR/7566
12384         * c-semantics.c (genrtl_case_label): Don't (mis)use
12385         warning_with_decl.
12386
12387 2002-08-14  Dale Johannesen  <dalej@apple.com>
12388
12389         * explow.c (emit_stack_restore):  Emit memory clobbers
12390         preceding the stack pop, to prevent the scheduler from
12391         moving refs to variable arrays below this pop.
12392         * reload1.c (reload):  Preserve these clobbers for sched2.
12393         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
12394
12395 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12396
12397         * c-opts.c (c_common_post_options): Correct test.
12398
12399 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12400
12401         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
12402         order in call to fprintf.
12403
12404 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12405
12406         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
12407
12408 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
12409
12410         * reload.c (find_reloads): Handle constraint letters marked by
12411         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
12412         (alternative_allows_memconst): Likewise.
12413         * reload1.c (maybe_fix_stack_asms): Likewise.
12414         * recog.c (asm_operand_ok, preprocess_constraints,
12415         constrain_operands): Likewise.
12416         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
12417         * local-alloc.c (block_alloc, requires_inout): Likewise.
12418         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
12419
12420         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
12421         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
12422         * doc/tm.texi: Document these two new target macros.
12423
12424         * config/s390/s390.c (s390_expand_plus_operand): Accept already
12425         valid operands.
12426         (q_constraint): New function.
12427         config/s390/s390-protos.h (q_constraint): Declare it.
12428         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
12429         (EXTRA_MEMORY_CONSTRAINT): New macro.
12430
12431         * config/s390/s390.md: Throughout the machine description,
12432         replace all instances of the constraint combinations 'Qo'
12433         or 'oQ' with simply 'Q'.
12434
12435 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12436
12437         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
12438         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
12439         (LIBGCC2_CFLAGS): Compile with -mrelax.
12440
12441 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12442
12443         * doc/invoke.texi: Document -minmax for 68HC12.
12444
12445         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
12446         ("uminqi3"): Likewise.
12447         ("uminhi3", "umaxhi3"): Likewise.
12448
12449         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
12450         (TARGET_MIN_MAX): Define.
12451         (TARGET_SWITCHES): New option -minmax/-mnominmax.
12452
12453 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12454
12455         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
12456         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
12457
12458         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
12459         (ret, declare, farsym): New gas macros.
12460         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
12461         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
12462         and declare the symbol far when compiled with -mlong-calls.
12463         (__far_trampoline): New for 68HC12 trampoline code to invoke a
12464         far handler using jsr/bsr.
12465
12466         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
12467         (jsr): New macro to transform a 'jsr' into a 'call'.
12468
12469 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12470
12471         * doc/invoke.texi: Document -mlong-calls for 68HC12.
12472
12473         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
12474         -mlong-calls is specified.
12475         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
12476         assembler directives.
12477         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
12478         (TARGET_SWITCHES): Add -mlong-calls options.
12479         (current_function_far): Declare.
12480
12481         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
12482         into account the page register saved on the stack.
12483         (m68hc11_override_options): Take into account -mlong-calls option.
12484         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
12485
12486         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
12487         if the function is going to be in 68HC12 banked memory (-mlong-calls).
12488         ("*return_16bit"): Likewise.
12489         ("*return_void"): Likewise.
12490         ("call", "call_value"): Use call for a far function call.
12491
12492 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12493
12494         * toplev.c (parse_options_and_default_flags): Don't call
12495         post_options here.
12496         (general_init): Initialize GC, pools and tree hash here,
12497         instead of lang_independent_init.
12498         (lang_independent_init): Rename backend_init.
12499         (do_compile): Call post_options hook; exit early if there
12500         have been errors after switch processing.
12501         (toplev_main): Update.
12502
12503 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12504
12505         * c-pretty-print.h: Guard against multiple inclusion.
12506         Robustify macros.
12507         (pp_c_attributes): Declare.
12508         * c-pretty-print.c (pp_c_attributes): New function.
12509
12510 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12511
12512         * m68k.c (m68k_output_function_prologue,
12513         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
12514         and NEWS/MOTOROLA.
12515         * genattrtab.c: Remove dpx2 comment.
12516         * libgcc2.c (__enable_execute_stack): Delete versions for
12517         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
12518         sony_news/SYSTYPE_BSD.
12519         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
12520         __gmicro__, __i860__, __NeXT__ and __pyr__.
12521         * rtl.h: Remove convex comment.
12522         * varasm.c: Likewise.
12523
12524 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12525
12526         * c-opts.c (lang_flags): Const-ify.
12527         * ra-build.c (undef_table): Likewise.
12528         * ra.c (eliminables): Likewise.
12529
12530 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12531
12532         * tree.h: Guard against multiple inclusion.
12533
12534 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
12535
12536         * reload1.c (reload_cse_simplify): Before checking
12537         REG_FUNCTION_VALUE_P, check REG_P.
12538
12539 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
12540
12541         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
12542
12543 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12544
12545         * c-opts.c (c_common_init_options): Extra braces needed.
12546
12547 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12548
12549         * sh.c (sh_init_builtins): Add PARAMS to declaration.
12550         (sh_media_init_builtins, sh_expand_builtin): Likewise.
12551         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
12552         (sh_expand_binop_v2sf): Likewise.
12553         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
12554         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
12555         (sh_initialize_trampoline): Likewise.
12556
12557 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
12558
12559         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
12560         new condition code modes.
12561         s390.c (s390_match_ccmode_set): Handle those new CC modes.
12562         (s390_select_ccmode): Likewise.
12563         (s390_branch_condition_mask): Likewise.
12564
12565         * s390-protos.h (s390_tm_ccmode): Declare.
12566         s390.c (s390_tm_ccmode): New function.
12567         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
12568
12569         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
12570         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
12571         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
12572
12573         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
12574         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
12575         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
12576         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
12577         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
12578
12579         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
12580         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
12581         "*cmpqi_ccs_0"): Remove, replace by ...
12582         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
12583         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
12584         "*tstqi", "*tstqi_cconly"): ... these new patterns.
12585
12586         ("*cmpsidi_ccs"): Remove, replace by ...
12587         ("*cmpsi_ccs_sign"): ... this new pattern.
12588         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
12589
12590         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
12591         ("*cli"): ... this new pattern.
12592
12593         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
12594         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
12595         New patterns.
12596         ("adddi3_64"): Rename to "*adddi3_64".
12597         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
12598         ("adddi3"): Adapt expander.
12599
12600         ("*addsi3_cc"): Allow "general_operand" for operand 2.
12601         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
12602         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
12603
12604         ("addhi3", "addqi3"): Remove, replace by ...
12605         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
12606
12607         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
12608         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
12609         ("subdi3"): Replace by insn and splitter "*subdi3_31".
12610         ("subdi3"): New expander.
12611
12612         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
12613
12614         ("subhi3", "subqi3"): Remove, replace by ...
12615         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
12616
12617         ("*muldi3_sign"): New pattern.
12618         ("muldi3"): Do not clobber CC.
12619         ("mulsi3"): Likewise.
12620         ("mulsi_6432"): Likewise.
12621
12622 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12623
12624         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
12625         which can change CC0.
12626
12627 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
12628
12629         * gcse.c (adjust_libcall_notes): New function.
12630         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
12631
12632 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
12633
12634         * libgcc2.c (L_bb): Remove unneeded #includes.
12635         (__global_counters, __gthreads_active): Remove unused globals.
12636         (__bb_exit_func): Merge counts into files rather than appending.
12637         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
12638         (ALL_CFLAGS): ... to here.
12639
12640 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12641
12642         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
12643         (function_epilogue): Don't calculate function size.
12644         (ip2k_set_compare): Don't use lookup_const_double.
12645         (asm_file_start): Initialization of commands_in_file removed.
12646         (asm_file_end): Output of commands_in_file removed.
12647
12648         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
12649         __INT_MAX__.
12650
12651 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12652
12653         * c-opts.c (c_common_init_options): Check option array is
12654         sorted if checking enabled.
12655
12656 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
12657
12658         * c-pretty-print.c: #include "c-tree.h".
12659         (pp_c_simple_type_specifier): Tweak.
12660         (pp_c_storage_class_specifier): New.
12661         (pp_c_function_specifier): Likewise.
12662         (pp_c_declaration_specifiers): Likewise.
12663         (pp_c_init_declarator): Likewise.
12664         (pp_c_declaration): Likewise.
12665         (pp_c_direct_declarator): Stub.
12666         (pp_c_declarator): Likewise.
12667         (pp_c_parameter_declaration): Likewise.
12668
12669 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12670
12671         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
12672         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
12673         struct deferred_opt): New.
12674         (COMMAND_LINE_OPTIONS): Add -M*.
12675         (missing_arg): Update.
12676         (c_common_decode_option): Handle -M*.
12677         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
12678         don't call cpp_post_options.
12679         (c_common_finish, check_deps_environment_vars): Update.
12680         * cppfiles.c (stack_include_file, handle_missing_header): Update.
12681         * cpphash.h (CPP_PRINT_DEPS): Remove.
12682         * cppinit.c: Don't include version.h.
12683         (cpp_create_reader): Don't call deps_init.  Initialize
12684         warn_long_long.
12685         (cpp_read_main_file): Init deps if necessary.
12686         (cpp_destroy): Conditionally free deps.
12687         (cpp_finish): Update.
12688         (no_tgt): Remove.
12689         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
12690         (cpp_post_options): Rename post_options.
12691         * cpplib.h (struct cpp_options): Remove some dependency options;
12692         move others to a new structure.
12693         (cpp_post_options): Remove.
12694         (cpp_finish): Comment.
12695         * fix-header.c (read_scan_file): Don't call cpp_post_options.
12696
12697 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12698
12699         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
12700         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
12701         MMIX_rR_REGNUM as clobbered.
12702         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
12703
12704 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
12705
12706         * diagnostic.h (output_formatted_scalar): Rename from
12707         output_formatted_integer.
12708         * diagnostic.def: Add DK_DEBUG.
12709         * diagnostic.c (output_decimal): Adjust.
12710         (output_long_decimal): Likewise.
12711         (output_unsigned_decimal): Likewise.
12712         (output_octal): Likewise.
12713         (output_long_octal): Likewise.
12714         (output_hexadecimal): Likewise.
12715         (output_long_hexadecimal): Likewise.
12716         * c-pretty-print.c (pp_c_type_specifier): New function.
12717         (pp_c_specifier_qualifier_list): Likewise.
12718         (pp_c_abstract_declarator): Likewise.
12719         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
12720
12721 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
12722
12723         * doc/trouble.texi (Disappointments): Add static constructor and
12724         destructor dependency information for AIX.
12725
12726 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12727
12728         * cpphash.h (struct printer): New from cppmain.c.
12729         (cpp_reader): New member.
12730         * cppmain.c (struct printer): Move to cpphash.h.
12731         (options, print): Remove.
12732         (account_for_newlines, print_line, maybe_print_line,
12733         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
12734         scan_translation_unit_trad, cb_line_change, cb_ident,
12735         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
12736         cb_def_pragma): Make reentrant.
12737
12738 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12739
12740         * real.c (ieee_64): Always define.
12741         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12742         (dec_h): Not used yet, hide it.
12743         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
12744         macro controlling use.
12745         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12746
12747 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12748
12749         * i386.md (tablejump): Sign extend the operand.
12750         * i386.c (classify_argument): Fix missed case from previous patch.
12751
12752 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12753
12754         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
12755         to c-copts.c.
12756         (warn_multichar): Die.
12757         (cb_register_builtins): Export.
12758         * c-common.h (warn_multichar, preprocess_file): Remove.
12759         (cb_register_builtins): New.
12760         * c-lang.c (c_init): Remove.
12761         (LANG_HOOKS_INIT): Use c_objc_common_init.
12762         * c-lex.c (init_c_lex): Don't canonicalize filename.
12763         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
12764         (preprocess_file): Make static.  Update for cpplib.
12765         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
12766         (c_common_post_options): Set some cpp options here.
12767         (c_common_init): Move from c-common.c.
12768         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
12769         * cpplib.h (struct cpp_options): Remove in_fname.
12770         (cpp_preprocess_file): Update.
12771         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
12772
12773 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12774
12775         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
12776
12777 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12778
12779         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
12780         backslash in comment preceeding macro definition.
12781         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
12782         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
12783         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
12784
12785 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12786
12787         * expr.c (store_expr): In condition for checking if value is
12788         generated in TARGET, move call to expr_size last.
12789
12790 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
12791
12792         * c-common.c (c_common_init): Call preprocess_file instead.
12793         (c_common_finish): Move to c-opts.c.
12794         * c-common.h (preprocess_file): new.
12795         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
12796         check_deps_environment_vars, c_common_finish): New.
12797         (c_common_decode_option): Update for out_fname and dependencies.
12798         * cppinit.c (init_dependency_output, output_deps): Remove.
12799         (cpp_destroy): Update prototype.
12800         (cpp_add_dependency_target): New.
12801         (cpp_read_main_file): Don't overlay a buffer.
12802         (cpp_finish): Take a deps output stream and write deps to it.
12803         Return the error count.
12804         (cpp_post_options): Don't canonicalize out_fname, or do anything
12805         with dependencies.
12806         * cpplib.h (struct cpp_options): Remove out_fname and
12807         preprocess_only.
12808         (cpp_add_dependency_target): New.
12809         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
12810         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
12811         set preprocess_only.  Don't handle the output stream directly.
12812
12813 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12814
12815         * dsp16xx.c (print_operand): Fix format specifier.
12816         * dsp16xx.md: Avoid automatic aggregate initialization.
12817         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
12818         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
12819         integer constant modifier.
12820         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
12821         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
12822         guards.
12823         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
12824         * v850.c (v850_select_section): Mark parameter with
12825         ATTRIBUTE_UNUSED.
12826         * global.c (global_alloc): Const-ify.
12827         * ra-colorize.c (hardregset_to_string): Fix format specifier.
12828
12829 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12830
12831         * darwin-c.c (darwin_pragma_options): Const-ify.
12832         * darwin.c (machopic_non_lazy_ptr_name,
12833         machopic_validate_stub_or_non_lazy_ptr): Likewise.
12834         (machopic_indirect_data_reference): Wrap variables in macros
12835         controlling their use.
12836         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
12837         (machopic_select_section): Use parentheses around && within ||.
12838         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
12839
12840 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12841
12842         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
12843         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
12844         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
12845         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
12846         mdr_try_remove_redundant_insns, track_w_reload,
12847         mdr_try_wreg_elim): Make function static to match prototype.
12848         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
12849         parameter with ATTRIBUTE_UNUSED.
12850
12851 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12852
12853         * arc.c (arc_init): Don't use ISO C style function definitions.
12854         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
12855         arm_get_strip_length, arm_strip_name_encoding): Likewise.
12856         * avr.h (progmem_section): Likewise.
12857         * h8300.c h8300_asm_insn_count): Likewise.
12858         * m32r.c (init_idents): Likewise.
12859         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
12860         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
12861         * xtensa.c (xtensa_build_va_list): Likewise.
12862
12863 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
12864
12865         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
12866         * c-opts.c (parse_option): Rename find_opt.
12867         (set_std_c99): New function.
12868         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
12869         (missing_arg): Remove OPT_std_bad.  Handle -o.
12870         (c_common_decode_option): Handle input and output file names,
12871         -o and -remap.  Clean up -std= handling.
12872         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
12873         (cpp_handle_option): Similarly.  Don't handle filenames.
12874
12875 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
12876
12877         * i386.c (classify_argument): Fix computing of field's offsets.
12878
12879 2002-08-11  Andreas Jaeger  <aj@suse.de>
12880
12881         PR target/7531:
12882         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
12883
12884 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
12885
12886         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
12887         reference to clk_objective_c with flag_objc.
12888         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
12889         Likewise.
12890         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
12891
12892 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
12893
12894         * c-opts.c (set_std_cxx98, set_std_c89): New.
12895         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
12896         (c_common_decode_option): Handle new switches from cppinit.c.
12897         Add -std=gnu++98.
12898         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
12899         (no_arg, no_num): Remove.
12900         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
12901         switches apart from -lang-objc and lang-asm.
12902         (cpp_handle_option): Similarly.
12903         * cpplib.h (cpp_set_lang): New.
12904         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
12905         -std=gnu++98.
12906         * objc/lang-specs.h: Remove -ansi.
12907
12908 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
12909                                Graham Stott
12910
12911         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
12912         errors.
12913
12914 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12915
12916         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
12917         emit_jump_insn): Fix uninitialized variable.
12918         * gcov.c (init_line_info): Likewise.
12919         * genautomata.c (transform_3): Add braces around ambiguous
12920         else.
12921         * ifcvt.c (cond_exec_process_insns): Mark parameter with
12922         ATTRIBUTE_UNUSED.
12923         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
12924         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
12925         variable.
12926
12927         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
12928         warnings in output files.
12929
12930 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
12931
12932         * c-common.c (flag_objc): New.
12933         * c-common.h (c_language_kind): Get rid of clk_objective_c
12934         enum value.
12935         (flag_objc): New extern declaration.
12936         * c-decl.c (implicitly_declare): Call objc_check_decl
12937         instead of maybe_objc_check_decl.
12938         (finish_decl): Likewise.
12939         (grokfield): Likewise.
12940         (finish_struct): Likewise.
12941         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
12942         (maybe_objc_comptypes): Rename to objc_comptypes.
12943         (maybe_building_objc_message_expr): Rename to
12944         objc_message_selector.
12945         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
12946         replace with flag_objc as needed.
12947         * c-opts.c (c_common_init_options): Likewise.
12948         (c_common_decode_option): Likewise.
12949         * c-parse.in (init_reswords): Likewise.
12950         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
12951         (maybe_objc_comptypes): Rename to objc_comptypes.
12952         (maybe_building_objc_message_expr): Rename to
12953         objc_message_selector.
12954         * c-typeck.c (comptypes): Call objc_comptypes instead of
12955         maybe_objc_comptypes, and/or objc_message_selector instead of
12956         maybe_building_objc_message_expr.
12957         (comp_target_types): Likewise.
12958         (convert_for_assignment): Likewise.
12959         (warn_for_assignment): Likewise.
12960         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
12961         independently of those for other languages.
12962         * objc/objc-act.c (maybe_objc_comptypes): Delete.
12963         (maybe_objc_check_decl): Delete.
12964         (maybe_building_objc_message_expr): Rename to
12965         objc_message_selector.
12966         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
12967         clk_objective_c; set flag_objc flag.
12968
12969 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
12970
12971         * ifcvt.c (find_if_case_2): Test correct basic block for size.
12972
12973 2002-08-09  Dale Johannesen  <dalej@apple.com>
12974
12975         * config/rs6000/rs6000.md: Add sibcall patterns.
12976         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
12977         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
12978         Rewritten to handle sibcalls.
12979         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
12980         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
12981
12982 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
12983
12984         * profile.c (da_file_name): New static var.
12985         (init_branch_prob): Initialize it.
12986         (end_branch_prob): Remove da file.
12987
12988         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
12989         * configure.in (coverage_flags): Default to nothing.
12990         * configure: Rebuilt.
12991
12992 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
12993
12994         * Makefile.in (c-opts.o): Update
12995         * c-opts.c: Include intl.h.
12996         (print_help): Move from cppinit.c.  Remove unused options.
12997         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
12998         (missing_arg): Complain for switches without an argument.
12999         (c_common_decode_option): Reject missing joined arguments.
13000         Handle new switches from cppinit.c.
13001         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13002         (cpp_handle_option): Similarly.
13003         (print_help): Moved to c-opts.c.
13004         * cpplib.h (struct cpp_options): Remove help_only.
13005         * gcc.c (cpp_unique_options): Remove -$.
13006         * doc/cppopts.texi: Undocument -h.
13007
13008 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13009
13010         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
13011         legitimate constant.
13012         (legitimate_pic_operand_p): Neither pic operand.
13013         (legitimate_address_p): But legitimate address.
13014         (get_thread_pointer): Generate MEM/u instead of CONST around
13015         UNSPEC_TP.
13016         (print_operand): Remove printing of UNSPEC_TP.
13017         (print_operand_address): And print it here.
13018
13019 2002-08-08  Devang Patel  <dpatel@apple.com>
13020
13021         * objc/objc-act.c (build_selector_translation_table): Issue warning,
13022         when  -Wselector is used,if method for which selector is being
13023         created does not exist.
13024
13025 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
13026
13027         * config/sh/sh.c (prepare_move_operands): Only call
13028         target_reg_operand if TARGET_SHMEDIA.
13029
13030 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13031
13032         * config/rs6000/rs6000.h, config/rs6000/aix.h,
13033         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
13034         two patches.
13035         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
13036
13037 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
13038             Richard Henderson  <rth@redhat.com>
13039
13040         * emit-rtl.c (gen_rtx_REG): After reload, only return
13041         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
13042
13043 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13044
13045         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
13046         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
13047         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
13048         macro.
13049
13050 2002-08-08  Adam Nemet  <anemet@lnxw.com>
13051
13052         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
13053         register.
13054         (thumb_expand_prologue): Likewise.
13055         (thumb_output_function_prologue): Likewise.
13056         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
13057         the additional push of the PIC register.
13058
13059 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13060
13061         * configure.in (enable_coverage): New enable switch.
13062         * configure: Rebuilt.
13063         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
13064         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
13065         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
13066         (mostlyclean): Remove coverage files.
13067         * doc/install.texi: Document enable_coverage.
13068
13069         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
13070         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
13071         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
13072         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
13073         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
13074         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
13075         files.
13076
13077 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
13078
13079         * c-opts.c (cpp_opts): New.
13080         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
13081         (c_common_decode_options): Handle cpplib switches.
13082         (c_common_init_options): Set cpp_opts.
13083         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13084         (cpp_handle_option): Similarly.
13085
13086 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
13087
13088         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
13089         (TARGET_ALTIVEC_ABI): Same.
13090         (TARGET_ALTIVEC_VRSAVE): Same.
13091
13092         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
13093         icode not CODE_FOR_nothing.  Change switch to if.
13094
13095 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
13096
13097         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
13098
13099 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13100
13101         * stor-layout.c (place_union_field): For bitfields if
13102         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
13103         TYPE_USER_ALIGN.
13104
13105 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13106
13107         * pa.c (struct deferred_plabel): Constify name field.
13108
13109 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13110
13111         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
13112
13113 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13114
13115         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
13116         local_prefix are the same.
13117         * configure: Rebuilt.
13118
13119 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
13120             Richard Henderson  <rth@redhat.com>
13121
13122         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
13123         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
13124         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
13125         (place_field): Likewise.
13126         * config/i386/i386.c (x86_field_alignment): Don't check
13127         DECL_USER_ALIGN here.
13128         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
13129         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
13130         prototype.
13131         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
13132         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
13133         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
13134         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
13135         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
13136         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
13137
13138 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13139
13140         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
13141         * c-common.c: Don't include tree-inline.h.
13142         (c_common_init_options, c_common_post_options): Move to c-opts.c.
13143         * c-common.h (c_common_decode_option): New.
13144         * c-decl.c (c_decode_option): Remove.
13145         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
13146         * c-opts.c: New file.
13147         * c-tree.h (c_decode_option): Remove.
13148         * doc/passes.texi: Update.
13149         * objc/objc-act.c (objc_decode_option): Remove.
13150         * objc/objc-act.h (objc_decode_option): Remove.
13151         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
13152         c_common_decode_option.
13153
13154 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
13155
13156         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
13157         dependency on TARGET_DOUBLE_FLOAT.
13158
13159 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
13160
13161         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
13162         overwrite callee-save registers.  Fix comment.
13163
13164 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
13165
13166         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
13167         in target_flags based on ISA, if it was not set on the command
13168         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
13169         support Branch Likely instructions.
13170         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
13171         (TARGET_BRANCHLIKELY): Likewise.
13172         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
13173         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
13174         ISA_HAS_BRANCHLIKELY.
13175         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
13176         * doc/invoke.texi: Document new MIPS -mbranch-likely and
13177         -mno-branch-likely options.
13178
13179 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13180
13181         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
13182
13183         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
13184         $(GCONFIG_H).
13185
13186 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
13187
13188         * c-decl.c (duplicate_decls): Error out for incompatible TLS
13189         declarations.
13190
13191         * testsuite/gcc.dg/tls/diag-3.c: New.
13192
13193 2002-08-06  Dale Johannesen  <dalej@apple.com>
13194
13195         * c-common.c (fname_decl): Use line number 0 for
13196         __func__, to avoid confusing debuggers.
13197
13198 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
13199
13200         * gcov.c: Tidy.
13201         (struct line_info, struct coverage): New structures.
13202         (gcov_file_name, gcov_file): Remove globals.
13203         (output_data): Take source file parameter. Fix memory leak. Break
13204         up into ...
13205         (init_line_info, output_line_info, make_gcov_file_name,
13206         accumulate_branch_counts): ... here.
13207         (calculate_branch_probs, function_summary): Adjust.
13208         (main): Adjust.
13209         (function_*): Remove global variables.
13210
13211 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13212
13213         * dwarf2out.c: Remove unused macros.
13214
13215 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13216
13217         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
13218
13219 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13220
13221         * cppinit.c (struct lang_flags): Rename trigraphs std.
13222         (set_lang): Update.
13223         * cpplib.h (struct cpp_options): New member std.
13224         * cppmacro.c (_cpp_builtin_macro_text): Use std.
13225         (collect_args): Flag whether to swallow a possible future
13226         comma pasted with varargs.
13227         (replace_args): Use this flag.
13228         * doc/cpp.texi: Update varargs extension documentation.
13229
13230 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13231
13232         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
13233
13234 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13235
13236         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
13237         and MODE_CLASS_INT modes.
13238
13239 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13240
13241         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
13242         --{enable,disable}-threads is given to configure.
13243         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
13244         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
13245         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
13246         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
13247         Remove thread_file setting here.
13248
13249 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
13250
13251         * doc/install.texi (Binaries): Update Bull Freeware URL.
13252
13253 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13254
13255         * doc/gcc.texi (Top): Rename Index to Keyword Index.
13256
13257 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
13258
13259         * gcov.c (output_data): Round to % to nearest, tweak formatting.
13260
13261 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
13262
13263         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
13264         of the operands into MINUS_EXPR if code is PLUS_EXPR.
13265
13266 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
13267
13268         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
13269         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
13270         drectve_section): Define.
13271         * config/i386/t-interix: Replace interix.o rule with winnt.o.
13272         * config/i386/interix.c: Remove.
13273
13274 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
13275
13276         * attribs.c: Don't include obstack.h.
13277         * builtins.c: Likewise.
13278         * cfganal.c: Likewise.
13279         * cfgbuild.c: Likewise.
13280         * cfgcleanup.c: Likewise.
13281         * emit-rtl.c: Likewise.
13282         * loop.c: Likewise.
13283         * stmt.c: Likewise.
13284
13285         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
13286
13287 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
13288
13289         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
13290
13291 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
13292
13293         * doc/invoke.texi: Remove duplicated paragraph describing
13294         TARGET_SWITCHES.
13295
13296 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
13297
13298         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
13299         * collect2.h (permanent_obstack): Delete declaration.
13300         * collect2.c (permanent_obstack): Delete definition.
13301         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
13302         * expr.c: Don't include obstack.h.
13303         (permanent_obstack): Delete declaration.
13304         * function.c: Don't include obstack.h.
13305         (permanent_obstack): Delete declaration.
13306         * integrate.c: Don't include obstack.h.
13307         (function_maybepermanent_obstack): Delete declaration.
13308         * print-tree.c (debug_tree): Use x*alloc not permalloc.
13309         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
13310         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
13311         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
13312         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
13313         of permalloc, expralloc, perm_calloc.
13314         * tree.c (permanent_obstack): Delete definition.
13315         (init_ttree): Rename from init_obstacks.
13316         (permalloc): Delete.
13317         (perm_calloc): Delete.
13318         (dump_tree_statistics): Don't print information about
13319         permanent_obstack.
13320         * varasm.c (assemble_start_function): Use xstrdup instead of
13321         permalloc/strcpy.
13322         (assemble_variable): Likewise.
13323         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
13324         permalloc.
13325         (unicosmk_add_extern): Likewise.
13326         * config/c4x/c4x.c (c4x_external_ref): Likewise.
13327         (c4x_global_label): Likewise.
13328         * config/frv/frv.c (frv_encode_section_info): Likewise.
13329         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
13330         (i386_pe_record_exported_symbol): Likewise.
13331         * config/mips/mips.c (mips_output_external): Likewise.
13332         (mips_output_external_libcall): Likewise.
13333         * config/pa/pa.c: (permanent_obstack): Delete declaration.
13334         (output_call): Use ggc_strdup instead of allocating on
13335         permanent_obstack.
13336         * config/romp/romp.c: Include ggc.h.
13337         (get_symref): Don't declare permanent_obstack, use ggc_strdup
13338         intead of permanent_obstack.
13339         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
13340         instead of permalloc.
13341         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
13342         instead of permalloc
13343         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
13344         instead of permalloc.
13345         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
13346         permalloc.
13347
13348 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
13349
13350         Contribute a port developed primarily by Michael Meissner,
13351         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
13352         * config.gcc: Add frv-elf target.
13353         * config/frv/cmovd.c: New file.
13354         * config/frv/cmovh.c: New file.
13355         * config/frv/cmovw.c: New file.
13356         * config/frv/frv-abi.h: New file.
13357         * config/frv/frv-asm.h: New file.
13358         * config/frv/frv-modes.def: New file.
13359         * config/frv/frv-protos.h: New file.
13360         * config/frv/frv.c: New file.
13361         * config/frv/frv.h: New file.
13362         * config/frv/frv.md: New file.
13363         * config/frv/frvbegin.c: New file.
13364         * config/frv/frvend.c: New file.
13365         * config/frv/lib1funcs.asm: New file.
13366         * config/frv/media.h: New file.
13367         * config/frv/modi.c: New file.
13368         * config/frv/t-frv: New file.
13369         * config/frv/uitod.c: New file.
13370         * config/frv/uitof.c: New file.
13371         * config/frv/ulltod.c: New file.
13372         * config/frv/ulltof.c: New file.
13373         * config/frv/umodi.c: New file.
13374         * config/frv/xm-frv.h: New file.
13375
13376         * config/frv/media.h: Removed again.
13377
13378 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13379
13380         * gcov.c (bb_file_time): New static variable.
13381         (object_directory): May also be object file.
13382         (preserve_paths): New static variable.
13383         (print_usage): Adjust.
13384         (options): Adjust.
13385         (process_args): Adjust.
13386         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
13387         file. Find modification date on bb file.
13388         (read_profile): Don't rewind a NULL file.
13389         (format_hwint): New static function.
13390         (function_summary): Use format_hwint.
13391         (output_data): SOURCE_FILE_NAME is never relative to
13392         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
13393         mangling. Adjust output format to make it more machine readable.
13394         * doc/gcov.texi: Document & clarify semantics.
13395
13396 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
13397
13398         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
13399
13400 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13401
13402         * gcc.c (cc1_options): Pass output file as auxbase when
13403         appropriate.
13404         * profile.c (init_branch_prob): FILENAME has already had ending
13405         stripped.
13406         * final.c (end_final): Likewise.
13407         * toplev.c (aux_base_name): New global.
13408         (compile_file): Pass aux_base_name to init init_branch_prob and
13409         end_final.
13410         (independent_decode_option, case 'a'): New auxinfo options.
13411         (case 'd'): Protect against mising basename.
13412         (do_compile): Initialize aux_base_name.
13413         * toplev.h (aux_base_name): New global.
13414         * doc/invoke.texi: Adjust documentation.
13415
13416 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13417
13418         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
13419         of TARGET_ALIGN_DOUBLE.
13420
13421 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
13422
13423         * diagnostic.c (inform): New function.
13424         * diagnostic.h (inform): Declare.
13425
13426 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
13427
13428         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
13429         (movhi_internal): Same.
13430         (movqi_internal): Same.
13431         (movdi_internal64): Same.
13432
13433         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
13434
13435         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
13436         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
13437         (COMMON_ASM_OP): Define.
13438         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
13439         Use ALIGN parameter.
13440         (LOCAL_COMMON_ASM_OP): Define.
13441         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
13442
13443 2002-08-03  Roger Sayle  <roger@eyesopen.com>
13444
13445         * builtins.def: Define new builtin functions exp, expf, expl,
13446         log, logf and logl (and their __builtin_* variants).
13447         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
13448         Define exp_optab and log_optab.
13449         * optabs.c (init_optans): Initialize exp_optab and log_optab.
13450         * genopinit.c (optabs): Implement exp_optab and log_optab
13451         using exp?f2 and log?f2 patterns.
13452         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
13453         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
13454         (expand_builtin): Ignore the new builtins (and all cos and
13455         sin variants) when not optimizing.  Expand new builtins via
13456         expand_builtin_mathfn when flag_unsafe_math_optimizations.
13457
13458         * doc/extend.texi: Document new exp and log builtins.
13459         * doc/md.texi: Document new exp?f2 and log?f2 patterns
13460         (and previously undocumented cos?f2 and sin?f2 patterns).
13461
13462 2002-08-03  Jason Merrill  <jason@redhat.com>
13463
13464         * explow.c (int_expr_size): New fn.
13465         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
13466         * expr.h: Declare it.
13467
13468 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
13469
13470         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
13471         gengtype-* dependencies.
13472
13473 2002-08-02  Eric Christopher  <echristo@redhat.com>
13474
13475         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
13476         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
13477         #ifndef to #undef.
13478         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
13479
13480 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
13481
13482         PR optimize/7067
13483         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
13484         small if optimizing for size.
13485
13486 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
13487
13488         * configure.in (FORBUILD): Use $build_alias.
13489         * configure: Regenerated.
13490
13491 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
13492
13493         * config.gcc: Don't include mips/abi64.h in $tm_file.
13494         * hard-reg-set.h (call_really_used_regs): Declare.
13495         * config/mips/abi64.h: Remove file.
13496         * config/mips/linux.h,
13497         * config/mips/iris6.h: Don't include it.
13498         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
13499         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
13500         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
13501         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
13502         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
13503         Bring across definitions from abi64.h.
13504         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
13505         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
13506         (struct mips_args): Use it.
13507         * config/mips/mips.c (mips_conditional_register_usage): Define.
13508
13509 2002-08-02  Jason Merrill  <jason@redhat.com>
13510
13511         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
13512         * langhooks.c (lhd_expr_size): Define default.
13513         * langhooks.h (struct lang_hooks): Add expr_size.
13514         * explow.c (expr_size): Call it.
13515         * expr.c (store_expr): Don't copy an expression of size zero.
13516         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
13517         to store.
13518         * Makefile.in (builtins.o): Depend on langhooks.h.
13519
13520 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13521
13522         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
13523         * ra-debug.c: Include "tm_p.h".
13524         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
13525
13526 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
13527
13528         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
13529         when not honoring signalling NaNs.
13530         (simplify_ternary_operation): a == b has a definite value
13531         when not honoring NaNs.
13532
13533 2002-08-02  Jason Merrill  <jason@redhat.com>
13534
13535         * gdbinit.in (pct): New macro.
13536
13537 2002-08-01  Stan Shebs  <shebs@apple.com>
13538             Andreas Tobler  <toa@pop.agri.ch>
13539
13540         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
13541         plays nice with Darwin headers.
13542         (_BSD_RUNE_T_DEFINED_): Likewise.
13543
13544 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13545
13546         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
13547         * cppinit.c (cpp_post_options): Likewise.
13548
13549         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
13550         warning about 'LL' suffix (but not 'ULL' etc) when
13551         -Wno-long-long is in effect.
13552
13553         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
13554         Check for failing time()/localtime(), issue a warning, and
13555         make __TIME__ and __DATE__ expand to fallback strings.
13556
13557         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
13558         and __TIME__ when the date and time cannot be determined.
13559
13560 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13561
13562         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
13563
13564 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
13565
13566         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
13567
13568 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13569
13570         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
13571         (mipsisa64sb1el-*-elf*): Likewise.
13572         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
13573         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
13574         (TARGET_SB1, TUNE_SB1): New macros.
13575         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
13576         -mtune flags.
13577
13578 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
13579
13580         * varasm.c (asm_emit_uninitialized): Return false if global BSS
13581         and ASM_EMIT_BSS not supported by target.
13582         (assemble_variable): Do not duplicate uninitialized logic.
13583         Fall through if asm_emit_uninitialized failed.
13584
13585 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13586
13587         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
13588
13589 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13590
13591         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
13592         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
13593
13594         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
13595         HOST_BITS_PER_WIDE_INT == 64.
13596
13597 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13598
13599         * df.c (df_insn_table_realloc): Change parameter to unsigned.
13600         * optabs.c (expand_binop): Make variable unsigned.
13601         * simplify-rtx.c (simplify_subreg): Likewise.
13602         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
13603
13604 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13605
13606         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
13607
13608 2002-08-01  Richard Henderson  <rth@redhat.com>
13609
13610         * toplev.c (parse_options_and_default_flags): Don't set
13611         flag_reorder_blocks for -Os.
13612
13613         * config/avr/avr.c (avr_optimization_options): Remove.
13614         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
13615         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
13616         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
13617
13618 2002-08-01  H.J. Lu <hjl@gnu.org>
13619             Richard Henderson  <rth@redhat.com>
13620
13621         * output.h (DECL_READONLY_SECTION): Remove.
13622         (decl_readonly_section): Declare.
13623         * varasm.c (decl_readonly_section): New.
13624         (default_section_type_flags, default_select_section): Use it.
13625         * config/arm/pe.c (arm_pe_unique_section): Likewise.
13626         * config/i386/interix.c (i386_pe_unique_section): Likewise.
13627         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
13628         * config/mcore/mcore.c (mcore_unique_section): Likewise.
13629         * config/mips/mips.c (mips_unique_section): Likewise.
13630
13631 2002-08-01  Richard Henderson  <rth@redhat.com>
13632
13633         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
13634         refers to a subroutine parameter.
13635
13636 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
13637
13638         * varasm.c (assemble_visibility): Strip name encoding.
13639
13640 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
13641
13642         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
13643         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
13644         when there is no frame pointer.
13645         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
13646         registers properly.
13647         * config/ns32k/__unorddf2.c: New file.
13648         * config/ns32k/__unordsf2.c: New file.
13649         * config/ns32k/t-ns32k: New file.
13650         * config.gcc (ns32k-*-netbsd*): Use it.
13651
13652 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
13653
13654         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
13655
13656 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13657
13658         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
13659
13660 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
13661
13662         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
13663
13664 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
13665
13666         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
13667
13668 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13669
13670         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
13671         n_sets): Removed.
13672         (expr_hash_table, set_hash_table): Type changed to ...
13673         (struct hash_table): New type.
13674         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
13675         insert_expr_in_table, insert_set_in_table, compute_hash_table,
13676         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
13677         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
13678         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
13679         (alloc_hash_table): New.
13680         (free_set_hash_table, free_expr_hash_table): Merged to ...
13681         (free_hash_table): New.
13682         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
13683         (compute_hash_table_work): New.
13684         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
13685         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
13686         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
13687         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
13688         hoist_code, one_code_hoisting_pass,
13689         trim_ld_motion_mems): Altered due to changed type of hash tables.
13690
13691 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13692
13693         * final.c (output_alternate_entry_point):
13694         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
13695
13696 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13697
13698         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
13699         avoid ISO C style function definition.
13700
13701         * expr.c (expand_assignment): Delete unused variable.
13702
13703 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
13704
13705         * c-common.c (cb_register_builtins): Set
13706         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
13707         is given, and to 0 otherwise.
13708         * combine.c (simplify_if_then_else): HONOR_NANS
13709         implies FLOAT_MODE_P.
13710
13711 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13712
13713         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
13714         (cpp_handle_option): Don't handle it.
13715         (print_help): Update.
13716         * doc/cppopts.texi: Update.
13717
13718 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13719
13720         * c-common.c (cb_register_builtins): If C++, define
13721         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
13722         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
13723 cp:
13724         * lang-specs.h: Simplify in accordance with new code in
13725         c-common.c.
13726
13727 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13728
13729         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
13730         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
13731         * c-decl.c: Move all warning and flag variables to c-common.c.
13732         * c-format.c: Move all warning variables to c-common.c.
13733         * c-tree.h: Move all warning and flag declarations to c-common.h.
13734         * objc/objc-act.c: Move all warning variables to c-common.c.
13735         (flag_warn_protocol): Rename warn_protocol.
13736
13737 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13738
13739         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
13740
13741 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
13742
13743         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
13744         .section prefix.
13745
13746 2002-07-31  Stan Shebs  <shebs@apple.com>
13747
13748         * config.gcc (i[34567]86-*-darwin*): New configuration.
13749         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
13750         defining.
13751         (TARGET_ENCODE_SECTION_INFO): Ditto.
13752         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
13753         * config/darwin.c (machopic_indirect_data_reference): Remove
13754         setting of RTX_UNCHANGING_P.
13755         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
13756         not to be applied to sums.
13757         * config/i386/t-darwin: New file.
13758         * config/i386/darwin.h: New file.
13759         * config/i386/i386.h (TARGET_MACHO): Add default definition.
13760         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
13761         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
13762         label and not the GOT add.
13763         (constant_address_p): For Mach-O, seeing a CONST is enough.
13764         (legitimate_pic_address_disp_p): Add a Mach-O case.
13765         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
13766         (legitimize_pic_address): Use generic Mach-O code to legitimize.
13767         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
13768         if outputting a difference.
13769         (ix86_output_addr_diff_elt): Add Mach-O case.
13770         (ix86_expand_move): Similarly.
13771         (ix86_expand_call): Similarly.
13772         (current_machopic_label_num): New global.
13773         (machopic_output_stub): New function.
13774         (ix86_value_regno): New function.
13775         (ix86_function_value): Use it instead of VALUE_REGNO.
13776         (ix86_libcall_value): Ditto.
13777         * config/i386/unix.h (VALUE_REGNO): Remove.
13778
13779 2002-07-31  Graham Stott  <grahas@btinternet.com>
13780
13781         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
13782         hash for LABEL_REF's.
13783
13784 2002-07-31  Graham Stott  <grahams@btinternet.com>
13785
13786         * config/rs6000/rs6000.c (spe_init_builtins,
13787         altivec_init_builtins, rs6000_common_init_builtins):
13788         Replace ANSI with K&R function def.
13789
13790 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
13791
13792         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
13793         for CCFPmode.
13794
13795 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
13796
13797         * config/mips/crtn.asm: Don't use __mips16 to determine the
13798         return-address offset.  Define RA to a suitable temporary
13799         register for the return address.
13800
13801 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
13802
13803         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
13804         constraints to 'd'.
13805
13806 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
13807
13808         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
13809         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
13810         patch on 2002-07-29.)
13811         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
13812
13813 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13814
13815         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
13816         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
13817         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
13818         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
13819         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
13820         (ASM_GLOBALIZE_LABEL): Delete.
13821         (GLOBAL_ASM_OP): Define.
13822
13823         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
13824
13825         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
13826         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
13827
13828 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
13829
13830         * doc/extend.texi (Hints implementation): Document that GCC
13831         mostly ignores `register'.
13832
13833 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
13834
13835         * flags.h: Declare flag_finite_math_only.
13836         Use it in definition of HONOR_NANS and
13837         HONOR_INFINITIES.
13838         * c-common.c (cb_register_builtins): Emit
13839         __FINITE_MATH_ONLY__ when flag_finite_math_only
13840         is set.
13841         * combine.c (simplify_if_then_else): If
13842         flag_finite_math_only is set, a == b has a
13843         definite value.
13844         * toplev.c: Initialize flag_finite_math_only.
13845         (set_flags_fast_math): Set it on -ffast-math.
13846         (flag_fast_math_set_p): Test it.
13847         * doc/invoke.texi: Document -ffinite-math-only.
13848
13849 2002-07-30  Richard Henderson  <rth@redhat.com>
13850
13851         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
13852         (noce_process_if_block): Likewise.
13853
13854 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
13855
13856         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
13857         Bail out early if false_expr is NULL and we'd crash due to this.
13858         * genemit.c (gen_expand): Recognize return insns even if the return
13859         appears in a parallel.
13860         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
13861         * config/fp-bit.c: Likewise.
13862         * doc/tm.texi: Document it.
13863
13864 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
13865             Zack Weinberg  <zack@codesourcery.com>
13866
13867         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
13868         CODE_FOR_nothing.  Change switch to if.
13869         (rs6000_expand_binop_builtin): Same.
13870         (rs6000_expand_builtin): Expand builtin if target support enabled.
13871         (rs6000_init_builtins): Init builtin if target support enabled.
13872         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
13873
13874 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13875
13876         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
13877
13878 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
13879
13880         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
13881
13882 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
13883
13884         * sh.md (cond_delay_slot): New attribute.
13885         (cbranch delay): Use it for anulled-true case.
13886         (stuff_delay_slot): New pattern.
13887         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
13888         delay slot insn.
13889         (gen_far_branch): Emit stuff_delay_slot pattern.
13890
13891 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
13892
13893         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
13894
13895 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
13896
13897         * fold-const.c: Fix comment typos.
13898         * gcse.c: Likewise.
13899         * reload1.c: Likewise.
13900
13901 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13902
13903         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
13904         for TARGET_SPE.
13905
13906 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
13907
13908         * c-pretty-print.h (pp_c_statement): Declare.
13909         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
13910         (pp_c_statement): Define.
13911
13912 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13913
13914         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
13915         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
13916         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
13917         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
13918         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
13919         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
13920
13921         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
13922         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
13923
13924 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
13925
13926         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
13927         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
13928         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
13929         (pp_c_expression): Update.
13930
13931 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13932
13933         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
13934         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
13935         * alpha/vms-ld.c (main): Likewise.
13936         * dsp16xx.c (double_reg_to_memory): Likewise.
13937         * mcore.c (mcore_expand_prolog): Likewise.
13938         * cppfiles.c (read_name_map): Likewise.
13939         * gensupport.c (process_rtx, identify_predicable_attribute,
13940         alter_test_for_insn): Likewise.
13941         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
13942
13943 2002-07-29  Roger Sayle  <roger@eyesopen.com>
13944
13945         * builtins.c (expand_builtin):  Change the default behavior to
13946         only issue an error if the builtin function doesn't have a
13947         fallback library call.  Remove several cases handled by the
13948         new default.
13949
13950 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
13951
13952         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
13953         floating point format of the target is IEEE.
13954         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
13955         format of the target is DEC.
13956
13957 2002-07-29  Richard Henderson  <rth@redhat.com>
13958
13959         * unroll.c (verify_addresses): Remove.
13960         (find_splittable_givs): Never split DEST_ADDR givs.
13961
13962 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
13963
13964         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
13965         is exhaustive.
13966         (Files): Improve documentation on generated source files.
13967
13968         * doc/extend.texi (Translation implementation): Document what
13969         diagnostics look like.
13970         (Identifiers implementation): Document that there's normally no
13971         limit on identifier names.
13972         (Integers implementation): Document two's complement.
13973         (Hints implementation): Document that GCC honors 'inline', mostly.
13974         (Preprocessing directives implementation): Document that GCC
13975         requires the current time.
13976
13977 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
13978
13979         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
13980         (pp_initializer): New macro.
13981         (pp_c_initializer): Declare.
13982         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
13983         (pp_c_initializer): Define.
13984         (pp_c_initializer_list): New function.
13985         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
13986         VECTOR_CST, CONSTRUCTOR.
13987         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
13988         IMAGPART_EXPR.
13989         (pp_c_cast_expression): Handle FLOAT_EXPR.
13990         (pp_c_assignment_expression): Handle INIT_EXPR.
13991         (pp_c_expression): Update.
13992
13993 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
13994
13995         * objc/objc-act.c (objc_init): Return immediately if filename
13996         is NULL.
13997
13998 2002-07-29  Eric Christopher  <echristo@redhat.com>
13999
14000         * config/mips/elf.h: Remove ecoff.h and gofast includes.
14001         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
14002         (SDB_DEBUGGING_INFO): Undefine.
14003         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
14004         (PUT_SDB_SIZE): Remove.
14005         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
14006         (STARTFILE_SPEC): Add isa3264 define.
14007         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
14008         * config/mips/ecoff.h: Remove. and here...
14009         * config/mips/iris3.h: and here...
14010         * config/mips/sni-svr4.h: and here...
14011         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
14012         Add assembler -mmdebug options for non-dwarf debugging.
14013         * config/mips/r3900.h: Remove debug info defines.
14014         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
14015         * config/mips/isa3264.h: Ditto.
14016         * config/mips/t-isa3264: Fix up for file removal and gofast configure
14017         change.
14018         * config/mips/t-elf: Ditto.
14019         * config/mips/t-ecoff: Ditto.
14020         * config/mips/t-r3900: Ditto.
14021         * config/mips/t-iris5-6: Ditto.
14022         * config/mips/t-isa3264: Ditto.
14023         * config/mips/t-linux: Remove.
14024         * config/mips/t-netbsd: Remove.
14025         * config/mips/t-mips: New file.
14026         * config/mips/t-gofast: Ditto.
14027         * config/mips/netbsd.h: Remove unnecessary undefines.
14028         * config/mips/linux.h: Remove #include of mips.h.
14029         * config.gcc: Add mips.h include for elf targets. Remove tm_file
14030         for ecoff. Add gofast configure option for mips.
14031
14032 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
14033
14034         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
14035         linker scripts use STARTUP directives consistently.
14036         * configure: Regenerate.
14037         * config.in: Regenerate.
14038         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
14039         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
14040         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14041         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
14042         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
14043         will be the same.
14044
14045 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14046
14047         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
14048
14049 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14050
14051         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
14052
14053 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
14054
14055         * config/rs6000/rs6000.md: Move altivec patterns from here...
14056
14057         * config/rs6000/altivec.md: ...to here.
14058
14059 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14060
14061         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
14062
14063 2002-07-29  Richard Henderson  <rth@redhat.com>
14064
14065         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
14066         set_mem_attributes and add BITPOS argument.  Subtract it from
14067         OFFSET when same is adjusted.
14068         (set_mem_attributes): New wrapper function.
14069         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
14070         remove offset adjustment hack.
14071         * expr.h (set_mem_attributes_minus_bitpos): Declare.
14072
14073 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14074
14075         * Makefile.in (C_OBJS): Include c-pretty-print.o
14076         (c-pretty-print.o): Add depency rule.
14077         * pretty-print.h: Add more macros.
14078         * c-pretty-print.c: New file.
14079         * c-pretty-print.h: Likewise.
14080
14081 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14082
14083         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
14084         constants to __ev64_s32__.
14085         (__internal_ev_mwhgsmian): Same.
14086         (__internal_ev_mwhgsmfan): Same.
14087         (__internal_ev_mwhgssfan): Same.
14088         (__internal_ev_mwhgumiaa): Same.
14089         (__internal_ev_mwhgsmiaa): Same.
14090         (__internal_ev_mwhgsmfaa): Same.
14091         (__internal_ev_mwhgssfaa): Same.
14092
14093 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
14094
14095         * varasm.c (assemble_variable): Narrow test for uninitialized
14096         without BSS target support.
14097
14098 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
14099
14100         * profile.c: Add file comment describing the overall algorithm and
14101         structures.
14102         (struct edge_info): Add comments.
14103         (struct bb_info): Add comments.
14104         * basic-block.h (EDGE_*): Add comments.
14105         * doc/gcov.texi (Gcov Data Files): Document bit flags.
14106
14107 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
14108
14109         * config/xtensa/elf.h, config/xtensa/linux.h
14110         (TARGET_OS_CPP_BUILTINS): Define.
14111         (CPP_PREDEFINES): Remove.
14112         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
14113         (CPP_SPEC): Remove.
14114
14115 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
14116
14117         * gensupport.c: Include hashtab.h.
14118         (insn_elision, condition_table, hash_c_test, cmp_c_test,
14119         maybe_eval_c_test): New routines and data structures to
14120         support insn elision.
14121         (init_md_reader): Read and initialize the condition_table.
14122         (read_md_rtx): Discard insn patterns whose C test is provably
14123         always false.
14124         * gensupport.h: Declare new functions and data structures.
14125
14126         * genconditions.c, dummy-conditions.c: New files.
14127         * Makefile.in: Build genconditions; run it to construct
14128         insn-conditions.c; build that and link it into most gen*
14129         programs.
14130         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
14131         (GEN): Delete, unused.
14132         (STAGESTUFF): Update.
14133
14134         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
14135         CODE_FOR_nothing for all elided patterns.
14136         (main): Tweaked to support this.
14137         * genflags.c (gen_proto): Emit a static inline generator
14138         function here for all elided patterns, which simply returns
14139         NULL_RTX.
14140         (gen_insn): Do not define HAVE_xxx for elided patterns.
14141         (main): Tweaked to support this.  No need to forward-declare
14142         struct rtx_def.
14143         * genrecog.c: Do not bother emitting the C test if it's known
14144         to be true at compile time.
14145
14146 2002-07-29  Mike Stump  <mrs@apple.com>
14147
14148         * config.gcc (target_gtfiles): Initialize, as otherwise cross
14149         compilers hosted on powerpc-apple-darwin6.0 won't even build.
14150
14151 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
14152
14153         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
14154         remove clobber of LR.
14155         (sibcall_insn, sibcall_value_insn): Update accordingly.
14156         (sibcall_epilogue): Remove debugging comment from assembler stream.
14157
14158 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14159
14160         * pretty-print.h: Define more macros.
14161         * diagnostic.h (output_formatted_integer): Moved from...
14162         * diagnostic.c: ... here.
14163
14164 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14165
14166         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
14167
14168 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
14169
14170         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
14171         arguments.  Always use ".-symbol" as expression argument.
14172         * doc/tm.texi: Update to match.  Document requirement for
14173         ".size symbol, .-symbol" to be acceptable to assembler.
14174
14175         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14176         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
14177         config/i386/freebsd-aout.h, config/i386/sco5.h,
14178         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
14179         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
14180
14181 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14182
14183         * Makefile.in (gengtype-lex.c): Fix error in last change.
14184
14185         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
14186         backslash.
14187
14188         * Makefile.in (vmsdbgout.o): Depend on function.h.
14189
14190         * vmsdbgout.c: Include function.h.
14191
14192 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
14193
14194         * prefix.c (update_path): Don't strip single `.' path components
14195         unless stripping a later `..' component.  Exit loop as soon as
14196         a valid path is found.
14197
14198 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14199
14200         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
14201         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
14202         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
14203         floating point unordered comparisons (e.g. __builtin_isgreater)
14204         as const, and leave the remaining GCC_BUILTINs unchanged.
14205
14206         * c-decl.c (builtin_function): No need to explicitly mark
14207         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
14208
14209 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14210
14211         * Makefile.in: rtlanal.o now depends upon real.h.
14212
14213         * flags.h [flag_signaling_nans]: New flag.
14214         [HONOR_SNANS]: New macro.
14215
14216         * toplev.c [flag_signaling_nans]: Initialize to false.
14217         (f_options): Add processing for "-fsignaling-nans".
14218         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
14219         (process_options): flag_signaling_nans implies flag_trapping_math.
14220
14221         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
14222         when -fsignaling-nans.  First step to implementing WG14's N965.
14223
14224         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
14225         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
14226         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
14227
14228         * simplify-rtx.c (simplify_relational_operation): Conditionalize
14229         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
14230
14231         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
14232         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
14233         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
14234         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
14235         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
14236
14237         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
14238
14239 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14240
14241         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
14242         * gengtype-lex.l (YY_USE_PROTOS): Undef.
14243         (YY_DECL): Define.
14244
14245 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14246
14247         * doc/invoke.texi: Document that both -fno-builtin-foo and
14248         -fno-builtin are supported by the g++ front-end.
14249
14250 2002-07-27  Stan Shebs  <shebs@apple.com>
14251
14252         * configure.in: Rename config_gtfiles to target_gtfiles.
14253         * configure: Regenerate.
14254         * doc/gty.texi: Update reference.
14255         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
14256         instead of appending to it.
14257
14258 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
14259
14260         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
14261         vectors are split into two registers.
14262         (function_arg): Same.
14263
14264 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
14265
14266         * pa.md (extv): Check predicates before emitting extv_32.
14267
14268 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
14269
14270         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
14271         (rs6000_traceback): New var.
14272         (rs6000_override_options): Set rs6000_traceback.
14273         (rs6000_output_function_epilogue): Implement traceback options.
14274         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
14275         (rs6000_traceback_name): Declare.
14276
14277         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
14278         label reference when NO_PROFILE_COUNTERS.
14279
14280 2002-07-26  Jason Merrill  <jason@redhat.com>
14281
14282         * function.c (assign_parms): Handle frontend-directed pass by
14283         invisible reference.
14284
14285 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14286
14287         * doc/cppopts.texi: Update.
14288
14289 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14290
14291         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
14292         warnings on assertions.
14293
14294 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14295
14296         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
14297         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
14298         RID_COMPL): Remove.
14299         * c-parse.in (rid_to_yy): Similarly.
14300
14301 2002-07-26  Jason Merrill  <jason@redhat.com>
14302
14303         * c-dump.c: Resurrect.
14304         * tree-dump.c: Move C-specific stuff to c-dump.c.
14305         * c-common.h: Declare c_dump_tree.
14306         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
14307         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
14308         (c-dump.o): New rule.
14309
14310 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
14311
14312         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
14313         PowerPC64.  Replace "T" and "S" constraints with "n" when the
14314         predicate will do.  Formatting fixes.
14315         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
14316         as for extzvsi_internal1.
14317
14318 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14319
14320         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
14321         DERIV_END_LABEL_FMT): Remove.
14322         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
14323
14324 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14325
14326         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
14327         Remove.
14328
14329 2002-07-25  Stan Shebs  <shebs@apple.com>
14330
14331         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
14332         local var dwarfp.
14333         (output_compiler_stub): Remove unused locals.
14334         (output_call): Always initialize line number.
14335
14336 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14337
14338         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
14339         * sh.md (truncdiqi2, movqi_media): Likewise.
14340
14341 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14342
14343         * gcse.c (obstack_chunk_alloc): Remove.
14344         (gcse_alloc): Fix to count allocated bytes.
14345         * collect2.c (SYMBOL__MAIN): Remove.
14346
14347 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14348
14349         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
14350         HAVE_TARGET_EXECUTABLE_SUFFIX.
14351
14352 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14353
14354         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
14355         SIZE, EXPR and OFFSET.
14356
14357 2002-07-25  Richard Henderson  <rth@redhat.com>
14358
14359         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
14360         in ARRAY_REF of DECL_P case.
14361
14362 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14363
14364         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
14365         description.  Document -mips32, -mips64, and the associated -march
14366         values.  Describe the "mipsN" arguments to -march.  Say that the
14367         -mipsN options are equivalent to -march.  Reword the description
14368         of default type sizes.
14369         * toplev.h (target_flags_explicit): Declare.
14370         * toplev.c (target_flags_explicit): New var.
14371         (set_target_switch): Update target_flags_explicit.
14372         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
14373         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
14374         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
14375         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
14376         * config/mips/mips.h (mips_cpu_info): New struct.
14377         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14378         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
14379         (MIPS_CPP_SET_PROCESSOR): New macro.
14380         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
14381         Define _MIPS_ARCH and _MIPS_TUNE.
14382         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
14383         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
14384         MIPS_ISA_DEFAULT were already defined.
14385         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
14386         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
14387         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
14388         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
14389         (ABI_GAS_ASM_SPEC): Remove.
14390         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
14391         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
14392         Invoke %(asm_abi_default_spec) if no ABI was specified.
14393         (CC1_SPEC): Remove ISA -> register-size rules.
14394         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
14395         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
14396         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14397         (mips_cpu_info_table): New array.
14398         (mips_set_architecture, mips_set_tune): New fns.
14399         (override_options): Rework to make -mipsN equivalent to -march.
14400         Detect more erroneous cases, including those removed from CC1_SPEC.
14401         Don't change the ABI based on architecture, or vice versa.
14402         Unify logic with GAS.
14403         (mips_asm_file_start): Get architecture name from mips_arch_info.
14404         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
14405         (mips_parse_cpu): Take the name of the option as argument.  Handle
14406         'from-abi'.  Raise an error if the option is wrong.
14407         (mips_cpu_info_from_isa): New fn.
14408
14409 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14410
14411         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
14412         (tablejump_mips162): Likewise.
14413
14414 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
14415
14416         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
14417         int_mode_for_mode.
14418
14419 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
14420
14421         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
14422         complaining.
14423         * c-common.h (c_sizeof): Adjust definition.
14424         (c_alignof): Likewise.
14425         * c-tree.h (c_sizeof_nowarn): Now macro.
14426         * c-typeck.c (c_sizeof_nowarn): Remove definition.
14427
14428 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14429
14430         * c-decl.c (c_decode_option): No need to handle switches
14431         cpplib handles.
14432
14433 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
14434
14435         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
14436         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
14437         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
14438         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14439
14440         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14441         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
14442         config/cris/aout.h, config/i386/freebsd-aout.h,
14443         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
14444         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
14445         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
14446         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
14447         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
14448         config/xtensa/elf.h, config/xtensa/linux.h:
14449         Use the new macros.
14450         Where possible, remove redundant definitions of SIZE_ASM_OP,
14451         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14452
14453 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
14454
14455         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
14456         TARGET_ISEL, and TARGET_FPRS.
14457
14458         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
14459         -mabi=spe, -mabi=no-spe, and -misel=.
14460
14461         * config/rs6000/rs6000-protos.h: Add output_isel.
14462         Move vrsave_operation prototype here.
14463
14464         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
14465         (smaxsi3): Same.
14466         (uminsi3): Same.
14467         (umaxsi3): Same.
14468         (abssi2_nopower): Disallow when TARGET_ISEL.
14469         (*ne0): Same.
14470         (negsf2): Change to expand and rename old pattern to *negsf2.
14471         (abssf2): Change to expand and rename old pattern to *abssf2.
14472
14473         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
14474         fixunssfsi2.
14475
14476         Change patterns that check for TARGET_HARD_FLOAT or
14477         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
14478
14479         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
14480         rs6000_isel, rs6000_fprs, rs6000_isel_string.
14481         (rs6000_override_options): Add 8540 case to
14482         processor_target_table.
14483         Set rs6000_isel for the 8540.
14484         Call rs6000_parse_isel_option.
14485         (enable_mask_for_builtins): New.
14486         (rs6000_parse_isel_option): New.
14487         (rs6000_parse_abi_options): Add spe and no-spe.
14488         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
14489         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
14490         for TARGET_HARD_FLOAT.
14491         Add case for SPE_VECTOR_MODE.
14492         (rs6000_legitimize_reload_address): Handle SPE vector modes.
14493         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
14494         vector modes.
14495         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
14496         (rs6000_emit_move): Check for TARGET_FPRS.
14497         Add cases for SPE vector modes.
14498         (function_arg_boundary): Return 64 for SPE vector modes.
14499         (function_arg_advance): Check for TARGET_FPRS and
14500         Handle SPE vectors.
14501         (function_arg): Same.
14502         (setup_incoming_varargs): Check for TARGET_FPRS.
14503         (rs6000_va_arg): Same.
14504         (struct builtin_description): Un-constify mask field.  Move up in
14505         file.
14506         (bdesc_2arg): Un-constify and add SPE builtins.
14507         (bdesc_1arg): Same.
14508         (bdesc_spe_predicates): New.
14509         (bdesc_spe_evsel): New.
14510         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
14511         (rs6000_expand_binop_builtin): Same.
14512         (bdesc_2arg_spe): New.
14513         (spe_expand_builtin): New.
14514         (spe_expand_predicate_builtin): New.
14515         (spe_expand_evsel_builtin): New.
14516         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
14517         (rs6000_init_builtins): Initialize SPE builtins.  Call
14518         rs6000_common_init_builtins.
14519         (altivec_init_builtins): Move all non-altivec builtin code to...
14520         (rs6000_common_init_builtins): ...here.  New function.
14521         (branch_positive_comparison_operator): Allow NE code for SPE.
14522         (ccr_bit): Return correct ccr bit for SPE fp.
14523         (print_operand): Emit crnor in 'D' case for SPE.
14524         New case 't'.
14525         Add SPE code for 'y' case.
14526         (rs6000_generate_compare): Generate rtl for SPE fp.
14527         (output_cbranch): Handle SPE hard floats.
14528         (rs6000_emit_cmove): Handle isel.
14529         (rs6000_emit_int_cmove): New.
14530         (output_isel): New.
14531         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
14532         64-bits for SPE.
14533         (debug_stack_info): Add SPE info.
14534         (gen_frame_mem_offset): New.
14535         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
14536         Change mode of frame pointer, when saving it, to Pmode.
14537         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
14538         Misc cleanups and use gen_frame_mem_offset when appropriate.
14539
14540         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
14541         (TARGET_SPE_ABI): New.
14542         (TARGET_SPE): New.
14543         (TARGET_ISEL): New.
14544         (TARGET_FPRS): New.
14545         (FIXED_SCRATCH): New.
14546         (RTX_COSTS): Add PROCESSOR_PPC8540.
14547         (ASM_CPU_SPEC): Add case for 8540.
14548         (TARGET_OPTIONS): Add isel= case.
14549         (rs6000_spe_abi): New.
14550         (rs6000_isel): New.
14551         (rs6000_fprs): New.
14552         (rs6000_isel_string): New.
14553         (UNITS_PER_SPE_WORD): New.
14554         (LOCAL_ALIGNMENT): Adjust for SPE.
14555         (HARD_REGNO_MODE_OK): Same.
14556         (DATA_ALIGNMENT): Same.
14557         (MEMBER_TYPE_FORCES_BLK): New.
14558         (FIRST_PSEUDO_REGISTER): Set to 113.
14559         (FIXED_REGISTERS): Add SPE registers.
14560         (reg_class): Same.
14561         (REG_CLASS_NAMES): Same.
14562         (REG_CLASS_CONTENTS): Same.
14563         (REGNO_REG_CLASS): Same.
14564         (REGISTER_NAMES): Same.
14565         (DEBUG_REGISTER_NAMES): Same.
14566         (ADDITIONAL_REGISTER_NAMES): Same.
14567         (CALL_USED_REGISTERS): Same.
14568         (CALL_REALLY_USED_REGISTERS): Same.
14569         (SPE_ACC_REGNO): New.
14570         (SPEFSCR_REGNO): New.
14571         (SPE_SIMD_REGNO_P): New.
14572         (HARD_REGNO_NREGS): Adjust for SPE.
14573         (VECTOR_MODE_SUPPORTED_P): Same.
14574         (REGNO_REG_CLASS): Same.
14575         (FUNCTION_VALUE): Same.
14576         (LIBCALL_VALUE): Same.
14577         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
14578         (SPE_VECTOR_MODE): New.
14579         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
14580         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
14581         (rs6000_stack): Add spe_gp_size, spe_padding_size,
14582         spe_gp_save_offset.
14583         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
14584         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
14585         (SPE_CONST_OFFSET_OK): New.
14586         (rs6000_builtins): Add SPE builtins.
14587
14588         * testsuite/gcc.dg/ppc-spe.c: New.
14589
14590         * config/rs6000/eabispe.h: New.
14591
14592         * config/rs6000/spe.h: New.
14593
14594         * config/rs600/spe.md: New.
14595
14596         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
14597         __SIMD__ for TARGET_SPE.
14598
14599         * config.gcc: Add powerpc-*-eabispe* case.
14600         Add spe.h to user headers for powerpc.
14601
14602 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14603
14604         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
14605         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14606         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
14607
14608 2002-07-24  Richard Henderson  <rth@redhat.com>
14609
14610         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
14611         form when not optimizing.
14612
14613 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
14614
14615         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
14616         thread_pointer_rtx as unchanging.
14617
14618 2002-07-24  Michael Matz  <matz@suse.de>
14619
14620         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
14621         (free_reg): Use it.
14622
14623 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
14624
14625         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
14626         pattern.
14627         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
14628         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
14629
14630 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14631
14632         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
14633         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14634         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
14635
14636 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
14637
14638         * toplev.c (rest_of_compilation): Dump loops before clobbering
14639         the structure.
14640
14641 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
14642
14643         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
14644
14645 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
14646
14647         PR optimization/7291
14648         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
14649         problem on x86_64.
14650
14651 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
14652
14653         * pretty-print.h: Add macros from cp/error.c
14654
14655 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14656
14657         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
14658         (mask64_2_operand): Declare.
14659         (build_mask64_2_operands): Declare.
14660         (and64_2_operand): Declare.
14661         (extract_MB): Declare.
14662         (extract_ME): Declare.
14663         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
14664         CONST_DOUBLE code.
14665         (mask_operand_wrap): New insn predicate.
14666         (mask64_2_operand): Likewise.
14667         (and64_2_operand): Likewise.
14668         (build_mask64_2_operands): New function.
14669         (extract_MB): New function.
14670         (extract_ME): New function.
14671         (print_operand <case m,M>): Use extract_MB and extract_ME.
14672         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
14673         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
14674         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
14675         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
14676         * config/rs6000/rs6000.md (andsi3_internal3): New
14677         (andsi3_internal3+1): Enable split for powerpc64.
14678         (andsi3_internal3+2): New split.
14679         (andsi3_internal4): Renamed old andsi3_internal3.
14680         (andsi3_internal5): New.
14681         (andsi3_internal5+1): Enable split for powerpc64.
14682         (andsi3_internal5+2): New split.
14683         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
14684         (anddi3): Handle 't' constraint.
14685         (anddi3+1): New split.
14686         (anddi3_internal2): Handle 't' constraint.
14687         (anddi3_internal2+1): New split.
14688         (anddi3_internal3): Handle 't' constraint.
14689         (anddi3_internal3+1): New split.
14690
14691 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14692
14693         * config/rs6000/rs6000.md: Remove scratch reg on insns using
14694         addze and similar (plus (comparison r1 r2) r3) insns.  Add
14695         missing scratch reg in one case.  Formatting fixes.
14696
14697 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
14698
14699         * cppexp.c (parse_defined): Mark macro used.
14700         * cpphash.h (struct cpp_macro): New member "used".
14701         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
14702         (struct cpp_reader): New member.
14703         * cppinit.c (cpp_finish_options): Set first_unused_line.
14704         (cpp_finish): Warn of unused macros if requested.
14705         (OPT_TABLE): New switches.
14706         (cpp_handle_option): Handle them.
14707         * cpplib.c (do_undef): Warn if macro unused.
14708         (do_ifdef, do_ifndef): Mark macro used.
14709         * cpplib.h (struct cpp_options): New member.
14710         * cppmacro.c (_cpp_warn_if_unused_macro): New.
14711         (enter_macro_context): Mark macro used.
14712         (_cpp_create_definition): Mark macro unused; warn if unused
14713         when redefined.
14714         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
14715         Mark macros used.
14716         * doc/cppopts.texi: Update.
14717
14718 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14719
14720         * dwarf2out.c (SECTION_ASM_OP,
14721         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14722         * system.h (SECTION_ASM_OP): Poison.
14723         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
14724         * config/alpha/alpha-interix.h, config/mips/linux.h
14725         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14726         * config/mmix/mmix-protos.h, config/mmix/mmix.c
14727         (mmix_asm_output_define_label_difference_symbol): Remove.
14728         * config/mmix/mmix.h
14729         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14730         * doc/tm.texi: Remove documentation.
14731
14732 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
14733
14734         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
14735         (constrain_operands): Likewise.
14736         * regclass.c (record_reg_classes): Likewise.
14737         * reload.c (find_reloads): Likewise.
14738         * doc/md.texi: Likewise.
14739
14740         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
14741         * simplify-rtx.c (simplify_subreg): When converting to a non-int
14742         mode, try to convert to an integer mode of matching size first.
14743
14744         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
14745         from individual subregs, check that each subreg has been generated
14746         sucessfully.
14747
14748 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14749
14750         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
14751         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
14752         FOR_EACH_BB_IN_SBITMAP): Remove.
14753         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
14754         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
14755         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
14756         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
14757         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
14758         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
14759
14760 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14761
14762         * pretty-print.h: New file.
14763
14764 2002-07-23      Paul Koning     <pkoning@equallogic.com>
14765
14766         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
14767         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
14768         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
14769         (TARGET_G_FLOAT): Default to 0 if not defined.
14770         (ieeetoe): New, common routine to convert target format floats
14771         to internal form.
14772         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
14773         vs. others.
14774         (e113toe): Change to use ieeetoe.
14775
14776 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
14777
14778         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
14779         IBM.
14780         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
14781         (e64toe): Remove special cases for DEC and IBM. Remove support for
14782         ARM_EXTENDED_IEEE_FORMAT.
14783         (e24toe): Remove special cases for DEC.
14784         (significand_size): Simplify. Indent.
14785         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
14786         (etoieee, toieee): New.
14787         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
14788         etoieee and toieee for IEEE arithmetic.
14789
14790 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14791
14792         * doc/extend.texi: Say ISO C90, not ISO C89.
14793         * doc/invoke.texi: Likewise.
14794         * doc/standards.texi: Likewise.
14795
14796 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
14797
14798         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
14799         Fix permutation of conversion and plus/mult.
14800         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
14801         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
14802         (expand_builtin_strncpy) Ditto.
14803         (expand_builtin_memset) Ditto.
14804
14805 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14806
14807         Fix PR/7363:
14808         * c-common.c (c_sizeof_or_alignof_type): New function.
14809         (c_alignof): Remove definition.
14810         * c-common.h (c_sizeof, c_alignof): Define as macros.
14811         (c_sizeof_or_alignof_type): Declare.
14812         (my_friendly_assert): Moved from cp/cp-tree.h
14813         * c-typeck.c (c_sizeof): Remove definition.
14814
14815 2002-07-23  Jan Hubicka  <jh@suse.cz>
14816
14817         * gcse.c (try_replace_reg): Use num_changes_pending.
14818         * recog.c (num_changes_pending): New function.
14819         (validate_replace_src): Use validate_repalce_src_group.
14820         (validate_replace_src_group): New.
14821         * recog.h (validate_repalce_src_group): New.
14822         (num_changes_pending): Likewise.
14823
14824 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
14825
14826         * calls.c (emit_library_call_value_1): If
14827         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
14828         libcall, const call nor pure call.
14829
14830 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14831
14832         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
14833
14834 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14835
14836         * vmsdbgout.c (SECTION_ASM_OP): Remove.
14837
14838 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14839
14840         * config/i386/i386.c (AT_BP): Remove.
14841
14842 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14843
14844         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
14845         Default definition.
14846         * gcse.c: Don't define obstack_chunk_free.
14847         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
14848         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
14849         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
14850         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
14851         Don't define obstack macros.
14852
14853 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
14854
14855         PR target/6744
14856         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
14857         ASM_OPERANDS instructions.
14858
14859 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
14860
14861         PR target/7361
14862         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
14863         constant addresses only on 68HC12.
14864
14865 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
14866
14867         * cppfiles.c (stack_include_file): Correct test of whether
14868         a dependency should be output.
14869
14870 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
14871
14872         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
14873
14874 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
14875
14876         * arm.md (movqi): If optimizing and we can create pseudos, use
14877         a ZERO_EXTEND to load from memory, then copy the result into the
14878         target.
14879         (movhi): Likewise, but only for ARMv4.
14880
14881 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
14882
14883         * ssa-ccp.c (PHI_PARMS): Remove.
14884
14885 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
14886
14887         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
14888         on big-endian targets.
14889
14890 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14891
14892         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
14893         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
14894         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
14895         New formatting macros.
14896
14897         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
14898
14899 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
14900
14901         * rtlanal.c (subreg_regno_offset): Return correct offset for
14902         big endian paradoxical subregs.
14903
14904         * optabs.c (expand_vector_unop): Don't expand using sub_optab
14905         if we got the wrong mode.
14906
14907         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
14908         * genrecog.c (write_switch, write_cond): Use it.
14909         * genemit.c (gen_exp): Likewise.
14910
14911 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
14912
14913         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
14914
14915 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
14916
14917         * c-decl.c (build_compound_literal): Defer compound literal decls
14918         until until file end to emit them only if they are actually used.
14919
14920 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14921
14922         * ra-build.c (check_conflict_numbers): Hide unused function.
14923         (livethrough_conflicts_bb): Avoid automatic aggregate
14924         initialization.
14925         (parts_to_webs_1): Avoid `U' integer constant modifier.
14926         (conflicts_between_webs): Wrap a variable in the macro controlling
14927         its usage.
14928         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
14929         (dump_igraph, dump_graph_cost): Avoid string concatenation
14930         (dump_static_insn_cost): Avoid automatic aggregate
14931         initialization.
14932         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
14933         initialization.
14934         (dump_cost): Avoid string concatenation
14935
14936 2002-07-21  Richard Henderson  <rth@redhat.com>
14937
14938         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
14939         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
14940
14941 2002-07-21  Richard Henderson  <rth@redhat.com>
14942
14943         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
14944         that are not unrolled completely.
14945
14946 2002-07-21  Richard Henderson  <rth@redhat.com>
14947
14948         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
14949         * loop.c (strength_reduce): Update.
14950         * toplev.c (rest_of_compilation): Do unrolling in the first
14951         loop pass, not the second.
14952
14953 2002-07-21  Richard Henderson  <rth@redhat.com>
14954
14955         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
14956         when flag_argument_noalias == 2.
14957         * alias.c (nonoverlapping_memrefs_p): Handle that.
14958         * print-rtl.c (print_mem_expr): Likewise.
14959
14960 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
14961
14962         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
14963         instead of __negdi2 directly.
14964
14965 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
14966
14967         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
14968         * function.c (SYMBOL__MAIN): Remove definition.
14969         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
14970         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
14971         * profile.c (GCOV_INDEX_TO_BB): Remove.
14972         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
14973         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
14974
14975 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
14976
14977         * c-lex.c (GET_ENVIRONMENT): Remove.
14978         * collect2.c (GET_ENV_PATH_LIST): Remove.
14979         (prefix_from_env): Use GET_ENVIRONMENT.
14980         * cppinit.c (GET_ENV_PATH_LIST): Remove.
14981         (init_standard_includes): Use GET_ENVIRONMENT.
14982         * defaults.h (GET_ENVIRONMENT): Define here if not already.
14983         * gcc.c (GET_ENV_PATH_LIST): Remove.
14984         (make_relative_prefix, process_command): Update.
14985         * protoize.c (GET_ENV_PATH_LIST): Remove.
14986         (do_processing): Update.
14987
14988 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
14989
14990         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
14991         (grokdeclarator): Likewise.
14992         * c-format.c (C_STD_NAME): Likewise.
14993         * c-lex.c (interpret_integer): Likewise.
14994         * c-typeck.c (build_array_ref): Likewise.
14995         * cpplex.c (_cpp_lex_direct): Likewise.
14996         * toplev.c (documented_lang_options): Likewise.
14997
14998 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
14999
15000         * c-format.c (T99_I, T99_UI): Remove.
15001
15002 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15003
15004         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
15005
15006 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
15007
15008         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
15009         do_local_cprop.
15010
15011 2002-07-21  Andreas Jaeger  <aj@suse.de>
15012
15013         * reload1.c (fixup_abnormal_edges): Remove unused variable.
15014
15015 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
15016
15017         Improvements for the ifcvt pass from Michael Meissner, with patches
15018         by Richard Sandiford <rsandifo@redhat.com>
15019         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
15020         * ifcvt.c (cond_exec_changed_p): New static variable.
15021         (last_active_insn): New function, renamed from last_active_insn_p
15022         and changed to return the last active insn in a basic block. All
15023         callers updated.
15024         (block_fallthru): New function.
15025         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
15026         IFCVT_MODIFY_INSN.  All callers updated.
15027         Return false if START or END are NULL.
15028         Handle case where we're processing an insn that is already
15029         conditional.
15030
15031         (noce_process_if_block): CE_INFO argument rather than
15032         multiple args containing the involved basic blocks.  All callers
15033         changed.
15034         (process_if_block, merge_if_block, find_if_block,
15035         cond_exec_process_if_block): Likewise.
15036
15037         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
15038         changed.
15039         Use new function last_active_insn to simplify some code.
15040         New code to handle multiple tests.
15041         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
15042         cond_exec_changed_p to TRUE.
15043
15044         (process_if_block): New code to handle multiple tests.
15045         (merge_if_block): Likewise.
15046         (find_if_header): New arg PASS.  Changed to return the currently
15047         processed basic block or NULL instead of true/false. All callers
15048         changed.
15049         Call IFCVT_INIT_EXTRA_FIELDS.
15050         (block_jumps_and_fallthru_p): New function.
15051         (find_if_block): Discover opportunities to convert multiple tests.
15052         Add additional debugging output.
15053         Update the ce_info structure before returning.
15054
15055         (if_convert): Run multiple passes of if-conversion.
15056         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
15057         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
15058         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
15059         these macros.
15060
15061 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
15062
15063         * gcse.c: Include cselib.h
15064         (constptop_register): Break out from ...
15065         (cprop_insn): ... here; kill basic_block argument.
15066         (do_local_cprop, local_cprop_pass): New functions.
15067         (one_cprop_pass): Call local_cprop_pass.
15068
15069 2002-07-20  Roger Sayle  <roger@eyesopen.com>
15070
15071         * simplify-rtx.c (simplify_relational_operation): Optimize
15072         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
15073
15074 2002-07-20  Michae Matz  <matz@suse.de>
15075
15076         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
15077
15078 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
15079
15080         * cppexp.c (struct op): Add token pointer.
15081         (check_promotion, CHECK_PROMOTION): New.
15082         (optab): Update.
15083         (_cpp_parse_expr): Update, use token pointer of struct op.
15084         (reduce): Warn about change of sign owing to promotion.
15085         * cppinit.c (cpp_handle_option): New warning if -Wall.
15086         * cpplib.h (struct cpp_options): New member.
15087
15088 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
15089
15090         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
15091         fpu list.  Separate Power4 compare and delayed_compare.  Correct
15092         Power4 fpcompare.
15093         (fix_truncdfsi2_internal): Restore FPR preference.
15094         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
15095         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
15096
15097 2002-07-19  Momchil Velikov <velco@fadata.bg>
15098
15099         * reload1.c (reload_as_needed): Duplicate oldpat.
15100
15101 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
15102
15103         PR optimization/7130
15104         * loop.h (struct loop_info): Add "preconditioned".
15105         * unroll.c (unroll_loop): Set it.
15106         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
15107
15108 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
15109
15110         * rtl.def (CODE_LABEL): Remove slot 8.
15111         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
15112         (LABEL_ALTERNATE_NAME): Delete.
15113         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
15114         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15115
15116         * final.c (output_alternate_entry_point): New.
15117         (final_scan_insn): Use it instead of
15118         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
15119         of a case label being an alternate entry point.
15120
15121         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
15122         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
15123         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
15124         (field deleted).
15125         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
15126
15127         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
15128         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
15129         * doc/tm.texi: Delete documentation of
15130         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15131
15132 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15133
15134         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
15135         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
15136         (LINK_SPEC): Define.
15137         (STARTFILE_SPEC): Define.
15138         (ENDFILE_SPEC): Define.
15139
15140         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
15141         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
15142
15143         * config/mips/iris6-o32-gas.h: New file.
15144         * config.gcc (mips-sgi-irix6*o32): Use it.
15145
15146         * config/mips/t-iris5-gas: New file.
15147         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15148
15149 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
15150
15151         * cppexp.c (ALWAYS_EVAL): Remove.
15152         (optab, reduce): Always evaluate.
15153         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
15154         only if not skipping evaluation.
15155
15156 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15157
15158         * config/avr/avr.c (debug_hard_reg_set): Remove.
15159
15160 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
15161
15162         * gcc.c (cpp_options): Include "%1" (cc1_spec).
15163
15164 2002-07-19  Richard Henderson  <rth@redhat.com>
15165
15166         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
15167
15168 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
15169
15170         * prefix.c (update_path): Don't zap single `.' path components
15171         unless followed by another `.' and fix typo last patch.
15172
15173 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
15174
15175         * cppexp.c (cpp_num_mul): Remove unused parameter.
15176         (UNARY, BINARY, OTHER, binary_handler): Remove.
15177         (ALWAYS_EVAL): New.
15178         (optab): Update.
15179         (reduce): Refactor to a large switch, don't use a function
15180         pointer.
15181
15182 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
15183
15184         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
15185
15186 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
15187
15188         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
15189         (sh_expand_binop_v2sf): Likewise.
15190         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
15191         (int_gpr_dest, trunc_hi_operand): New functions.
15192         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
15193         trunc_hi_operand.
15194         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
15195         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
15196         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
15197         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
15198         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
15199         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
15200         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
15201         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
15202         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
15203         (movsf_ie+1): Likewise.
15204         (loaddi_trunc): Use int_gpr_dest predicate.
15205         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
15206         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
15207         (casesi_worker_0+[12], casesi_worker): Likewise.
15208         (shcompact_preserve_incoming_args): Likewise.
15209         (mov_nop): Use any_register_operand predicate.
15210         (mperm_w0): Use trunc_hi_operand predicate.
15211
15212 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15213
15214         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
15215         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
15216         numbering.
15217
15218 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15219
15220         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
15221
15222 2002-07-18  Richard Henderson  <rth@redhat.com>
15223
15224         PR optimization/7147
15225         * ifcvt.c (noce_get_condition): Make certain that the condition
15226         is valid at JUMP.
15227
15228 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
15229
15230         * sh.c (barrier_align, push): Shut up compiler warnings.
15231         (initial_elimination_offset,sh_media_init_builtins): Likewise.
15232         (reg_no_subreg_operand): Delete.
15233
15234 2002-07-17  Bo Thorsen  <bo@suse.de>
15235
15236         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
15237         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
15238         (STARTFILE_SPEC): Remove hardcoded library paths.
15239         (ENDFILE_SPEC): Likewise.
15240
15241 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
15242
15243         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
15244
15245         * gcse.c (try_replace_reg): Do not return false positives.
15246
15247 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15248
15249         * prefix.c: (update_path): Strip ".." components when prior dir
15250         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
15251
15252         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
15253         (ASM_OUTPUT_REG_POP): Likewise.
15254
15255 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15256
15257         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
15258         adjustments to first_reg for profiling case.
15259         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
15260         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
15261         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
15262         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
15263         (ASM_OUTPUT_REG_POP): Define.
15264         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
15265         (ASM_OUTPUT_REG_POP): Undef.
15266
15267 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15268
15269         * cpplib.c (do_sccs): Handle #sccs on all systems.
15270         * system.h (SCCS_DIRECTIVE): Poison.
15271         * config/darwin.h, config/freebsd.h, config/netbsd.h,
15272         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
15273         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
15274         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
15275         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
15276         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
15277         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
15278         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
15279         Remove all references to SCCS_DIRECTIVE.
15280         * doc/cpp.texi, doc/tm.texi: Update.
15281
15282 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
15283
15284         * regrename.c (maybe_mode_change): New function.
15285         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
15286
15287 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
15288
15289         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
15290         suppress addition when either ct or cf are zero.
15291
15292 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
15293             Glen Nakamura <glen@imodulo.com>
15294
15295         PR optimization/6713
15296         * loop.c (loop_givs_rescan): Explicitly delete the insn that
15297         sets a non-replaceable giv after issuing the new one.
15298
15299 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15300
15301         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
15302         eval_token): Clarify and correct use of "bool" variables.
15303         * cpplib.h (struct cpp_options): Similarly.
15304         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
15305         * cpptrad.c (recursive_macro): Similarly.
15306
15307 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
15308
15309         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
15310         SHmedia code.
15311
15312         * sh.md (cmpgtudi_media): Remove spurious @.
15313
15314         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
15315         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
15316
15317         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
15318         * sh-protos.h (sh_initialize_trampoline): Declare.
15319         * sh.c (sh_initialize_trampoline): New function.
15320         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
15321         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
15322         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
15323         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
15324         * sh.md (initialize_trampoline, double_shori): New patterns.
15325         (initialize_trampoline_compact): Likewise.
15326         (shmedia32_initialize_trampoline_big): Remove.
15327         (shmedia32_initialize_trampoline_little): Likewise.
15328
15329         * sh-protos.h (binary_float_operator): Remove declaration.
15330         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
15331         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
15332         (unary_float_operator, sh_expand_unop_v2sf): New functions.
15333         (sh_expand_binop_v2sf): Likewise.
15334         (zero_vec_operand): Delete.
15335         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
15336         all non-shared ones.
15337         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
15338         Enable nsb and byterev.
15339         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
15340         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
15341         in general regs.
15342         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
15343         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
15344         immediate operands.
15345         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
15346         Add DF_HI_REGS.
15347         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
15348         lowpart fp regs - only for big endian for now.
15349         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
15350         when FPU is in use.
15351         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
15352         (LOAD_EXTEND_OP): NIL for SImode.
15353         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
15354         general and fp registers is 4.
15355         PREDICATE_CODES: Amend binary_float_operator entry.
15356         Remove zero_vec_operand.  Add unary_float_operator.
15357         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
15358         subreg SET_DEST.
15359         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
15360         (truncdiqi2): Do sign extension.
15361         (movsi_media, movdi_media): Allow to use r63 to an fp register.
15362         (movdf_media, movsf_media): Likewise.
15363         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
15364         Collapse to one define_insn_and_split.  Allow immediate sources.
15365         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
15366         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
15367         (movv4sf): Allow immediate sources.
15368         (movsf_media_nofpu+1): Don't split moves to FP registers.
15369         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
15370         (movv8qi_i+3): Check against CONST0_RTX.
15371         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
15372         for input and output operands.  Fix argument 3 to gen_mextr_rl.
15373         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
15374         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
15375         (mshf0_w, fipr, ftrv): Likewise.
15376         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
15377
15378 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
15379
15380         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
15381         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
15382         * arm.c: Similarly.
15383
15384 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
15385
15386         * config/mips/mips-protos.h (mips_sign_extend): Declare.
15387         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
15388         (TARGET_SWITCHES): Remove debugh.
15389         (ISA_HAS_TRUNC_W): New macro.
15390         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
15391         (PREDICATE_CODES): Remove se_nonimmediate_operand.
15392         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
15393         any SImode move_operand.
15394         (se_nonimmediate_operand): Remove.
15395         (mips_sign_extend): New.
15396         (mips_move_2words): Use it for sign-extended source operands.
15397         (override_options): Allow integers to be put into single FPRs.
15398         (mips_secondary_reload_class): Handle integers in float registers.
15399         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
15400         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
15401         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
15402         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
15403         (fix_truncdfdi2): Provide only a single alternative, in which the
15404         integer is in a float register.  Depend on TARGET_FLOAT64 rather
15405         than TARGET_64BIT.
15406         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
15407         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
15408         (movdi_internal2): Don't allow the source operand to be sign-extended.
15409         Add alternatives for float registers.
15410         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
15411         allows sign-extension.
15412         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
15413         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
15414         float registers.  Remove TARGET_DEBUG_H_MODE test.
15415         (movhi_internal1): Rename to movhi_internal.  Don't check
15416         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
15417         (movqi_internal1): Rename to movqi_internal and remove
15418         TARGET_DEBUG_H_MODE dependency.
15419         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
15420
15421 2002-07-16  Jim Wilson  <wilson@redhat.com>
15422
15423         * toplev.c (lang_dependent_init): Create function context for
15424         init_expr_once.
15425
15426 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
15427
15428         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
15429         --gc-sections if -r.
15430         * config/cris/cris.h: Ditto.
15431
15432 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
15433
15434         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
15435         the comparison directly gives a mask suppress addition when cf is
15436         zero by complementing the mask.
15437
15438 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
15439
15440         * Makefile.in: Delete references to enquire.
15441         * enquire.c: Move to contrib.
15442
15443 2002-07-16  Stan Shebs  <shebs@apple.com>
15444
15445         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
15446         config/rs6000/darwin.h.
15447         (ASM_OUTPUT_SKIP): Ditto.
15448         (TEXT_SECTION_ASM_OP): Ditto.
15449         (DATA_SECTION_ASM_OP): Ditto.
15450         (ASM_APP_ON): Define.
15451         (ASM_APP_OFF): Define.
15452         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
15453         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
15454
15455         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
15456         (machopic_function_base_name): Declare result to be const.
15457         (machopic_non_lazy_ptr_name): Ditto.
15458         (machopic_stub_name): Ditto.
15459         * config/darwin-protos.h: Ditto for the prototypes.
15460
15461 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
15462
15463         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
15464
15465 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
15466
15467         * i386.md (prefetch): Fix for 64bit mode.
15468         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15469
15470 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
15471
15472         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
15473         * i386.c (x86_machine_dependent_reorg): New function.
15474         * i386-protos.h (x86_machine_dependent_reorg): Declare.
15475
15476 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
15477
15478         * builtins.c (std_expand_builtin_va_start): Remove unused
15479         first argument.
15480         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
15481         std_expand_builtin_va_start with just two arguments.
15482         * expr.h: Update prototypes.
15483
15484         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
15485         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
15486         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
15487         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
15488         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
15489         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
15490         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
15491         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
15492         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
15493         argument from all implementations of EXPAND_BUILTIN_VA_START
15494         and all uses of std_expand_builtin_va_start.
15495
15496 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15497
15498         * regrename.c (copy_value): Don't record high part copies.
15499
15500 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15501
15502         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
15503         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
15504         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
15505
15506 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
15507
15508         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
15509
15510         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
15511         into addsi3 using register class "x" and "y".
15512
15513         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
15514         "earlyclobber" constraint modifier for some alternative.
15515
15516         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
15517         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
15518         unordered.
15519         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
15520
15521         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
15522         (TARGET_SWITCHES): Add -mieee-compare option.
15523         (OVERRIDE_OPTIONS): 32332 is a subset of
15524         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
15525         (TARGET_SWITCHES): Fix description of bitfield option.
15526         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
15527         -mieee-compare option. Remove 32332 flag.
15528
15529 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15530
15531         * explow.c (convert_memory_address): Remove special handling
15532         when POINTERS_EXTEND_UNSIGNED < 0.
15533         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
15534         (movedi_symbolic): Fix typo.
15535         (load_fptr): Remove mode restriction so it works for SI and DI.
15536         (load_fptr_internal1): Ditto.
15537         (load_gprel): Ditto.
15538         (load_symptr_internal1): Ditto.
15539         (call_pic): Ditto.
15540         * config/ia64.c (call_operand): Modify mode check.
15541         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
15542         (ia64_expand_move): Ditto.
15543         (ia64_assemble_integer): Handle SImode function pointers.
15544         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
15545         (ia64_expand_op_and_fetch): Ditto.
15546         (ia64_expand_compare_and_swap): Ditto.
15547         (ia64_expand_lock_test_and_set): Ditto.
15548         (ia64_expand_lock_release): Ditto.
15549
15550 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15551
15552         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
15553
15554 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15555             Richard Earnshaw  <rearnsha@arm.com>
15556
15557         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
15558         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
15559
15560 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
15561
15562         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
15563         understands to be a memory clobber.
15564         * arm.c (arm_expand_prologue): Use it.
15565
15566 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
15567
15568         * ra-rewrite.c: #include reload.h, insn-config.h
15569         * ra-build.c: #include reload.h
15570         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
15571         depend on reload.h, insn-config.h.
15572
15573 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
15574
15575         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
15576         the same size as a word.
15577
15578         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
15579         BYTES_BIG_ENDIAN into account.
15580
15581 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
15582
15583         * i386.md (prefetch): Fix for 64bit mode.
15584         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15585
15586         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
15587
15588 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15589
15590         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
15591
15592 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
15593
15594         * ginclude/varargs.h: Replace with stub which issues #error.
15595         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
15596         __builtin_va_start.
15597
15598         * builtins.def (BUILT_IN_VARARGS_START): Delete.
15599         (BUILT_IN_VA_START): New.
15600         * builtins.c (expand_builtin_va_start): Eliminate first
15601         argument and code to implement pre-ISO varargs.
15602         (std_expand_builtin_va_start): Ignore first argument; it is
15603         always 1.
15604         (expand_builtin): Handle BUILT_IN_VA_START and
15605         BUILT_IN_STDARG_START identically.  Delete
15606         BUILT_IN_VARARGS_START case.
15607
15608         * function.c (assign_parms): Delete hide_last_arg and all
15609         its uses.
15610         (mark_varargs): Delete function.
15611         * function.h (struct function): Delete 'varargs' bit.
15612         (current_function_varargs): Delete macro.
15613         * tree.h: Don't declare mark_varargs.
15614
15615         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
15616         (c_expand_body): Don't call mark_varargs.
15617         * c-objc-common.c: Handle BUILT_IN_VA_START and
15618         BUILT_IN_STDARG_START identically.  Delete
15619         BUILT_IN_VARARGS_START case.
15620         * c-tree.h: Don't declare c_mark_varargs.
15621         * c-parse.in: Remove grammar rules for '&...' (which has been
15622         commented out since before 2.7.2) and for '...' in K+R
15623         argument declarations.
15624
15625         * builtins.c, function.c, integrate.c, sibcall.c,
15626         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
15627         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
15628         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
15629         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
15630         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
15631         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
15632         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
15633         config/stormy16/stormy16.c: Delete all references to
15634         current_function_varargs, and code predicated on that flag.
15635
15636         * config/alpha/alpha.c (alpha_va_start),
15637         config/arc/arc.c (arc_va_start),
15638         config/i386/i386.c (ix86_va_start),
15639         config/mips/mips.c (mips_va_start),
15640         config/mn10300/mn10300.c (mn10300_va_start),
15641         config/rs6000/rs6000.c (rs6000_va_start),
15642         config/s390/s390.c (s390_va_start),
15643         config/sh/sh.c (sh_va_start),
15644         Ignore first argument; it is always 1.
15645
15646         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
15647         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
15648         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
15649         Delete m68hc11_va_start.
15650         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
15651         No need to define EXPAND_BUILTIN_VA_START.
15652
15653         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
15654         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
15655
15656 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
15657
15658         PR optimization/7153
15659         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
15660         dies in more than one insn.
15661
15662 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
15663
15664         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
15665
15666 2002-07-15  Michael Matz  <matz@suse.de>,
15667             Daniel Berlin  <dberlin@dberlin.org>,
15668             Denis Chertykov  <denisc@overta.ru>
15669
15670         Add a new register allocator.
15671
15672         * ra.c: New file.
15673         * ra.h: New file.
15674         * ra-build.c: New file.
15675         * ra-colorize.c: New file.
15676         * ra-debug.c: New file.
15677         * ra-rewrite.c: New file.
15678
15679         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
15680         (ra-rewrite.o): New .o files for libbackend.a.
15681         (GTFILES): Add basic-block.h.
15682
15683         * toplev.c (flag_new_regalloc): New.
15684         (f_options): New option "new-ra".
15685         (rest_of_compilation): Call initialize_uninitialized_subregs()
15686         only for the old allocator.  If flag_new_regalloc is set, call
15687         new allocator, instead of local_alloc(), global_alloc() and
15688         friends.
15689
15690         * doc/invoke.texi: Document -fnew-ra.
15691         * basic-block.h (FOR_ALL_BB): New.
15692         * config/rs6000/rs6000.c (print_operand): Write small constants
15693         as @l+80.
15694
15695         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
15696         (df_reg_table_realloc): Make size at least as large as max_reg_num().
15697         (df_insn_table_realloc): Size argument now is absolute, not relative.
15698         Changed all callers.
15699
15700         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
15701         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
15702
15703         2002-06-20  Michael Matz  <matz@suse.de>
15704
15705         * df.h (struct ref.id): Make unsigned.
15706         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
15707
15708         2002-06-13  Michael Matz  <matz@suse.de>
15709
15710         * df.h (DF_REF_MODE_CHANGE): New flag.
15711         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
15712         involving subregs with invalid mode changes, when
15713         CLASS_CANNOT_CHANGE_MODE is defined.
15714
15715         2002-05-07  Michael Matz  <matz@suse.de>
15716
15717         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
15718
15719         2002-05-03  Michael Matz  <matz@suse.de>
15720
15721         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
15722
15723         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
15724
15725         * regclass.c (regclass): Work with all regs which have sets or
15726         refs.
15727         (reg_scan_mark_refs): Count regs inside (clobber ...).
15728
15729         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
15730
15731         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
15732         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
15733         add new refs.
15734         (df_bb_refs_update): Don't clear insns_modified here, ...
15735         (df_analyse): ... but here.
15736
15737         * sbitmap.c (dump_sbitmap_file): New.
15738         (debug_sbitmap): Use it.
15739
15740         * sbitmap.h (dump_sbitmap_file): Add prototype.
15741
15742         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
15743
15744         * df.c (df_insn_modify): Grow the UID table if necessary, rather
15745         than assume all emits go through df_insns_modify.
15746
15747         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
15748
15749         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
15750         increase REG_N_REFS (like flow does), so that regclass doesn't
15751         think a reg is useless, and thus, not calculate a class, when it
15752         really should have.
15753
15754         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
15755
15756         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
15757         dataflow analysis.
15758
15759 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
15760
15761         PR middle-end/7245
15762         * config/i386/i386.c (const_int_1_31_operand): New.
15763         * config/i386/i386.h (PREDICATE_CODES): Add it.
15764         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
15765         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
15766         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
15767
15768 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
15769
15770         PR target/7282
15771         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
15772         (floatunssidf2): Likewise.
15773         (floatsidf_ppc64): New insn_and_split.
15774         (floatunssidf_ppc64): Likewise.
15775
15776 2002-07-14  Andreas Jaeger  <aj@suse.de>
15777
15778         * config.gcc (sh64): Remove unused
15779         target_requires_64bit_host_wide_int.
15780
15781 2002-07-12  Roger Sayle  <roger@eyesopen.com>
15782
15783         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
15784         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
15785         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
15786         whether clear_by_pieces should be used to clear storage.
15787         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
15788
15789         * doc/tm.texi: Document these two new target macros.
15790
15791 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
15792
15793         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
15794         the scratch register.
15795         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
15796         of it, forbid reload to use it.
15797
15798 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15799
15800         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
15801         usage on 64-bit hosts, return value was truncated to 32 bits.
15802
15803 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
15804
15805         * simplify-rtx.c (simplify_subreg): Handle floating point
15806         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
15807         the element mode is requested, compute a subreg with an
15808         integer mode of the same size as the element mode first.
15809
15810 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
15811
15812         * combine.c (try_combine): When converting a paradoxical subreg
15813         to an extension, take LOAD_EXTEND_OP into account.
15814
15815 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15816
15817         * config.gcc (mips-sgi-irix6*o32): New configuration.
15818
15819         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
15820         configurations.
15821         * configure: Regenerate.
15822
15823         * config/mips/iris6-o32-as.h: New file.
15824         * config/mips/iris6-o32.h: New file.
15825
15826         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
15827         (NM_FLAGS): Define.
15828         (HAVE_AS_SHF_MERGE): Undefine.
15829
15830         * config/mips/t-iris5-as: New file.
15831         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15832
15833         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
15834         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
15835         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
15836         dp-bit.c, fp-bit.c): Move ...
15837         * config/mips/t-iris5-6: ... here.
15838         New file, shared by IRIX 5 and IRIX 6.
15839         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
15840         mips-sgi-irix5*): Use it.
15841
15842         * config/mips/iris6.h: Remove duplicate comment.
15843
15844         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
15845         !TARGET_IRIX6]: Define.
15846         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
15847
15848         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
15849
15850 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15851
15852         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
15853         and delete code to force constant to register.
15854         * pa-protos.h (adddi3_operand): Add prototype.
15855         * pa.c (adddi3_operand): New function.
15856
15857 2002-07-11  Roger Sayle  <roger@eyesopen.com>
15858
15859         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
15860         non-ANSI builtin functions.
15861
15862 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
15863
15864         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
15865         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
15866         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
15867         (gen_const_vector_0): Use it.
15868
15869 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15870
15871         * pa.md (adddi3): For 32-bit targets, force constants to a register
15872         if they don't fit in an 11-bit immediate.  Change insn predicate to
15873         arith11_operand.  Remove comment.
15874         * pa.c (cint_ok_for_move): Fix comment.
15875         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
15876         targets.
15877
15878 2002-07-11  Tim Josling  <tej@melbpc.org.au>
15879
15880         Remove front end hard coding from gengtype.c.
15881
15882         * Makefile.in
15883         (STAGESTUFF): add gtyp-gen.h
15884         (GTFILES): Remove front end specific files.
15885         (GTFILES_FILES_LANGS): New, from configure..
15886         (GTFILES_FILES_FILES): Likewise.
15887         (GTFILES_LANG_DIR_NAMES): Likewise.
15888         (GTFILES_SRCDIR): Likewise.
15889         (gtyp-gen.h): Build from configure information.
15890         (s-gtype): Remove command line parameters from gengtype.
15891         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
15892         (mostlyclean): Delete files generated by and for gengtype.
15893
15894         * c-config-lang.in: New file.
15895
15896         * configure.in (all_gtfiles_files_langs): New. Accumulate files
15897         for each language.
15898         (all_gtfiles_files_files): New. Accumulate language for each file
15899         accumulated.
15900         (gtfiles): Pick up value for C.
15901         (srcdir): AC-SUBST this variable.
15902         (all_gtfiles_files_langs): AC-SUBST this variable.
15903         (all_gtfiles_files_files): AC-SUBST this variable.
15904
15905         * configure: Regenerate.
15906
15907         * gengtype-lex.l (parse_file): Make parameter const.
15908
15909         * gengtype.c (toplevel): include gtyp-gen.h.
15910         (BASE_FILE_<language> unnamed enum): Delete.
15911         (lang_names): Delete (replaced by gtyp-gen.h)
15912         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
15913         all references.
15914         (NUM_GT_FILES): New.
15915         (NUM_LANG_FILES): New.
15916         (srcdir_len): New.
15917         (NUM_BASE_FILES): Change calculation.
15918         (open_base_files): Change prototype to avoid warning.
15919         (startswith): Delete.
15920         (get_file_basename): Iterate through generated language list not
15921         hard coded list.
15922         (get_base_file_bitmap): Use generated list of files and languages.
15923         (close_output_files): Add prototype to rmove warning.
15924         (main): Iterate through list of generated files from gtyp-gen.h
15925         rather than command line paramaters.  Ignore duplicated file
15926         names.
15927
15928         * gengtype.h (parse_file): Amend prototype for const parameter.
15929
15930         * doc/sourcebuild.texi: Document gtfiles variable.
15931
15932         * doc/gty.texi: Document changes to gtfiles variable for front
15933         ends.
15934
15935         * objc/config-lang.in (gtfiles): Add files needed for objc front
15936         end.
15937
15938 2002-07-10  Roger Sayle  <roger@eyesopen.com>
15939
15940         PR c/2454
15941         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
15942         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
15943
15944 2002-07-10  Roger Sayle  <roger@eyesopen.com>
15945             Zack Weinberg <zack@codesourcery.com>
15946
15947         * builtins.def: Make the argument types of abort and exit
15948         independent of the front-end.
15949
15950 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
15951
15952         * config/rs6000/linux64.h (ASM_SPEC): Define.
15953
15954 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
15955
15956         * config/rs6000/rs6000.c (emit_frame_save): New.
15957         (rs6000_frame_related): Replace reg2 before reg.
15958         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
15959         and eh_return registers.
15960
15961 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
15962
15963         Revert all patches for optimization of Complex .op. Real.
15964         * complex_part_zero_p: Remove
15965         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
15966         with x.
15967         * expand_cmplxdiv_wide: Ditto.
15968         * expand_binop: Ditto.
15969
15970 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15971
15972         * config/avr/avr.md: Fix two 0x80000000 constants to make them
15973         negative also on 64-bit hosts.
15974
15975         Default to -fno-reorder-blocks when optimizing for size.
15976         * config/avr/avr-protos.h (avr_optimization_options): Declare.
15977         * config/avr/avr.c (avr_optimization_options): New function.
15978         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
15979
15980         Optimize returning from simple functions.
15981         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
15982         * config/avr/avr.c (avr_simple_epilogue): New function.
15983         * config/avr/avr.md (return): New insn.
15984
15985 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
15986
15987         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
15988         HAS_INIT_SECTION to protection.
15989
15990 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
15991
15992         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
15993         deprecated.
15994
15995 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
15996
15997         * combine.c (gen_lowpart_for_combine): Handle vector modes.
15998         Supply non-VOID mode to simplify_gen_subreg.
15999
16000 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
16001
16002         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
16003
16004 2002-07-10  Jeffrey A Law  <law@redhat.com>
16005
16006         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
16007         as appropriate.
16008
16009         * mn10200.c (expand_epilogue): Fix test to determine which scratch
16010         register to use.
16011
16012 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
16013
16014         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
16015         Get mode from dest.
16016         If simplify_gen_subreg fails, try next equivalent.
16017
16018 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
16019
16020         * diagnostic.h: #include location.h
16021         (location_t): Move definition to..
16022         * location.h: ... here.  New file.
16023         * tree.h: #include location.h
16024         (DECL_SOURCE_LOCATION): New macro.
16025         (DECL_SOURCE_FILE): Use.
16026         (DECL_SOURCE_LINE): Likewise.
16027         (struct tree_decl): REplace filename and linenum with locus.
16028         * Makefile.in (TREE_H): add location.h
16029         (diagnostic.o): Depends on gt-location.h
16030         (gt-location.h): Depends on s-gtype
16031
16032 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
16033
16034         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
16035         TARGET_OS_CPP_BUILTINS.
16036         * config/rs6000/aix31.h: Likewise.
16037         * config/rs6000/aix41.h: Likewise.
16038         * config/rs6000/aix43.h: Likewise.
16039         * config/rs6000/aix51.h: Likewise.
16040         * config/rs6000/beos.h: Likewise.
16041         * config/rs6000/darwin.h: Likewise.
16042         * config/rs6000/eabi.h: Likewise.
16043         * config/rs6000/eabisim.h: Likewise.
16044         * config/rs6000/linux.h: Likewise.
16045         * config/rs6000/linux64.h: Likewise.
16046         * config/rs6000/lynx.h: Likewise.
16047         * config/rs6000/mach.h: Likewise.
16048         * config/rs6000/rtems.h: Likewise.
16049         * config/rs6000/sysv4.h: Likewise.
16050         * config/rs6000/vxppc.h: Likewise.
16051
16052 2002-07-09 Devang Patel <dpatel@apple.com>
16053         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
16054         Do not allow ObjC objects as a parameter type for Objective-C methods.
16055         My previous patch restricted  'struct' also.
16056
16057 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
16058
16059         * cpperror.c (cpp_error): Default to directive_line within
16060         directives here.
16061         * cppexp.c (cpp_interpret_integer): Only use traditional
16062         number semantics in directives.
16063         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
16064         (do_include_common): Similarly.
16065         * cpptrad.c (scan_out_logical_line): Implement accurate
16066         quoting of <> in #include.
16067         * doc/cpp.texi: Update.
16068
16069 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
16070                           J"orn Rennecke <joern.rennecke@superh.com>
16071
16072         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
16073         * sh.md (attribute issues): Replace with:
16074         (attribute pipe_model).  All users changed.
16075         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
16076         All users changed.
16077         (function units sh5issue, sh5fds): New.
16078         (attribute is_mac_media): New.
16079         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
16080         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
16081         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
16082         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
16083         (call_media, call_value_media, sibcall_media): Likewise.
16084         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
16085         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
16086         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
16087         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
16088         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
16089         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
16090         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
16091         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
16092         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
16093         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
16094         (truncdfsf2_media): Likewise.
16095         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
16096         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
16097
16098 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
16099
16100         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
16101         * sh.c (general_extend_operand, inqhi_operand): New functions.
16102         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
16103         alternatives using 'N' modifier.  Add type.
16104         (adddi3z_media): Likewise.  Enable generator function generation.
16105         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
16106         exact predicates / constraints.  Add type.
16107         (subsi3): Allow 0 for SHMEDIA.
16108         (udivsi3_i4_media): Use match_operand for input values
16109         rather than hard registers.
16110         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
16111         unnecessarily through hard registers.  Keep copies of pseudo
16112         registers outside of the libcall sequence.
16113         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
16114         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
16115         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
16116         (extendhidi2, extendqidi2): Likewise.
16117         (andsi3_compact): Name.
16118         (andcdi3): Enable generator function generation.
16119         (zero_extendhisi2, zero_extendqisi2): Rename to
16120         (zero_extendhisi2_compact, zero_extendqisi2_compact).
16121         (extendhisi2, extendqisi2): Rename to
16122         (extendhisi2_compact, extendqisi2_compact).
16123         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
16124         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
16125         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
16126         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
16127         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
16128         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
16129         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
16130         (shmedia32_initialize_trampoline_big): Likewise.
16131         (shmedia32_initialize_trampoline_little): Likewise.
16132         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
16133         (negdi2): Remove spurious T clobber.
16134         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
16135         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
16136         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
16137         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
16138         (ic_invalidate_line_media): Write back data cache before invalidating
16139         instruction cache.  Add type.
16140         (movsf_media): Sign-extend when the destination is a general
16141         purpose register.  Add type.
16142         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
16143         (casesi_worker_0+1): Only increment ref count for proper label.
16144         (casesi_worker_0+2): Likewise.
16145
16146 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
16147
16148         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
16149
16150 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
16151
16152         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
16153         from Pmode to ptr_mode.
16154         (get_exception_pointer): Ditto.
16155         (connect_post_landing_pads): Ditto.
16156         (dw2_build_landing_pads): Ditto.
16157
16158 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
16159         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
16160         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
16161         (handle_pragma_redefine_extname): Change to use new function.
16162
16163 2002-07-08  Roger Sayle  <roger@eyesopen.com>
16164
16165         * combine.c (combine_simplify_rtx): Add an explicit cast
16166         to avoid signed/unsigned comparison warning.
16167         (simplify_if_then_else): Likewise.
16168         (extended_count): Likewise.
16169         (simplify_shift_const): Likewise.
16170         (simplify_comparison): Likewise.
16171
16172 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
16173
16174         * config/mips/mips.md: Add imadd type.  Update scheduler description
16175         to use imadd as well as imul.
16176         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
16177         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
16178         (*mul_sub_si): Likewise for first alternative.  Change second
16179         alternative from imul to multi.
16180
16181 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
16182
16183         * c-common.c (c_common_post_options): Update prototype;
16184         don't init backends if preprocessing only.
16185         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
16186         * langhooks.h (struct lang_hooks): Update post_options to
16187         return a boolean.
16188         * toplev.c (parse_options_and_default_flags, do_compile,
16189         lang_independent_init): Update prototypes.  Allow the
16190         front end to specify that there is no need to initialize
16191         the back end.
16192         (general_init): Move call to hex_init here...
16193         (toplev_main): ...from here.  Pass flag for back end init
16194         suppression.
16195
16196 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
16197
16198         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
16199         (PREDICATE_CODES): Add entries for equality_comparison_operator,
16200         greater_comparison_operator and less_comparison_operator.
16201         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
16202         more operators.
16203         (equality_comparison_operator): New function.
16204         (greater_comparison_operator, less_comparison_operator): Likewise.
16205         * sh.md (beq_media_i): Disable generator function generation.
16206         Use match_operator to handle a whole class of comparisons.  Add
16207         modifier in output template to provide branch prediction.  Add type.
16208         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
16209         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
16210         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
16211         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
16212
16213 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
16214
16215         Emit MMIX function prologue and epilogue as rtl.
16216         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
16217         not unprototyped get_hard_reg_initial_val.
16218         ("call_value", "nonlocal_goto_receiver"): Ditto.
16219         ("return"): Make define_expand.  Move real insn to...
16220         ("*expanded_return"): New pattern.
16221         ("prologue", "epilogue"): New define_expands.
16222         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
16223         (struct machine_function): New member in_prologue.
16224         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
16225         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
16226         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
16227         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
16228         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
16229         (LOCAL_REGNO): Define.  Adjust comment.
16230         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
16231         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
16232         leaf_function_p.
16233         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
16234         the prologue.
16235         (mmix_target_asm_function_prologue): Make static.  Just mark that
16236         the prologue is being emitted.  Move guts to...
16237         (mmix_expand_prologue): New function.  Adjust for emitting
16238         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
16239         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
16240         \n.  Move guts to...
16241         (mmix_expand_epilogue): New function.  Adjust for emitting
16242         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
16243         (mmix_target_asm_function_end_prologue): Mark that the prologue
16244         has ended.
16245         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
16246         (mmix_conditional_register_usage): Improve comments.
16247         (mmix_local_regno): New function.
16248         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
16249         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
16250         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
16251         (mmix_get_hard_reg_initial_val): Ditto.
16252
16253 2002-07-06  Andreas Jaeger  <aj@suse.de>
16254
16255         * toplev.c (set_fast_math_flags): Don't use ISO C style function
16256         definitions.
16257         * gengtype.c (open_base_files): Likewise.
16258         (close_output_files): Likewise.
16259         * tracer.c (find_best_predecessor): Likewise.
16260         (find_best_successor): Likewise.
16261         (ignore_bb_p): Likewise.
16262
16263 2002-07-05  Roger Sayle  <roger@eyesopen.com>
16264
16265         PR c++/7099
16266         * builtin-attrs.def: Define new attribute lists for use in
16267         builtins.def.
16268         * builtins.def [DEF_BUILTIN]: Modify to take an additional
16269         ATTRS argument, an enumerated value defined in builtin-attrs.def
16270         that represents the attribute list for the builtins.  Modify
16271         all builtin functions to pass an appropriate attribute list.
16272         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
16273         their required noreturn attributes.
16274         * tree.h (enum_builtin_function): Ignore the additional parameter
16275         to DEF_BUILTIN.
16276         * builtins.c (built_in_names): Likewise.
16277         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
16278         argument with a tree representing the functions attribute list.
16279         Pass this "attrs" argument to builtin_function.  No longer handle
16280         the noreturn_p processing manually.
16281         (built_in_attributes): Move the definitions from builtin-attrs.def
16282         before c_common_nodes_and_builtins.
16283         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
16284         DEF_BUILTIN, passing it to both builtin_function and the changed
16285         builtin_function_2.
16286
16287         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
16288         __builtin__exit and __builtin__Exit.
16289
16290 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16291
16292         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
16293         QI mode registers in soft registers.
16294         ("zero_extendqihi2"): Do not take into account soft registers
16295         for register allocation (use '*' constraint).
16296
16297 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16298
16299         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
16300         it is dead.
16301         ("*ashrsi3"): Likewise.
16302         ("*lshrsi3"): Likewise.
16303
16304 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
16305
16306         * genautomata.c (output_max_insn_queue_index_def): Take latencies
16307         into account.
16308
16309 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16310
16311         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
16312         address computation and memory moves.
16313
16314 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
16315
16316         PR c++/6706
16317         * dwarfout.c (output_reg_number): Fix warning message.
16318         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
16319         before using it.
16320
16321 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16322
16323         * gcc/gcc.c (asm_debug): Move initialization ...
16324         (init_spec): ... here.
16325
16326 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
16327
16328         * c-parse.in (extdef): Append ';'.
16329         (old_style_parm_decls): Append ';'.
16330
16331 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
16332
16333         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
16334         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
16335         to gcc_cv_as_gstabs_flag.
16336         * configure: Rebuilt.
16337
16338 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
16339
16340         * ggc.h (ggc_add_root): Document as obsolete.
16341
16342 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
16343
16344         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
16345         (mshflo_w): Likewise.
16346
16347 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
16348
16349         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
16350         vector mode subregs of constants to finding integer mode
16351         subregs of constants.
16352         * cse.c (cse_insn): Use simplify_gen_subreg.
16353         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
16354         From a vector mode expression of different size than the
16355         target mode.
16356
16357 2002-07-03  Eric Christopher  <echristo@redhat.com>
16358
16359         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
16360         * config/mips/mips.h: Remove deprecated -m<processor> options
16361         and cc1_cpu_spec associated.
16362         (CONSTANT_ADDRESS_P): Fix last patch.
16363         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
16364         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
16365         sunge_sf): Remove.
16366
16367 2002-07-03  Stan Shebs  <shebs@apple.com>
16368
16369         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
16370         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
16371         (CPP_SPEC): Remove insertion of APPLE_CC definition.
16372
16373 2002-07-03  Roger Sayle  <roger@eyesopen.com>
16374
16375         * combine.c (struct_undo): Change types of recorded substitutions
16376         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
16377         (do_SUBST_INT): Change types of the substitution from unsigned int
16378         to int, to avoid compilation warning from SUBST_INT's only caller.
16379
16380         (make_extraction): Add cast to avoid compilation warning.
16381         (force_to_mode): Remove cast to avoid compilation warning.
16382
16383 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
16384             Jeff Law  <law@redhat.com>
16385
16386         * i386.md (length_immediate attribute): Fix typo.
16387         (length_address attribute): Likewise.
16388         (modrm attribute): Set it to 0 for immediate call instructions.
16389         (jcc_1 pattern): Set modrm attribute to 0.
16390         (jcc_2 pattern ): Likewise.
16391         (jump pattern): Likewise.
16392         (doloop_end_internal pattern): Explicitly set length.
16393         (leave pattern): Fix typo.
16394         (leave_rex64 pattern): Likewise.
16395
16396 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
16397
16398         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
16399         in FPR as preference.
16400         (fctiwz): Same.
16401         (floatdidf2, fix_truncdfdi2): Same.
16402         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
16403         (floatditf2): Same.
16404         (floatsitf2, fix_trunctfsi2): SImode in GPR.
16405         (ctrdi): Remove FPR alternative and splitter.
16406
16407 2002-07-03  Will Cohen  <wcohen@redhat.com>
16408
16409         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
16410
16411 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
16412
16413         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
16414         than UNITS_PER_WORD, unless this is little endian and the first unit
16415         in this word.  Let extract_bit_field decide how to load an element.
16416         Force arguments to matching mode.
16417         (expand_vector_unop): Likewise.
16418
16419         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
16420         consist of word_mode elements.
16421         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
16422         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
16423         (build_unary_op): Allow vector types for BIT_NOT_EPR.
16424         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
16425         CONST_VECTOR.
16426         * optabs.c (expand_vector_binop): Try to perform operation in
16427         smaller vector modes with same inner size.  Add handling of AND, IOR
16428         and XOR.  Reject expansion to inner-mode sized scalars when using
16429         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
16430         (expand_vector_unop): Try to perform operation in smaller vector
16431         modes with same inner size.  Add handling of one's complement.
16432         When there is no vector negate operation, try a vector subtract
16433         operation.  Use simplify_gen_subreg on constants.
16434         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
16435         constants into smaller vectors with same inner mode, and to
16436         integer CONST_DOUBLEs.
16437
16438 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16439
16440         * c-parse.in (parsing_iso_function_signature): New variable.
16441         (extdef_1): New, copied from...
16442         (extdef): ... here.  Reset parsing_iso_function_signature.
16443         (old_style_parm_decls):  Reset parsing_iso_function_signature.
16444         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
16445         Warn about ISO C style function definitions.
16446         (nested_function, notype_nested_function): Reset
16447         parsing_iso_function_signature.
16448         (parmlist_2): Set parsing_iso_function_signature.
16449
16450         * doc/invoke.texi (-Wtraditional): Document new behavior.
16451
16452 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
16453
16454         * config.gcc (mips*el-*-*): Use tm_defines to set
16455         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
16456         * config/mips/little.h: Remove.
16457
16458 2002-07-02 Devang Patel <dpatel@apple.com>
16459
16460         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
16461         object as parameter. Prevent something like 'NSObject' to be
16462         used as the type for a method argument.
16463
16464 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
16465
16466         * cpptrad.c: Update comment.
16467
16468 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16469
16470         * doc/cpp.texi: Update for traditional preprocessing changes.
16471         * goc/cppopts.texi: Similarly.
16472
16473 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
16474
16475         * c-parse.in (designator): Enable designated initializers if ObjC.
16476         (objcmessageexpr): Remove references to objc_receiver_context.
16477         * objc/objc-act.h (objc_receiver_context): Remove decl.
16478         * objc/objc-act.c (objc_receiver_context): Remove.
16479         (lookup_objc_ivar): Test objc_method_context instead of
16480         objc_receiver_context.
16481
16482 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
16483
16484         * sh.c (print_operand, case 'N'): Allow zero vector.
16485         (arith_reg_or_0_operand): Likewise.
16486         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
16487         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
16488         IOR, XOR, PLUS and SET and take their respective constant
16489         ranges into account.
16490         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
16491         * sh.md (subdi3, subdi3_media): Allow zero operand.
16492         (movv8qi_i+3): Only vector that is not split is the zero vector.
16493         Fix operand 3 to simplify_subreg.
16494         (movv2si_i): Split alternative 1.
16495         (mshfhi_l_di_rev+1): New splitter.
16496
16497 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16498
16499         PR preprocessor/7029
16500         * cppinit.c (cpp_handle_option):  Suppress warnings with an
16501         implicit "-w" for "-M" and "-MM".
16502         * doc/cppopts.texi: Update.
16503
16504 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16505
16506         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
16507         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
16508         builtin_function.
16509
16510 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
16511
16512         * README.Portability: Fix typos.
16513
16514 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
16515
16516         PR target/7177
16517         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
16518         of indirections for register inside sign-extended mem part.
16519
16520 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16521
16522         * tree.h:  Modify builtin_function interface to take an extra
16523         argument ATTRS, which is a tree representing an attribute list.
16524
16525         * c-decl.c (builtin_function): Accept additional parameter.
16526         * objc/objc-act.c (builtin_function): Likewise.
16527         * f/com.c (builtin_function): Likewise.
16528         * java/decl.c (builtin_function): Likewise.
16529         * ada/utils.c (builtin_function): Likewise.
16530         * cp/decl.c (builtin_function): Likewise.
16531         (builtin_function_1): Likewise.
16532
16533         * c-common.c (c_common_nodes_and_builtins): Pass an additional
16534         NULL_TREE argument to builtin_function.  (builtin_function_2):
16535         Likewise.
16536         * cp/call.c (build_java_interface_fn_ref): Likewise.
16537         * objc/objc-act.c (synth_module_prologue): Likewise.
16538         * java/decl.c (java_init_decl_processing): Likewise.
16539         * f/com.c (ffe_com_init_0): Likewise.
16540
16541         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
16542         NULL_TREE argument to builtin_function.
16543         * config/arm/arm.c (def_builtin): Likewise.
16544         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
16545         * config/i386/i386.c (def_builtin): Likewise.
16546         * config/ia64/ia64.c (def_builtin): Likewise.
16547         * config/rs6000/rs6000.c (def_builtin): Likewise.
16548
16549 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
16550
16551         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
16552         * config/mips/t-isa3264: Likewise.
16553         * config/mmix/t-mmix: Likewise.
16554
16555 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16556
16557         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
16558
16559 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16560
16561         PR opt/4046
16562         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
16563         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
16564         B are truth values.
16565
16566 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
16567
16568         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
16569
16570 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
16571
16572         * README.Portability (Function prototypes): Give an example of
16573         declaring and defining a function with no arguments.
16574
16575         * README.Portability (Function prototypes): Document new
16576         variable-argument function macros.
16577
16578 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
16579
16580         * sh.c (langhooks.h): Include.
16581         (sh_init_builtins, sh_media_init_builtins): New functions.
16582         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
16583         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
16584         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
16585         (builtin_description): New struct tag.
16586         (signature_args, bdesc): New arrays.
16587         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
16588         (print_operand): Add 'N' modifier.
16589         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
16590         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
16591         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
16592         (CONST_COSTS): Add special case for SHmedia AND.
16593         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
16594         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
16595         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
16596         target_operand can also be const or unspec.
16597         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
16598         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
16599         (attribute type): Add new types.
16600         (anddi3): Add splitter.
16601         (movdi_const_16bit+1): Add code to handle vector constants and
16602         bitmasks efficiently.
16603         (shori_media): Have generator function made.
16604         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
16605         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
16606         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
16607         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
16608         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
16609         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
16610         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
16611         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
16612         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
16613         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
16614         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
16615         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
16616         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
16617         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
16618         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
16619         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
16620         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
16621         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
16622         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
16623         (ftrv): Likewise.
16624
16625         (fpu_switch+1, fpu_switch+2): Remove constraint.
16626
16627 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
16628
16629         * tree.c (build_function_type_list): Update function comment.
16630         Rename first argument to return_type.
16631
16632 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16633
16634         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
16635         tradcif.y and related files.
16636
16637 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16638
16639         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
16640
16641 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16642
16643         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
16644
16645 See ChangeLog.7 for earlier changes.